Notas de Luis

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.

computing/hardware/raton_bluetooth_hp.txt · Última modificación: por alfabeto