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 14762×
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:
|
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
).