Inicio > Debian, GNU/Linux, Software Libre, bluetooth, hardware, ubuntu, wireless > Bluetooth integrado de Toshiba Satellite U300 - 13H en GNU/Linux

Bluetooth integrado de Toshiba Satellite U300 - 13H en GNU/Linux

24 de Abril de 2008 , Escrito por: aabilio

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)

Para otros modelos en general

Por lo general en omnibook recomienda una forma general de instalarlo, que es la siguiente:

Primero tienes que seguir todo el proceso hasta antes descrito para el modelo U300 – 13H hasta el make install, pero una vez instalado lo que tienes que hacer, en vez de copiar el módulo a tu kernel, tienes que ejecutar:

# make load

Esto copiará y cargará el modulo en tu kernel. Pero esto tampoco funciona en todos los con todos los modelos. Para comprobar si funciona ejecuta:

$ cd /proc/omnibook

$ ls

si te devuelve más archivos que solo dmi y version es que está correctamente instalado, y para activarlo y desactivarlo sería de la misma manera antes descirta para el U300 -13H:

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.

Y para que se carge el módulo en el arranque del sistema:

# echo omnibook >> /etc/modules

(Para otros modelos si soportados oficialmente mediante ectype:)

Y si:

$ cd /proc/omnibook

$ ls

solo te devuelve los archivos dmi y version es que este proceso no ha funcionado, por lo tanto tienes que cargar el módulo con el ectype (como en el modelo U300 – 13H), para ello los pasos a seguir serían los mismo que al principio hasta el modprobe omnibook. En el que tendrás que ejecutar:

# modprobe omnibook ectype=un_numero

El número lo puedes encontrar aquí, donde se muestra una tabla con modelos de PC junto con sus ectype.

La diferencia de hacerlo de esta manera a instalarlo para el U300 – 13H es que esta última es más segura ya que los modelos están soportados oficialmente, ya que el el U300 – 13H no está en la lista oficial y el número 14 fue un número probado por mi con el cual me funcionó hasta ahora.

Para terminar decir que tanto la manera de comprobar si todo salió bien y de cargar el módulo en el arranque y de parar y activar los servicios de BT para estos modelos es la misma:

Comprobar:

$ cd /proc/omnibook

$ ls

Recordar que os tiene que devolver más archivos a parte de los denominados “dmi” y “version”.

Cargar el módulo en el inicio:

# echo omnibook >> /etc/modules (o # echo ‘omnibook ectype=tu_número’ >> /etc/modules )

O también creando un archivo en /etc/modprobe.d/ con el nombre omnibook.modprobe con el siguiente contenido:

options omnibook ectype=tu_número userset=1 # esto último para que se pueda ejecutar sin ser root

Y para activar desactivar:

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.

Debian, GNU/Linux, Software Libre, bluetooth, hardware, ubuntu, wireless Imprime esta entrada Imprime esta entrada

Compártelo
  1. 6 de Mayo de 2008 a las 10:47 | #1

    Muchas gracias,

    Tengo el mismo portatil y me ha funcionado a la primera con Ubuntu 8.04, llevaba tiempo buscando una solución al problema del Bluetooth.

  2. David
    1 de Julio de 2008 a las 00:30 | #2

    Muchas gracias, llevaba tiempo intentandolo instalar, y aqui está explicado de manera rápida y clara

  3. Dani
    27 de Diciembre de 2008 a las 12:39 | #3

    Tengo un portátil parecido, un Toshiba U300-13Q. He instalado Lenny y el problema que tengo al cargar el módulo omnibook es que la carga de la batería deja de funcionar. El caso es que si estoy trabajando con batería y omnibook activado y enchufo la corriente, pues no carga. Tengo que descargar el módulo y entonces si cargará. Ha experimentado alguien algo parecido?.

  4. dinpel
    14 de Mayo de 2009 a las 19:10 | #4

    No funciona en jaunty alguien sabe otra manera un saludo.

  5. Arubeeka
    22 de Noviembre de 2009 a las 14:38 | #5

    Hola!
    Quería darte las gracias por las instrucciones!
    Tengo el mismo modelo de portatil u300-13h y si bien nunca lo conseguí con mi anterior versión de ubuntu, 8.04, (no recuerdo ahora porqué) acabo de probar este método en Ubuntu 9.10 y funciona perfectamente.
    Demostrado.
    Así que si alguien piensa pasarse a 9.10, ya lo sabe. El bluetooth sigue sin olerlo siquiera (salvo el BT todo genial), pero de este modo queda resuelto el problema!!
    Gracias de nuevo!!! :)

  1. 8 de Julio de 2008 a las 08:00 | #1