====== [Linux] Instalar Bluetooth Asus USB-BT211 ======
===== Debian 12 =====
==== Escenario ====
* Tenemos un ordenador con Debian 12 que no posee interfaz Bluetooth.
* Vamos a usar un viejo **adaptador USB de Asus BT211** para disponer de esta forma de conexión en él.
\\
==== Análisis ====
* Conectamos el adaptador USB Bluetooth al ordenador y ejecutamos
$ lsusb
para ver los dispositivos USB del equipo, y entre otros nos aparece la línea
Bus 001 Device 006: ID 0cf3:3005 Qualcomm Atheros Communications AR3011 Bluetooth (no-firmware)
con lo que necesitaremos instalar su firmware es decir sus drivers.
\\
==== Drivers ====
* Realizamos una búsqueda de los drivers en los repositorios con
$ aptitude search firmware-atheros
y observamos que dicho paquete no está instalado:
p firmware-atheros - Binary firmware for Qualcomm Atheros wireless cards
por lo que lo instalamos con
# aptitude install firmware-atheros
, luego reiniciamos el ordenador para que los cambios surtan efecto, y de nuevo el comando
$ lsusb
ya nos informa de
Bus 001 Device 006: ID 0cf3:3005 Qualcomm Atheros Communications AR3011 Bluetooth
, lo cual podemos verificar en el entorno gráfico a través de ''Menú de inicio'' >> ''Preferencias'' >> ''Connman Settings'', observando que ya nos aparece la opción de ''Bluetooth'' en la lista del hardware de conexión.
\\
==== Habilitación interface ====
Hay varias formas...
* **Desde entorno gráfico usando ''Connman Settings''**
* ''Menú de inicio'' >> ''Preferencias'' >> ''Connman Settings'' >> ''Bluetooth'' >> clic en botón de habilitar.
* **Desde consola usando ''rfkill''**
* Instalar ''rfkill''
# aptitude install rfkill
y luego observar el resultado de la orden
# rfkill
, **todo el hardware inalámbrico, es decir Wi-Fi y Bluetooth, instalado en el ordenador debe aparecer en la lista**; con lo que nos da
ID TYPE DEVICE SOFT HARD
0 bluetooth hci0 bloqueado desbloqueado
, donde vemos que nuestro adaptador tiene un ''ID 0''; entonces para habilitarlo haremos
# rfkill unblock 0
, con lo que al ejecutar de nuevo ''rfkill'' nos dará
ID TYPE DEVICE SOFT HARD
0 bluetooth hci0 desbloqueado desbloqueado
\\
==== Activación del servicio ====
* Con la orden
$ systemctl status bluetooth
observamos el estado del servicio bluetooth; por ejemplo el resultado puede ser
● bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; preset: enabled)
Active: active (running) since Sat 2025-05-10 06:58:59 CEST; 41min ago
Docs: man:bluetoothd(8)
Main PID: 799 (bluetoothd)
Status: "Running"
Tasks: 1 (limit: 18922)
Memory: 2.6M
CPU: 89ms
CGroup: /system.slice/bluetooth.service
└─799 /usr/libexec/bluetooth/bluetoothd
Warning: some journal files were not opened due to insufficient permissions.
, donde puede verse que el servicio está activado y ejecutándose. En caso de que no fuese así, podemos iniciarlo con
# systemctl start bluetooth
o habilitarlo con
# systemctl enable bluetooth
\\
==== Comtratiempos ====
* **Problemas** de conexión
# systemctl status bluetooth
● bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; preset: enabled)
Active: active (running) since Sat 2025-05-10 06:58:59 CEST; 57min ago
Docs: man:bluetoothd(8)
Main PID: 799 (bluetoothd)
Status: "Running"
Tasks: 1 (limit: 18922)
Memory: 2.6M
CPU: 91ms
CGroup: /system.slice/bluetooth.service
└─799 /usr/libexec/bluetooth/bluetoothd
may 10 06:58:59 debian01 bluetoothd[799]: src/plugin.c:plugin_init() Failed to init vcp plugin
may 10 06:58:59 debian01 bluetoothd[799]: profiles/audio/mcp.c:mcp_init() D-Bus experimental not enabled
may 10 06:58:59 debian01 bluetoothd[799]: src/plugin.c:plugin_init() Failed to init mcp plugin
may 10 06:58:59 debian01 bluetoothd[799]: profiles/audio/bap.c:bap_init() D-Bus experimental not enabled
may 10 06:58:59 debian01 bluetoothd[799]: src/plugin.c:plugin_init() Failed to init bap plugin
may 10 06:58:59 debian01 bluetoothd[799]: Bluetooth management interface 1.22 initialized
may 10 06:59:00 debian01 bluetoothd[799]: profiles/sap/server.c:sap_server_register() Sap driver initialization failed.
may 10 06:59:00 debian01 bluetoothd[799]: sap-server: Operation not permitted (1)
may 10 06:59:00 debian01 bluetoothd[799]: Failed to set mode: Failed (0x03)
may 10 07:52:27 debian01 bluetoothd[799]: Failed to set mode: Authentication Failed (0x05)
* Dado que ''Connman Settings'' no nos parece funcionar para buscar y conectar dispositivos Bluetooth, vamos a buscar paquetes alternativos que sí lo hagan.
* Observamos en los repositorios que disponemos de paquetes relacionados con esta tarea que aún no están instalados en nuestro ordenador, por ejemplo: ''bluetooth'', ''bluedevil'', ''blueman''...
* **Probamos con ''blueman'' y funciona bien** para Echo Show.