[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

$ lsusb

ya nos informa de

Bus 001 Device 006: ID 0cf3:3005 Qualcomm Atheros Communications AR3011 Bluetooth

que podemos verificar en el entorno gráfico a través de Menú de inicio » Preferencias » Connman Settings, observando que nos aparece la opción de Bluetooth.

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