Ubuntu: ajustar MTU (Unidad máxima de transferencia)

1 comment
"La unidad máxima de transferencia (Maximum Transfer Unit - MTU) es un término de redes de computadoras que expresa el tamaño en bytes de la unidad de datos más grande que puede enviarse usando un protocolo de comunicaciones."
Este valor (expresado en bytes) cambia en función de los diferentes protocolos. Si el tamaño no es el adecuado se puede producir fragmentación y/o pérdidas de información si es demasiado grande. Si es demasiado pequeño no se va a aprovechar por completo la capacidad de la red.

Cada paquete (MTU) consta de dos partes: 'headers' TCP/IP + Datos (MSS, Máximo tamaño de segmento).
La cabecera tiene un tamaño de 28 bytes, por tanto: Tamaño MTU = 28B + Tamaño de los datos.

Para ajustarlo en Ubuntu haremos lo siguiente: (el proceso es válido para cualquier otro SO, únicamente hay que cambiar el comando por el correspondiente)
ping google.com -M do -s 1472
Tenemos que fijarnos que no nos de error (probablemente será "ping: local error: Message too long, mtu=1400"), si nos lo da tenemos que ir reduciendo el tamaño de 10 en 10 hasta que no se produzca dicho error, y posteriormente comprobar de uno en uno cuál es el valor exacto que no nos da error.
A ese valor el sumaremos los 28B de las cabeceras (aunque sale entre paréntesis). Este será el valor que tendremos que configurar.

Si lo queremos solo para una red concreta nos dirigiremos a "Conexiones de red" y seleccionaremos la red a la que estemos conectados. Pulsamos "Editar" y ahora escribiremos dicho valor donde pone MTU.

Si por el contrario queremos modificarlo permanentemente tenemos que modificar la configuración de la interfaz. El inconveniente es que no funciona con dhcp y tendremos que asignar una ip estática. Para ello:
sudo gedit /etc/network/interfaces
Y añadimos esto, modificando por la interfaz que queremos (eth0, wlan0...):
iface <interfaz> inet static
 address <ip privada>
 netmask 255.255.255.0
 mtu <valor>
Por lo general la ip interna suele ser 192.168.1.x donde la x es la IP que queráis asignarle a vuestro ordenador. Eso sí, aseguraros siempre que está fuera del rango del DHCP de vuestro router.

También podemos hacerlo de forma mucho más cómoda con el comando ifconfig (explicado aquí):
sudo ifconfig <interfaz> mtu <valor>
Para reiniciar las interfaz (explicado aquí):
sudo service network-manager restart
Si queréis obtener información sobre vuestras interfaces, el MTU actual, vuestra IP privada, etc. lo podéis ver con el comando:
ifconfig
De todas formas lo tenéis explicado aquí.

Salu2.

Ubuntu: comando ifconfig

1 comment
El comando ifconfig nos muestra información sobre la configuración vigente de las interfaces de red activas.
ifconfig
Obtener detalles de todas ( incluyendo las desactivadas):
ifconfig -a
También lo podemos ejecutar con parámetros:
ifconfig <interfaz>
Así obtenemos información concreta de dicha interfaz:
eth0 Link encap 10Mbps Ethernet HWaddr 00:00:C0:90:B3:42 inet addr 172.16.1.2 Bcast 172.16.1.255 Mask 255.255.255.0 UP BROADCAST RUNNING MTU 1500 Metric 0 RX packets 3136 errors 217 dropped 7 overrun 26 TX packets 1752 errors 25 dropped 0 overrun 0
Además acepta otros parámetros que nos permiten modificar la configuración o simplemente obtener información. Aquí os dejo algunos comandos aunque siempre podéis ver la documentación completa con el comando "man":
man ifconfig
Descativar una interfaz:
ifconfig <interfaz> down
Activar una interfaz:
ifconfig <interfaz> up
Establecer una dirección IP a una interfaz:
ifconfig <interfaz> <192.168.x.x>
Cambiar la máscara de subred:
ifconfig <interfaz> netmask 255.255.255.0
Cambiar el MTU:
ifconfig <interfaz> mtu <valor>
Salu2.

Android: optimizando la batería con Greenify

Leave a Comment

Greenify es una gran aplicación que nos hiberna las aplicaciones que no estemos usando cuando bloqueamos el terminal.

Para disfrutar de una buena experiencia de usuario os recomiendo tener el teléfono rooteado. Entonces marcaremos la casilla de trabajar como root (tal y como se ve en la fotografía). También dispone de otras características con módulos XPosed pero que aún no he probado.

La aplicación es sencilla de usar, simplemente añadiremos todas aquellas apps que greenify nos indica que pueden ralentizar el teléfono o hacer consultas en segundo plano, eso sí, las aplicaciones que marquemos se hibernarán y por tanto no nos llegarán notificaciones mientras tengamos la pantalla apagada. Sólo las veremos cuando abramos manualmente, así que cuidado con esto.

Por tanto seleccionaremos aquellas aplicaciones que no nos son imprescindibles o que no nos importa que no se actualicen constantemente. Como véis yo el whatsapp no lo tengo seleccionado, así como el Gmail. Esto nos permite alargar la duración de la batería cuando tengamos el móvil bloqueado y todas esas aplicaciones con servicios que no necesitamos nos consuman batería.

Mi experiencia es que si dejamos solamente lo imprescindible, podemos alargar en gran medida la duración, lo que nos permite estar un día fuera y consumir un escaso porcentaje mientras no lo estemos usando.


Salu2.

Ubuntu TIP: Reiniciar correctamente un servicio

Leave a Comment
Cuando cambiamos los ajustes de algún programa como puede ser apache, NetworkManager, etc. necesitaremos reiniciarlo. Para ello:
sudo service  restart
Por ejemplo podemos sustituir servicio por "network-manager" para reiniciar las interfaces de red.
Salu2.

Ubuntu: Instalar R-Project, RCommander y solución de errores

8 comments
R-Project es un lenguaje de programación de software libre orientado a los cálculos estadísticos.

Instalación

En primer lugar abrimos un terminal y escribimos:
sudo apt-get install r-base r-base-dev
Una vez instalado podremos tener acceso al modo consola. Para lanzarlo escribimos en un terminal:
R

Instalando RCommander

Si queremos acceder a la interfaz gráfica ejecutaremos las siguientes instrucciones desde la consola de R:
install.packages("Rcmdr", dependencies=TRUE) .
Os pedirá que seleccionéis desde dónde hacer la descarga. Elegiremos Spain.

Ahora para cargar la interfaz escribimos:
library(Rcmdr)
Si os pregunta que si se instalarán las dependencias, le diremos que sí.

Solucionando errores

Al lanzar “ library(Rcmdr) “ me daba error en el paquete car, por tanto lanzamos estos dos comandos:
install.packages('car')
Y después:
install.packages('pbkrtest')
Ahora lanzamos de nuevo " library(Rcmdr) ". A mi me faltaba un paquete, pero me daba la opción de instalarlo automáticamente, por tanto le decimos que sí.

Si os da error al editar los conjuntos de datos porque falta Tktable y os da el error " Tcl package 'Tktable' must be installed first ":
sudo apt-get install tk-table


Si cada vez que iniciáis os dice que falta XLConnect (en la línea de comandos de R):
install.packages("XLConnect")


Listo. Salu2.

Tutorial SJ5000+: Solución problemas Wi-Fi

76 comments


Recientemente he adquirido una "action cam" que a mi parecer da muy buenos resultados comparada con las famosas "GoPro".
El problema reside en que hay menos documentación y faltan por pulir muchos detalles, pero funciona que es lo importante.

Este modelo en concreto, la SJCAM SJ5000+ trae Wi-Fi pero NO funciona con las aplicaciones oficiales de SJCAM (me he pasado días intentándolo hasta dar con la tecla).
La cámara lleva en su interior el SoC Ambarela A7 que nos permite grabar a 1080p/60fps.
Para poder hacer funcionar el Wi-Fi necesitamos la aplicación de Ambarella y NO la de SJCAM.

Aplicación móvil

Aplicación (enlace): LinkInEyes
Únicamente la he podido probar en Android.

Instrucciones

1. Activar el wifi de la cámara manteniendo el botón del Wi-Fi pulsado unos segundos. La cámara se reiniciará y a los pocos segundos el indicador del Wi-Fi aparecerá en verde.



2. Conectarnos desde nuestro SmartPhone a dicha Wi-Fi ( desde ajustes le podéis cambiar el SSID a uno más corto. Yo le puse SJ5000+ ).

3. El password por defecto es " 12345678 ". ( También podéis cambiarla desde los ajustes, yo la dejé así ).

4. Una vez conectados abrimos la aplicación en el SmartPhone y habremos accedido a las funciones que nos permite la cámara.

Espero que os sirva de ayuda. Salu2.