Ubuntu 18.04 LTS Bluetooth [0cf3:3004] обнаружение не работает
Я обновил Ubuntu 16.04 LTS до Ubuntu 18.04 LTS, и с тех пор Bluetooth не обнаруживает никаких устройств.
Вот шаги, которые я выполнил:
Включил Bluetooth в настройках (кажется, что отстает от перехода к опции Bluetooth, а не к другим настройкам).
По-прежнему не обнаруживаются никакие устройства, а для включения и выключения требуется слишком много времени, чтобы включить устройство для обнаружения, но в любом случае это не обнаружение устройств.
До понижения версии я попытался запустить Live Ubuntu 18.04 LTS, и это то, что я получаю, как на снимке:
Таким образом, в соответствии с переключателем Bluetooth он должен быть включен, но он по-прежнему говорит, что Bluetooth выключен и не сканирует любое устройство поблизости.
попытался выполнить некоторые из следующих команд:
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]#
Ноутбук: Lenovo 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:~$
5 ответов
Блестящий разработчик по имени 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
перезагружатьДля тех, кто пытался сделать это до 13 июня, вам может понадобиться
sudo -H gedit /usr/src/btusb-4.0/Makefile
Измените содержимое на
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
Для того, чтобы правильно построить с новыми ядрамиРедактировать: эта ошибка исправлена в ядре 4.15.0-31, поэтому люди, которые установили это исправление, могут удалить, если захотят
sudo dkms remove btusb/4.0 -k $(uname -r)
sudo dkms remove btusb/4.0 --all
Проблема в том, что Atheros выпустил новое устройство ROME, используя тот же VID/PID, что и старое устройство AR3012. Коды [0cf3:3004].
Хороший способ узнать, какое устройство установлено, еще не найден.
Сопровождающие ядра изменили код для более нового устройства здесь http://kernel.ubuntu.com/git/ubuntu/ubuntu-bionic.git/commit/drivers/bluetooth/btusb.c?id=c91729972ac67983a37270d0856f1ee93af54913
Это означает, что старое устройство пытается загрузить не ту прошивку. Это можно исправить, вернув этот патч.
Я использовал для сборки модулей DKMS для старых ядер и новых устройств, чтобы это исправить. Теперь похоже, что нам нужен модуль для новых ядер и старых устройств.
Проведя много времени в Интернете в поисках решения (также переустановленного 18.04) - на ноутбуке DELL 9550 (работает только Ubuntu), я наткнулся на эту ссылку
Я также обновил BIOS, используя флэш-диск (после загрузки с официальной ссылки на сайт драйверов DELL)
Я думаю, что решение, предоставленное из вышеупомянутой ссылки, сделало реальный трюк, который заключается в следующем (может быть проблема BIOS тоже, но не на 100% уверен - в любом случае это должно быть сделано):
wget https://memcpy.io/files/2017-10-28/BCM-0a5c-6410.hcd
sudo cp BCM-0a5c-6410.hcd /lib/firmware/brcm/
sudo chmod 0644 /lib/firmware/brcm/BCM-0a5c-6410.hcd
sudo reboot
Я надеюсь, что это помогает.
У меня только что была похожая проблема с моей материнской платой ASUS ROG STRIX X370-I, в которой есть чип Wi-Fi/Bluetooth Realtek 8822.
Обновление ядра до последней версии решило это для меня: https://www.kernel.org/