ubuntu 18.04 LTS 蓝牙 [0cf3:3004] 发现不起作用

Gah*_*han 40 bluetooth 18.04

我已将 ubuntu 16.04 LTS 升级到 ubuntu 18.04 LTS,从那时起蓝牙就没有发现任何设备。

以下是我执行的步骤:

从设置中打开蓝牙(似乎滞后于转向蓝牙选项而不是其他设置)。

它仍然没有发现任何设备,并且打开关闭也需要太多时间来打开设备以进行发现,但无论如何它没有发现设备。

在降级之前,我尝试运行实时 ubuntu 18.04 LTS,这就是我在快照中得到的结果:

在此处输入图片说明

所以根据蓝牙切换,它应该被打开,但它仍然说蓝牙已关闭并且没有扫描附近的任何设备。

尝试运行以下一些命令:

ubuntu@ubuntu:~$ bluetoothctl
Agent registered
[bluetooth]# list
[bluetooth]# devices
No default controller available
[bluetooth]# scan on
No default controller available
[bluetooth]# power on
No default controller available
[bluetooth]# 
Run Code Online (Sandbox Code Playgroud)

笔记本电脑:联想Z50-70


更新

jarvis@jarvis:~$ lspci -knn | grep Net -A3; lsusb
02:00.0 Network controller [0280]: Qualcomm Atheros QCA9565 / AR9565 Wireless Network Adapter [168c:0036] (rev 01)
    Subsystem: Lenovo QCA9565 / AR9565 Wireless Network Adapter [17aa:4026]
    Kernel driver in use: ath9k
    Kernel modules: ath9k
03:00.0 3D controller [0302]: NVIDIA Corporation GM108M [GeForce 840M] [10de:1341] (rev a2)
Bus 001 Device 002: ID 8087:8000 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 004: ID 0cf3:3004 Atheros Communications, Inc. AR3012 Bluetooth 4.0
Bus 002 Device 003: ID 174f:14b2 Syntek 
Bus 002 Device 002: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 002 Device 006: ID 093a:2532 Pixart Imaging, Inc. 
Bus 002 Device 005: ID 0781:5583 SanDisk Corp. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
jarvis@jarvis:~$ dmesg | grep -i blue
[   27.147743] Bluetooth: Core ver 2.22
[   27.147759] Bluetooth: HCI device and connection manager initialized
[   27.147761] Bluetooth: HCI socket layer initialized
[   27.147764] Bluetooth: L2CAP socket layer initialized
[   27.147769] Bluetooth: SCO socket layer initialized
[   27.160218] Bluetooth: hci0: don't support firmware rome 0x31010000
[   31.361588] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   31.361590] Bluetooth: BNEP filters: protocol multicast
[   31.361593] Bluetooth: BNEP socket layer initialized
jarvis@jarvis:~$ 
Run Code Online (Sandbox Code Playgroud)

Jer*_*y31 31

一位名叫 Takashi Iwai 的杰出开发人员提出了一个解决方案,我将其合并到 4.15 内核中

sudo apt install git build-essential dkms
git clone https://github.com/jeremyb31/newbtfix-4.15.git
sudo dkms add ./newbtfix-4.15
sudo dkms install btusb/4.0
Run Code Online (Sandbox Code Playgroud) 重启

对于在 6 月 13 日之前尝试过此操作的任何人,您可能需要

sudo -H gedit /usr/src/btusb-4.0/Makefile
Run Code Online (Sandbox Code Playgroud) 更改内容为
KVER ?= $(shell uname -r)
obj-m += btusb.o

all: make -C /lib/modules/$(KVER)/build M=$(PWD) modules

clean: make -C /lib/modules/$(KVER)/build M=$(PWD) clean

Run Code Online (Sandbox Code Playgroud) 让它使用新内核正确构建

编辑:此错误已在内核 4.15.0-31 中修复,因此已安装此修复程序的人可以根据需要将其删除

sudo dkms remove btusb/4.0 -k $(uname -r)
sudo dkms remove btusb/4.0 --all
Run Code Online (Sandbox Code Playgroud)

  • @Sileria 问你自己的问题 (8认同)