Ubuntu 18.04 LTS Bluetooth [0cf3: 3004] обнаружение не работает

27

Я обновил 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:~$ 
Gahan
источник
Пожалуйста, отредактируйте ваш вопрос и добавьте вывод команды lspci -knn | grep Net -A3; lsusbтерминала.
Pilot6
@ Pilot6 обновил вопрос, как вы просили
Гахан
Затем запустите dmesg | grep -i blueи опубликуйте вывод.
Pilot6
@ Pilot6 обновленный пост с выходом
Gahan

Ответы:

20

Блестящий разработчик по имени 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

Jeremy31
источник
всего день назад я откатился до 16.04 LTS, хотя спасибо за помощь, но мне нужно снова запустить 18.04, чтобы проверить решение.
Гахан
Не работает для моего Razer Blade Pro. Я гость г-н Такаши не так блестяще, как утверждает Джереми31. Есть ли реальные решения?
Sileria
4
@Sileria задай свой вопрос
Jeremy31
@ Jeremy31 спасибо за ваш ответ, но это та же проблема, что и у меня. У меня та же карта Bluetooth: Шина 003 Устройство 007: ID 0cf3: 3004 Atheros Communications, Inc. AR3012 Bluetooth 4.0
Sileria
1
@vikrant Начните свой вопрос и включите результаты из терминала дляlspci -nnk | grep -iA3 net; lsusb; rfkill list; uname -r; dmesg | egrep -i 'blue|firm'
Jeremy31
1

Проблема в том, что Atheros выпустил новое устройство ROME, используя тот же VID / PID, что и старое устройство AR3012. Коды [0cf3: 3004].

Хороший способ узнать, какое устройство установлено, еще не найден.

Сопровождающие ядра изменили код для более нового устройства здесь http://kernel.ubuntu.com/git/ubuntu/ubuntu-bionic.git/commit/drivers/bluetooth/btusb.c?id=c91729972ac67983a37270d0856f1ee93af54913

Это означает, что старое устройство пытается загрузить не ту прошивку. Это можно исправить, вернув этот патч.

Я использовал для сборки модулей DKMS для старых ядер и новых устройств, чтобы это исправить. Теперь похоже, что нам нужен модуль для новых ядер и старых устройств.

Pilot6
источник
Кажется, есть новый патч, который работает на обоих чипсетах
Jeremy31
Это выглядит великолепно.
Pilot6
@ jeremy31. Как мне достать патч? Эта ссылка направляет меня в файл сравнения, я думаю?
Шляпник
@hatterman установите ядро ​​4.15.0-31 или ядро ​​4.15.0-33 и используйте любое из них по мере их исправления
Jeremy31
Я наблюдаю такое же поведение на 18.10, ядро ​​4.18.0-16. Вы уверены, что «откроете свой вопрос»? Зачастую моды здесь говорят «уже заданные» и закрывают вопросы.
Retorquere
1

Потратив много времени в Интернете в поисках решения (также переустановленного 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

Я надеюсь, что это помогает.

Нисарг Панчал
источник
1
Это будет работать только для Bluetooth-устройств Broadcom с идентификатором 0a5c: 6410 и ничего не будет делать для Gahan, потому что этот Bluetooth - это Atheros с идентификатором 0cf3: 3004, который является тем же устройством Bluetooth, которое есть в моем ноутбуке Ubuntu
Jeremy31
Симптомы на Dell XPS одинаковы, поэтому это законный ответ. Это делает трюк на Dell.
Свен
@ Свен, у человека, задающего вопрос, есть Lenovo Z50-70, так как этот ответ актуален? Все прошивки Atheros bluetooth предоставляются в пакете linux-firmware
Jeremy31
До какой версии BIOS вы обновились?
musicformellons
@ Jeremy31, что вы думаете о: ID 0a12: 0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (режим HCI), я имею в виду, какой файл я должен загрузить?
Menai Ala Eddine
1

Я решил проблему, обновив ядро ​​Ubuntu до самой последней версии с помощью инструмента UKUU .

Рик М
источник
1
не решил это для меня (Ubuntu 18.04, обновлено до ядра 4.18.4-041804-generic, Broadcom Bluetooth: 0a5c: 216f Broadcom Corp. BCM20702A0).
musicformellons
0

У меня только что была похожая проблема с моей материнской платой ASUS ROG STRIX X370-I, имеющей чип Wi-Fi / Bluetooth от Realtek 8822.

Обновление ядра до последней версии решило это для меня: https://www.kernel.org/

Стейн Мартенс
источник