3 feb 2015

Sincronizar teléfono móvil con sistema multimedia del coche vía bluetooth

Hoy en día hay muchos vehículos que incorporan Bluetooth en su sistema multimedia para permitirnos recibir llamadas, realizarlas o incluso reproducir los archivos de música almacenados en nuestro teléfono móvil.

El problema es que muchos de los smartphones no se emparejan con el sistema bluetooth del vehículo o se emparejan, pero no funciona bien la conexión bluetooth entre ambos.

Hace poco que decidí cambiar mi viejo Defy por un smartphone con chipset MTK6592 y bluetooth 4.0 entre otras cosas. Y pensé: "Teniendo bluetooth 4.0 seguro que no voy a tener ningún problema para sincronizarlo con el sistema de navegación y multimedia del Kia Sportage". Pues no. Por más veces que traté de sincronizarlo fue imposible. El sistema del Kia Sportage se encontraba aparentemente sincronizado porque aparecía en la lista de dispositivos sincronizados del smartphone. Pero el sistema del Kia mostraba un mensaje en pantalla en el que decía que había sido imposible realizar la sincronización.

Empecé a buscar en Google y encontré algunos comentarios y alguna solución que no me funcionó, como por ejemplo, renombrar el archivo mtkbt.apk

Después de mucho navegar y no encontrar información decidí buscar en Play Store, donde encontré una app que me permitió resolver el problema y que os recomiendo utilizar: "Bluetooth Fix Repair"

El autor permite un uso gratuito de la aplicación para que la problemos y podamos resolver el problema al menos una vez. Y, si queremos utilizarla en más ocasiones, podemos comprar la app "Bluetooth Fix Repair Unlocker"

Una cuestión importante que se me olvidaba comentar: Esta aplicación requiere permitos de root, por lo tanto, es necesario tener rooteado el teléfono para poderla usar.
Publicado por primera vez en http://enavas.blogspot.com.es

Activar/desactivar bluetooth en portátiles mediante udev

Cuando esta mañana he publicado el post sobre como activar/desactivar la conexión inalámbrica en el inicio mediante udev, un compañero me ha preguntado cómo podía desactivar bluetooth en portátiles.

El procedimiento es exactamente el mismo. Tan sólo cambia el tipo de dispositivo. Así que lo muestro a continuación sin más explicaciones:

Si queremos desactivar bluetooth en el inicio de la máquina, crearemos un fichero en el que definiremos el estado de bluetooth desactivado con ATTR{state}="0":

cat /etc/udev/rules.d/45-bluetooth.rules
#disable bluetooth
SUBSYSTEM="rfkill", ATTR{type}=="bluetooth", ATTR{state}="0"

Si por alguna razón, quisiéramos activar bluetooth en el inicio, no tendríamos más que cambiar el atributo estado:
cat /etc/udev/rules.d/45-bluetooth.rules
#enable bluetooth
SUBSYSTEM="rfkill", ATTR{type}=="bluetooth", ATTR{state}="1"
Publicado por primera vez en http://enavas.blogspot.com.es

Activar/desactivar conexión inalámbrica en el inicio mediante udev

En septiembre de 2014 os comenté que había clonado portátiles HP y por alguna razón me aparecía desactivada la conexión inalámbrica. Para solucionar el problema, lo que hice fue utilizar el comando rfkill para activar la conexión inalámbrica en el inicio desde el script /etc/rc.local (Podéis leerlo en el siguiente post).

Hay otra manera de asegurar que la conexión inalámbrica se encuentre activada en el inicio haciendo uso de udev y es creando un fichero de reglas en /etc/udev/rules.d como el siguiente:

cat /etc/udev/rules.d/50-wireless.rules
#enable wireless
SUBSYSTEM="rfkill", ATTR{type}=="wlan", ATTR{state}="1"

Si por alguna razón, quisiéramos desactivar la conexión inalámbrica en el inicio, no tendríamos más que cambiar el atributo estado:
cat /etc/udev/rules.d/50-wireless.rules
#enable wireless
SUBSYSTEM="rfkill", ATTR{type}=="wlan", ATTR{state}="0"
Publicado por primera vez en http://enavas.blogspot.com.es

sed: "Descomentar" las líneas que contienen un patrón determinado

Si en el post anterior vimos cómo comentar las líneas que contienen un patrón determinado, siguiendo con el ejemplo, en éste vamos a ver un ejemplo de cómo comentarlas:
# sed -i "s/^#\/usr\/sbin\/sinc_puppet_inst\ \&/\/usr\/sbin\/sinc_puppet_inst\ \&/" /etc/rc.local
Es difícil de verlo cuando hay tantos caracteres de escape, pero si os fijáis, tan sólo estamos sustituyendo una expresión en la que indicamos que el patrón comienza por un símbolo de comentario (^#)por la misma expresión sin el símbolo del comentario.
Publicado por primera vez en http://enavas.blogspot.com.es

sed: Comentar las líneas que contengan un patrón determinado

En un post anterior, os mostré como utilizar el comando sed para borrar las líneas de un archivo que contienen un patrón determinado. 

Por ejemplo: En nuestras instalaciones tenemos un script sinc_puppet_inst que se ejecuta al final del proceso de arranque y no me interesa que este script se ejecute en una determinada situación, pero, en lugar de borrar la línea, quiero comentarla para posteriormente "descomentarla". 

Para comentar la línea,  podemos hacer lo siguiente:
# sed -i  "s/\/usr\/sbin\/sinc_puppet_inst\ \&/#&/" /etc/rc.local

Donde el & representa el texto coincidente con el patrón.

Si os dáis cuenta, le estamos diciendo a sed que reemplace el patrón buscado por un ampersand delante del patrón junto con el patrón.
Publicado por primera vez en http://enavas.blogspot.com.es