Si tienes un Toshiba Satellite U300 – 13H seguramente sepas que viene con bluetooth integrado, que bajo Vista (el OS con el que te venden este portátil funciona perfectamente, supongo por que no lo he probado) pero que GNU/Linux ni lo huele.
Básicamente sabe que está ahí presente pero no es capaz de iniciarlo.
Para muchos, este problema se solucionaba con instalar los Toshiba Utils,
En Debian: # apt-get install toshutils
y luego iniciaba el bluetooth ejecutando un programa que se llama dmabt (que lo puedes encontrar aquí, al final de la página) y todo listo. El problema es que para el U300 -13H no vale esta solución por que dispone de una BIOS diferente.
Para ello necesitamos utilizar el proyecto omnibook. Pero hay que reconocer que con este proyecto yo logré que funcionara el bluetooth pero la gente del proyecto avisa de los portátiles compatibles y este no aparece en la lista, y ellos mismos se lavan las manos diciendo que lo usemos para estos casos bajo nuestra responsabilidad y no garantizan éxito alguno e incluso avisa de un posible mal funcionamiento del ordenador si utilizamos su código.
Bueno vamos al tema. Como indica la entrada primero voy a explicar cómo hacer funcionar el BT en un U300 – 13H, sin embargo después indicaré como puedes instalar mediante el proceso seguro el BT en otros portátiles totalmente si compatibles.
Para el Toshiba U300 – 13H
Primero lo que necesitamos es obtener el código de omnibook y solo lo podemos obtener mediante subversion (para ello necesitamos tenerlo instalado: # apt-get install subversion bajo Debian/Ubuntu)
Una vez tenemos subversión vamos a una terminal y si queremos (para tener todo ordenado) creamos un directorio, por ejemplo:
$ mkdir omnibook
$ cd omnibook
Como indicamos en el comando navegamos hasta el directorio omnibook recientemente creado y ejecutamos el comando para obtener el código:
$ svn co https://omnibook.svn.sourceforge.net/svnroot/omnibook/omnibook/trunk
Con este comando obtenemos el código en la carpeta trunk. Navegamos a este directorio y compilamos el código (necesitamos tener instaldo gcc, make, build-essential, en Debian: # apt-get install gcc make build-essential)
$ cd trunk
$ make
Luego lo instalamos mediante el comando:
# make install (o $ su -c “make install” o si tienes sudo instalado $ sudo make install)
Ahora necesitamos copiar el módulo a nuestro kernel, para ello ejecutamos:
# cp omnibook.ko /lib/modules/`uname -r`/kernel/drivers/misc
Generemos los módulos:
# depmod -a
Y añadimos el módulo al kernel:
# modprobe omnibook ectype=14
Este último es el paso arriesgado, esto no indican en su web:
WARNING: Forced load on an unsupported machine may cause unpredictable result. You have been warned…
Por último para que se cargue el módulo al iniciar el OS tenemos que añadirlo al /etc/modules, bien añadiendo a mano mediante una editor al final del archivo:
# vi /etc/modules
y añadir omnibook ectype=14, presionar ESC y escribir :wq (para guardar y salir)
o bien ejecutando esta línea en la terminal (son comillas simples normales, no curvadas):
# echo ‘omnibook ectype=14′ >> /etc/modules
Y con esto ya estaría todo, probablemente en la bandeja del sistema te aparecería el símbolo del bluetooth y si ejecutas:
$ hcitool dev
te econtrarás algo parecido a esto:
Devices:
hci0 XX:XX:XX:XX:XX:XX
Para activar y desactivar el BT tienes estos dos comandos:
Activar:
# echo 1 > /proc/omnibook/bluetooth
Desactivar:
# echo 0 > /proc/omnibook/bluetooth
Para saber si está activado o desactivado:
# cat /proc/omnibook/bluetooth
(y te devolverá algo en Inglés como) Bluetooth presente y activado o desactivado.
Ahora bien, para trabajar con el BT puedes instalar los paquetes de bluetooth, bluez, y su utilizas gnome, gnome-bluetooth (desde synaptic en Debian/Ubuntu). Para compartir ficheros necesitas ejecutar Aplicaciones > Accesorios > Compartición de Archivos por Bluetooth.
Por último aclarar que a mi esto me ha funcionado, y supongo que si tienes el mismo modelo de portátil a ti también te funcionará. No me ha dado problemas hasta el momento pero puede que a ti si, por eso piensa bien antes si aplicar estos cambios en tu portátil.
Después del corte explicaré como instalar el BT para otros modelos compatibles mediante omnibook.
EDITADO: ¡ATENCIÓN! (28/04/2008)
A mi la primera vez esto me funcionó pero ahora por motivos ajenos tuve que reinstalar y todo funciona bien menos cuando reinicio e intento entrar en el modo gráfico, que después de poner mi nombre de usuario y contraseña el ordenador se me apaga.
SI os pasa esto, no os asustéis, simplemente entrar en modo de prueba de fallos (tango en gráfico como en terminal) y eliminar la línea del /etc/modules que se refiere a omnibook (o comentarla poniendo delante el símbolo #) reinicia y ya estará todo solucionado. También puedes hacer esto montando la partición desde otro OS o desde un LiveCD mismo.
Entonces, ¿Renunciamos al bluetooth? Pues yo diría que no. Ya que he probado que solo se te apaga el ordenado cuando ejecutas el módulo al inicio, si lo cargas una vez iniciado no afecta al comportamiento del PC.
Por lo tanto lo que podéis hacer es iniciarlo a mano cada vez que lo queráis utilizar. Esto se hace simplemente ejecutando en una terminal como root el siguiente comando:
# modprobe omnibook ectype=14
Y se activaría (te aparece el símbolo del bluetooth)
Si veis que no os vais a acordar de esta línea podéis crearos un simple script que ejecute la misma y le dais un nombre del que os acordéis. Os pongo un ejemplo:
Creáis un archivo con el nombre blueon y le añadís el siguiente contenido (son dobles comillas normales):
#!/bin/bash
su -c “modprobe omnibook ectype=14″
Le dais permisos de ejecución:
$ chmod +x blueon
y lo movéis a /usr/local/bin
# mv blueon /usr/local/bin
Luego simplemente se cargará el módulo cuando queráis ejecutando en terminal:
$ blueon
NOTA: Si lo ejecutas como root no te pedirá contraseña y si lo ejecutas como user normal te pedirá las contraseña de root para ejecutarlo.
NOTA2: Si eres de los de Ubuntu que no tienes cuenta de root puedes cambiar el su -c del script por sudo quitar las dobles comillas y en vez de pedir la contraseña de root te pedirá la tuya. Al igual que con su -c, si ejecutas desde terminal solo $ blueon te pedirá tus contraseña desde el script y si ejecutas $ sudo blueon primero te pedirá la contraseña y después ejecutará el script que cargará el módulo)
POSIBLES PROBLEMAS: Pues por ejemplo si una vez cargado el módulo del bluetooth tenemos que, por algún motivo, reiniciar el sistema gráfico, al volver a hacer loggin se nos volverá a apagar el ordenador.
Esto parece un coñazo pero por ahora es con lo único que ha funcionado mi bluetooth y pocas veces no pasará que una vez iniciado el módulo tengamos que reiniciar las X.
EDITADO 2: ¡ATENCIÓN! (04/05/2008)
Hace unos días comentaba que tuve que volver a instalar a compilar omnibook y que a partir de ahí me dió problemas en el arranque. Esto puede ser debido a cambios en la versión del módulo. He llegado a esta conclusión después de volver a compilar el módulo con la versión anterior (que guardaba en mi portátil) y con el mismo ectype=14 y al arrancar no se me apagaba el PC.
En cambió descargué la versión actualizada y si lo hacía (como comentaba en el anterior EDITADO). Pero se me dio por hacer una cambio en el ectype de estar versión y puse un 12 (que la primera vez de todas no me había funcionado) y ahora va bien y al arrancar no se apaga, como funcionaba todo al principio sin complicaciones.
Resumiendo, para no liar más, ahora mismo con la revisión 274 de omnibook he cargado el módulo con el ectype 12 y me va perfectamente (como al principio de todo con el ectype 14 para las revisiones anteriores ); Con el ectype 14 sigue funcionando en esta revisión pero el PC se apaga al inicio (como comentaba en el EDITADO anterior)
