El usb es de conceptronic, y lo primero es compilar los módulos:
Networking ->
y en Bluetooth device drivers:
Una vez hecho, nos tenemos que instalar las utilidades desde http://www.bluez.org/download/:
bluez-libs
./configure --prefix=/usr/local/bluetooth --localstatedir=/var
bluez-utils
Para instalar este paquete necesitamos libnl; hay que aplicar el siguiente parche:
--- libnl-1.0/lib/route/link/vlan.c.orig 2008-01-16 22:59:21.000000000 -0800./configure --prefix=/usr/local/bluetooth
+++ libnl-1.0/lib/route/link/vlan.c 2008-01-16 22:59:36.000000000 -0800
@@ -27,6 +27,9 @@
#include
#include
+#ifndef VLAN_FLAG_REORDER_HDR
+#define VLAN_FLAG_REORDER_HDR 0x01
+#endif
/** @cond SKIP */
#define VLAN_HAS_ID (1<<0)>
También necesitamos una versión actual de la glib, porque las utils utilizan una función relativamente nueva "g_timeout_add_seconds"
Ahora instalamos las utils:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/bluetooth/lib/pkgconfig
Una vez compilado e instalado también debemos copiar del directorio test el programa passkey-agent a /usr/local/bluetooth/bin
bluez-firmware
usb 1-1: USB disconnect, address 12
usb 1-1: new full speed USB device using uhci_hcd and address 13
usb 1-1: configuration #1 chosen from 1 choice
Bluetooth: Core ver 2.11
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: HCI USB driver ver 2.9
usbcore: registered new interface driver hci_usb
Ahora levantamos el interfaz: hciconfig hci0 up
Si ponemos hciconfig debe aparecer:
hci0: Type: USB
BD Address: 00:80:5A:46:58:97 ACL MTU: 384:8 SCO MTU: 64:8
UP RUNNING
RX bytes:1845 acl:0 sco:0 events:41 errors:0
TX bytes:153 acl:0 sco:0 commands:22 errors:0
Para buscar los dispositivos: hcitool scan; tiene que aparecer una lista de los dispositivos a su alcance.
dejando en ejecución el programa que suministra la clave. Como esta solución parece poco elegante voy a utilizar udev para que ejecute el programa "passkey-agent" cada vez que conecte el dispositivo bluetooth usb. udev es un sistema que se encarga de la creación dinámica de dispositivos.
Editamos un fichero llamado:
/etc/udev/rules.d/60-reglasmias.rules
y le añadimos la siguiente línea:
ACTION=="add", SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0a12", SYSFS{idProduct}=="0001", RUN+="/usr/bin/passkey-agent --default '1234'"
En resumidas cuentas, le estamos diciendo a udev que cuando de conecte el dispositvo con los idVendor e idProduct especificados ejecute el programa "passkey-agent".
Los valores de IdVendor e idProducto corrresponden a un adaptador bluetooth Conceptronics. Para averiguar los valores concretos en tu caso deberías ejecutar:
lsusb
para averiguar tus identificadores de dispositivo concretos.
Una vez creado o modificado el fichero ejecutamos:
start_udev
para reiniciar los servicios udev. Ahora cada vez que conectamos el dispositivo USB bluetooth tendremos el programa "passkey-agent" en ejecución.
Audio:
En /usr/local/sonido/lib/alsa-lib, ln -s /usr/local/bluetooth/lib/alsa-lib/libasound_module_* .
En $HOME/.asoundrc
pcm.bluetooth {
type bluetooth
device 00:1A:80:45:AC:57
profile "hifi"
}
mplayer -ao alsa:device=bluetooth file.mp3