Esto es parte de las cosas que tuve que hacer para poder recuperar la YogaBook. Al menos debería funcionar el teclado bluetooth, ¿no?
Este Post pertenece a la categoría RESOLUCIÓN DE PROBLEMAS
Puedes encontrar todos los artículos en orden cronológico en la etiqueta YogaBook
Introducción
Como parte de la recuperación de esta maquinita, he estado buscando formas de recuperar el teclado Halo (fallo) o usar el teclado en pantalla (fallo) o usar un teclado bluetooth (esto si funciono) así que elegí el camino de un teclado externo y de bajo consumo, como es el k380s, el cual tiene soporte para hasta 3 dispositivos bluetooth y es alimentado por dos pilas triples A y tiene una larga duración. A diferencia de Mi teclado anterior, el marvo, este parece más estable y por el momento no ha fallado ninguna tecla que haya presionado. Excepto por el problema de que en esta máquina, en la yogabook, se desconecta apenas dejo de escribir.
Esto causa un consumo de batería brutal, a tal punto de que el teclado, que tenía una batería del 95% tras un largo uso, bajo drásticamente a 80% en el corto periodo de 2 días. Aparte, el fastidio de que tenía que reconectarlo constantemente hacía que sea insoportable seguir así, por lo que me tome la molestia (necesidad) de investigar una solución… Hice de todo y nunca hubiese descubierto la solución…
Síntomas en los logs
Los dispositivos bluetooth suelen ser bastante transparentes en cuanto a funcionamiento. Solo los vinculas y ya funciona de maravilla. Pero como esta era una instalación vieja de un Linux Mint que viene desde la versión 20 y tras muchos años de abandono, mi primera reacción fue borrar alemán purgando archivos de configuración.
# 1. Detener el servicio por completo
sudo systemctl stop bluetooth
# 2. Borrar la caché física de dispositivos guardados (viejos y corruptos)
sudo rm -rf /var/lib/bluetooth/*
# 3. Limpiar la caché visual del usuario en Blueman
rm -rf ~/.config/blueman/
# 4. Restaurar los permisos correctos de la carpeta raíz de Bluetooth
sudo chown -R root:root /var/lib/bluetooth/
sudo chmod -R 700 /var/lib/bluetooth/
# 5. Volver a encender el servicio limpio
sudo systemctl start bluetooth
Y si bien con esto ya resolvimos el problema de dispositivos viejísimos, del año 2022 incluso, aún seguían las desconexiones. Así que aún quedaba algo por revisar.
Al ejecutar sudo journalctl -u bluetooth -f, encontré cascadas de errores infinitas como estás:
Read Report Reference descriptor failed: Request attribute has encountered an unlikely error
src/device.c:set_wake_allowed_complete() Set device flags return status: Invalid Parameters
La culpa es el diseño del hardware
La mayoría de las laptops y placas base usan una sola tarjeta integrada para el wifi y el Bluetooth. Los teclados BLE transmiten paquetes de datos ultrasensibles. Si estás usando internet mediante una red wifi de 2.4 GHz (o compartiendo internet desde tu celular vía Hotspot en 2.4 GHz), el tráfico de red inunda el chip, «aplasta» la señal del teclado y hace que Linux aborte la conexión por pérdida de paquetes, entrando en un bucle infinito de reconexión que drena las pilas.
Migrar a 5 GHz alivia en gran manera el problema
La solución no requiere compilar drivers ni modificar parámetros complejos del kernel. Solo debes eliminar la interferencia moviendo tu tráfico de red:
- Si usas el módem de tu casa: Conecta tu computadora exclusivamente a la red wifi de 5 GHz.
- Si usas el Hotspot (Anclaje de red) de tu celular:
- En Android: Ve a Configuración del Hotspot -> Banda de AP -> Cambiala de 2.4 GHz a 5 GHz.
- En iPhone: Ve a Compartir Internet -> Desactiva la opción «Maximizar la compatibilidad» (esto fuerza los 5 GHz).
Alternativa si tu celular no soporta 5 GHz: Usa el anclaje de red por cable USB (USB Lettering). Al apagar el wifi de la laptop, la banda de 2.4 GHz queda libre.
Conclusiones
Al liberar la frecuencia de 2.4 GHz, no solo el teclado se vuelve más estable y deja de devorar la batería, sino que otros periféricos Bluetooth tradicionales (como ratones) recuperan de inmediato una fluidez absoluta.
Aunque tengo que destacar de que esta solución no resuelve por completo el problema, sí que es mucho mejor que tener que reconectar el teclado tras terminar de escribir.
Un ajuste del BLE (bluetooth de baja energía) que hice para reducir aún más las desconexiones es el siguiente:
MinConnectionInterval=7
MaxConnectionInterval=15
ConnectionLatency=0
Esto permite que el firmware tenga más tiempo para no desconectarse en caso de que vea una reducción de actividad al teclear. Así, la batería de la yogabook y el teclado, dejarán de matarse mutuamente.


