ubuntu 20.04 rtl8723——蓝牙不工作

ubuntu 20.04 rtl8723——蓝牙不工作

我在基于原子的平板电脑 ACER Aspire Switch 10 上安装了 Ubuntu 20.04。蓝牙无法工作。事实上,ubuntu 似乎根本无法识别蓝牙硬件。但系统确实有蓝牙模块,在 Windows 下被识别为 RTK8723 (ACPI\RTK8723\some-id)

我搜索了一下,发现至少在过去五年里,人们设法将 8723 HW 引入 Linux。但解决方案涉及编译/安装一些模块。我可以这样做,但真的怀疑是否要复制发行版中已经存在的一些机制,我只需打开它,但不知道该怎么做。

你建议我做什么?

细节:

$ lsb_release -d
Description:    Ubuntu 20.04 LTS
$ uname -vr
5.4.0-26-generic #30-Ubuntu SMP Mon Apr 20 16:58:30 UTC 2020
$ dmesg | grep -i 8723
[    8.087918] r8723bs: module is from the staging directory, the quality is unknown, you have been warned.
[    8.088914] r8723bs: module verification failed: signature and/or required key missing - tainting kernel
[    8.092667] RTL8723BS: module init start
[    8.092671] RTL8723BS: rtl8723bs v4.3.5.5_12290.20140916_BTCOEX20140507-4E40
[    8.092673] RTL8723BS: rtl8723bs BT-Coex version = BTCOEX20140507-4E40
[    8.303955] RTL8723BS: rtw_ndev_init(wlan0)
[    8.304653] RTL8723BS: module init ret =0
[   13.200223] rtl8723bs: acquire FW from file:rtlwifi/rtl8723bs_nic.bin
[   17.832536] RTL8723BS: rtw_set_802_11_connect(wlan0)  fw_state = 0x00000008
[   17.889893] RTL8723BS: start auth
[   17.892815] RTL8723BS: auth success, start assoc
[   17.901012] RTL8723BS: rtw_cfg80211_indicate_connect(wlan0) BSS not found !!
[   17.901053] RTL8723BS: assoc success
[   17.913846] RTL8723BS: send eapol packet
[   17.939873] RTL8723BS: send eapol packet
[   17.942652] RTL8723BS: set pairwise key camid:4, addr:50:c7:bf:31:a1:fa, kid:0, type:AES
[   17.944712] RTL8723BS: set group key camid:5, addr:50:c7:bf:31:a1:fa, kid:1, type:TKIP
$ rfkill list all
0: acer-wireless: Wireless LAN
    Soft blocked: no
    Hard blocked: no
1: acer-bluetooth: Bluetooth
    Soft blocked: no
    Hard blocked: no
2: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no

更新:

启动并登录 GUI 后

$ dmesg | grep -i blue
$ sudo lsmod | grep btrtl
$ sudo lsmod | grep btqca
$ sudo lsmod | grep btintel
$ sudo lsmod | grep hci_uart
$ sudo lsmod | grep bnep
$ sudo lsmod | grep hidp
$ sudo lsmod | grep btbcm
$ sudo lsmod | grep rfcomm
$

也就是说,所有这些命令都没有返回任何内容,所以

$ sudo modprobe btrtl
$ sudo modprobe btqca
$ sudo modprobe btintel
$ sudo modprobe hci_uart
$ sudo modprobe bnep
$ sudo modprobe hidp
$ sudo modprobe btbcm
$ sudo modprobe rfcomm

然后

$ dmesg | grep -i blue
[  922.885915] Bluetooth: Core ver 2.22
[  922.886059] Bluetooth: HCI device and connection manager initialized
[  922.886083] Bluetooth: HCI socket layer initialized
[  922.886097] Bluetooth: L2CAP socket layer initialized
[  922.886125] Bluetooth: SCO socket layer initialized
[ 1110.038155] Bluetooth: HCI UART driver ver 2.3
[ 1110.038159] Bluetooth: HCI UART protocol H4 registered
[ 1110.038161] Bluetooth: HCI UART protocol BCSP registered
[ 1110.038237] Bluetooth: HCI UART protocol LL registered
[ 1110.038240] Bluetooth: HCI UART protocol ATH3K registered
[ 1110.038317] Bluetooth: HCI UART protocol Three-wire (H5) registered
[ 1110.038469] Bluetooth: HCI UART protocol Intel registered
[ 1110.038756] Bluetooth: HCI UART protocol Broadcom registered
[ 1110.038823] Bluetooth: HCI UART protocol QCA registered
[ 1110.038825] Bluetooth: HCI UART protocol AG6XX registered
[ 1110.038892] Bluetooth: HCI UART protocol Marvell registered
[ 1127.857569] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 1127.857580] Bluetooth: BNEP filters: protocol multicast
[ 1127.857594] Bluetooth: BNEP socket layer initialized
[ 1135.830750] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[ 1135.830767] Bluetooth: HIDP socket layer initialized
[ 1153.832918] Bluetooth: RFCOMM TTY layer initialized
[ 1153.832949] Bluetooth: RFCOMM socket layer initialized
[ 1153.832979] Bluetooth: RFCOMM ver 1.11

$ sudo lsmod
Module                  Size  Used by
rfcomm                 81920  0
hidp                   28672  0
bnep                   24576  0
hci_uart              126976  0
btbcm                  16384  1 hci_uart
btintel                24576  1 hci_uart
btqca                  20480  1 hci_uart
btrtl                  24576  1 hci_uart
bluetooth             581632  10 btrtl,hidp,btqca,btintel,hci_uart,btbcm,bnep,rfcomm
ecdh_generic           16384  1 bluetooth
ecc                    28672  1 ecdh_generic
snd_soc_sst_bytcr_rt5640    40960  2
snd_hdmi_lpe_audio     28672  1
mei_hdcp               24576  0
intel_rapl_msr         20480  0
gpio_keys              20480  0
intel_soc_dts_thermal    20480  0
intel_powerclamp       20480  0
coretemp               20480  0
kvm_intel             286720  0
kvm                   663552  1 kvm_intel
punit_atom_debug       16384  0
nls_iso8859_1          16384  2
crct10dif_pclmul       16384  1
ghash_clmulni_intel    16384  0
aesni_intel           372736  0
crypto_simd            16384  1 aesni_intel
cryptd                 24576  2 crypto_simd,ghash_clmulni_intel
glue_helper            16384  1 aesni_intel
intel_cstate           20480  0
snd_sof_acpi           20480  0
snd_sof_intel_byt      20480  1 snd_sof_acpi
snd_sof_intel_ipc      20480  1 snd_sof_intel_byt
snd_sof               106496  3 snd_sof_acpi,snd_sof_intel_byt,snd_sof_intel_ipc
snd_sof_xtensa_dsp     16384  1 snd_sof_acpi
ledtrig_audio          16384  1 snd_sof
r8723bs               573440  0
snd_soc_rt5670        155648  0
joydev                 24576  0
snd_intel_sst_acpi     20480  1
snd_soc_rt5651        102400  0
snd_intel_sst_core     61440  1 snd_intel_sst_acpi
input_leds             16384  0
snd_soc_sst_atom_hifi2_platform   110592  2 snd_intel_sst_core
snd_soc_rt5645        172032  0
cfg80211              704512  1 r8723bs
mac_hid                16384  0
snd_soc_acpi_intel_match    32768  2 snd_sof_acpi,snd_intel_sst_acpi
snd_soc_rt5640        143360  2 snd_soc_sst_bytcr_rt5640
snd_soc_acpi           16384  4 snd_soc_sst_bytcr_rt5640,snd_sof_acpi,snd_soc_acpi_intel_match,snd_intel_sst_acpi
snd_soc_rl6231         20480  4 snd_soc_rt5651,snd_soc_rt5670,snd_soc_rt5640,snd_soc_rt5645
i915                 1986560  14
snd_soc_core          245760  7 snd_soc_rt5651,snd_soc_sst_bytcr_rt5640,snd_sof,snd_soc_rt5670,snd_soc_rt5640,snd_soc_sst_atom_hifi2_platform,snd_soc_rt5645
snd_compress           24576  1 snd_soc_core
ac97_bus               16384  1 snd_soc_core
snd_pcm_dmaengine      16384  1 snd_soc_core
hid_multitouch         28672  0
snd_pcm               106496  10 snd_soc_rt5651,snd_soc_sst_bytcr_rt5640,snd_sof,snd_soc_rt5670,snd_soc_rt5640,snd_hdmi_lpe_audio,snd_soc_sst_atom_hifi2_platform,snd_soc_core,snd_soc_rt5645,snd_pcm_dmaengine
ak8975                 24576  0
drm_kms_helper        184320  1 i915
acer_wmi               24576  0
snd_seq_midi           20480  0
i2c_algo_bit           16384  1 i915
snd_seq_midi_event     16384  1 snd_seq_midi
sparse_keymap          16384  1 acer_wmi
fb_sys_fops            16384  1 drm_kms_helper
mei_txe                28672  1
wmi_bmof               16384  0
mei                   106496  3 mei_hdcp,mei_txe
snd_rawmidi            36864  1 snd_seq_midi
syscopyarea            16384  1 drm_kms_helper
sysfillrect            16384  1 drm_kms_helper
sysimgblt              16384  1 drm_kms_helper
snd_seq                69632  2 snd_seq_midi,snd_seq_midi_event
processor_thermal_device    24576  0
inv_mpu6050_i2c        16384  0
intel_rapl_common      24576  2 intel_rapl_msr,processor_thermal_device
inv_mpu6050            28672  2 inv_mpu6050_i2c
snd_seq_device         16384  3 snd_seq,snd_seq_midi,snd_rawmidi
intel_soc_dts_iosf     20480  2 intel_soc_dts_thermal,processor_thermal_device
snd_timer              36864  2 snd_seq,snd_pcm
industrialio_triggered_buffer    16384  2 inv_mpu6050,ak8975
int3400_thermal        20480  0
kfifo_buf              16384  1 industrialio_triggered_buffer
acpi_thermal_rel       16384  1 int3400_thermal
soc_button_array       20480  0
int3403_thermal        16384  0
int340x_thermal_zone    16384  2 int3403_thermal,processor_thermal_device
int3406_thermal        16384  0
i2c_mux                16384  1 inv_mpu6050_i2c
dptf_power             16384  0
industrialio           73728  4 industrialio_triggered_buffer,inv_mpu6050,kfifo_buf,ak8975
snd                    90112  16 snd_seq,snd_soc_sst_bytcr_rt5640,snd_seq_device,snd_timer,snd_compress,snd_hdmi_lpe_audio,snd_soc_sst_atom_hifi2_platform,snd_soc_core,snd_pcm,snd_rawmidi
intel_int0002_vgpio    16384  1
acpi_pad              184320  0
soundcore              16384  1 snd
8250_dw                16384  0
sch_fq_codel           20480  5
parport_pc             40960  0
ppdev                  24576  0
lp                     20480  0
drm                   491520  8 drm_kms_helper,i915
parport                53248  3 parport_pc,lp,ppdev
ip_tables              32768  0
x_tables               40960  1 ip_tables
autofs4                45056  2
hid_ite                16384  0
hid_generic            16384  0
mmc_block              49152  5
crc32_pclmul           16384  0
usbhid                 57344  0
lpc_ich                24576  0
wmi                    32768  2 acer_wmi,wmi_bmof
video                  49152  3 acer_wmi,int3406_thermal,i915
dw_dmac                16384  0
dw_dmac_core           28672  1 dw_dmac
i2c_hid                28672  0
hid                   131072  6 i2c_hid,hidp,hid_ite,usbhid,hid_multitouch,hid_generic
sdhci_acpi             24576  0
sdhci                  65536  1 sdhci_acpi

但是当我尝试在设置对话框中打开 BT 时,开关变成蓝色,但什么也没有发生,也就是说 BT 仍然不起作用。

更新 2020-11-28

我尝试升级内核,现在使用的是 5.8.0-25-generic,但这没有帮助。

$ dmesg | egrep -i -e "8723|blue|rfcomm|hci|mmc|rtl"
[    0.126698] PCI: MMCONFIG for domain 0000 [bus 00-3f] at [mem 0xe0000000-0xe3ffffff] (base 0xe0000000)
[    0.126698] PCI: not using MMCONFIG
[    0.220530] PCI: MMCONFIG for domain 0000 [bus 00-3f] at [mem 0xe0000000-0xe3ffffff] (base 0xe0000000)
[    0.230809] [Firmware Info]: PCI: MMCONFIG at [mem 0xe0000000-0xe3ffffff] not reserved in ACPI motherboard resources
[    0.230814] PCI: not using MMCONFIG
[    0.281489] acpi PNP0A08:00: fail to add MMCONFIG information, can't access extended PCI configuration space under this bridge.
[    1.215434] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.215452] ehci-pci: EHCI PCI platform driver
[    1.215483] ehci-platform: EHCI generic platform driver
[    1.215544] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.215552] ohci-pci: OHCI PCI platform driver
[    1.215584] ohci-platform: OHCI generic platform driver
[    1.215618] uhci_hcd: USB Universal Host Controller Interface driver
[    3.735915] sdhci: Secure Digital Host Controller Interface driver
[    3.735917] sdhci: Copyright(c) Pierre Ossman
[    3.742860] mmc0: SDHCI controller on ACPI [INT33BB:00] using ADMA
[    3.768137] mmc1: SDHCI controller on ACPI [80860F14:00] using ADMA
[    3.788409] mmc2: SDHCI controller on ACPI [80860F14:01] using ADMA
[    3.792645] mmc0: new high speed SDIO card at address 0001
[    3.847968] xhci_hcd 0000:00:14.0: xHCI Host Controller
[    3.847986] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 1
[    3.849090] xhci_hcd 0000:00:14.0: hcc params 0x200077c1 hci version 0x100 quirks 0x0000000000009810
[    3.849098] xhci_hcd 0000:00:14.0: cache line size of 64 is not supported
[    3.849712] usb usb1: Product: xHCI Host Controller
[    3.849715] usb usb1: Manufacturer: Linux 5.8.0-25-generic xhci-hcd
[    3.875942] mmc2: Problem switching card into high-speed mode!
[    3.876070] mmc2: new SDHC card at address 0001
[    3.940300] mmc1: new HS200 MMC card at address 0001
[    3.977460] mmcblk2: mmc2:0001 SPCC 14.6 GiB 
[    3.980124]  mmcblk2: p1
[    3.981199] mmcblk1: mmc1:0001 CWBC3R 58.2 GiB 
[    3.981516] mmcblk1boot0: mmc1:0001 CWBC3R partition 1 4.00 MiB
[    3.981845] mmcblk1boot1: mmc1:0001 CWBC3R partition 2 4.00 MiB
[    3.982051] mmcblk1rpmb: mmc1:0001 CWBC3R partition 3 4.00 MiB, chardev (240:0)
[    3.986302]  mmcblk1: p1 p2
[    4.395717] xhci_hcd 0000:00:14.0: xHCI Host Controller
[    4.395745] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 2
[    4.395768] xhci_hcd 0000:00:14.0: Host supports USB 3.0 SuperSpeed
[    4.396312] usb usb2: Product: xHCI Host Controller
[    4.396321] usb usb2: Manufacturer: Linux 5.8.0-25-generic xhci-hcd
[    4.593186] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null)
[    4.734185] usb 1-1: new high-speed USB device number 2 using xhci_hcd
[    5.182221] usb 1-1.3: new full-speed USB device number 3 using xhci_hcd
[    5.714516] EXT4-fs (mmcblk1p2): re-mounted. Opts: errors=remount-ro
[    7.584890] r8723bs: module is from the staging directory, the quality is unknown, you have been warned.
[    7.620644] RTL8723BS: module init start
[    7.620649] RTL8723BS: rtl8723bs v4.3.5.5_12290.20140916_BTCOEX20140507-4E40
[    7.620650] RTL8723BS: rtl8723bs BT-Coex version = BTCOEX20140507-4E40
[    7.937449] RTL8723BS: rtw_ndev_init(wlan0)
[    7.950610] RTL8723BS: module init ret =0
[    8.663080] Modules linked in: snd_hdmi_lpe_audio(+) hid_ite(+) snd_soc_sst_bytcr_rt5640(+) mei_hdcp gpio_keys intel_rapl_msr intel_soc_dts_thermal intel_powerclamp coretemp kvm_intel kvm punit_atom_debug crct10dif_pclmul ghash_clmulni_intel aesni_intel crypto_simd cryptd glue_helper intel_cstate joydev mac_hid efi_pstore r8723bs(CE) snd_soc_rt5670 snd_soc_rt5651 cfg80211 snd_soc_rt5645 snd_intel_sst_acpi snd_intel_sst_core ak8975 snd_soc_sst_atom_hifi2_platform snd_soc_rt5640 usbhid snd_soc_acpi_intel_match snd_soc_rl6231 snd_soc_acpi snd_soc_core snd_compress ac97_bus i915 hid_multitouch snd_pcm_dmaengine snd_pcm drm_kms_helper cec acer_wmi rc_core snd_seq_midi sparse_keymap i2c_algo_bit wmi_bmof fb_sys_fops snd_seq_midi_event syscopyarea sysfillrect mei_txe sysimgblt snd_rawmidi mei snd_seq snd_seq_device snd_timer dptf_power soc_button_array int3406_thermal processor_thermal_device intel_rapl_common int3403_thermal inv_mpu6050_i2c intel_soc_dts_iosf int3400_thermal int340x_thermal_zone
[    8.663135]  inv_mpu6050 atomisp_ov2722(CE) atomisp_gmin_platform(CE) acpi_thermal_rel videodev industrialio_triggered_buffer intel_int0002_vgpio snd kfifo_buf cm32181 i2c_mux industrialio acpi_pad mc soundcore 8250_dw sch_fq_codel parport_pc ppdev lp parport drm ip_tables x_tables autofs4 hid_generic mmc_block crc32_pclmul lpc_ich xhci_pci xhci_pci_renesas video wmi dw_dmac dw_dmac_core i2c_hid hid sdhci_acpi sdhci
[   11.975496] mmc2: Problem switching card into high-speed mode!
[   14.284231] Bluetooth: Core ver 2.22
[   14.284282] Bluetooth: HCI device and connection manager initialized
[   14.284293] Bluetooth: HCI socket layer initialized
[   14.284297] Bluetooth: L2CAP socket layer initialized
[   14.284307] Bluetooth: SCO socket layer initialized
[   15.914839] rtl8723bs: acquire FW from file:rtlwifi/rtl8723bs_nic.bin
[   18.437803] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   18.437806] Bluetooth: BNEP filters: protocol multicast
[   18.437816] Bluetooth: BNEP socket layer initialized
[   20.111345] RTL8723BS: rtw_set_802_11_connect(wlan0)  fw_state = 0x00000008
[   20.192610] RTL8723BS: start auth
[   20.197563] RTL8723BS: auth success, start assoc
[   20.204229] RTL8723BS: rtw_cfg80211_indicate_connect(wlan0) BSS not found !!
[   20.204257] RTL8723BS: assoc success
[   20.209185] RTL8723BS: send eapol packet
[   20.221098] RTL8723BS: send eapol packet
[   20.221260] RTL8723BS: set pairwise key camid:4, addr:50:c7:bf:31:a1:fa, kid:0, type:AES
[   20.225943] RTL8723BS: set group key camid:5, addr:50:c7:bf:31:a1:fa, kid:1, type:TKIP
[   68.474482] mmc2: Problem switching card into high-speed mode!
[   68.482849] FAT-fs (mmcblk2p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[   73.703696] mmc2: Problem switching card into high-speed mode!

$ sudo bluetoothctl
Agent registered
[bluetooth]# show
No default controller available
[bluetooth]# list
[bluetooth]# exit
$ 

看起来我遗漏了一些东西,如能得到任何帮助我将不胜感激。

答案1

自 4.19 内核以来,蓝牙在 rtl8723bs 上完全正常工作。它在该硬件上的 Xubuntu 20.04 升级版上工作。默认安装中存在必要的固件,无需编译。查看已加载的模块,并检查“蓝牙”行。它应该有 btrtl、btqca、btintel、hci_uart、bnep、hidp、btbcm 和 rfcomm。最后三个可能缺失,并导致您的问题。手动加载它们:

sudo modprobe hidp
sudo modprobe btbcm
sudo modprobe rfcomm

看看是否允许蓝牙运行。较旧的编译说明可能指的是内置固件的英特尔(?)版本(Ubuntu 14.04 上提供)。这不是提供的可行版本,但需要单独加载固件。您列出的固件是正确的版本。

相关内容