Spousta uživatelů kapesních počítačů či chytrých mobilních telefonů by namísto drahého mobilního přenosu ráda využila možnosti sdílet internetové připojení prostřednictvím svého stolního počítače. Ať již v v zaměstnání či v domácnosti, řešení tohoto problému nemusí být ani zdaleka tak složité, jak by se mohlo na první pohled zdát.
Stejný způsob využíváme i v naší redakci při důkladném testování mobilních internetových aplikací. Prostřednictvím sériového kabelu připojíme testované zařízení k pracovní stanici s operačním systémem Linux a za necelých pět minut již využíváme existujícího připojení k internetu namísto tohoto mobilního.
Co potřebujete znát?
- základy práce s linuxovým systémem v textovém režimu
- základy práce s internetem na připojeném přístroji
- základní AT příkazy
Co a jak musíte udělat??
1) propojit komunikátor / smartphone / PocketPC / Palm / notebook (jakýkoliv přístroj) prostřednictvím null modem kabelu (v případě notebooku nebo druhého stolního počítače) nebo prostřednictvím sériového komunikačního kabelu (v případě komunikátoru null modem redukce) se sériovým portem stolního počítače. Pokud je vaše zařízení dodáváno pouze s USB kabelem, musíte se poohlédnout po sériovém komunikačním kabelu. Kupříkladu k Dataphonu sežene sériový kabel ve značkových prodejnách Eurotelu.
2) nastavit na připojeném zařízení vytáčené spojení k Internetu s modemem běžným v použitém operačním systému.
3) na stolním počítači spustit terminál, připojit jej na příslušný sériový port (nutno nastavit stejnou komunikační rychlost jako na připojeném zařízení) a zapnout příposlech.
4) na připojeném zařízení inicializovat připojení k internetu. Na obrazovce stolního počítače vidíte vybíhat AT příkazy, které posílá připojené zařízení stolnímu počítači v domnění, že se jedná o plnohodnotný modem. Kdyby ovšem o modem šlo, musel by tento modem připojenému zařízení také odpovídat. To musíte zajistit ručně podle tohoto klíče: pokud komunikátor posílá inicializační příkazy modemu, odpovídejte mu řetězcem OK na každý takový string. Pokud připojené zařízení začne vytáčet stringem ATDxxxxxxxx, odpovězte po několika vteřinách CONNECT. Na obrazovce se začnou zobrazovat znaky - to se připojené zařízení bude snažit navázat TCP/IP komunikaci.
5) ukončit na komunikátoru připojení. Text, který máte v terminálu, si uložte, protože jej použijeme později pro tvorbu skriptu pro pppd démona.
6) vytvořit soubor /etc/ppp/options.ttyS0 pro COM1 nebo /etc/ppp/options.ttyS1 pro COM2
7) vložit do jeho obsahu toto:
lock
-detach
crtscts
passive
silent
connect "chat -f /etc/ppp/chat.ppp"
115200
-chap
noauth
proxyarp
192.168.0.1:192.168.0.2
8) vytvořit soubor /etc/ppp/chat.ppp a vložte do něj "odposlechnuté" stringy z terminálu ve tvaru 'string připojeného zařízení' 'odpoveď'. Vše může vypadat třeba takto (Nokia 9110i komunikátor):
'++ATH' 'OK'
'ATZ' 'OK'
'ATM0' 'OK'
'ATDT1' 'CONNECT'
9) vše uložit, přihlašte se na konzoli jako root a zadejte příkaz:
/usr/sbin/pppd /dev/ttyS0 >> /var/log/zz 2>&1
10) inicializovat vytáčení z připojeného zařízení a za několik málo vteřin jste propojeni. Kdyby ne, v souboru /var/log/zz najdete výstup chybových hlášení.
11) nyní jste však pouze připojeni ke stolnímu počítači. Chcete-li jeho prostřednictvím na internet, musíte zabezpečit routování mezi rozhraním ppp0 (komunikátor) a eth0 / eth1 (či cokoli jiného, přes co se připojujete ven). V ideálním případě by měl routování zabezpečit příkaz proxyarp v konfiguračním souboru. My jsme však routování nevyužívali, používali jsme pouze squid, takže se připojujeme pouze na web a pouze přes squid démona - v browseru jednoduše nastavíme jako proxy server 192.168.0.1 s portem 3128.
Poznámka na závěr: výše popsaný způsob jistě není jediným možným a možná ani nejjednodušším. Nevyžaduje však pořizování komunikačního softwaru třetích firem. V průběhu času se nám osvědčil pro testování internetových aplikací nejen na chytrých mobilech, ale také na kapesních počítačích či noteboocích nevybavených síťovými kartami. Pro každé z těchto zařízení totiž připravíme specifický soubor pro chat.