Qualcomm Atheros 蓝牙 4.0 无法在 Ubuntu 16.04 上运行

Qualcomm Atheros 蓝牙 4.0 无法在 Ubuntu 16.04 上运行

Acer Aspire E15 笔记本电脑(型号E5-573-54ZV) 开箱即用,配备 Windows 10 和蓝牙 4.0 适配器。使用 Windows 时,我可以使用蓝牙适配器。

我已经在双启动中安装了 Ubuntu 16.04。使用 Ubuntu 时,蓝牙适配器是唯一无法工作的硬件。

我已经尝试过 Ask Ubuntu 上的其他问答,但它们都提到了不同版本的 Ubuntu 和/或不同的蓝牙适配器。对我来说,Linux 似乎甚至没有看到我的笔记本电脑的蓝牙适配器。

使用以下方式制作的报告Windows 版 AIDA64显示:

04CA 3014   Qualcomm Atheros Bluetooth 4.0

有什么方法可以让该蓝牙适配器在 Ubuntu 16.04 上工作吗?

我不知道这是否有帮助,但我的笔记本电脑也有一个 Atheros Wi-Fi 适配器,AIDA 报告显示它为Atheros AR9565 802.11b/g/n Wireless Network Adapter,一个 ID 为 的 PCI 设备168C-0036

编辑:根据评论中的要求,这里是更多信息:

$ lspci -knn | grep Net -A2; lsusb
03:00.0 Network controller [0280]: Qualcomm Atheros QCA9565 / AR9565 Wireless Network Adapter [168c:0036] (rev 01)
    Subsystem: Lite-On Communications Inc QCA9565 / AR9565 Wireless Network Adapter [11ad:0803]
    Kernel driver in use: ath9k
    Kernel modules: ath9k
Bus 001 Device 002: ID 8087:8001 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 005: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 002 Device 004: ID 1bcf:2c81 Sunplus Innovation Technology Inc. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

$ uname -a
Linux viny-notebook 4.4.0-24-generic #43-Ubuntu SMP Wed Jun 8 19:27:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
vinicius@viny-notebook:~$

编辑:我的一个朋友建议我跑步:

$ dmesg | grep -i bluetooth
[   20.905534] Bluetooth: Core ver 2.21
[   20.905548] Bluetooth: HCI device and connection manager initialized
[   20.905551] Bluetooth: HCI socket layer initialized
[   20.905553] Bluetooth: L2CAP socket layer initialized
[   20.905557] Bluetooth: SCO socket layer initialized
[   21.477624] Bluetooth: Can't change to loading configuration err
[   21.477654] Bluetooth: Loading patch file failed
[  124.347977] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[  124.347980] Bluetooth: BNEP filters: protocol multicast
[  124.347985] Bluetooth: BNEP socket layer initialized

答案1

摆弄这个问题很长一段时间后,我找到了这个解决方案:

我安装了linux-generic-hwe-16.04更新的内核,因为04ca:3014它是在 4.6 版本中添加的。

然后我注意到ID 04ca:3014 Lite-On Technology Corp.加载后连接被断开acer_wmi,所以我将其列入黑名单:

/etc/modprobe.d/btconfig.conf

blacklist acer_wmi

(此外,我认为最好在同一个文件中添加和:。btcoex_enable=1)⁽¹⁾bt_ant_diversity=1ath9koptions ath9k btcoex_enable=1 bt_ant_diversity=1

然后我运行update-initramfs -c -k all,重启系统,然后,适配器已启动并正常工作。

⁽¹⁾https://wireless.wiki.kernel.org/en/users/Drivers/ath9k

答案2

考虑到我花了多少时间(工时)尝试让内置蓝牙适配器在 Linux 上运行,我决定购买一个真正可以在 Linux 上运行的 USB 适配器会更便宜、更快捷。因此,我带着笔记本电脑回家,测试了一个 USB 适配器并买了它。它真的很小巧便宜,花了我 30,00 巴西雷亚尔(根据今天的汇率,大约在 9 到 10 美元之间)。它可以传输文件和播放音乐。它的包装上写着 Babbage Bluetooth Version 3.0 BM-BT01,它是中国制造的。在 上lsusb,它显示为Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)

# lsusb

Bus 003 Device 002: ID 8087:8001 Intel Corp. 
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 001 Device 003: ID 1bcf:2c81 Sunplus Innovation Technology Inc. 
Bus 001 Device 011: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

# usb-devices

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh=11
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev=04.11
S:  Manufacturer=Linux 4.11.4-1.gcba98ee-default xhci-hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=0000:00:14.0
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 11 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=16 #Cfgs=  1
P:  Vendor=0a12 ProdID=0001 Rev=01.34
C:  #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=100mA
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

T:  Bus=01 Lev=01 Prnt=01 Port=06 Cnt=02 Dev#=  3 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=1bcf ProdID=2c81 Rev=00.05
S:  Manufacturer=NC2141103M50708908LM05
S:  Product=HD WebCam
C:  #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=0e(video) Sub=01 Prot=00 Driver=uvcvideo
I:  If#= 1 Alt= 0 #EPs= 0 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo

T:  Bus=01 Lev=01 Prnt=01 Port=07 Cnt=03 Dev#=  4 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs=  1
P:  Vendor=0bda ProdID=0129 Rev=39.60
S:  Manufacturer=Generic
S:  Product=USB2.0-CRW
S:  SerialNumber=20100201396000000
C:  #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=06 Prot=50 Driver=rtsx_usb

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=5000 MxCh= 4
D:  Ver= 3.00 Cls=09(hub  ) Sub=00 Prot=03 MxPS= 9 #Cfgs=  1
P:  Vendor=1d6b ProdID=0003 Rev=04.11
S:  Manufacturer=Linux 4.11.4-1.gcba98ee-default xhci-hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=0000:00:14.0
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

T:  Bus=03 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 2
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev=04.11
S:  Manufacturer=Linux 4.11.4-1.gcba98ee-default ehci_hcd
S:  Product=EHCI Host Controller
S:  SerialNumber=0000:00:1d.0
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

T:  Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=480 MxCh= 8
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=8087 ProdID=8001 Rev=00.03
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

它并不像我想象的那样完美无缺。配对需要反复试验,但一旦设备配对成功,它们就会按预期工作。至少现在我有一个可以在 Linux 上运行的蓝牙适配器。

无论如何,我很感谢您花时间帮助我并给我指点迷津。谢谢!

相关内容