[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

Conexión con un dispositivo Bluetooth

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.