首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >蓝牙dongle驱动器

蓝牙dongle驱动器
EN

Unix & Linux用户
提问于 2021-03-04 15:12:31
回答 1查看 8.4K关注 0票数 2

希望你能帮我..。我买了一个蓝牙dongle (Logilink BT0054),并想让它在linux上工作。每当我插入它时,这些消息都会出现在dmesg中:

代码语言:javascript
复制
[ 6185.169440] usb 1-4: new full-speed USB device number 9 using xhci_hcd
[ 6185.417009] usb 1-4: New USB device found, idVendor=0bda, idProduct=8771
[ 6185.417012] usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 6185.417013] usb 1-4: Product: Bluetooth Radio
[ 6185.417014] usb 1-4: Manufacturer: Realtek
[ 6185.417015] usb 1-4: SerialNumber: 00E04C239987
[ 6185.431031] Bluetooth: hci0: rtl: examining hci_ver=0a hci_rev=000b lmp_ver=0a lmp_subver=8761
[ 6185.431034] Bluetooth: hci0: rtl: loading rtl_bt/rtl8761a_config.bin
[ 6185.431050] bluetooth hci0: Direct firmware load for rtl_bt/rtl8761a_config.bin failed with error -2
[ 6185.431052] Bluetooth: hci0: rtl: loading rtl_bt/rtl8761a_fw.bin
[ 6185.434008] Bluetooth: hci0: rom_version status=0 version=1
[ 6185.434013] Bluetooth: hci0: cfg_sz 0, total size 20204
[ 6187.921147] Bluetooth: hci0: command 0xfc20 tx timeout
[ 6195.921559] Bluetooth: hci0: download fw command failed (-110)

usb-devices的相关输出:

代码语言:javascript
复制
T:  Bus=01 Lev=01 Prnt=01 Port=03 Cnt=02 Dev#=  9 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=0bda ProdID=8771 Rev=02.00
S:  Manufacturer=Realtek
S:  Product=Bluetooth Radio
S:  SerialNumber=00E04C239987
C:  #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
I:  If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb

我寻找解决方案,最成功的是这个论坛帖子 --尽管芯片组(idVendor & idProduct)似乎与我的硬件相匹配,但我不确定这些驱动程序对我是否有用(因为我的dongle是从完全不同的公司生产的)。

这个论坛文章提到一个内核补丁似乎是必要的,它(从他们编写的)只存在于主流内核5.8 --因为我使用的是ubuntu18.04LTS,所以我的内核版本是4.15.0-136。有没有人有这方面的经验,并能给出一些建议,什么是必要的,使它发挥作用?任何帮助都是非常感谢的!

EN

回答 1

Unix & Linux用户

发布于 2021-03-04 17:21:20

经过几个小时的研究,我终于成功了。对于任何想知道如何将所有东西组合在一起的人,我发现:内核补丁在Ubuntu-4.15内核中(还没有)可用。它修补负责加载正确固件的蓝牙-USB模块,因为当前模块将芯片组标识为rtl8761a,即使它是b版.这会导致加载错误的固件。

现在,任何想要做到这一点的人有两个选择:

  • 安装具有模块的内核,该模块应用了链接修补程序。
  • 将内核模块btusb.ko替换为另一个模块

链接驱动程序(来自MPOW)通过实现第二步工作--它们将原始模块btusb.ko重命名为btusb_bak,并安装自己的模块。新模块识别芯片正确,并搜索正确的固件。

一旦我把rtl8761bu_configrtl8761bu_fw复制到/lib/firmware上,我的蓝牙狗就像一种魅力。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/637599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档