AnyData ADU-E100H CDMA Modem Linux driver (Czech) / Linuxový ovladač
Update 2006-03-16: Pozor! Eurotel mění neco ve svých ustřednách pro CDMA - namísto autentifikace CHAP ustředna žádá PAP (Což je škoda, ono je to méně bezpečné, protože se heslo posílá v přímém tvaru). Ale hlavně Linuxový PPP démon pro PAP používá jiný konfigurační soubor. Pro zprovoznění by mělo stačit skopírovat /etc/ppp/chap-secrets do /etc/ppp/pap-secrets
Od září 2005 prodává Eurotel jako alternativu k staršímu CDMA (1xEVDO Rev. 0) modemu GTran GPC-6420 nový modem AnyDATA ADU-E100H, který snad nebude mít tak špatnou pověst (co se týče chybovosti) jako ten předchozí. Pro nové zákazníky je to jistě příjemná zpráva.
Jak je na tom ale ovladač pro Linuxový kernel? Eurotel i výrobce uvádí kompatibilitu pouze s Windows 2000 a XP. Zprovoznit ovladač pod Linuxem není však těžké, pokud oželíte monitorování stavu modemu.
Návod
Upozornění: veškeré informace zde jsou poskytovány bez jakékoliv záruky. Počítače jsou složitá zařízení a vzájemně se liší od sebe natolik, že nelze vyloučit situaci, kdy postup u mě fungující jinde způsobí ztrátu dat či poškození součástí.
Co budete potřebovat?
- Software
- Funkční distribuci GNU/Linuxu.
- Zdrojový text jádra Linuxu, verze 2.6.x (já jsem použil 2.6.13).
- Překladač gcc ke kompilaci jádra.
- Programový balík PPP.
- Program patch.
Nebo pro alternativní a jednodušší řešení (viz. níže) stačí jen PPP a jádro s ovladačem usbserial zkompilovaným jako modul plus podporou PPP.
- Hardware
- Vlastní modem připojený přes běžný USB port k počítači.
- Know-how
- Administrátorská znalost Linuxu.
- Vědět jak se kompiluje a instaluje kernel (návodů je na internetu mnoho).
Stáhněte si ovladač / Driver download
Ovladač je dostupný jako .diff soubor anebo konkrétní změněné soubory jádra 2.6.13. Soubor .diff popisuje pouze změny provedené proti standardní verzi jádra a tak je ho možné použít ve více verzích stejné řady.
Tyto soubory jsou k dispozici pod stejnou licencí jako jádro Linuxu, tedy GNU General Public License version 2.
- Patch pro 2.6.x vyrobený z 2.6.13
- Upravené soubory (jen pro 2.6.13) drivers/usb/serial/
Aplikování .diff souboru: Přesuňte se do adrešáře /usr/src/linux-2.6.13/drivers/usb (či kde máte umístěný kernel). Nahrajte do něj .diff soubor a spusťte příkaz patch:
host:/usr/src/linux-2.6.13/drivers/usb# patch -p0 < anydata-linux-2.6.13.diff
Jeho výstupem by mělo být:
patching file serial/anydata.c patching file serial/Kconfig patching file serial/Makefile
Konfigurace jádra
Zkompilujte jádro tak, aby v něm byl přítomný ovladač. Ovladač má název volby USB_SERIAL_ANYDATA. V menuconfigu ho najdete v Device Drivers ---> USB support ---> USB Serial Converter support (zapněte) ---> USB AnyDATA ADU-E100H CDMA Wireless Driver (EXPERIMENTAL). K tomu aby tam skutečně byl je potřeba mít zapnutou USB podporu, podporu pro USB_SERIAL a zapnuté zobrazování experimentálních modulů (Code maturity level options ---> Prompt for development and/or incomplete code/drivers).
Pro úspěšné použití je též kromě vlastního ovladače potřeba zapnout podporu pro Point to Point Protocol, volba CONFIG_PPP (Device Drivers ---> Network device support ---> PPP (point-to-point protocol) support) a PPP_SYNC_TTY (PPP support for async serial ports) na stejném místě. Další volby kompresí mohou být užitečné, ale podle záznamů při vlastním spojení zůstaly nevyužité.
Po instalaci nového jádra či modulů a zavedení modulu (např. přes příkaz modprobe anydata) by se v logu mělo objevit (výpis příkazem dmesg):
drivers/usb/serial/usb-serial.c: USB Serial support registered for anydata anydata 2-1:1.0: anydata converter detected usb 2-1: anydata converter now attached to ttyUSB0 anydata 2-1:1.1: anydata converter detected usb 2-1: anydata converter now attached to ttyUSB1 usbcore: registered new driver anydata
Pokud se Vám tam něco takového objevilo, pak je vše ok.
Konfigurace PPP démona
PPP má konfiguraci uloženou zpravidla v adresáři /etc/ppp/. K vyvolání spojení se sítí Eurotelu potřebujeme nastavit tyto tři soubory:
Do nového souboru /etc/ppp/peers/cdma napíšeme (parametry byly získány kombinací různých existujících konfigurací a tak nemusí být optimální):
debug /dev/ttyUSB0 921600 noipdefault defaultroute ipcp-accept-local lcp-echo-interval 60 lcp-echo-failure 5 usepeerdns nopcomp noauth noaccomp nodetach user "601XXXXXX@etcz" connect "/usr/sbin/chat -s -S -V -t 5 -f /etc/ppp/cdma.chat"
Upravte při tom řetězec 601XXXXXX na Vaše telefonní číslo a řetězec /dev/ttyUSB0 na Vaše usb zařízení (pokud používáte devfs, udev či něco obdobného, pak název může být /dev/usb/tts/0).
Do souboru /etc/ppp/cdma.chat napište:
'' '' '' 'ATZ' 'OK' 'ATI' 'OK' 'ATDT#777' 'CONNECT' 'ATO'
A do souboru /etc/ppp/chap-secrets toto:
# Secrets for authentication using CHAP # client server secret IPaddresses "601XXXXXX@etcz" * "HESLO" *
Přičemž opět změňte telefonní číslo a do uvozovek doplňte Vaše heslo. Tím by měla být konfigurace hotová.
Spouštění
PPP démon se spouští příkazem pon a parametry se udává, které spojení bude navázano. Naše spojení se jmenuje "cdma":
host:/root# pon cdma
Vzhledem k tomu, že parametrem debug jsou zapnuty hlášení, zobrazí se toho docela dost a z hlášek je možné poznat případnou příčinu problému.
Alternativní řešení
Namísto modulu anydata lze použít přímo usbserial, pokud je ve formě modulu, s tím, že mu dodáte parametry vendor a product. V současné době tím lze dosáhnout naprosto stejného efektu jako s anydata. Výhledově je ovladač anydata lepší jako výchozí bod pro změny a řešení problémů. Způsob zavedení je zde:
host:/root# modprobe usbserial vendor=0x16d5 product=0x6501
Problémy
- Po ukončení spojení je potřeba modem vypnout a zapnout aby mohlo být znovu navázano. Diagnostika: program pon vypíše změť znaků na terminál.
- Není možnost sledovat parametry sítě. K tomu je asi nutné napsat ovladač pro komunikaci s druhou linkou.
Rychlost
Osobně jsem naměřil 480kbit/s download (měřeno v noci) a 140kbit/s upload (lokalita: Praha 10). Mám však kromě tohoto driveru upravený usb-serial aby ignoroval maximální velikost packetu, kterou zařízení udává jako 64B na 1024B. Jestli to má vliv jsem neměřil, ale podle pozorování to zásadní rozdíl není.
Dobrý odkaz s diskuzí o rychlosti ovladače pro modem Gtran, a tedy přinejmenším inspirativními poznámkami, je zde.
Odkazy
- CDMA modem GPC-6420 a Linux - informace o starším modemu a spousta odkazů [update: stránky přestaly existovat, lze je ovšem najít v google cache (1, 2), či starší verzi v archive.org]
- Eurotel Data Express: Mini How-To - též informace o GTran GPC-6420
- Asus WL500 s upraveným firmware - podporuje AnyDATA ADU-E100H
Zpět na index - Jakub Trávník's resources.