BlueTooth en Linux HOWTO <author>Alvaro Alea Fernandez <date>v1.0, 16 de Diciembre de 2004 <abstract> El comenzar a utilizar dispositivos Bluetooth bajo Linux puede ser un poco traumatico, ya no por la configuracion, que es similar a de otros dispositivos hardware, si no por que, como y con que programas le podemos sacar probecho a este tipo de conexion, en este howto intentaremos dar una pequeña introduccion a las cosas que se pueden hacer con dispositivos Bluetooth </abstract> <toc> <!-- Comment: toc = Table of Contents --> <sect>Introduccion <p> <sect1>Informacion de Copyright <p> Este Howto es Copyright de Alvaro Alea Fernandez. <sect1>Condiciones de Uso <p> Se distribuye con licencia Creative Commons tipo FIX, puedes leer el contenido exacto de esta licencia en: <sect1>Nuevas Versiones <p> Podras encontarar la ultima version de este documento a traves de mi weblog, <url url="http://www.asturlinux.org/~alvaro"> <sect1>Creditos <p> Mucha de la informacion ha sido obtenida de estas paginas web: <url url="http://datadevil.papuaos.org/docs/bluetooth.php"> <sect1>Comentarios <p> Como podras observar, muchas de las secciones aun estan sin rellenar, si utilizas bluetooth y has echo alguna de ellas, no dudes en ponerte en contacto conmigo y contarme tus experiencias, problemas, asi como trucos, scripts, direcciones web o cualquier cosa que encuentres util. De igual manera esto abierto a cualquier comentarios sobre el contenido actual, errores, faltas de ortografica, aclaraciones, etc... <sect1>Traducciones <p> Actualmente no estan disponibles traducciones de este documento a otros idiomas, si quieres hacer, o has echo una traduccion de este documento, no dudes en comunicarmelo para que pueda poner una enlace aqui. <sect>Configuracion <sect1>Soporte <p> Lo primero es saber si tu dispositivo BT esta soportado en linux, en <url url="http://www.holtmann.org/linux/bluetooth/devices.html"> puedes ver si tu adaptador funciona. <sect1>El kernel <p> BT depende de un "stack" el que actualmente esta mas en desarrollo (de echo viene incluido en los kernel) es el <url url="http://www.bluez.org" name="BlueZ">, que entre otras cosas proporciona los driver para el adaptador que tengas. Si dispones de un kernel moderno (serie 2.6 o superior) y tienes correctamente instalado devfs o udeb deberia instalar solo los modulos que necesitas y ver una entrada similar a esta (si tu adaptador no es USB puede variar) en el <tt/dmesg/: <tscreen><verb> Bluetooth: Core ver 2.6 Bluetooth: HCI device and connection manager initialized Bluetooth: HCI socket layer initialized Bluetooth: HCI USB driver ver 2.7 usbcore: registered new driver hci_usb </verb></tscreen> En caso de no funcionar, es posible que necesites actualizar o recompliar el kernel, instalar el parche para bluez o configurar el sistema de modulos, estos son los modulos que se me instalan por defecto (extracto de la salida de <tt/lsmod/): <tscreen><verb> hci_usb 13760 0 bluetooth 49476 1 hci_usb uhci_hcd 32944 0 </verb></tscreen> <em>PENDIENTE: imac y dispositivos que necesitan Firmware</em> <sect1>El software <sect2>Software necesario <p> Yo utilizo la distribucion Debian en su version Sid, y una buena parte de los programas necesario vienen incluidos, asi que tengo instalado: <tt/bluez-utils/ y sus dependencias, puede ser necesario tambien que descarges el firmware necesario para tu adaptador. Gnome tiene algunas utilidades para bluetooth pero no estan incluidas en la distribucion oficial, pero si en estan empaquetados, estas son las lineas a añadir a <tt>/etc/apt/sources.list</tt>: <tscreen><verb> #cosas del bluetooth deb http://debian.usefulinc.com/gnome ./ deb-src http://debian.usefulinc.com/gnome ./ </verb></tscreen> <sect2>Configuracion del software <p> La configuracion se encuentra en <tt>/etc/bluetooth</tt>, asi, <tt>/etc/bluetooth/pin</tt> contiene la clave para las conexiones autentificadas. En <tt>/etc/bluetooth/hcid.conf</tt> configuraras el nombre que el resto de la gente vera, si es visible para otros y alguna cosa mas. <sect>Ver "El ambiente" <sect1>CLI <p> con <tt/hcitool scan/ podras ver un listado de los dispositivos y su direccion. Una vez que tenemos la direccion de los dispositivos con <tt>sdptool browse <em>direccion</em></tt> veremos los servicios que tiene disponibles. <sect1>Gnome <p> con <tt/gnome-bluetooth-manager/ es posible ver de manera grafica los dispositivos al alcance, tras arrancarlo se ejecuta escanear, y aparecera iconos de cada dispositivo con su nombre, y no hace nada mas en la version actual :-/ <sect1>Fuse <p> FUSE es una manera de montar <em>sistemas de ficheros</em> como aplicaciones de usuario, de manera que es posible acceder a ciertas capacidades como si de un directorio mas del sistema se tratase. En <url url="http://www.mulliner.org/bluetooth/btfs.php"> puedes encontrar el modulo. Una vez instalado podras ver los dispositivos listando el directorio, y enviar archivos a esos dispositivos copiandolos en la carpeta <tt/OPUSH/</p> <sect>Administraccion de Archivos <sect1>Enviar y Recibir Archivos <p> Entre las utilidades gnome-bluetooth, esta <tt/gnome-obex-server/, que crea un icono en la barra de avisos, y se prepara para recibir archivos, para enviarlos, aparece una opcion en el menu contextual de nautilus, o utilizando <tt>gnome-obex-send -d <em>direccion archivo</em></tt> <sect1>Montar un dispositivo como un disco <p> Aun no se han realizado investigaciones en esta linea, aunque existen dos posibilidades, por medio del vfs de gnome, o con fuse (probablemente tambien para kde con kioslave). <sect>Utilizar el PC como sistema de Audio <p> Aun no se han realizado investigaciones en esta linea. Hay dos cosas que se pueden hacer, utilizar el pc como "manos libres", para lo que no he encontrado informacion, y utilizar un dispositivo bluetooth como "tarjeta de sonido" para lo que existe un driver para alsa en <url url="http://www.dcs.gla.ac.uk/~jp/snd-bt-sco/"> <sect>Conectar con un dispositivo "Serie" <p> La idea es hacer algo asi: <tt>rfcomm connect 0 <em>dir</em> 1</tt>, y con eso se crea un device tipo <tt>/dev/rfcomm0</tt> con el que puedes hablar con el dispositivo (modem, movil, etc..., cuando canses de utilizarlo pulsa Ctrl-C. Una forma mas fina es utilizar <tt/bind/ en lugar de <tt/connect/, asi funciona en segundo plano, y solo se realiza la conexion cuando se necesita, lo cual es util por que algunos aparatos tiene limitado el numero de canales que pueden utilizar. En estos casos para desconfigurarlo se utiliza <tt/rfcomm release 0/, 0 en estos casos es el numero de dispositivo que ese crea. <sect>Envio y recepcion de FAX <p> Aun no se han realizado investigaciones en esta linea. <sect>Conectar a un dispositivo de red <p> Existen dos modos de lograrlo: <sect1>Conexion a dispositivos con "modem", o por puerto serie. <p> Se realiza a traves del servico de puerto serie, tal como se explico en el punto anterior, una vez realizada la conexion se utiliza como un modem normal y corriente, esta es probablemente el metodo utilizado para conexiones a inet a traves de telefonos moviles con tecnologia GPRS o UTMS. En estos casos lo habitual es utilizar una conexion por PPP <sect1>Conexion por el servicio Dial-Up Networking (DUN) <p> Hay dos modalidades: <sect2>Punto de Acceso <p> Este sistema permite tener dispositivo que se conectan al servidor, sin necesidad de tener reservado un canal y una conexion serie. <tt/dund --listen --sdp --channel 1/ crea el servicio al que luego se conectan los clientes. <sect2>Cliente <p> <tt/dund --search --sdp/ se conecta al primero que encuentre y <tt>dund --connect <em>BD:AD:DR:ES:S0</em> --channel 1</tt> se conecta a uno en concreto <sect>Conectar con un movil <sect1>Gnome-phone-manager <p> Hasta donde yo se esta utilidad solo sirve para que aparezca un dialogo en la pantalla cuando recibes un mensaje (SMS), tambien permite enviarlos y en el futuro alguna cosa mas, probablemente relacionada con dashboard o con la libreta de direcciones. <sect1>MultiSync <p> Esta utilidad permite sincronizar agenda, libreta de direcciones (no la del sim, la del telefono), y notas con evolution o con otros dispositivo <sect>Imprimir a o desde dispositivos bluetooth <p> Existen 3 metodos de impresion por medio de bluetooth, Serial Printer Port (SPP), Basic Printing (BPP) y Hardcopy Cable Replacement (HCRP), solo el primero esta soportado (aunque se esta trabajando en los otros), como un modulo (backend) para CUPS, puedes encontrarlo empaquetado para debian sid con el nombre de <tt/bluez-cups/ o en <url url="http://www.holtmann.org/linux/bluetooth/cups.html"> <sect>Utilizar con Dispositivos de Interface Humanos (HID) <p> Basicamente consiste en lanzar <tt/hidd --server/ que se encarga de encontrar los dispositivos y crear los devices adecuados para usarlos normalmente. En caso de ser necesario conectar con el dispositivo se hara con <tt>hidd --connect <em>XX:XX:XX:XX:XX:XX</em></tt> Como no tengo ninguno, no puedo hacer mayores investigaciones, si alguien me dona un <url url="http://www.optize.es/servlet/productDataNoProc?productCode=118179" name="logitech mx900"> o un teclado o raton microsoft bluetooth estare encantado de ampliar esta seccion :-) <sect1>Ratones <p> Las utilidades <tt/xmodpam/ y <tt/imwhell/ seran de gran ayuda para configurar el resto de botones que traiga el raton. <sect1>Teclados <p> <sect1>Joysticks <p> <sect>Frikadas <sect1>Ver la TV en el movil <p> Probablemente solo este disponible para telefonos con el S.O. Symbian. Basicamente consiste en tres pasos, realizar una conexion en red por medio del bluetooth, instalar un servidor de video por streaming en un ordenador con tarjeta de tv, y utilizar en el movil un software de reproduccion de video que admita streaming, por ejemplo Helyx Player, no doy mas informacion por que aun no se han realizado investigaciones en esta linea. </article>