Tabla de Contenidos
Ratón Bluetooth en Linux Mint (dongle USB CSR)
Hardware
Sistema configurado para usar un adaptador Bluetooth USB externo debido a incompatibilidad del chip interno con el kernel actual.
- Dongle Bluetooth: Cambridge Silicon Radio (CSR)
- Interfaz activa: hci1
- Stack: BlueZ 5.72
- Controller principal: 00:1A:7D:DA:71:15
El adaptador interno del sistema (hci0) está presente pero no se utiliza.
Emparejamiento inicial
El ratón Bluetooth se empareja mediante bluetoothctl:
bluetoothctl power on agent on default-agent scan on pair XX:XX:XX:XX:XX:XX trust XX:XX:XX:XX:XX:XX connect XX:XX:XX:XX:XX:XX
Problema detectado
El ratón deja de funcionar cuando el equipo entra en modo suspensión (sleep / suspend). Tras reanudar el sistema:
- El dongle Bluetooth aparece desactivado o en estado DOWN
- El ratón no se reconecta automáticamente
- En algunos casos aparece el error:
org.bluez.Error.NotReady Failed to start discovery
El problema se resuelve temporalmente al desconectar y reconectar físicamente el dongle USB.
Causa real
El fallo ocurre en el ciclo de suspensión del sistema:
- El sistema suspende el dispositivo USB Bluetooth (autosuspend)
- El driver btusb no siempre re-inicializa correctamente el dongle al reanudar
- El controlador HCI (hci1) puede quedar en estado DOWN
- BlueZ pierde temporalmente el control del adaptador activo
Resumen técnico:
- Problema de reanudación (resume) del dispositivo USB Bluetooth
- Posible autosuspend agresivo del kernel
- Re-inicialización incompleta del driver btusb tras suspensión
Solución temporal
Tras reanudar el sistema:
sudo hciconfig hci1 up sudo systemctl restart bluetooth
Si no funciona, reconectar físicamente el dongle USB.
Solución estable recomendada
Desactivar autosuspend del driver btusb:
echo "options btusb enable_autosuspend=0" | sudo tee /etc/modprobe.d/btusb.conf
Opcionalmente forzar reset del dispositivo al reanudar:
echo "options btusb reset=1" | sudo tee -a /etc/modprobe.d/btusb.conf
Aplicar cambios:
sudo reboot
Prevención adicional
- Evitar conflictos con el adaptador interno Bluetooth (si aplica):
sudo hciconfig hci0 down
- Verificar estado tras reanudación:
hciconfig -a
bluetoothctl list
Conclusión
El problema no está en el ratón ni en el emparejamiento, sino en la reanudación del dongle Bluetooth USB tras suspensión del sistema.
La solución más efectiva es desactivar autosuspend del driver btusb para asegurar que el adaptador Bluetooth permanezca activo tras sleep/resume.