Eu tive o mesmo problema e recentemente tentei desativar o modo eSCO no módulo bluetooth:
echo 1 | sudo tee /sys/module/bluetooth/parameters/disable_esco
sudo /etc/init.d/bluetooth restart
# persist setting
echo "options bluetooth disable_esco=1" | sudo tee /etc/modprobe.d/bluetooth-tweaks.conf
A conexão do mouse parece mais estável agora e eu não vi uma desconexão depois de ajustar essa configuração.
Meu laptop Lenovo W530 possui um adaptador Bluetooth da Broadcom (internamente o usb é a interface).
Se você tiver um adaptador Bluetooth da Broadcom, talvez seja necessário obter um arquivo de firmware .hex de um driver do Windows e colocá-lo no diretório / lib / firmware para suportar todos os recursos do Bluetooth. Mais informações em link e link .
Use o hex2hcd para converter o arquivo .hex do driver do Windows para .hcd: link
Encontrei os arquivos .hex da Broadcom em este pacote de driver do Windows . Localize o arquivo Win7/Win32/bcbtums-win7x86-brcm.inf
e procure a identificação USB do seu adaptador.
$ lsusb |grep Bluetooth
Bus 001 Device 006: ID 0a5c:21e6 Broadcom Corp. BCM20702 Bluetooth 4.0 [ThinkPad]
pesquise por RAMUSB<usb product id in upper case>
, por exemplo, RAMUSB21E6
para meu adaptador. Lá você encontrará o nome do arquivo .hex:
[RAMUSB21E6.NTX86.hw.reg]
HKR,,LowerFilters, 0x00010000, "bcbtums"
HKR,,%RAMPatchFileName%,0x00000, "BCM20702A1_001.002.014.1315.1387.hex"
HKR,,%RemoteWakeEnabled%,0x00010001,1
HKR,,%DeviceRemoteWakeSupported%,0x00010001,1
No meu caso, o arquivo era Win7/Win32/BCM20702A1_001.002.014.1315.1387.hex
Em seguida, usei o hex2hcd para converter o arquivo para /lib/firmware/fw-0a5c_21e6.hcd (mais uma vez, esse nome de arquivo contém os IDs USB do seu adaptador Bluetooth Broadcom USB).