
Estou usando fones de ouvido bluetooth Sony WH-1000XM3 com meu openSUSE 15.2 com kernel 5.8. Tudo funciona bem na maioria das vezes, mas às vezes (alguns minutos a 1 hora após conectar os fones de ouvido) o som simplesmente para de funcionar. Tenho que desconectar e reconectar os fones de ouvido para que o som funcione novamente. Quando esse erro ocorre, posso ver os seguintes logs no journalctl:
[ 9173.598359] Bluetooth: hci0: Received unexpected HCI Event 00000000
[ 9173.598363] Bluetooth: hci0: Received unexpected HCI Event 00000000
[ 9173.598364] Bluetooth: hci0: Received unexpected HCI Event 00000000
[ 9173.622376] Bluetooth: hci0: Received unexpected HCI Event 00000000
e às vezes depois de desconectar os fones de ouvido também isto:
[ 9186.124245] Bluetooth: hci0: command 0x041f tx timeout
Procurei problemas semelhantes, mas não encontrei nenhum resultado, exceto parte das fontes do Linux:https://github.com/torvalds/linux/blob/master/net/bluetooth/hci_event.c#L6025que foi adicionado lá há meio ano:https://github.com/torvalds/linux/commit/08bb4da90150e2a225f35e0f642cdc463958d696
Esse problema é muito chato, especialmente durante reuniões online, então estou tentando consertar de alguma forma. Até agora compilei o bluez 5.54 e adicionei mais codecs (https://github.com/EHfive/pulseaudio-modules-bt), mas não mudou nada. Também tentei desativar a economia de energia para o módulo Bluetooth usando os seguintes parâmetros do kernel:
btusb.enable_autosuspend=n usbcore.autosuspend=-1 usbcore.autosuspend_delay_ms=-1
mas isso também não resolveu o problema.
Meu adaptador bluetooth:
8087:0029 Intel Corp. AX200 Bluetooth
Responder1
Eu também tenho tido esse problema há algum tempo. Finalmente tive tempo para investigar isso. Me deparei com sua pergunta. Também me deparei com uma pergunta semelhante com umresponder. Testando-os. Até agora nenhum problema. Essencialmente, a solução envolve a atualização de dois arquivos de firmware no formato /lib/firmware/intel
.
Abordagem 1 - Use arquivos de firmware Focal Intel:
https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux-firmware/plain/intel/ibt-20-1-3.ddc?h=focal https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux-firmware/plain/intel/ibt-20-1-3.sfi?h=focal
$ cd /lib/firmware/intel/
$ sudo cp ibt-20-1-3.ddc ibt-20-1-3.ddc.bak
$ sudo cp ibt-20-1-3.sfi ibt-20-1-3.sfi.bak
$ sudo mv ~/Downloads/ibt-20-1-3.ddc ibt-20-1-3.ddc
$ sudo mv ~/Downloads/ibt-20-1-3.sfi ibt-20-1-3.sfi
Abordagem 2 - Use firmware linux upstream:
https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/intel/ibt-20-1-3.ddc https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/intel/ibt-20-1-3.sfi
Execute os mesmos comandos acima para fazer a alteração.