为 EP-AC1661 安装蓝牙驱动程序

为 EP-AC1661 安装蓝牙驱动程序

我正在使用 EP-AC1661 WiFi 和蓝牙适配器。根据他们的网站,该驱动程序仅支持内核版本 2.6。我正尝试在内核版本为 5.0.0.29-generic 的 ubuntu 18.04 上安装驱动程序

当我运行命令时

sudo make install -s

我收到错误

    rtk_coex.c:2532:2 :error: implicit declaration of function 'init_timer'; did you mean 'init_timers'? [-Werror=implicit-function-declaration]
init_timer(&btrtl_coex.polling_timer)

关于如何解决这个问题,有什么指示吗?

编辑1: lsusb 的结果

:~$ lsusb 
Bus 002 Device 007: ID 0bda:c820 Realtek Semiconductor Corp. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 008 Device 002: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 004: ID 04f3:0b23 Elan Microelectronics Corp. 
Bus 001 Device 003: ID 0424:2137 Standard Microsystems Corp. 
Bus 001 Device 002: ID 1307:0330 Transcend Information, Inc. 63-in-1 Multi-Card Reader/Writer
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 009 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 010 Device 002: ID 0424:5537 Standard Microsystems Corp. 
Bus 010 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

tail -f /var/log/syslog 的结果

tail -f /var/log/syslog
Sep 23 16:17:42 blue kernel: [ 5578.720943] usb 2-6: new high-speed USB device number 8 using ehci-pci
Sep 23 16:17:43 blue kernel: [ 5578.877878] usb 2-6: New USB device found, idVendor=0bda, idProduct=c820, bcdDevice= 2.00
Sep 23 16:17:43 blue kernel: [ 5578.877881] usb 2-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Sep 23 16:17:43 blue kernel: [ 5578.877883] usb 2-6: Product: 802.11ac NIC
Sep 23 16:17:43 blue kernel: [ 5578.877885] usb 2-6: Manufacturer: Realtek
Sep 23 16:17:43 blue kernel: [ 5578.877887] usb 2-6: SerialNumber: FF
Sep 23 16:17:43 blue mtp-probe: checking bus 2, device 8: "/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-6"
Sep 23 16:17:43 blue mtp-probe: bus: 2, device: 8 was not an MTP device
Sep 23 16:17:43 blue upowerd[1164]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:1d.7/usb2/2-6
Sep 23 16:17:43 blue kernel: [ 5578.981975] [UFW BLOCK] IN=enp5s0 OUT= MAC=bc:ae:c5:1a:0e:f1:00:bb:c1:75:7a:46:08:00 SRC=10.1.10.68 DST=10.1.10.121 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=49755 PROTO=UDP SPT=8610 DPT=8612 LEN=40 
Sep 23 16:17:43 blue kernel: [ 5578.992093] [UFW BLOCK] IN=enp5s0 OUT= MAC=bc:ae:c5:1a:0e:f1:00:bb:c1:75:7a:46:08:00 SRC=10.1.10.68 DST=10.1.10.121 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=56262 PROTO=UDP SPT=8610 DPT=8612 LEN=40

编辑2:usb设备的结果

usb-devices 
T:  Bus=02 Lev=01 Prnt=01 Port=05 Cnt=01 Dev#=  3 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=0bda ProdID=c820 Rev=02.00
S:  Manufacturer=Realtek
S:  Product=802.11ac NIC
S:  SerialNumber=FF
C:  #Ifs= 3 Cfg#= 1 Atr=a0 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)
I:  If#= 2 Alt= 0 #EPs= 6 Cls=ff(vend.) Sub=ff Prot=ff Driver=rtl8821cu

答案1

正如您所见,此蓝牙设备受 Linux 内核支持drivers/bluetooth/btusb.c

/* Realtek Bluetooth devices */
    { USB_VENDOR_AND_INTERFACE_INFO(0x0bda, 0xe0, 0x01, 0x01),
      .driver_info = BTUSB_REALTEK },

的意思(0x0bda, 0xe0, 0x01, 0x01)正是你在

Vendor=0bda  Cls=e0(wlcon) Sub=01 Prot=01

您有一个 Wi-Fi + 蓝牙组合设备,两个部分都可见usb-devices

I:  If#= 2 Alt= 0 #EPs= 6 Cls=ff(vend.) Sub=ff Prot=ff Driver=rtl8821cu

是 Wi-Fi 设备。它已rtl8821cu成功加载驱动程序。

I:  If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)

btusb是 BT 设备。由于某种原因,它没有加载驱动程序。

原因可能如下:

  1. 内核无法正确处理组合设备。可以通过将 列入黑名单 来测试rtl8821cu。它应该可以加载btusb。如果是这种情况,则这是一个内核错误,应该报告。

  2. 您已经安装了一些黑名单驱动程序btusb,但是不起作用。

如果正在btusb加载,则需要确保 中有固件lib/firmware/rtl_bt。该文件名为rtl8821a_config.bin

该文件尚未添加linux-firmware,但您可以在之前下载的未安装的旧驱动程序中找到它。

我看到那里有一个文件linux/2017.../BT/2017...BT_ANDROID/rtkbt/system/etc/firmware/rtl8821a_config

尝试将其重命名为rtl8821a_config.bin并复制到/lib/firmware/rtl_bt

如果此文件有效,我会将其发送给上游。

相关内容