所以我的蓝牙一直运行良好,直到上周出现了一个新的更新。我猜这包括内核更新。然后,我的蓝牙被禁用了,我无法再次打开它。
服务正在运行,但在切换gnome-control-center
时不执行任何操作。
通过lshw
我弄清楚,我有一个 RTL8822BE 蓝牙和 Wifi 设备。顺便说一下,Wifi 工作正常。
*-network
Beschreibung: Kabellose Verbindung
Produkt: RTL8822BE 802.11a/b/g/n/ac WiFi adapter
Hersteller: Realtek Semiconductor Co., Ltd.
Physische ID: 0
Bus-Informationen: pci@0000:03:00.0
Logischer Name: wlp3s0
Version: 00
Seriennummer: 80:2b:f9:bd:d1:8d
Breite: 64 bits
Takt: 33MHz
Fähigkeiten: pm msi pciexpress bus_master cap_list ethernet physical wireless
Konfiguration: broadcast=yes driver=r8822be driverversion=4.18.0-18-generic firmware=N/A ip=192.168.0.158 latency=0 link=yes multicast=yes wireless=IEEE 802.11
Ressourcen: irq:143 ioport:d000(Größe=256) memory:df200000-df20ffff
我对这些信息感到怀疑,firmware=N/A
检查了是否有合适的固件文件。我读到我应该在下面查找,rtl8822b_config.bin
它们rtl8822b_fw.bin
就/lib/firmware/rtl_bt/
在那里。
$ ll /lib/firmware/rtl_bt/rtl8822b*
-rw-r--r-- 1 root root 14 Apr 28 14:58 /lib/firmware/rtl_bt/rtl8822b_config.bin
-rw-r--r-- 1 root root 50K Apr 28 14:59 /lib/firmware/rtl_bt/rtl8822b_fw.bin
按照本线程中的建议替换它们并没有帮助。 https://askubuntu.com/questions/1003818/rtl8822be-bluetooth-device#=
我最后的希望是它只是被阻止了。调查后我发现可以看到它,rfkill list
但没有运气……
$ sudo rfkill list
0: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
1: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
这是 的输出dmesg | egrep -i 'blue|firm'
。
dmesg | egrep -i 'blue|firm'
[ 0.028000] Spectre V2 : Enabling Restricted Speculation for firmware calls
[ 0.143301] ACPI: [Firmware Bug]: BIOS _OSI(Linux) query ignored
[ 2.153415] usb 1-14: Product: Bluetooth Radio
[ 15.614394] Bluetooth: Core ver 2.22
[ 15.614404] Bluetooth: HCI device and connection manager initialized
[ 15.614406] Bluetooth: HCI socket layer initialized
[ 15.614407] Bluetooth: L2CAP socket layer initialized
[ 15.614410] Bluetooth: SCO socket layer initialized
[ 15.618901] Bluetooth: hci0: rtl: examining hci_ver=08 hci_rev=627a lmp_ver=08 lmp_subver=b29b
[ 15.618902] Bluetooth: hci0: rtl: assuming no firmware upload needed
[ 16.046087] r8822be: Using firmware rtlwifi/rtl8822befw.bin
[ 20.774984] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 20.774985] Bluetooth: BNEP filters: protocol multicast
[ 20.774988] Bluetooth: BNEP socket layer initialized
和dmesg | egrep -i 'r8822be'
。
dmesg | egrep -i 'r8822be'
[ 15.884569] r8822be: module is from the staging directory, the quality is unknown, you have been warned.
[ 15.885992] r8822be 0000:03:00.0: enabling device (0000 -> 0003)
[ 16.046087] r8822be: Using firmware rtlwifi/rtl8822befw.bin
[ 16.188308] r8822be: rtlwifi: wireless switch is on
[ 16.191197] r8822be 0000:03:00.0 wlp3s0: renamed from wlan0
我真的希望有人能帮助我解决这个问题,因为它本来可以正常工作但现在却不能,这让我很抓狂……
附言:我也尝试过使用以前的内核,但是没有成功 :/
更新:我还检查了是否AutoEnable=ture
已设置/etc/bluetooth/main.conf
。
谢谢大家! :)
答案1
这不是一个好答案,但在将我的内核更新到 4.18.0-18 后,我遇到了与您非常相似的问题。当我切换回 4.18.0-15 时,蓝牙似乎又正常工作了。我运行了一些诊断程序(lshw、lspci、hdiconfig dev 等),但没有做太多其他事情。
当我再次切换回 4.18.0-18 时,由于某种未知原因,问题神奇地自行解决了。我无法重现之前看到的故障,这非常可怕,但至少现在已经修复了。
那么,也许可以尝试切换回旧版本的内核,看看蓝牙是否恢复?如果是这样,那么您可能能够找出内核更新的哪一部分破坏了您的蓝牙,也许您会像我一样幸运,问题会自行解决。