En primer lugar debemos asegurarnos que tenemos un kernel compilado con soporte Bluetooth. Para ello nos iremos a la opción Bluetooth support dentro del menú principal. Debemos seleccionar lo siguiente:
x x <M> Bluetooth subsystem support x x
x x <M> L2CAP protocol support x x
x x <M> SCO links support x x
x x <M> RFCOMM protocol support x x
x x [*] RFCOMM TTY support x x
x x <M> BNEP protocol support x x
x x [*] Multicast filter support x x
x x [*] Protocol filter support x x
x x <M> CMTP protocol support x x
x x Bluetooth device drivers --->
Dentro de Bluetooth device drivers tenemos que seleccionar:
x x <M> HCI USB driver x x
x x [ ] SCO (voice) support x x
x x <M> HCI UART driver x x
x x [*] UART (H4) protocol support x x
x x [ ] BCSP protocol support x x
x x <M> HCI BlueFRITZ! USB driver x x
x x <M> HCI DTL1 (PC Card) driver x x
x x <M> HCI BT3C (PC Card) driver x x
x x <M> HCI BlueCard (PC Card) driver x x
x x <M> HCI UART (PC Card) driver x x
x x <M> HCI VHCI (Virtual HCI device) driver
Es importante resaltar que además de la pila Bluetooth, también se compilan los drivers para nuestro dispositivo. En nuestro caso usamos un adaptador USB por lo que también debemos asegurarnos que damos soporte USB a nuestro nuevo Kernel.
Después de reiniciar la máquina, podemos comprobar que todo se ha compilado correctamente haciendo un dmesg. Deberíamos ver algo parecido a esto:
BlueZ Core ver 2.3 Copyright (C) 2000,2001 Qualcomm Inc Written 2000,2001 by Maxim Krasnyansky BlueZ L2CAP ver 2.3 Copyright (C) 2000,2001 Qualcomm Inc Written 2000,2001 by Maxim Krasnyansky BlueZ HCI USB driver ver 2.4 Copyright (C) 2000,2001 Qualcomm Inc Written 2000,2001 by Maxim Krasnyansky usb.c: registered new driver hci_usb BlueZ RFCOMM ver 1.1 Copyright (C) 2002 Maxim Krasnyansky Copyright (C) 2002 Marcel Holtmann
También podemos echar un vistazo a los módulos cargados haciendo un lsmod :
rfcomm 18608 0 (autoclean) hci_usb 6140 1 (autoclean) l2cap 14348 2 (autoclean) [rfcomm] bluez 27364 2 (autoclean) [rfcomm hci_usb l2cap]