NDISWrapper - zprovoznění wi-fi karty

Wi-FiMám na notebooku bezdrátovou síťovou kartu od firmy Broadcom. Její instalace je bezproblémová, protože repozitáře openSUSE přímo obsahují příslušné balíčky ovladačů a jederných modulů pro obvyklá jádra. Ano, pro obvyklá jádra. Já ovšem používám relatimeové jádro (kernel-rt), a to i na notebooku, takže mám smůlu.

Do teď jsem to řešil současnou instalací dvou jader, kde na defaultním jádře jsem měl přístup na Internet přes wi-fi, a na realtimeovém jen klasicky přes metaliku. To, jak zprovoznit téměř jakýkoli ovladač k téměř jakékoli síťové (ať už drátové nebo bezdrátové) kartě a téměř na jakémkoli jádru, si právě nyní ukážeme.

Někteří z vás už možná někdy zaslechli termín NDISWrapper. A to je právě to, čím si pomůžeme. Slušný návod i s omáčkou je na WIKI, ale ten se zabývá zprovozňováním síťové karty za použití NDISWrapperu pomocí příkazové řádky. Žijeme v moderní klikací době a proto ukážu návod, kde se bez konzole zcela obejdeme.

V první řadě si nainstalujeme balíček ndiswrapper, k němu by se nám měl automaticky vybrat příslušný balíček jaderného modulu, tedy např. ndiswrapper-kmp-pae nebo ndiswrapper-kmp-default. Co se týka realtimeového jádra, tak o něm píšu zde. O jeho vývoj se stará vývojář Jan Engelhardt, a ten poskytuje i jaderný modul ndiswrapper-kmp-rt případně ndiswrapper-kmp-rtpae a další. Budiž mu za to neskonalý dík. Každopádně se přesvědčte, že jaderný modul je stejné verze jako vámi používané jádro!

Dále budeme potřebovat grafické rozhraní pro NDISWrapper, což může být např. KNDISWrapper a tedy i balíček stejného názvu. Tím se vyhneme práci v příkazové řádce. (POZNÁMKA: uživatelé grafického prostředí GNOME mohou použít jiný nástroj a to NdisGTK.)

Další bezpodmíněnečně nutnou věcí jsou ovladače dané síťové karty pro operační systém Microsoft Windows XP. Ovladače pro novější operační systémy nejsou (zatím) NDISWrapperem podporované. Z těchto ovladačů potřebujeme soubory ovladač.inf a ovladač.sys.

KNDISWrapper se nám bohužel neobjeví v hlavní nabídce KDE 4.x a budeme ho tedy muset spuštět buď příkazem z konzole, nebo pomocí KRunneru, a nebo si jednoduše vytvoříme v nabídce KDE položku dle následujícího obrázku, což je asi nejelegantnější způsob. (POZNÁMKA: v KDE 3.5.x by mělo být vše v pořádku, totiž verze KNDISWrapperu pro KDE 4.x zatím neexistuje.)

kndiswrapper

Po spuštění KNDISWrapperu si nejdříve zvolíte jazyk aplikace. Ve výběru bohužel chybí čeština, ale není to nic, co by se nedalo přežít a dokuď nebudete měnit síťovou kartu (což asi stejně nebudete) a dokuď nepřeinstalujete počítač, tak tuhle aplikaci již znovu asi nikdy nepoužijete. Nebude proč.

kndiswrapper

Dále budete dotázáni na heslo uživatele root.

kndiswrapper

Pakliže spouštíte KNDISWrapper poprvé, zřejmě nemáte zaveden jaderný modul, na což se vás aplikace zeptá a vy stisknutím tlačítka Yes tento modul nahrajete. Při dalších spuštěních počítače se modul již nahraje automaticky.

kndiswrapper

V okně aplikace kliknete na tlačítko Install Driver.

kndiswrapper

Zobrazí se dotaz na to, zda chcete použít průvodce, či vyhledat ovladač.inf ručně. Doporučuji zvolit tlačítko Manual Inst., tedy ruční instalaci.

kndiswrapper

Po nalistování ovladače a potvrzení dojde k jeho instalaci. Měla by se zobrazit následující zpráva o úspěšné instalaci.

kndiswrapper

Vidíte, že se ovladač opravdu úspěšně nahrál, navíc dle řádku "Device present: Yes" je i jasné, že síťová karta byla v počítači nalezena.

kndiswrapper

Nyní už zbývá pouze kliknout na tlačítko Config Network a síť nastavit. Na výběr máte obvyklou konfiguraci statické IP adresy nebo použití DHCP pro automatickou konfiguraci.

kndiswrapper

Připojení k bezdrátové síti provedete v tomtéž okně nebo pomocí např. KNetworkManageru, případně podobných nástrojů.

POZNÁMKA 1: Kupodivu tyto ovladače jsou alespoň v mém případě spolehlivější než ty z balíčků o kterých se zmiňuji na začátku článku. S těmi totiž KNetworkManager funguje prapodivně. Bezdrátovou síť mám uloženou, a také nastaveno, že se má připojovat automaticky, ale neděje se tak. Někdy se počítač k síti připojil hned, ale většinou jsem musel ručně opakovat připojení a to třeba i několikrát zasebou, než se to chytlo. Nyní používám NDISWrapper a je klid. Bezdrátová síť se připojí téměř okamžitě sama, vždy, a bez přemlouvání.

POZNÁMKA 2: Článek s dalšími odkazy a s většími obrázky naleznete též na mém webu http://audiolinux.czweb.org/

28. Červenec 2009
Autor: Aidamos
Sdílet:

Komentáře

xhc odpověděl -

.. mne konkretne na notebooku neporovnatelne viac vykonu a kvality dosahovali ovladace z oficial repo opensuse .. bez jedineho zadrhelu a poklesu vykonu..

..kazdopadne treba vyskusat oba ovladace, teda ako ndiswrapper tak aj klasicky ovladac z repo a ponechat ten ktory dosahuje lepsieho vysledku...

"Žijeme v moderní klikací době a proto ukážu návod, kde se bez konzole zcela obejdeme." - musim pochvalit clanok .. najma tato cast ma silno rozcarovala...velmi nevidane...konecne niekto kto je uzivatelsky nad vecou a kraca s dobou ..pripajam sa ;)

KDE 4.x 64-bit

"Nenávist k Microsoftu je nemoc.." hovorí Linus; ..tak uz konecne sklapnite!
-------------------------------
http://drhc.badongo.com
http://ilusoria-yhwh.webovka.eu

strnous odpověděl -

Zdravim. Mozna je to trochu dublovani, ale primlouval bych se za to, abys sve navody vkladal i do Wiki. Ackoli moje vlastni filosofie prace s linuxem je ponekud odlisna (snad proto, ze moje zkusenosti vychazi predevsim ze serveroveho/enterprise sveta), rada lidi tve navody jiste oceni. I proto by bylo asi dobre jimi postupne doplnovat wiki. Postupne by tak mohl vzniknout velmi uzitecny soubor.

Spis jen pro svou zajimavost se zeptam, proc kdyz mas overenou funkci b43 driveru pro broadcom na standardnim jadre nepouzivas stejny driver i v RT jadre? V repozitarich jiz nejakou dobu lezi RT jadro 2.6.30, ktere b43 ovladac obsahuje a lze tam nalezt i 2.6.31-rc4. Navic instalace modulu/driveru do jakehokoliv jadra je vec vcelku snadna a rychla.

Michal Strnad

Aidamos odpověděl -

Jedinej "oficiální" repozitář o kterém vím, že obsahuje realtimeové jádro je http://download.opensuse.org/repositories/Kernel:/RT/openSUSE_11.1/i586/ a tam chybí jakékoli jaderné moduly a dokonce i balíček kernel-rt-source. Používám ovšem RT jádro z repozitáře http://ftp5.gwdg.de/pub/linux/misc/suser-jengelh/SUSE-11.1/i586/ a tam jaderné moduly pro Broadcom také chybí. Repozitář s RT jádrem 2.6.30 jsem i teď po Tvém upozornění hledal, ale nenašel. Nicméně Ti budu vděčný, když ho sem uvedeš.
Co se týká WIKI, tak o ní vím a vlastně tam vůbec nechodím a hlavně na to nemám moc čas. Píšu sem, a hlavně dělám svůj web http://audiolinux.czweb.org/ a pak spravuju další 4 weby (zadarmo). Už takhle toho mám hodně. Ra100 se nabízel, že to na WIKI hodí. Klidně to tam hoď i Ty. Třeba se k tomu dostanu, ale teď toho mám hodně.

strnous odpověděl -

V tebou pouzivanych repozitarich jsou jen verze 2.6.29, kam bys musel b43 doinstalovat/dokompilovat (existence kernel modulu jako rpm baliku je spise vzacnost omezena vzdy na nejake konkretni jadro, takze vrele doporucim nastudovat kompilaci modulu proti libovolnemu jadru - jsou to 2-3 prikazy, takze nic sloziteho).
Hledani v buildservice (http://software.opensuse.org/search) me nasmerovalo napr. na http://download.opensuse.org/repositories/home:/sdietrich:/Kernel-RT/ope... s verzi kernel-rt-2.6.30.

Michal Strnad

Aidamos odpověděl -

No vidíš to, taky jsem já blbec mohl použít Webpin (http://packages.opensuse-community.org/). Nicméně i v Tebou odkazovaném repozitáři chybí alespoň kernel-rt-source abych měl proti čemu nainstalovat alespoň avladače na grafiku. A pro kompilaci (které se vyhýbám jak čert kříži - prostě s tímto způsobem instalování nechci mít pokuďmožno nic společného) je přece příslušný kernel-source taky potřeba, ne?

Aidamos odpověděl -

P.S.: Teď jsem si Tvůj první komentář přečetl pořádně, takže b43 ovladač už je přímo v jádře 2.6.30? To je zajímavý a určitě bezva. Škoda jen, že v tom repu chybí ten kernel-rt-source. Každopádně stále pro mě nejluxusnější repozitář je ten od Jana Englehardta.
Ještě jedna věc: návod na NDISWrapper jsem nedělal ani tak kvůli Broadcomu, ale kvůli možnému použití windowsových ovladačů pro wi-fi karty, které přímo Linuxem nejsou podporované.

strnous odpověděl -

balik kernel-source-rt je rovnez k nalezeni :o)

Ze navod neni jen kvuli broadcomu je celkem patrne. Muj dotaz na uziti ndiswrapperu pro broadcom na RT jadre vysel pouze z obsahu tveho uvodu. Jestlize ti BC funguje na default jadre, pak nemuze byt problem, aby fungoval i na RT jadre. Tot cele pozadi meho dotazu

Pokud jde o kompilaci a tvemu "vyhybani se jak cert krizi", pak sam sobe omezujes jednu z nejuzasnejsich vlastnosti linuxu, totiz jeho variabilitu. Navic rada rpm baliku neinstaluje primo binarni verze ovladacu, ale pouze rozbali zdrojaky ovladace a provede jejich kompilaci proti bezicimu jadru, cehoz si clovek ani nemusi vsimnout pokud projde vse hladce. Delaji to tak i treba baliky ovadacu od ATI a NVIDIE nebo VMware. Proto potrebujes pro jejich instalaci kernel-source (kernel-source-rt), gcc atd. Jinymi slovy se kompilaci stejne nevyhnes, i kdyz o tom trea ani nevis :o)
Navic urcita zbehlost v instalaci timto zpusobem rozsiruje i obzory pro hledani reseni problemu. Narozdil od balickovani, ktere je do znacne miry specificke pro danou distribuci nebo treba skupinu distribuci, je totiz kompilace shodna na vsech linuxech a tedy i treba rady z fora Ubuntu/Debianu mohou pak byt velmi uzitecne.

Jeste se na zaver pozeptam z ceho tvoje averze vuci kompilaci prameni? Pokud to muzu vedet.

Michal Strnad

Aidamos odpověděl -

Nic proti kompilaci jako takové nemám. Používám dokonce jeden plugin do GIMPu, který se musí kompilovat a jinak to prostě nejde. OK, přežiju to. To, že při klasické instalaci ovladačů grafických karet ATI a nVIDIA (pomocí "sh blablabla") běží na pozadí kompilace jadernýho modulu vím, a taky to zkousnu) i když pro grafiku nVIDIA, co mám v kompu, použiju pohodlně přímo RPM balíčky z repa Jengelh. Běžně upravuju konfiguráky, protože v některých případech mi zase nic jiného nezbývá). Nicméně moje neochota cokoli kompilovat (zvláště základní funkcionality systému) pramení z toho, že se snažím Linux popularizovat a nabídnout jako alternativu různým přátelům a známým. Tyto lidi určitě k Linuxu nepřitáhne ani příkazový řádek, ani editace konfiguračních souborů a už vůbec ne nějaká kompilace. Chtějí (a já taky) to prostě jednoduše naklikat pomocí grafických nástrojů (tlačítek, přepínačů, zaškrtávacích polí a roletek), tak jak jsou zvyklí z Windows. Nespatřují pak důvod proč přecházet na nějakej Linux, kde se obvyklá jednoduchá věc dělá 10x složitějším způsobem.

bluemoon odpověděl -

jedna dulezita vec, ktera tohle pouziti kazi, je ze modul pro jadro je vzdycky o neco starsi, skoro hranicici se zhorsenou bezpecnosti vyplyvajici z neaktualizovaneho jadra, ktere se dostava na uroven jadra o tridu opensuse niz.

jsmach odpověděl -

s tím připojováním k wifi mám taky potíže (EEE904HD, WiFi karta Artheros, asi AR500), původně vše šlapalo super, ale jednoho dne se Knetworkmanager šparajcnul a teď musím čekat cca 5 min než se spojí, do té doby hlásí že siť není funkční a globus má šedou barvu. Urychlit se to dá jen znovuspuštěním sítě přes Yast.

jsmach odpověděl -

poté co jsem z funkčního knetworkmanageru přešel na networkmanager 0.7.0. sice najdu síť, vidím sílu signálu atd., zřejmě jsem i připojen, alepoň to hlásí ikona dole v trayi, ale nejede mi nic (opera,kopete,...) ani ping ven z EEE. Zatím jedu na klasické síťové nastavení v Yastu :(.