Sistema configurado para usar un adaptador Bluetooth USB externo debido a incompatibilidad del chip interno con el kernel actual.
El adaptador interno del sistema (hci0) está presente pero no se utiliza.
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
El ratón deja de funcionar cuando el equipo entra en modo suspensión (sleep / suspend). Tras reanudar el sistema:
org.bluez.Error.NotReady Failed to start discovery
El problema se resuelve temporalmente al desconectar y reconectar físicamente el dongle USB.
El fallo ocurre en el ciclo de suspensión del sistema:
Resumen técnico:
Tras reanudar el sistema:
sudo hciconfig hci1 up sudo systemctl restart bluetooth
Si no funciona, reconectar físicamente el dongle USB.
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
sudo hciconfig hci0 down
hciconfig -a
bluetoothctl list
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.