Bluetoothマウスが数秒後に動作を停止する(NetworkManagerの問題)

Bluetoothマウスが数秒後に動作を停止する(NetworkManagerの問題)

私のMicrosoft Designer Bluetoothマウスはしばらくすると動作を停止します。

修正する:これは一般的なBluetoothの問題です。携帯電話からラップトップにファイルを送信しようとしましたが、ファイルは1つだけ受信されました。その後、Bluetooth接続が停止しました。

私はLenovo T460sで最新のopenSUSE Tumbleweedを実行しています。まず、カーネル4.0.36でopenSUSE Leap 42.2を実行しており、Bluetoothマウスは完全に機能しますが、以前のカーネルではSkylakeプロセッサに問題があり、システムがハングします。https://forums.opensuse.org/showthread.php/521718-Frequent-lockups-freezes

問題を次の点にまとめることができました。

sudo systemctl stop NetworkManager

マウスは完璧に動作します。 NetworkManagerを使用するとすぐにstartマウスの動作が停止し、Gnome ShellのBluetoothアイコンが永久にBluetooth接続を表します。その後、次を実行できます。

sudo systemctl restart bluetooth

これにより、マウスは数秒間しか機能しません。今は奇妙な部分が出てきます。wlan0インターフェースを除く/etc/NetworkManager/NetworkManager.conf

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

マウスは再び完璧に動作しますしかし、もちろん、NetworkManagerで管理されるWiFiがないので、これは望ましくありません。

wlan0したがって、デバイスが管理されている限り、NetworkManagerの何かがBluetoothを妨げます。


メガネ:

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

私も試しましたウデブベンダーと製品IDを使用してマウスとBluetoothハブのNM_UNMANAGED()ルールを利用しましたが、man NetworkManager成功しませんでした。 NetworkManager.conf()でDEBUGロギングをオンにしようとしましたが、man NetworkManager.confマウスエラーが発生したときに興味深いものを見ることができませんでした。デバッグを開始しても同じですusr/lib/bluetooth/bluetoothd -n --debug 2>&1。見るものはありません。

仕方なく。マウスとインターネットアクセスの両方が欲しいので、助けてくれてありがとう。

修正する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

できました状況を改善するiwlwifiモジュールでbt_coexを無効にする:

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

今残っている唯一の問題は、一時停止中に目が覚めた後に再び機能するには、Bluetoothサービスを再起動する必要があることです。 NetworkManagerを再起動してもBluetoothは終了します。しかし、WiFiを設定した後にマウスを接続すると、接続が中断されなくなり、切断/再接続(マウスオフ)がエラーなく処理されます。

答え1

bt_coexを無効にして問題を解決しました。一時停止中に目が覚めた後(たとえば、WiFi設定を待っている場合)、マウスをすばやく接続しないと、すべてがうまく機能します。

関連情報