Portál AbcLinuxu, 24. května 2024 20:22

HP 550 a Broadcom wifi (a bluetooth)

10.2.2009 15:13 | Přečteno: 3716× | GNU/Linux | Výběrový blog

Není HP 550, jako HP 550, o čemž jsem se přesvědčil, když se mi na tomto notebooku nepodařilo zprovoznit bluetooth, ačkoliv podle mnoha dokumentů, které jsem našel různě po webu, měl fungovat bezproblémově out-of-the-box. Ukázalo se, že kromě dražší varianty s intel-based wifi a bluetooth (to je ta rovnou fungující), existuje levnější broadcom-based varianta, což je můj případ. Teď jsem ve fází, kdy wifi po určitém úsilí funguje, bluetooth stále jako by tam ani nebyl.

Wifi se identifikuje v lspci takto:

lspci|grep 10:00
10:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g (rev 01)

Z toho plyne, že se jedná o 43xx chipset. K těm byl dřív (až do jádra asi 2.6.22) určen modul bcm43xx, v novějších jádrech byl nahrazen modulem b43. Ten ke svojí funkčnosti potřebuje firmware, vykuchaný z win ovladače a umístěný do /lib/firmware/, což nebyl problém, protože post-instalační skript balíku b43-fwcutter z debianu sid se o instalaci firmware sám postaral. Bohužel, po zavedení modulu se neobjevilo rozhraní. Zde byl rozdíl mezi jádry 2.6.26 a 2.6.28 ze siduxu, ve druhém případě se wifi objevila v dmesg, ale rozhraní pořád nic. Tak jsem zkusil nainstalovat ndiswrapper a použít vykuchaný win ovladač (podle návodů na wiki, nic jsem si necucal z prstu), též bez úspěchu. (Místo "driver xxx loaded, device xxx present" psal jen "driver xxx loaded". Zde nebyl rozdíl mezi různými jádry.)

Nakonec jsem našel tento poměrně čerstvý návod, popisující zprovoznění dotyčné wifi s poměrně čerstvým ovladačem přímo od Broadcomu: http://jomcode.com/fadhil/?p=59

Není to nic těžkého:

Zde si stáhneme zdroják modulu (vybereme si 32bit nebo 64bit.. proč se to rozlišuje u zdrojáku už jsem neměl sílu se snažit chápat) http://www.broadcom.com/support/802.11/linux_sta.php

Vytvoříme adresář, abychom v tom neměli bordel a v něm stažený archiv rozbalíme:

tar -xvzf hybrid-portsrc-x86_64_5_10_27_6.tar.gz
popř.
tar -xvzf hybrid-portsrc-x86_32_5_10_27_6.tar.gz

potřebujeme hlavičky jádra (v debianu balík, jehož název začíná linux-headers a dál pokračuje stejně, jako název balíku našeho jádra, co začíná linux-kernel; verzi jádra zjistíme příkazem 'uname -r') a můžeme modul přeložit:

make -C /lib/modules/`uname -r`/build M=`pwd`
(pokud nevěříme shellu:) můžeme cestu s názvem jádra napsat explicitně)

Vyhážeme moduly, s nimiž jsme se wifinu neúspěšně snažili rozjet předtím

rmmod bcm43xx; rmmod b43; rmmod b43legacy; rmmod ndiswrapper

Naloadujeme modul, který je modulem wl vyžadován:

modprobe ieee80211_crypt_tkip

A konečně nahodíme modul wl:

insmod wl.ko

Zadáme např. "ip link show" nebo "iwconfig", abychom se přesvědčili o objevení se krásného nového rozhraní

Zkopírujeme modul tam, kam patří:

cp wl.ko /lib/modules/2.6.26-1-amd64/kernel/net/wireless/
(nahradíme '2.6.26-1-amd64' naším kernelem podle 'uname -r')

Vytvoříme závislosti modulů:

depmod -a

A naloadujeme náš nový modul už standardně:

modprobe wl

Pokud se nevypíše žádná chyba, celá věc se pravděpodobně zdařila. (Tedy pokud vidíme rozhraní.)

Nakonec přidáme řádky

ieee80211_crypt_tkip
wl

do /etc/modules a změna je permanentní, příště už budeme mít rozhraní hned po bootu. Opravdu to funguje. Mělo by jít i WEP/WPA atd., což jsem však osobně zatím neměl možnost vyzkoušet.

(V některém z příštích jader už bude wl snad oficiálně, wifi bude autodetekována a celá tato procedura nebude nutná. Modul nemá uvedenou licenci a tak kernel upozorňuje, že je tainted. Těžko říct, jakou by vývojáři měli motivaci dělat modul schválně GPL nekompatibilní, když už je k němu kód a nějaké schované know-how tím těžko ochrání. Archiv obsahuje LICENSE.txt, která se ale nezdá být aplikovatelná na zdrojový kód. Uvidíme, jak se situace vyvine.)

Co mě teda mrzí je, že pořád nefunguje bluetooth. Podle toho, co jsem našel ve win ovladači, by se mělo jednat o chipset broadcom 2045. Ten by měl v linuxu fungovat, ale no dice, jako by tam žádný bluetooth nebyl. Co jsem s tím všechno dělal (neúspěšně) se můžete podívat tady: Bluetooth na HP 550. Myslíte, že když jsem vyčerpal všechny možnosti, mám s tím otravovat přímo vývojáře bluez? Asi jo, že. Díky za pozornost:)

       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

Limoto avatar 10.2.2009 15:42 Limoto | skóre: 32 | blog: Limotův blog
Rozbalit Rozbalit vše Re: HP 550 a Broadcom wifi (a bluetooth)
Odpovědět | Sbalit | Link | Blokovat | Admin

Hmm, tohle jsem taky řešil, na HP 6730s. S tím rozdílem, že já jsem zkoušel jenom b43, a potom jsem na ArchWiki našel zmínku o tom ovladači od Broadcomu, tak jsem to nahodil (je to v AURu). Škoda, že to neumí AfterBurner (frameburst), takhle je to dost pomalý (zhruba 2MiB/s oproti 3,5MiB/s). Bluetooth vyzkouším...

10.2.2009 16:56 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: HP 550 a Broadcom wifi (a bluetooth)
Odpovědět | Sbalit | Link | Blokovat | Admin

Nejspíš taky není Broadcom jako Broadcom. Já mám takový malý USB dongle, který funguje a tváří se takto:

[andrej@argos ~]$ hciconfig -a
hci0:   Type: USB
        BD Address: 00:0A:3A:87:A7:80 ACL MTU: 1021:8 SCO MTU: 64:1
        UP RUNNING PSCAN ISCAN
        RX bytes:986 acl:0 sco:0 events:30 errors:0
        TX bytes:615 acl:0 sco:0 commands:30 errors:0
        Features: 0xff 0xff 0x8f 0xfe 0x9b 0xff 0x79 0x83
        Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
        Link policy: RSWITCH HOLD SNIFF PARK
        Link mode: SLAVE ACCEPT
        Name: 'BlueZ (argos)'
        Class: 0x080100
        Service Classes: Capturing
        Device Class: Computer, Uncategorized
        HCI Ver: 2.1 (0x4) HCI Rev: 0x5183 LMP Ver: 2.1 (0x4) LMP Subver: 0x420e
        Manufacturer: Broadcom Corporation (15)
10.2.2009 17:10 dad
Rozbalit Rozbalit vše Re: HP 550 a Broadcom wifi (a bluetooth)
Odpovědět | Sbalit | Link | Blokovat | Admin

dost dobre nechapu, co tady ten zapisek dela.. Jste si jisty, ze jste si nespletl server?

Preletl jsem to a vubec se nedozvedel napr jestli:

To jsou veci, ktere nas zde zajimaji. S tim ostatnim otravujte treba na zive.

10.2.2009 18:09 tired joe | skóre: 17 | blog: rootlet | Trenčín/Bratislava
Rozbalit Rozbalit vše Re: HP 550 a Broadcom wifi (a bluetooth)
good one :)
Človek sa riadi zdravým rozumom, až keď už nezostáva žiadne iné riešenie.
rincewind avatar 10.2.2009 18:55 rincewind | skóre: 14 | blog: Bloguji,_tedy_jsem? | Hermanova Hut
Rozbalit Rozbalit vše Re: HP 550 a Broadcom wifi (a bluetooth)

A Vy jste na spravnem serveru? Nechcete se presunout radeji na alik.cz?

10.2.2009 21:58 jozka | skóre: 19 | blog: jozkovo
Rozbalit Rozbalit vše Re: HP 550 a Broadcom wifi (a bluetooth)
:-)
10.2.2009 19:27 Roman Schulz | skóre: 8 | Brno
Rozbalit Rozbalit vše Re: HP 550 a Broadcom wifi (a bluetooth)
Odpovědět | Sbalit | Link | Blokovat | Admin
Myslím, že by bylo dobré zápisek vložit do HW wiki.
12.2.2009 13:33 bhy | skóre: 35 | blog: bhyblog | brno
Rozbalit Rozbalit vše Re: HP 550 a Broadcom wifi (a bluetooth)
Grunt avatar 10.2.2009 22:34 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
Rozbalit Rozbalit vše Re: HP 550 a Broadcom wifi (a bluetooth)
Odpovědět | Sbalit | Link | Blokovat | Admin

:-), ifconfig wlan0 up.

Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
12.2.2009 12:35 bhy | skóre: 35 | blog: bhyblog | brno
Rozbalit Rozbalit vše Re: HP 550 a Broadcom wifi (a bluetooth)
spíš ip link set eth1 up :)

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.