O mouse Bluetooth pára de funcionar após alguns segundos (problema do NetworkManager)

1

Meu mouse Bluetooth Microsoft Designer irá parar de funcionar após um curto período de tempo.

UPDATE : é um problema geral do bluetooth. Eu tentei enviar arquivos do meu celular para o meu laptop e recebi apenas 1 arquivo. A conexão Bluetooth parou depois.

Estou executando o último Tumbleweed do openSUSE em um Lenovo T460s. Primeiro eu estava rodando o openSUSE Leap 42.2 com o Kernel 4.0.36 e o Mouse Bluetooth funcionava perfeitamente, mas em Kernels mais antigos havia um problema com os Processadores Skylake para que meu sistema travasse - link .

Consegui definir o problema da seguinte forma:

sudo systemctl stop NetworkManager

O mouse funcionará sem falhas. Assim que eu start o NetworkManager o mouse irá parar de funcionar e o ícone do Bluetooth no Gnome Shell irá sinalizar a conexão Bluetooth para sempre. Eu poderia então correr:

sudo systemctl restart bluetooth

que fará o mouse funcionar por apenas alguns segundos. Aqui vem a parte ainda mais estranha. Se eu excluir a interface wlan0 em /etc/NetworkManager/NetworkManager.conf

[keyfile]
unmanaged-devices=interface-name:wlan0

O mouse funcionará novamente sem problemas mas é claro que não tenho WiFi gerenciado pelo NetworkManager que seja indesejável.

Portanto, algo do NetworkManager está interferindo no bluetooth, contanto que wlan0 device seja gerenciado.

Especificações:

mike@think:~> cat /etc/issue
Welcome to openSUSE Tumbleweed 20161226 - Kernel \r (\l).
mike@think:~> uname -a
Linux think.suse 4.9.0-2-default #1 SMP PREEMPT Fri Dec 16 19:51:27 UTC 2016 (6fbc0c0) x86_64 x86_64 x86_64 GNU/Linux
mike@think:~> sudo dmidecode -t bios
# dmidecode 3.0
Getting SMBIOS data from sysfs.
SMBIOS 2.8 present.

Handle 0x000C, DMI type 0, 24 bytes
BIOS Information
    Vendor: LENOVO
    Version: N1CET52W (1.20 ) <-- latest
...
mike@think:~> sudo systemctl status bluetooth
● bluetooth.service - Bluetooth service
   Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2017-01-06 11:27:31 CET; 17min ago
     Docs: man:bluetoothd(8)
 Main PID: 1191 (bluetoothd)
   Status: "Running"
    Tasks: 1 (limit: 512)
   CGroup: /system.slice/bluetooth.service
           └─1191 /usr/lib/bluetooth/bluetoothd

Jan 06 11:27:31 think systemd[1]: Starting Bluetooth service...
Jan 06 11:27:31 think bluetoothd[1191]: Bluetooth daemon 5.43
Jan 06 11:27:31 think bluetoothd[1191]: Starting SDP server
Jan 06 11:27:31 think systemd[1]: Started Bluetooth service.
Jan 06 11:27:31 think bluetoothd[1191]: Bluetooth management interface 1.14 initialized
Jan 06 11:27:32 think.suse bluetoothd[1191]: Failed to obtain handles for "Service Changed" characteristic
Jan 06 11:27:32 think.suse bluetoothd[1191]: Sap driver initialization failed.
Jan 06 11:27:32 think.suse bluetoothd[1191]: sap-server: Operation not permitted (1)
Jan 06 11:27:34 think.suse bluetoothd[1191]: Endpoint registered: sender=:1.26 path=/MediaEndpoint/A2DPSource
Jan 06 11:27:34 think.suse bluetoothd[1191]: Endpoint registered: sender=:1.26 path=/MediaEndpoint/A2DPSink
mike@think:~> nmcli -v
nmcli tool, version 1.4.4

Eu também tentei as regras udev usando o fornecedor e o productid para meu mouse e hub Bluetooth aproveitando NM_UNMANAGED ( man NetworkManager ) sem sucesso. Eu tentei ativar o registro DEBUG no NetworkManager.conf ( man NetworkManager.conf ), mas não vejo nada interessante quando ocorre a falha do mouse. O mesmo se aplica se eu iniciar o usr/lib/bluetooth/bluetoothd -n --debug 2>&1 debugging. Nada para ver.

Eu estou sem opções. Qualquer ajuda é apreciada, porque eu gostaria de ter um mouse e acesso à internet ao mesmo tempo:)

UPDATE lspci

mike@think:~> sudo lspci -nnk | grep -iA2 net
00:1f.6 Ethernet controller [0200]: Intel Corporation Ethernet Connection I219-LM [8086:156f] (rev 21)
    Subsystem: Lenovo Device [17aa:2233]
    Kernel driver in use: e1000e
--
04:00.0 Network controller [0280]: Intel Corporation Wireless 8260 [8086:24f3] (rev 3a)
    Subsystem: Intel Corporation Device [8086:0130]
    Kernel driver in use: iwlwifi

Consegui melhorar a situação desativando o bt_coex no módulo iwlwifi:

cat /etc/modprobe.d/50-iwlwifi.conf
options iwlwifi bt_coex_active=0 

O único problema que resta agora é que após o despertar da suspensão eu tenho que reiniciar o serviço bluetooth para que ele funcione novamente. Reiniciar o NetworkManager ainda mata o bluetooth, mas quando eu conecto o mouse depois que o Wi-Fi é estabelecido, a conexão não vai mais parar e desconectar / reconectar (desligar o mouse) é tratada sem erros.

    
por phlebas 06.01.2017 / 11:58

1 resposta

1

Desde que eu desativei o bt_coex, o problema está resolvido para mim. Se eu não conectar o mouse muito rápido depois de acordar da suspensão (por exemplo, esperar que o WiFi seja estabelecido), tudo funcionará bem.

    
por 18.01.2017 / 13:51