ubuntu 18.04 LTS bluetooth [0cf3: 3004] wykrywanie nie działa

27

Uaktualniłem ubuntu 16.04 LTS do ubuntu 18.04 LTS i od tego czasu bluetooth nie wykrywa żadnych urządzeń.

Oto kroki, które wykonałem:

Włączono bluetooth w ustawieniach (wydaje się, że opóźnienie w kierunku przejścia na opcję bluetooth zamiast innych ustawień).

Nadal nie wykrywa żadnych urządzeń, a także włączanie i wyłączanie zajmuje zbyt dużo czasu, aby włączyć urządzenie do wykrycia, ale w każdym razie nie jest to wykrywanie urządzeń.

Przed obniżeniem wersji próbowałem uruchomić Live Ubuntu 18.04 LTS i oto, co otrzymuję jak w migawce:

wprowadź opis zdjęcia tutaj

Tak więc zgodnie z przełącznikiem bluetooth powinien on być włączony, ale nadal mówi, że bluetooth jest wyłączony i nie skanuje żadnego pobliskiego urządzenia.

próbował uruchomić niektóre z poniższych poleceń:

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]# 

Laptop: Lenovo Z50-70


Aktualizacja

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
źródło
Proszę edytować swoje pytanie i dodać wyjście lspci -knn | grep Net -A3; lsusbkomendy terminala.
Pilot6
@ Pilot6 zaktualizował pytanie zgodnie z prośbą
Gahan
Następnie uruchom dmesg | grep -i bluei opublikuj dane wyjściowe.
Pilot6
@ Pilot6 zaktualizował post z wyjściem
Gahan

Odpowiedzi:

20

Genialny programista o imieniu Takashi Iwai opracował rozwiązanie, które włączyłem do jądra 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
Restart

Każdy, kto spróbował tego przed 13 czerwca, może być konieczne

sudo -H gedit /usr/src/btusb-4.0/Makefile
Zmień zawartość na
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

Aby poprawnie zbudować z nowymi jądrami

Edycja: ten błąd został naprawiony w jądrze 4.15.0-31, więc ludzie, którzy zainstalowali tę poprawkę, mogą ją usunąć, jeśli chcą z

sudo dkms remove btusb/4.0 -k $(uname -r)
sudo dkms remove btusb/4.0 --all

Jeremy31
źródło
zaledwie dzień temu wróciłem do wersji 16.04 LTS, choć dziękuję za pomoc, ale muszę ponownie uruchomić 18.04, aby sprawdzić rozwiązanie.
Gahan
Nie działa w moim Razer Blade Pro. Gość, że pan Takashi nie jest tak genialny, jak twierdzi Jeremy31. Jakieś prawdziwe rozwiązania?
Sileria
4
@Sileria zadaj własne pytanie
Jeremy31
@ Jeremy31 dziękuję za odpowiedź, ale to ten sam problem, co mój. Mam tę samą kartę Bluetooth: Magistrala 003 Urządzenie 007: ID 0cf3: 3004 Atheros Communications, Inc. AR3012 Bluetooth 4.0
Sileria
1
@vikrant Rozpocznij własne pytanie i dołącz wyniki z terminala dlalspci -nnk | grep -iA3 net; lsusb; rfkill list; uname -r; dmesg | egrep -i 'blue|firm'
Jeremy31
1

Problem polega na tym, że Atheros wypuściło nowe urządzenie ROME, używając tego samego VID / PID, co starsze urządzenie AR3012. Kody to [0cf3: 3004].

Dobry sposób, aby dowiedzieć się, które urządzenie jest zainstalowane, nie został jeszcze znaleziony.

Opiekunowie jądra zmienili kod nowszego urządzenia tutaj http://kernel.ubuntu.com/git/ubuntu/ubuntu-bionic.git/commit/drivers/bluetooth/btusb.c?id=c91729972ac67983a37270d0856f1ee93af54913

Oznacza to, że starsze urządzenie próbuje załadować nieprawidłowe oprogramowanie układowe. Można to naprawić, cofając tę ​​łatkę.

Kiedyś budowałem moduły DKMS dla starszych jąder i nowszych urządzeń, aby to naprawić. Teraz wygląda na to, że potrzebujemy modułu dla nowych jąder i starych urządzeń.

Pilot 6
źródło
Wydaje się, że jest nowa łatka, która działa na oba chipsety
Jeremy31,
To wygląda świetnie.
Pilot6
@ jeremy31. Jak mogę zdobyć łatkę? Myślę, że ten link prowadzi mnie do pliku różnicowego?
hatterman
@hatterman zainstaluj jądro 4.15.0-31 lub jądro 4.15.0-33 i użyj jednego z nich, gdy są
załatane
Widzę to samo zachowanie 18.10, jądro 4.18.0-16. Czy na pewno „otworzysz własne pytanie”? Często mody tutaj mówią „już zadane” i zamykają pytania.
retorquere
1

Po spędzeniu dużej ilości czasu w Internecie na poszukiwaniu rozwiązania (również ponownie zainstalowanego 18.04) - na laptopie DELL 9550 (tylko z Ubuntu) natrafiłem na ten link

Zaktualizowałem także BIOS za pomocą dysku flash (po pobraniu go z oficjalnego łącza do strony sterowników DELL)

Myślę, że rozwiązanie dostarczone z powyższego łącza wykonało właściwą sztuczkę, co jest następujące (może to być także problem z BIOSem, ale nie w 100% pewny - w każdym razie należy to zrobić):

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

Mam nadzieję, że to pomoże.

Nisarg Panchal
źródło
1
Będzie to działać tylko w przypadku urządzeń Bluetooth Broadcom o identyfikatorze 0a5c: 6410 i nie zrobi nic dla Gahana, ponieważ bluetooth to Atheros o identyfikatorze 0cf3: 3004, który jest tym samym urządzeniem Bluetooth, które ma mój laptop Ubuntu
Jeremy31
Objawy są takie same na Dell XPS, więc jest to prawidłowa odpowiedź. To działa w przypadku Dell.
Sven
@ Svena, osoba zadająca pytanie ma Lenovo Z50-70, więc w jaki sposób ta odpowiedź jest istotna? Całe oprogramowanie układowe Bluetooth firmy Atheros jest dostarczane w pakiecie oprogramowania układowego Linux
Jeremy31,
Do jakiej wersji BIOS zaktualizowałeś?
musicformellons
@ Jeremy31, jakie jest twoje zdanie na temat: ID 0a12: 0001 Cambridge Silicon Radio, Ltd Dongle Bluetooth (tryb HCI), to znaczy, który plik powinienem pobrać?
Menai Ala Eddine
1

Rozwiązałem problem, aktualizując jądro Ubuntu do najnowszej wersji za pomocą narzędzia UKUU .

Rick M.
źródło
1
nie rozwiązałem tego dla mnie (ubuntu 18.04, zaktualizowano do jądra 4.18.4-041804-generic, broadcom bluetooth: 0a5c: 216f Broadcom Corp. BCM20702A0).
musicformellons,
0

Właśnie miałem podobny problem z moją płytą główną ASUS ROG STRIX X370-I, która ma układ Realtek 8822 Wi-Fi / Bluetooth.

Aktualizacja jądra do najnowszej wersji rozwiązała go dla mnie: https://www.kernel.org/

Stijn Martens
źródło