幾秒鐘後藍牙滑鼠停止工作(NetworkManager 問題)
我的 Microsoft Designer 藍牙滑鼠將在短時間內停止工作。
更新:這是一個一般的藍牙問題。我嘗試將文件從手機發送到筆記型電腦,但只收到 1 個文件。之後藍牙連接停止。
我在聯想 T460s 上執行最新的 openSUSE Tumbleweed。首先,我使用核心 4.0.36 執行 openSUSE Leap 42.2,藍牙滑鼠執行完美,但在較舊的核心上,Skylake 處理器存在問題,因此我的系統會凍結 - https://forums.opensuse.org/showthread.php /521718-頻繁鎖定凍結。
我能夠將問題歸結為以下幾點:
sudo systemctl stop NetworkManager
滑鼠將完美執行。一旦我
start
使用 NetworkManager,滑鼠就會停止工作,並且 Gnome Shell 中的藍牙圖示將永遠發出藍牙連接的信號。然後我可以執行:sudo systemctl restart bluetooth
這將使滑鼠僅工作幾秒鐘。這是更奇怪的部分。如果我排除
wlan0
介面/etc/NetworkManager/NetworkManager.conf
[keyfile] unmanaged-devices=interface-name:wlan0
滑鼠將**再次完美地工作,**但當然我沒有由 NetworkManager 管理的 WiFi,這是不可取的。
因此,只要
wlan0
設備受到管理,NetworkManager 的某些東西就會干擾藍牙。眼鏡:
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
我還嘗試了使用 vendor 和 productid 為我的滑鼠和藍牙集線器利用 NM_UNMANAGED ( ) 的udev
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
現在剩下的唯一問題是,從掛起喚醒後,我必須重新啟動藍牙服務才能使其再次工作。重新啟動 NetworkManager 仍然會殺死藍牙,但是當我在建立 WiFi 後連接滑鼠時,連接將不再停止,並且斷開/重新連接(關閉滑鼠)的處理沒有錯誤。
由於我停用了 bt_coex,因此問題已為我解決。如果從掛起喚醒後我沒有太快連接滑鼠(即:等待 WiFi 建立),一切正常。