Broadcom Bluetooth beüzemelése

Mostanában egy Toshiba Satellite L50-B-1EF notival foglalkozom, amikor éppen ráérek. Linux Mint 19.3 Cinnamon-al fog működni.

A gépnek a BIOS-a eléggé elavult volt, ezért rákeresem a legfrissebb BIOS-ra, ami mily meglepő, csak egy Windows-os programból áll. A gépnek Insyde20 BIOS-a van, a 20 szám itt valójában 2.0, és azt jelzi, hogy ez már egy UEFI és minden egyéb mai rendszernek megfelelő támogatással megáldott BIOS. Nagyon sokat lehetne írni BIOS témakörben, de ennek a blognak nem ez a célja,

Csak azért írtam ezt le, mert milyen dolog már, hogy a gyártó (Toshiba) csak Windows alatt biztosítja a BIOS frissítést… Insyde BIOS-t lehet úgy is frissíteni, hogy a bináris fájlt tartalmazó pendrájvot bedugom a kikapcsolt gépbe, majd bekapcsolom. Mármint, ha ez engedélyezve van a beállításokban. (Úgy frissítettem, hogy telepítettem csak a BIOS frissítés kedvéért egy Windowst, aztán frissítés után leszedtem a Windowst. Őrület, nem?)

No, de mint írtam, nem a BIOS-ról akarok írni, csak azért hoztam fel a témát, mert érintőlegesen kapcsolódik a valódi témához. A BIOS mérete 2 MB. Csak az újoncoknak jelzem, hogy nagyon régen, egy darab 1 MB-s flopi lemezre ráfért egy operációs rendszer (DOS), továbbá egy adatbázis kezelő program is (Dbase III+), az adatok számára viszont kellett egy másik flopi lemez, amire elég sok adat ráfért (százezres rekordszámok). Ma, a HD felvételeket készítő kütyük korában, amikor egy kép 6 MB, egy 10 perces videó meg akár 750 MB, ami már egy CD-re sem fér rá, (max. 1-es módban, kompromisszumokkal), nagyon nehéz azt érzékeltetni, hogy mitől is óriási ez a 2 MB BIOS. Hatalmas, mégpedig abban az értelemben, hogy igen bonyolult megoldásokat lehet bele programozni, rengeteg regiszterrel. Ennek az a folyománya, hogy a hardver gyártók ezt ki is használják, nagyon rugalmasan be lehet állítani, hogy egyáltalán mi jelenjen meg a BIOS SETUP felületen, mit lehet a felhasználó számára engedélyezni, miközben, a háttérben, nem látható módon rengeteg paraméter előre be van /be lehet állítva, egészen a cserélhető elemek sorozat számának az ellenőrzéséig.

Úgy látom, ez a mellékszöveg már eléggé sok lett, gyorsan visszakanyarodok a Bluetooth témára.

Nagyon sok felhasználót ért meglepetésként az Internet tanúsága szerint, hogy egyszer csak egy kernel frissítést követően nem működött a Broadcom Bluetooth. Ez több laptop típust is érintett, még itt a fórumokon is vannak régi bejegyzések amik ide kapcsolódnak.
Ennek a gépnek a WiFi-je sem működött elsőre, telepítést követően az illesztő program kezelő letöltötte a Broadcom zárt illesztő programját, azzal már működött. Ehhez persze vezetékes hálózatra volt szükség. Mint később kiderült, a WiFi-t és Bluetooh-ot szolgáltató modul az egy és ugyanaz a darab, azaz egy kombó megoldás. Furcsa, hogy a Broadcom zárt drivere miért nem támogatja Linux alatt a teljes hardvert…

Ott tarunk, hogy nem működik a Bluetooth. Mármint a Bluetooth ikon megjelenik, úgy látszik, minden rendben, de nem talál eszközöket. Rákerestem a problémára, nagyon sok találat van a témában különféle javaslatokkal: Bluez lecserélése Buleman-ra (nem segít), Bluetooth modul kicserélése másikra – na ez aztán eléggé reménytelen. Egyfelől, és itt jön be, amit fentebb írtam a BIOS-ról, bizony abba be lehet állítani, hogy ne fogadjon el másik Bluetooth egységet a gép. Sőt, az idők során olyant is láttam, hogy pont ugyanolyan típusú egységet sem fogadott el a BIOS, mert annak más volt a sorozatszáma.

Másfelől ezeket a modulokat, bár van szabvány erre, de azért a legkülönfélébb csatolókkal gyártják.

Itt a képen látható a gép WiFi/BT modulja, ami fölé egy MPCIe Intel WiFi modult helyeztem, erről beszélek:

BT/WiFi modul

Ezzel nem azt akarom mondani, hogy nem sikerülhet a modul cseréje, mert hisz én végrehajtottam már ilyen műveleteket sikerrel (annál többet sikertelenül), csak belegondoltam az egyszeri felhasználó helyzetébe: Mégis erre mit tudna lépni?

Mivel elvesztem a sok találat és javaslat között, gondoltam megvizsgálom a problémát helyileg, hát lássuk a Dmesg kimenetét:

Dmesg hiba

Hoppá, hiányzik egy fájl (a 2-es hibakód azt jelenti, hogy nem létezik az adott fájl vagy mappa): BCM43142A0-0930-0225.hcd No, akkor keressünk rá erre a hibára… Persze, hogy sok találat van erre is, még fájlokat is kínálnak letöltésre, pótlásra. Amiből persze nem mindegyik működik. De ezen keresgéléskor rátaláltam arra az oldalra, ahol leírják a tutit:

https://askubuntu.com/questions/632336/bluetooth-broadcom-43142-isnt-working

Arról van szó, hogy a Broadcom megtiltotta a firmware terjesztését. Megoldhatod magad a dolgot, ha letöltöd a Win8-as drivert (bár a Broadcom ezek elérését is eltávolította), szóval valahonnan kell szerezni egy Win8-as driver csomagot, abban kutakodni, a csomagban levő inf fájlban rá kell keresni a hardver azonosítóra. Az lsusb-t futtatva pl. ezt látni: 0a5c:21d7; az inf fájlban ez így néz ki: VID_0A5C&PID_21D7. Ha az lsusb nem mutatja a hardvert, akkor az usb-devices paranccsal lehet próbálkozni, ami részletesebb infót ad.

Eddigi példánál maradva ezt kell keresni: RAMUSB21D7,az inf fájlban meg ilyesmit:

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

Meg is van a hex fálj neve, amire szükség van ebben az esetben, a BCM4314A0_001.011.0112.0126.hex. Ezt kell kicsomagolni a CAB fáljlból. Ezt kell konvertálni hcd formátumba, és erre van is eszköz, így lehet hozzájutni a konverterhez:

git clone git://github.com/jessesung/hex2hcd.git
cd hex2hcd
make

Lesz a saját mappánkban egy hex2hcd mappa, ebben levő eszközzel dolgozunk:

~/hex2hcd/hex2hcd ~/BCM43142A0_001.001.011.0122.0126.hex ~/BCM43142A0-0a5c-21d7.hcd

A 4.2+ kernelnél a hcd fájl neve legyen BCM.hcd; 4.8+ kernel esetén BCM-<VID>-<PID>.hcd, mint pl. BCM-0a5c-21d7.hcd, 5-ös kernel esetén BCM43142A0-0a5c-21d7.hcd
Másoljuk be a fájlt a /lib/firmware/brcm mappába. Mivel én régi motoros vagyok, ehhez MC-t használtam, de itt jobb szeretik a parancssort, hát legyen:

sudo cp ~/BCM43142A0-0a5c-21d7.hcd /lib/firmware/brcm

Indítsuk újra gépet, és ennyi…

Ill. még annyi, hogy ez teljesen illegális. Sérti a szerzők és szomszédok jogait. Bár mondjuk fene sem érti, hogy mi a Broadcom szándéka ezzel. Miért baj, hogy az emberek használják a termékét? Nem arra volt gyártva?

No, de van az illegalitásra is megoldás. Vagy félmegoldás. Vagy pontosabban kellene definiálni a fenti műveletek esetén, hogy melyik része illegális?

Mert hát az van, hogy ahogy az lenni szokott, jóakarók megcsinálták a munka javát, és azt fel tették az internetre. Ahonnan le lehet tölteni. Itt részletezik: https://github.com/winterheart/broadcom-bt-firmware
Itt a letöltési hely: https://github.com/winterheart/broadcom-bt-firmware/tree/master/brcm

Itt meg kell keresni a fájlt, aminek hiányát mutatja a Dmesg. Ha nem 5-ös kernelünk van, akkor fentebb részletezett módon át kell nevezni, úgy másolni a /lib/firmware/brcm mappába.
Szóval ami minket érint az egészből, az ugye annyi, hogy letöltöm, odamásolom mappába.

És működik! A képernyőképeket Bluetooth-on át küldtem a laptopról a telefonra, úgy másoltam fel a nagy gépre. És most a Dmesg kimenet vonatkozó része:

Hibátlan Dmesg

Azért érdekes a nagy érdekfeszültségek manifesztációja, nemde? Valahol nagy érdekek egymásnak feszülnek a világ másik végén, aztán vannak a világ másik végén felhasználók, akikről mit sem tudnak, de azok is kényszerűen belekerülnek a buliba: ha használni akarom a cuccot, amit vettem, akkor törvényt kell sértenem. Tény, hogy ezt a laptopot anno előtelepített Win-el hozták forgalomba, és hivatalosan is csak a Windowst támogatják. Tudom, ebbe nem érdemes belemenni, mert annyi útvesztő van benne, és mindig a tőkének van igaza. Csak leírtam, hogy ha ilyen van, akkor azt hogyan kell megoldani. Meg kicsit képet adni a nagyvilági bulikról.

Arra azért figyeljünk, hogy honnan töltünk le a hcd fájlt. Az, ami nekem kellett, olyan névvel több változat is kering a net-en, ld. pl. ezt a képet:

MC

Látszik, hogy csak méretben térnek el, a bal oldali a jó. (Fenti linkről letöltve)

Hozzászólások

kimarite képe

Broadcom BCM43142A0 Bluetooth Device | hex2hcd

Köszönjük a leírást! S a képeket is, amelyeken a szemléltetett hibaüzenet kiemelve, dmesg parancssoros kimenetben látható.

A Debian terjesztésen a hex2hcd alkalmazást a bluez alkalmazás tartalmazza, nem kell letölteni, leforgatni. Érdemes megismerkedni azt apt-file alkalmazás nyújtotta lehetőségekkel. A Synaptic csomagkezelő is használható erre a célra. Én most az apt-file-t használtam.

Ha nincs telepítve, telepítsd:

sudo apt-get install apt-file

A telepítés mutatja, hogyan kell frissííteni az adatbázist, admin joggal kell (sudo).
Az apt-xapian-index frissítési parancsa is változott, azt apt-file telepítve (az első dolgom telepíteni. az ufw tűzfal bekapcsolása után :)), a régebbi módszer ez:
https://wiki.debian.org/apt-file

sudo apt-file update

Mindenképpen azzal a módszerrel frissítsd az adatbázist, amit a telepítés utolsó sorai mutatna (+ sudo).

Az apt-file kimenetre olykor szűrni szükséges, mert sok találatot ad. Most nem.
A keresés (search) azt mutatja a hex2hcd kifejezésre, hogy a bluez alkalmazás tartalmazza.
A második parancssor azt mutatja, a bluez alkalmazás telepítve van. Itt már az apt-cache alkalmazást használtam.

apt-file search hex2hcd
bluez: /usr/bin/hex2hcd                   
bluez: /usr/share/man/man1/hex2hcd.1.gz

apt-cache policy bluez
bluez:
  Telepítve: 5.50-1.2~deb10u1
  Jelölt:    5.50-1.2~deb10u1
  Verziótáblázat:
 *** 5.50-1.2~deb10u1 500
        500 http://security.debian.org/debian-security buster/updates/main amd64 Packages
        100 /var/lib/dpkg/status
     5.50-1 500
        500 http://httpredir.debian.org/debian buster/main amd64 Packages

Valóban, néhány firmware nem érhető el egyik Linux terjesztésre sem a tükrökről. Nyilván, ennek nyomós oka van. A történetről itt is szó esik:
https://wiki.archlinux.org/index.php/Bluetooth#Foxconn_/_Hon_Hai_/_Lite-On_Broadcom_device

Some of these devices require the firmware to be flashed into the device at boot. The firmware is not provided but can converted from a Microsoft Windows .hex file into a .hcd using hex2hcd

A 0a5c:21d7 chip egyedi, a bluetooth firmware-ét nem ez csomag támogatja:
https://wiki.debian.org/wl

Az nem tudom, manapság az NdisWrapper mennyire használható, de megemlítem a HEX módszer mellé:
https://wiki.debian.org/NdisWrapper

A hibaüzenetekre, az eszköz nevére keresés fontos.

Az lsusb kimenet (eszköz)

Broadcom BCM43142A0 Bluetooth Device

és a dmesg hibaüzenet (firmware)

bluetooth hci0: firmware: failed to load brcm/BCM20702A1-0a5c-21e6.hcd

az első oldalon hozza a talátokat nagyjából... .
Mint például ezt a szálat is, benne a GitHub-os javaslattal:
https://lists.debian.org/debian-user/2017/05/msg01042.html

Persze, korántsem egyszerű történet megkeresni az adott megoldást.
A firmware-t a kernel is tartalmazza, és egyedi esetben adott, de tükörről elérhető csomag.
Bizonyos eszközöknél mégsincs így. Vélhetően, nem a kernel vagy a Linux terjesztések fejlesztő tehetnek erről.

Értékelés: 

0
Még nincs értékelve
kimarite képe

Broadcom BCM43142A0 Bluetooth beüzemelése

#2 Érdemes lenne az lsusb kimenetben látható elnevezést a bejegyzés címébe is betenni, mert a honlapon történő kereséskor így könnyű lesz rátalálni (netán a Duck vagy más kereső is az első találatok közé sorolhatja!). Ha az eszköz a „BCM43142A0” akkor például, így:

Broadcom BCM43142A0 Bluetooth beüzemelése

Ha más, akkor azt. Tájékoztatóbb is. A kérdezőtől, adott USB eszköz probléma esetén lsusb kimenete kérünk, mely, ha ugyanez, máris helyben vagyunk (Keresés).

Értékelés: 

0
Még nincs értékelve

Broadcom BCM43142A0 Bluetooth beüzemelése

#2.1 Érdemes lenne az lsusb kimenetben látható elnevezést a bejegyzés címébe is betenni, mert a honlapon történő kereséskor így könnyű lesz rátalálni

Első verzió így volt, de mivel a neten láttam, hogy ez a dolog hány Broadcom cuccot érint (a letöltő link mögött is rengeteg van), úgy gondoltam, jobb ha csak egy általános címet adok meg, mert a leírás nem csak errre az egy típusra vonatkozik. Másfelől meg elfogyasztottam a szerkesztési lehetőségeket, tapasztalatlanságból (képek beillesztésének a módja, elsőre nem jelentek meg a képek, aztán a parancsok formázása nem állt be, holott elsőre be volt lőve, stb.) A következőnél majd tudni fogom, mire figyeljek. De a címet nem gondolom, hogy át kellene írni ettől függetlenül, bocs wink

Értékelés: 

0
Még nincs értékelve

Broadcom BCM43142A0 Bluetooth Device | hex2hcd

#2 A keresés (search) azt mutatja a hex2hcd kifejezésre, hogy a bluez alkalmazás tartalmazza.

És tényleg! Nálam is fent van!

A 0a5c:21d7 chip egyedi, a bluetooth firmware-ét nem ez csomag támogatja:

Mondjuk ez csak szemléltető példa, a hivatkozott forrás alapján. A lényege, hogy miként kell összekapcsolni a linuxos megjelenítést a windows-ossal.

 

Értékelés: 

0
Még nincs értékelve
kimarite képe

Broadcom BCM43142A0 Bluetooth Device | hex2hcd

#2.1.1 Másfelől meg elfogyasztottam a szerkesztési lehetőségeket, tapasztalatlanságból (képek beillesztésének a módja, elsőre nem jelentek meg a képek, aztán a parancsok formázása nem állt be, holott elsőre be volt lőve, stb.) A következőnél majd tudni fogom, mire figyeljek.

A szerkesztő úgy működik, mint például a Libreoffice.
A szerkesztés a bejegyzéseknél (más elnevezése blog) háromszor lehetséges, ez van. A Súgó tartalma, és talán a Hírek is - tapasztalatom szerint - többször is szerkeszthető és a képek feltöltését közvetlenül a honlapra is lehetségessé tettük. A bejegyzéseknél én egy kép megosztó oldalt használok. Hogy miért? Mert a honlap szerverére feltöltött képek 800 px szélességre lesznek átméretezve. Nem szándékunk tárhelyként is működni. Egy telefonnal készített kép fájl mérete nagy, 3 MB-tól indul, és sokszor 10 MB-nál sem áll meg.
A külső, vagyis kép megosztó weboldalra feltöltött kép megjelenése méretezhető, és utána linkelhető a kép  valódi méretben, úgy, hogy új lapon nyíljon meg. Pontosan leírtam mindezt a képek beágyazása bejegyzésben. Törekszem arra, hogy itt is értelmezhető legyen a képen látható tartalom, a mütyűr megjelenés nem előny.
A külső tárhelyre feltöltött képeket MB-os méretről törekszem KB-os méretre csökkenteni. Képkivágással, illetve PNG formátumról JPG formátumra alakítással (90%-os minőségben). De csak, ha túl nagy a fájl méret. Én ehhez a GIMP alkalmazást használom.
Esetleg a több sorköz alkalmazása helyet használ mindenhol egy sorközt(Enter), és a témák elválasztásához használj címeket, vagy más módszert. Nem könnyű, de például a mediumok is megoldják (tipográfia). Tanács. :-)

a címet nem gondolom, hogy át kellene írni ettől függetlenül

Ha több eszközt érint, maradjon a cím, a hozzászólásomban benne van ennek az eszköznek a neve, így a kereső megtalálja. Jól értelmezhető tanácsot adtam, melyre a választ, a magyarázattal elfogadom. :-)

-----

#2.2 És tényleg! Nálam is fent van!

Nem keverted meg  rendszert, nyugalom. :-)

Csak a make parancsot használtad. A sudo make install hex2hcd telepített volna (példa: a telepítés mindenkori módszere a readme, install fájlokban), de ha a fejlesztő betartotta a UNIX előírásokat, akkor az alkalmazás, a telepítés könyvtárába lépés után a clean paraméterrel eltávolítható (sudo make clean hex2hcd), de más módszerrel is. Én az apt-file, az apt-cache vagy például a dpkg -l (el) és a dpkg -L használatát eléggé megszoktam, érdemes volt szerintem megemlíteni.

Értékelés: 

0
Még nincs értékelve
kimarite képe

Broadcom BCM43142A0 Bluetooth Device | hex2hcd

#2.2.1 A tipográfiát, megfelelő (szemnek szép) kinézetet lehet tanulni, gyakorolni.
A sorköz tekintetében...
Itt már tudtam: https://linuxmint.hu/sugo/hasznald-es-teszteld-a-letezo-osszes-firefox-v...
A Súgólap elején linkelt, korábbi bejegyzésben még nem tudtam a „know how”-t. :-)
A képek azért vannak külső tárhelyen, mert bejegyzésben is megírtam mindezt, és a bejegyzéseket is javítottam. Az összeset. Az ok: a beágyazáshoz használt, korábban kedvelt tárhely szolgáltató képmegosztásának lehetősége megszűnt. Kétféle módszer - ez esetben - elég időigényes lett volna. Közben írtam több bejegyzést is. A régi bejegyzés tipográfiának megfelelő átírása szintén időigényes.
A Hír vagy Súgó (Könyvlap) oldalak esetén a honlapra közvetlen kép feltöltés lehetőségében azt hiszem, a múlt évben döntöttünk, azaz engedélyeztük.

Értékelés: 

0
Még nincs értékelve

Broadcom BCM43142A0 Bluetooth Device | hex2hcd

#2.2.1 OK OK..

A külső, vagyis kép megosztó weboldalra feltöltött kép megjelenése méretezhető, és utána linkelhető a kép  valódi méretben, úgy, hogy új lapon nyíljon meg. Pontosan leírtam mindezt a képek beágyazása bejegyzésben. Törekszem arra, hogy itt is értelmezhető legyen a képen látható tartalom, a mütyűr megjelenés nem előny.

Na most az ImgBB oldal esetében, a megosztó linkkel nem jelent meg a kép, csak a címkéje, ezért betettem a dikekt linket, azt viszont helyesen ágyazza be a drupal (aminek a kép begyazó felülete teljesen más már, mint a leírásban, de értelmezhető).

A külső tárhelyre feltöltött képeket MB-os méretről törekszem KB-os méretre csökkenteni. Képkivágással, illetve PNG formátumról JPG formátumra alakítással (90%-os minőségben). De csak, ha túl nagy a fájl méret. Én ehhez a GIMP alkalmazást használom.

Nem túl verébre ágyúval ilyen célra használni a Gimp-et? 

Értékelés: 

0
Még nincs értékelve

Broadcom BCM43142A0 Bluetooth Device | hex2hcd

#2.2.1 Nem keverted meg  rendszert, nyugalom. :-)

Erre elfejetettem ragálni, szóval halál nyugodt vagyok, ez a kaland meg a többiek még az elöző HDD-n volt jó idővel ezelőtt, (másik topikban írtam az új HDD-ról, a rendszer újra van telepítve)

Értékelés: 

0
Még nincs értékelve
kimarite képe

Broadcom BCM43142A0 Bluetooth Device | hex2hcd

#2.2.1.3 Előfordul, hogy a clean paraméterezést az alkalmazás fejlesztője egyszerűen „elfelejti” felkínálni. Nem lennél nyugodt feltétlen ilyen esetben.

Értékelés: 

0
Még nincs értékelve