我在 HP 240 G7 上使用 Ubuntu 18.04,蓝牙无法使用。显示“未找到适配器”,开关呈灰色。
这些是我运行过的一些命令输出:
~$ sudo lsusb | grep Bluetooth
~$ sudo lshw
*-usb:3 NO RECLAMADO
descripción: Interfaz Bluetooth
producto: 802.11n WLAN Adapter
fabricante: Realtek
id físico: 8
información del bus: usb@1:8
versión: 2.00
serie: 00e04c000001
capacidades: bluetooth usb-1.10
configuración: driver=btusb maxpower=500mA speed=12Mbit/s
~$ dmesg | grep -i blue
[ 15.090310] Bluetooth: Core ver 2.22
[ 15.090323] Bluetooth: HCI device and connection manager initialized
[ 15.090326] Bluetooth: HCI socket layer initialized
[ 15.090327] Bluetooth: L2CAP socket layer initialized
[ 15.090329] Bluetooth: SCO socket layer initialized
[ 68.342346] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 68.342350] Bluetooth: BNEP filters: protocol multicast
[ 68.342361] Bluetooth: BNEP socket layer initialized
~$ service bluetooth status
● bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2020-01-22 11:18:05 -03; 15min ago
Docs: man:bluetoothd(8)
Main PID: 2616 (bluetoothd)
Status: "Running"
Tasks: 1 (limit: 4915)
CGroup: /system.slice/bluetooth.service
└─2616 /usr/lib/bluetooth/bluetoothd
ene 22 11:18:05 javo-PC systemd[1]: Starting Bluetooth service...
ene 22 11:18:05 javo-PC bluetoothd[2616]: Bluetooth daemon 5.48
ene 22 11:18:05 javo-PC systemd[1]: Started Bluetooth service.
ene 22 11:18:05 javo-PC bluetoothd[2616]: Starting SDP server
ene 22 11:18:05 javo-PC bluetoothd[2616]: Bluetooth management interface 1.14 initialized
~$ rfkill list all
0: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
~$ lspci -knn | grep Net -A3; lsusb
03:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. Device [10ec:d723]
Subsystem: Hewlett-Packard Company Device [103c:8319]
Kernel driver in use: rtl8723de
Kernel modules: rtl8723de
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 0bda:b009 Realtek Semiconductor Corp.
Bus 001 Device 004: ID 04f2:b67f Chicony Electronics Co., Ltd
Bus 001 Device 003: ID 2717:003b
Bus 001 Device 002: ID 2717:ff40
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
~$ bluetoothctl
Agent registered
[bluetooth]# power on
No default controller available
[bluetooth]# list
[bluetooth]# exit
Agent unregistered
~$ usb-devices | awk '/0bda/' RS=
T: Bus=01 Lev=01 Prnt=01 Port=07 Cnt=03 Dev#= 5 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=0bda ProdID=b009 Rev=02.00
S: Manufacturer=Realtek
S: Product=802.11n WLAN Adapter
S: SerialNumber=00e04c000001
C: #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=500mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
~$ modinfo btrtl
filename: /lib/modules/5.3.0-26-generic/updates/dkms/btrtl.ko
license: GPL
version: 0.1.1
description: Bluetooth support for Realtek devices ver 0.1.1
author: Daniel Drake <[email protected]>
srcversion: 0C8563E53114EC0065BFC6F
depends: bluetooth
retpoline: Y
name: btrtl
vermagic: 5.3.0-26-generic SMP mod_unload
signat: PKCS#7
signer:
sig_key:
sig_hashalgo: md4
~$ dkms status
btrtl-rtl8723de, 0.1~bionic, 5.3.0-26-generic, x86_64: installed
我尝试了所有可能的解决方案,但都不起作用。我甚至在 BIOS 中关闭/打开了蓝牙。我还能做什么?
回答后编辑
~$ modinfo btrtl
filename: /lib/modules/5.3.0-26-generic/kernel/drivers/bluetooth/btrtl.ko
firmware: rtl_bt/rtl8822b_config.bin
firmware: rtl_bt/rtl8822b_fw.bin
firmware: rtl_bt/rtl8821a_config.bin
firmware: rtl_bt/rtl8821a_fw.bin
firmware: rtl_bt/rtl8761a_config.bin
firmware: rtl_bt/rtl8761a_fw.bin
firmware: rtl_bt/rtl8723ds_config.bin
firmware: rtl_bt/rtl8723ds_fw.bin
firmware: rtl_bt/rtl8723bs_config.bin
firmware: rtl_bt/rtl8723bs_fw.bin
firmware: rtl_bt/rtl8723b_config.bin
firmware: rtl_bt/rtl8723b_fw.bin
firmware: rtl_bt/rtl8723a_fw.bin
license: GPL
version: 0.1
description: Bluetooth support for Realtek devices ver 0.1
author: Daniel Drake <[email protected]>
srcversion: 6E762C4F4D6D9CCD2330B10
depends: bluetooth
retpoline: Y
intree: Y
name: btrtl
vermagic: 5.3.0-26-generic SMP mod_unload
signat: PKCS#7
signer:
sig_key:
sig_hashalgo: md4
~$ dmesg | grep -i blue
[ 13.976836] Bluetooth: Core ver 2.22
[ 13.976848] Bluetooth: HCI device and connection manager initialized
[ 13.976851] Bluetooth: HCI socket layer initialized
[ 13.976852] Bluetooth: L2CAP socket layer initialized
[ 13.976854] Bluetooth: SCO socket layer initialized
[ 14.040014] Bluetooth: hci0: RTL: rtl: examining hci_ver=08 hci_rev=000d lmp_ver=08 lmp_subver=8723
[ 14.040950] Bluetooth: hci0: RTL: rom_version status=0 version=2
[ 14.040951] Bluetooth: hci0: RTL: rtl: loading rtl_bt/rtl8723d_fw.bin
[ 14.110936] Bluetooth: hci0: RTL: rtl: loading rtl_bt/rtl8723d_config.bin
[ 14.131570] Bluetooth: hci0: RTL: cfg_sz 10, total sz 33266
[ 16.286682] Bluetooth: hci0: command 0xfc20 tx timeout
[ 24.446900] Bluetooth: hci0: RTL: download fw command failed (-110)
[ 28.351691] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 28.351692] Bluetooth: BNEP filters: protocol multicast
[ 28.351696] Bluetooth: BNEP socket layer initialized
[ 1439.093176] Bluetooth: hci0: command 0x1001 tx timeout
[ 1447.285126] Bluetooth: hci0: RTL: HCI_OP_READ_LOCAL_VERSION failed (-110)
[ 4942.483816] Bluetooth: hci0: command 0x1001 tx timeout
[ 4950.611136] Bluetooth: hci0: RTL: HCI_OP_READ_LOCAL_VERSION failed (-110)
[ 6825.302438] Bluetooth: hci0: command 0x1001 tx timeout
[ 6833.430252] Bluetooth: hci0: RTL: HCI_OP_READ_LOCAL_VERSION failed (-110)
~$ rfkill list
1: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
4: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
答案1
您需要删除已安装的第三方模块。
内核已更新至 5.3,并且它破坏了 BT。
在终端中运行
sudo apt purge btrtl-rtl8723de-dkms
然后重新启动。
如果未找到包,请运行
sudo dkms remove btrtl-rtl8723de/0.1~bionic --all
这是从我的 PPA 安装的。也可以通过以下方式删除它:
sudo add-apt-repository -r ppa:hanipouspilot/bluetooth
我btrtl
从 5.3 内核反向移植了 BT,以便人们在旧内核上使用 BT。现在不再需要了。