Připojení přes PCMCIA kartu Nokia D211

Návod jak zprovoznit kartu Nokia D211 v Linuxu a připojení přes GPRS s touto kartou.

1.6.2004 08:00 | o.k. | přečteno 14289×

PCMCIA karta Nokia D211

PCMCIA karta Nokia D211 nepatří k žádným žhavým novinkám v oblasti mobilních telekomunikací, protože do rukou běžných spotřebitelů se dostala již před více než rokem.

Úvodem bych zde zmínil pár základních technických parametrů této karty. Je dobré vyzdvihnout především tyto parametry:

 
  • mobilní datové spojení
    • EGSM 900/1800
    • GPRS - 40.2 kbit/s (pro příjem)
    • HSCSD - 43.2 kbit/s
    • Wi-Fi - 11 Mbit/s
  • hmotnost: 51 g
  • rozměry: 125 x 54 x 5/10 mm

V současné době je kartu možné sehnat na trhu za cenu pohybující se někde kolem 8.000Kč. Pokud si tuto kartu koupíte u Eurotelu společně s tarifem Eurotel Data Nonstop (měsíční poplatky ve výši 832Kč s DPH), tak bude tato cena podstatně nižší.

Ale abych jenom nepěl samou chválu, tak nemohu nezmínit fakt, že tato karta má ve spojení s Linuxem i nějaká ta negativa. Hlavním negativem jsou binární ovladače, které sice jakž takž fungují pod jádry řady 2.4.x, ale rozhodně nejsou dobrým příkladem toho jak by se to mělo dělat. Kdo očekává, že tyto ovladače použije i pod jádry řady 2.6.x, tak si může zatím nechat zajít chuť. Ovladače pro jádra řady 2.6.x zatím nejsou a je otázka zda vůbec někdy budou :-( Tato skutečnost způsobila, že jsme chtě nechtě museli downgradovat jádro na našem notebooku (Acer 244FXC) na jádro verze 2.4.25, což znamenalo jej i znovu překompilovat a upravit pro naše potřeby a vzdát se tak funkčnosti některých zařízení, která v řadě 2.6.x bez problémů fungují.

Vraťme se ale zpět na hlavní kolej. Pro správnou funkci PCMCIA karty D211 budeme tedy potřebovat ovladače, které nalezneme na stránkách www.nokia.com, konkrétně pak na tomto místě.

Na daném místě nalezneme pro Linux tři archivy, z nichž jeden obsahuje zdrojové kódy a zbylé dva obsahují binární kódy a oba tyto archivy se liší pouze tím, že ony binární kódy v nich uložené jsou zkompilované rozdílnými verzemi překladače gcc, konkrétně pak verzí 2.96 a verzí 3.2 tohoto překladače.

Stáhněte si tedy archiv se zdrojovými kódy a archiv s binárními kódy přeložený stejnou verzí překladače gcc, který máte v systému nainstalován a který pro překlad použijete. Verzi překladače gcc zjistíte příkazem

gcc -v

Přihlašte se jako uživatel root (su), nakopírujte sy tyto archivy do nějakého vhodného adresáře (já pro tyto účely používám adresář /usr/src) a rozbalte je příkazem

tar zxvf nokia_d211-linux-1.06.tar.gz
tar zxvf nokia_d211-linux-1.06-bin-gcc3.2.tar.gz

Tímto se vám vytvořil adresář d211 ve kterém jsou zdrojové kódy a zároveň i již nějaké přeložené (proprietární) části v podobě binárních kódů.

Otevřete si soubor config.mk.orig ve svém oblíbeném textovém editoru a proveďte nastavení základních voleb. Z tohoto kroku, který musíme udělat je patrné, že vývojáři v Nokii nejsou zrovna zběhlí v Linuxovém/Unixovém prostředí, protože jinak by tyto změny prováděli automaticky pomocí skriptu configure :-) Holt není tomu tak, provedeme tedy toto nastavení ručně. Jedná se především o tyto volby:

LINUX = /usr/src/linux # cesta ke zdrojovym souborum jadra
OS_RELEASE=2.4.25      # verze kernelu (zjistime prikazem uname -r)
ROOTDIR=/              # korenovy adresar od ktereho se bude vychazet
SMAC2=d211fw.bin       # soubor s firmwarem karty         

Obvykle stačí přenastavit pouze verzi jádra, kterou používáme a ostatní hodnoty ponechat defaultní. Po editaci tohoto souboru jej nezapomeneme uložit pod názvem config.mk, protože s tímto názvem jej skript Makefile očekává.

Ještě než přistoupíme k samotné kompilaci, měl bych ještě připomenout, že ke kompilaci musíme mít samozřejmě zdrojové kódy jádra pro něž dané moduly kompilujeme (v mém případě jsou to zdrojové kódy pro jádro verze 2.4.25).

Máme-li vše připraveno, spustíme samotnou kompilaci příkazem

make all

a během chvíle by mělo být vše zkompilované. Po úspěšné kompilaci spusíme příkaz

make config_install

jenž nám nakopíruje konfigurační skripty a program nokia_cs do aresáře /etc/pcmcia/ a poslední příkaz

make install

který nám nainstaluje příslušný modul a některé další programy na daná místa v systému.

Tímto máme vše potřebné připraveno a můžeme provést počáteční otestování modulu. Teď již jen stačí restartovat PCMCIA systém a po vložení karty byste měli uvidět hlášku o načtení modulu nokia_cs do jádra a o spuštění programu nokia_cs. Další kontrolu funkčnosti můžete provést tak, že se podíváte na obsah souboru /proc/net/nokia_cs v němž byste měli nalézt něco podobného následujícímu

WLAN NetDev =eth1
WLAN MAC    =xx:xx:xx:xx:xx:xx
WLAN ChrDev =nokia_cs
WLAN ChMajor=253
WLAN ChMinor=0
GSM TTYDev  =ttyNC0
GSM ChMajor =204
GSM ChMinor =42
GSM status  =off
WLAN status =initialized
WLAN state  =initialized
WLAN BSSID  =00:00:00:00:00:00
WLAN SSID   =Not Joined
WLAN channel=0
WLAN radioSS=8192
WLAN mode   =AdHoc
WLAN known BSSs:
-ID---CAP--MAC-----------------CH---MX----RSSI----SSID--------------------------

V případě, že jste nalezli ve svém systému něco podobného, máte vyhráno a směle se tak můžeme vrhnout do závěrečné konfigurace.

Jak je z výpisu výše vidět, tak máme defaultně inicializovanou WLAN a protože karta neumí zároveň WLAN a GPRS, tak musíme nejdříve funkci WLAN vypnout. Toto provedeme v konfiguračním souboru /etc/pcmcia/nokia_cs.opts ve kterém v sekci Operating mode zaměníme položku MODE=WLAN za MODE=GSM.

Nyní využijeme jednu z již dříve nainstalovaných utilit, konkrétně pak utilitu nokia_ctl a pro zaktivování SIM karty použijeme následující parametr

nokia_ctl enable_gsm

Bude po nás požadován PIN od SIM karty, kterou v PCMCIA kartě máme zastrčenou. Úspěšné vložení PIN kódu je ohlášeno následujícím způsobem

D211: Command succeeded

Poté je ještě potřeba zadat následující příkaz

nokia_ctl gsm enableGSMradio

jehož úspěšné akceptování bude potvrzeno stejnou hláškou jako při zadání PIN kódu. No a již nám nezbývá nic jiného než vytvořit symbolický link ze zařízení /dev/ttyNC0 (název zařízení najdete v souboru /proc/net/nokia_cs) na /dev/modem a to takto

ln -s /dev/ttyNC0 /dev/modem

Pak již stačí spustit třeba program kppp, nastavit jej tak jako to bylo uvedeno v tomto článku s tím rozdílem, že vytáčecí číslo se mi osvědčilo zadat raději toto: *99# než číslo *99***1#, které uvádím v daném článku.

Skripty v příkazovém řádku z výše uváděného článku samozřejmě fungují spolehlivě také, jen si nezapomeňte změnit vytáčecí číslo a také zařízení (teď se jedná o zařízení /dev/ttyNC0, nikoliv /dev/ttyS0).

Nyní jste dokonale mobilní...
 

Technické údaje

Online verze článku: http://www.linuxsoft.cz/article.php?id_article=170