Eu uso o Bluetooth na perfeição no Ubuntu 16.04.3 LTS nos últimos 6 meses, conectando mouse / teclado / fones de ouvido simultaneamente. Mas de repente houve alguma atualização do kernel, eu acho, porque tive que atualizar o kernel da minha caixa virtual, o que foi uma bagunça! e, ao mesmo tempo, comecei a ter problemas regulares com o bluetooth, que às vezes funcionavam às vezes não.
Enfim, tentei várias coisas pesquisando no Google e não tenho certeza se errei em algo, mas agora meu comportamento atual com o bluetooth é o seguinte:
Ao inicializar / reiniciar o bluetooth, não funciona. O Ubuntu acha que está ligado, mas não consigo conectar ou verificar nenhum dispositivo.
Se eu apenas "sudo modprobe -r btusb; sudo modprobe btusb" (que eu acredito que reinstala o driver bluetooth ou algo assim), o bluetooth começa a funcionar perfeitamente, no entanto, após cerca de 2 minutos, ele para de novo.
Isso é tão esquisito. Obviamente, está funcionando, mas por que não permanecer?
Apenas no caso de ajudar:
sudo dmesg | grep Blue
[ 9.266691] Bluetooth: Core ver 2.22
[ 9.266704] Bluetooth: HCI device and connection manager initialized
[ 9.266710] Bluetooth: HCI socket layer initialized
[ 9.266711] Bluetooth: L2CAP socket layer initialized
[ 9.266714] Bluetooth: SCO socket layer initialized
[ 9.285931] Bluetooth: HCI UART driver ver 2.3
[ 9.285932] Bluetooth: HCI UART protocol H4 registered
[ 9.285933] Bluetooth: HCI UART protocol BCSP registered
[ 9.285945] Bluetooth: HCI UART protocol LL registered
[ 9.285946] Bluetooth: HCI UART protocol ATH3K registered
[ 9.285946] Bluetooth: HCI UART protocol Three-wire (H5) registered
[ 9.285974] Bluetooth: HCI UART protocol Intel registered
[ 9.285982] Bluetooth: HCI UART protocol Broadcom registered
[ 9.285983] Bluetooth: HCI UART protocol QCA registered
[ 9.285984] Bluetooth: HCI UART protocol AG6XX registered
[ 9.285984] Bluetooth: HCI UART protocol Marvell registered
[ 9.428155] Bluetooth: hci0: Firmware revision 0.1 build 103 week 50 2016
[ 10.205097] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 10.205098] Bluetooth: BNEP filters: protocol multicast
[ 10.205100] Bluetooth: BNEP socket layer initialized
[ 12.659374] Bluetooth: RFCOMM TTY layer initialized
[ 12.659377] Bluetooth: RFCOMM socket layer initialized
[ 12.659381] Bluetooth: RFCOMM ver 1.11
[ 33.820193] Bluetooth: hci0 command 0x0c52 tx timeout
[ 57.756016] Bluetooth: hci0 command 0x0405 tx timeout
[ 103.871505] Bluetooth: hci0: Firmware revision 0.1 build 103 week 50 2016
--editar
Tentei algumas etapas para remover e reinstalar o pacote bluetooth, mas ainda assim o problema persiste. Por alguma razão, em vez de trabalhar por 2 minutos, meu bluetooth agora funciona cerca de 15 segundos depois de reiniciar o driver. Meu syslog mostra isso logo depois que aconteceu.
tail syslog
Jan 28 13:43:51 pierre-Galago-Pro system76-daemon[1255]: 2018-01-28 13:43:51,967 INFO {'hci0': True, 'phy0': True} != {'phy0': True}
Jan 28 13:43:51 pierre-Galago-Pro system76-daemon[1255]: 2018-01-28 13:43:51,970 INFO airplane_mode: False
Jan 28 13:44:04 pierre-Galago-Pro bluetoothd[1306]: /org/bluez/hci0/dev_57_D3_98_0B_83_19/fd1: fd(36) ready
Jan 28 13:44:04 pierre-Galago-Pro rtkit-daemon[3655]: Supervising 3 threads of 1 processes of 1 users.
Jan 28 13:44:04 pierre-Galago-Pro rtkit-daemon[3655]: Successfully made thread 10504 of process 5763 (n/a) owned by '1000' RT at priority 5.
Jan 28 13:44:04 pierre-Galago-Pro rtkit-daemon[3655]: Supervising 4 threads of 1 processes of 1 users.
Jan 28 13:44:04 pierre-Galago-Pro kernel: [ 317.466103] input: 57:D3:98:0B:83:19 as /devices/virtual/input/input27
Jan 28 13:44:23 pierre-Galago-Pro bluetoothd[1306]: Suspend: Connection timed out (110)
Jan 28 13:44:25 pierre-Galago-Pro bluetoothd[1306]: Abort: Connection timed out (110)
Jan 28 13:44:25 pierre-Galago-Pro acpid: input device has been disconnected, fd 22
parece que bluetoothd é um daemon do pacote chamado bluez e posso ver que o pacote bluez acabou de ser atualizado recentemente para o Ubuntu 16.04 ( https://launchpad.net/ubuntu/+source/bluez ) talvez seja necessário fazer o downgrade para a versão anterior.