Bluetooth nie działa na Ubuntu 14.04 z Dell Inspiron 15-3521

9

Mam wstępnie zainstalowanego laptopa Dell Inspiron 15-3521 z Ubuntu 12.04, działał dobrze (usunąłem to Ubuntu). Zainstalowałem Ubuntu 14.04 (nowa instalacja).

(Zainstalowany sterownik jest: bcmwl-kernel-source 6.30.223.141+bdcom-0ubuntu2)

Sieć Wi-Fi działa dobrze, ale Bluetooth nie działa (Mój telefon, inny komputer i laptop tego nie widzi, a mój laptop nic nie widzi).

Urządzenie Bluetooth jest włączone, włączone i widoczne.

lspci wynik:

00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)
00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 (rev c4)
00:1c.1 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 2 (rev c4)
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation HM76 Express Chipset LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family 6-port SATA Controller [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller (rev 04)
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 05)
02:00.0 Network controller: Broadcom Corporation BCM43142 802.11b/g/n (rev 01)

lsusb wynik:

Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 
Bus 001 Device 005: ID 064e:8132 Suyin Corp. 
Bus 001 Device 004: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller 
Bus 001 Device 003: ID 0a5c:21d7 Broadcom Corp. BCM43142 Bluetooth 4.0
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 19d2:0031 ZTE WCDMA Technologies MSM MF110/MF627/MF636
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Momo
źródło
Wygląda na to, że nie łączy się on z twoją magistralą PCI. Czy możesz zaktualizować swoje pytanie lsusbpoprzez edycję ?
P.-H. Lin
Nie to, to karta bezprzewodowa.
P.-H. Lin
Bluetooth pojawi się w lsusb
Momo
Co mogę teraz zrobić?
Momo,
To może pomóc askubuntu.com/questions/845531/...
warsong

Odpowiedzi:

4

Niestety twoje urządzenie Bluetooth:

Bus 001 Device 003: ID 0a5c:21d7 Broadcom Corp. BCM43142 Bluetooth 4.0

Nie jest obsługiwany przez żadną wersję standardowego Ubuntu, proszę odnieść się do
Bug1129865 [Karta Broadcom Combo BT / Wifi] 21D3 21D7 Bluetooth w ogóle niczego nie wykrywa
(przyczyna jest wymieniona w komentarzu nr 7)

I zasugeruję, aby zasubskrybować ten błąd:
Bug 1065400 Wsparcie dla ładowania oprogramowania sprzętowego Bluetooth Broadcom
Może być obejście tego wątku, powodzenia!

P.-H. Lin
źródło
8

Podobne kroki jak w Diabolik2. Nowe informacje to gdzie i jak uzyskać plik hex.

Źródła:

Aby mieć kompletne rozwiązanie, piszę wszystkie kroki od samego początku:

  1. Znajdź identyfikator swojego urządzenia:

    $ lsusb | grep Bluetooth

    Moje wyniki na przykład:

    Magistrala 001 Urządzenie 003: ID 0a5c: 21d7 Broadcom Corp. BCM43142 Bluetooth 4.0

    z którego należy zapamiętać 0a5c: 21d7 .

  2. Uzyskaj plik hex dla swojego urządzenia:

    • Po wyszukaniu sterowników Bluetooth w Google wybrałem ten plik do pobrania: http://drivers.softpedia.com/get/BLUETOOTH/Broadcom/Broadcom-43142-Bluetooth-40-Adapter-Driver-12007030-for-Windows-8.shtml #Ściągnij
    • Wypakowałem ostatni plik .hex przez przypadek. Na szczęście zadziałało. KROKI: w Nautilus kliknij prawym przyciskiem myszy pobrany plik .cab > wybierz Otwórz za pomocą Archive Managera > wybierz ostatni plik .hex z listy archiwów> kliknij prawym przyciskiem myszy> Wyodrębnij ...
    • pobierz i skompiluj hex2hcd
      $ git clone git: //github.com/jessesung/hex2hcd.git
      $ cd hex2hcd
      $ make
    • przekonwertować .hex na .hcd
       $ ./hex2hcd /path/to/extracted.hex /where/you/want/your_new.hcd
  3. Skopiuj plik hcd do / lib / firmware jako lib / firmware / fw- 0a5c_21d7 .hcd.

    W nazwie pliku użyj wcześniej znalezionego identyfikatora.

sb.
źródło
1
Krok 3. Należy skopiować plik hcd do:/lib/firmware/brcm/
david6,
I have extracted the last .hex file by chance. Fortunately it worked.- ludzie, którzy to czytają, pamiętaj, że jeśli to nie działa, może coś zepsuć, więc prawdopodobnie powinieneś to zrobić tylko wtedy, gdy post Diabolik2 nie działa dla ciebie.
Wilf
1
Bardzo ważne jest również, aby przeczytać to dmesg | grep Bluetooth, co mówi, ponieważ dostarczy ci przydatnych informacji. W moim przypadku było powiedziane, że nie udało się załadować pliku brcm / BCM.hcd , więc nazwałem plik hcd jako BCM.hcdzamiast fw-0a5c_21d7.hcdi skopiowałem go /lib/firmware/brcm/. Działa jak urok. Inspirell DELL 15 - 3543.
Qualphey,
No i hexplik wybrałem się metodą zaproponowaną w Florin C odpowiedź „s. Korzystanie z infpliku.
Qualphey,
1
W przypadku systemu Ubuntu 16.04 rozwiązaniem jest pobranie pliku .hex z systemu Windows, jak wyjaśniono powyżej, przekształcenie go .hdcrównież w sposób wyjaśniony, ale należy podać inną nazwę pliku oprogramowania układowego, na przykład: /lib/firmware/brcm/BCM-0a5c-6410.hcd(zależy od magistrali lsusb: identyfikator devnum)
morhook
6

Odpowiedzi mówią, że muszę zainstalować system Windows, aby uzyskać oprogramowanie układowe dla systemu Linux ... brzmi źle, prawda?

Ale poprzednie odpowiedzi były złote. Mam Bluetooth pracujący po długim czasie w moim Dell z Ubuntu 12.04 386. Oto moje uzupełnienia do poprzednich odpowiedzi (szczególnie sb):

  1. Kabina sb jest dobra i miała pliki hex dla kilku układów w tej rodzinie.

  2. cabextract to narzędzie do rozpakowania archiwum cab. właśnie:

    sudo apt-get install cabextract

i wyodrębnij:

cabextract 20573731_e75f2c1244fb153ccc4c1cac0dfbbab030d18543.cab

Pamiętaj, że w kabinie nie ma katalogu, a jedynie pliki, dzięki czemu otrzymasz wiele plików szesnastkowych. Dobrze jest mkdir konkretny katalog i wyodrębnić tam taksówkę.

  1. Jak uzyskać odpowiedni plik hex .

Mam więc identyfikator układu: 0a5c: 21d7 i kilka plików hex. Jak mogę znaleźć odpowiedni dla siebie? Sztuką jest sprawdzenie pliku .inf, który instruuje system Windows, co należy zainstalować. Szukając 21D7 (zwróć uwagę na wielką literę D zamiast „d”), otrzymuję to:

% Dell1704.DeviceDesc% = RAMUSB21D7, USB \ VID_0A5C i PID_21D7; BRCM Generic 43142A0 RAMUSB

USB / VID i PID są tym, co otrzymuję na lsusb: capital (0a5c: 21d7). Pamięć RAMUSB21D7 jest tym, co muszę następnie przeszukać w pliku inf (jest to opis urządzenia).

A to mój wynik:

;;;;;;;;;;;;;RAMUSB21D7;;;;;;;;;;;;;;;;;

[RAMUSB21D7.CopyList]
bcbtums.sys
btwampfl.sys
BCM43142A0_001.001.011.0122.0126.hex

Plik szesnastkowy, którego będę używać, to BCM43142A0_001.001.011.0122.0126.hex

Reszta jest taka sama jak powyżej. Pobierz narzędzie przez git, zbuduj go, przekonwertuj plik hex na hcd, odrzuć / przeładuj btusb.

Uwaga: pamiętaj, że plik hcd powinien zaczynać się od fw -...... a nie fw _...... Popełniłem ten błąd. :)

Florin C.
źródło
Po rozpakowaniu poprawnego pliku hex i postępuj zgodnie z procedurą. Po ponownym uruchomieniu komputera i uruchomieniu polecenia dmesg | grep firmware. Dostaję dane wyjściowe jako[ 15.023826] bluetooth hci0: Direct firmware load for brcm/BCM43142A0-0a5c-21d7.hcd failed with error -2
ravi1991
6

Rozwiązałem problem z rozwiązaniem z tego postu :

Podsumowując, wykonałem następujące kroki: Podaj swój identyfikator:

lsusb

Mój identyfikator to: 0a5c:21d7

Pobierz plik .hex: na partycji Windows (zakładając, że uruchamiasz się podwójnie w systemie Windows) , pobierz plik BCMxxxx.hex C:\windows\system32\drivers. Jeśli są dwa lub więcej plików .hex, sprawdź, który z nich jest używany z menedżerem urządzeń Windows. Skopiuj ten plik do katalogu domowego

Otwórz terminal i wpisz następujące polecenia:

sudo apt-get install git
git clone git://github.com/jessesung/hex2hcd.git
cd hex2hcd
make
./hex2hcd ../BCMxxxx.xxx.xxx.xx.hex fw-0a5c_21d7.hcd (Replace 0a5c_21d7 with your id)
sudo cp fw* /lib/firmware

Załaduj ponownie moduły za pomocą następujących poleceń:

sudo modprobe -r btusb
sudo modprobe btusb

Zrestartuj swój komputer.

Otwórz terminal i napisz:

dmesg | grep firmware

jeśli wszystko w porządku, możesz wyświetlić wiadomość:

[   xxxxxxxxxx] Bluetooth: firmware loaded

To wszystko.

Powodzenia Diabolik2

Diabolik2
źródło
1
Chociaż ten link może odpowiedzieć na pytanie, lepiej dołączyć tutaj istotne części odpowiedzi i podać link w celach informacyjnych. Odpowiedzi zawierające tylko łącze mogą stać się nieprawidłowe, jeśli połączona strona ulegnie zmianie.
αғsнιη
Uwaga post najwyraźniej został zaktualizowany o kroki tutaj
Wilf
0

W moim przypadku oprogramowanie układowe Bluetooth nie zostało załadowane, dopóki nie utworzyłem katalogu brcm w / lib / firmware / i nie zmieniłem nazwy pliku na

BCM43142A0-0a5c-21d7.hcd

Używam Debian 8 i Dell Inspiron 15

Twoje zdrowie

Alex
źródło
-1

Rozwiązanie działa (jądro Ubuntu 14.04-4.2) W moim przypadku plik HCD musiał mieć nazwę BCM.hcd. Dokładna nazwa pliku, który powinieneś nazwać plik hcd, będzie podana w opisie błędu ładowania, który można wyświetlić za pomocą polecenia:

dmesg | grep firmware

jak stwierdził Wilf powyżej!

Gimnasist
źródło
Witamy w Ask Ubuntu! Nie dodawaj komentarzy jako odpowiedzi. Zainwestować trochę czasu w miejscu, a zyskasz wystarczających uprawnień , aby upvote odpowiedzi, jak takich jak ta , lub dodać rzeczywiste komentarzy przy poszukiwaniu wyjaśnienia wszelkich kwestii.
Martin Thornton,