Tutoriales

Cómo arreglar «el dispositivo Bluetooth no se conecta automáticamente» en Linux

Si ha estado usando Linux por un tiempo, sabría que Bluetooth y Linux no van de la mano. Cualquiera que sea la razón, siempre es complicado conectar dispositivos Bluetooth a su sistema Linux. Recientemente, desde mi actualización a Ubuntu 20.04, me he dado cuenta de que los dispositivos Bluetooth no se conectan automáticamente a mi sistema. Investigué mucho y aquí hay formas de arreglar «El dispositivo Bluetooth no se conecta automáticamente en Ubuntu».

Se corrigió «el dispositivo Bluetooth no se conecta automáticamente» en Ubuntu

No existe una solución única para este problema y su problema puede diferir del mío. Por ejemplo, mis auriculares Bluetooth se conectan automáticamente a mi sistema Ubuntu tan pronto como lo enciendo. Pero, al segundo siguiente, vuelve a desconectarse y tengo que conectarlo cada vez de forma manual.

Entonces, sea cual sea el dispositivo Bluetooth, aquí hay una solución paso a paso, comente y déjeme saber cuál de ellos funciona para usted.

Paso 1. AutoEnable

Ante todo, debe asegurarse de tener un módulo Bluetooth que funcione y que esté encendido. Una vez que lo tengamos fuera del camino, debemos verificar si AutoEnable está activado. La habilitación automática garantiza que el módulo Bluetooth se encienda después de cada reinicio. Además, si conecta un dispositivo o módulo USB Bluetooth, AutoEnable garantiza que pueda iniciarse sin reiniciar.

Para asegurarnos de que AutoEnable esté activado, necesitamos profundizar en el archivo de configuración de Bluetooth. Para hacer eso, use el siguiente comando.

sudo nano /etc/bluetooth/main.conf

sudo-nano-bluetooth

En el archivo de configuración de Bluetooth, navega hasta la parte inferior. En caso de que vea una línea que dice «AutoEnable = true», está todo bien. En caso de que no lo haga, AutoEnable está desactivado. Por lo tanto, tendremos que agregar la siguiente línea al final del archivo.

AutoEnable=true

Este paso no es tan importante para un dispositivo de audio Bluetooth, pero puede solucionar un problema de conexión automática del teclado, la cámara web o el mouse Bluetooth.

auto-enable-bluetooth.conf

Paso 2. Confiar en el dispositivo

Si el método anterior no resolvió el problema, una razón podría ser que Ubuntu no confía en el dispositivo Bluetooth. Esto provoca un error de autenticación cuando el dispositivo intenta conectarse automáticamente. Para asegurarnos de que su dispositivo Bluetooth sea de confianza, debemos agregarlo a la lista de confianza.

Para hacer eso, primero necesitaríamos la dirección MAC del dispositivo Bluetooth. Para obtener la dirección MAC, debe conectar su dispositivo Bluetooth con su sistema o al menos hacerlo detectable. A continuación, diríjase a la barra superior y haga clic en el icono de la batería. En el menú desplegable extendido, haga clic en el Bluetooth icono y luego Configuraciones de Bluetooth.

bluetooth-ajustes-bluetooth

En la configuración de Bluetooth, busque el nombre de su dispositivo Bluetooth y haga clic en él. En el menú emergente, obtendrá la dirección MAC del dispositivo.

dirección-mac-del-dispositivo-bluetooth

Una vez que tengamos la dirección MAC del dispositivo, presione «Alt + Ctrl + T» para abrir la terminal. En la terminal, escriba el siguiente comando y presione Enter.

bluetoothctl trust mac_address

bluetoothctl-trust-device

Para verificar que el dispositivo se haya agregado a la lista de confianza, presione el siguiente comando.

sudo bluetoothctl info mac_address

bluetoothctl-info-dispositivo

Ahora, intente reiniciar su servicio Bluetooth, el dispositivo debería conectarse automáticamente ahora.

Paso 3. Vuelva a emparejar el dispositivo Bluetooth

En caso de que las cosas no funcionen, puede intentar quitar el dispositivo Bluetooth y volver a emparejarlo. A veces, Ubuntu puede confundir el tipo o la clase de dispositivo Bluetooth. Por ejemplo, puede tomar la clase de dispositivo de auriculares como un teclado Bluetooth. Este problema se puede solucionar volviendo a emparejar. Puede hacerlo a través de la GUI quitando el dispositivo, pero si es un ninja del teclado como yo, a continuación se muestra el comando.

bluetoothctl remove mac_address

bluetoothctl-remove-device

Pon tus auriculares en modo de emparejamiento y ejecuta el siguiente comando

bluetoothctl connect mac_address

bluetoothctl-conectar-dispositivo

Una vez hecho esto, reinicie su Bluetooth y vea si el dispositivo se conecta automáticamente.

Paso 4. Reinstale Bluetooth

Este es el último recurso si las cosas no funcionan. Una reinstalación podría solucionar los problemas de Bluetooth y otros controladores. BlueZ es la pila Bluetooth oficial de Linux. Para reinstalar Bluetooth, necesitamos reinstalar el paquete BlueZ. Para hacer eso, use el siguiente comando.

sudo apt reinstall bluez

reinstalar-bluez-package

Una vez que haya reinstalado Bluez, habilite e inicie el servicio Bluetooth usando el siguiente comando.

sudo systemctl enable bluetooth.service
sudo systemctl start bluetooth.service

habilitar-e-iniciar-servicio-bluetooth

Ahora, esto podría ayudarlo a reparar la reconexión automática del dispositivo Bluetooth. En caso de que no pase al siguiente paso.

Paso 5. Guión

En caso de que los pasos anteriores no le hayan funcionado, estamos en la misma situación. Mientras estaba a punto de renunciar por completo a este artículo, me encontré con un script de Python en GitHub llamado bluetooth-autoconnect. Es un script de Python que se conecta automáticamente a todos los dispositivos Bluetooth emparejados y confiables. Sin embargo, el script no está disponible para instalarlo directamente en el repositorio Flatpak o Apt. Por lo tanto, necesitamos descargar y configurar manualmente el servicio.

En primer lugar, descargue el archivo zip de GitHub o use el siguiente comando para clonar el repositorio en su directorio de inicio.

git clone https://github.com/jrouleau/bluetooth-autoconnect.git

Ahora que tenemos el repositorio descargado, debemos mover el servicio y los scripts a su ubicación respectiva antes de iniciar el servicio. En mi caso, estoy usando la arquitectura systemd, por lo que los destinos de archivo mencionados serían aplicables a distribuciones como ArchLinux, Ubuntu, Debian, etc. En caso de que use distribuciones que no sean de systemd, busque en Google sus directorios de servicio.

sudo cp bluetooth-autoconnect/bluetooth-autoconnect.service /etc/systemd/system/
sudo cp '/home/pratik/bluetooth-autoconnect/bluetooth-autoconnect' /usr/bin/

copiar-servicios-personalizados-a-directorios

Una vez que hayamos copiado con éxito el servicio en los directorios respectivos, habilitemos e iniciemos el servicio. Para hacer eso, use el siguiente comando.

sudo systemctl enable bluetooth-autoconnect.service
sudo systemctl start bluetooth-autoconnect.service

start-bluetooth-autoconnect-service

Ahora que hemos iniciado el servicio, intentará volver a conectarse a todos los dispositivos Bluetooth emparejados y de confianza. La única advertencia con este método es que no podrá emparejar su dispositivo Bluetooth con otros sistemas sin apagar el Bluetooth de su máquina Linux. Dado que el dispositivo siempre intentará conectarse con su dispositivo Bluetooth.

Visita bluetooth-autoconnect GitHub

Palabras de cierre

Este artículo me llevó a través de docenas de foros y artículos en la web. Probé scripts udev a PulseAudio a Bluez Manager pero ninguno de ellos pudo hacer el trabajo de conexión automática. Por lo tanto, los omití de este artículo. En mi viaje con los sistemas Linux, además de la falta de buenas aplicaciones profesionales, Bluetooth ha sido el segundo problema más importante. Nunca pude llegar a la conclusión de que sea el problema del controlador del fabricante o algo que Linux aún no lo haya descubierto.

Publicaciones relacionadas

Botón volver arriba