Web'n'walk
Tartalomjegyzék
Telepítés
Szükséges csomagok:
- kernel-sources
- gcc
- make
Két programot kell telepítenünk. Egy illesztőprogramot a modemhez, illetve egy kis segédalkalmazást, amely automatizálja ennek használatát. Első lépésben nyissunk egy terminált, és váljunk root felhasználóvá:
enovak@enovak:~> su - Jelszó: enovak:~ #
Csatlakoztassuk valamelyik USB portra a modemet. Ekkor a windowsos automatikus telepítő miatt a megnyílik egy ZeroCD ablak. Zárjuk be az ablakot és ellenőrizzük, hogy mount-olva van-e az eszköz. Ha igen, válasszuk le. Ha ezt nem tennénk, akkor a később leírt modem switch nem tudja erről az usb eszközről leválasztani az usb-storage kernelmodult.
enovak:~ # mount [...] /dev/sr1 on /media/ZeroCD type iso9660 (ro,nosuid,nodev,noatime,uid=1000,utf8) enovak:~ # umount /dev/sr1
Nézzük meg, hogy néz ki az lsusb kimenete.
enovak:~ # lsusb Bus 002 Device 001: ID 0000:0000 Bus 001 Device 002: ID 0af0:6971 Option Bus 001 Device 001: ID 0000:0000
A második sorban látszódó Option a HSDPA modem, az eszközazonosítója 0af0:6971. Csatoljuk fel az usbfs-t, és a Globetrotter szóra keresve nézzük meg az eszköz jellemzőit a /proc/bus/usb/devices fájlban:
enovak:/home/enovak/Documents/Work/NPSH/WebNWalk/hso-1.6 # mount usbfs enovak:/home/enovak/Documents/Work/NPSH/WebNWalk/hso-1.6 # less /proc/bus/usb/devices T: Bus=01 Lev=01 Prnt=01 Port=06 Cnt=01 Dev#= 2 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs= 1 P: Vendor=0af0 ProdID=6971 Rev= 0.00 S: Manufacturer=Option N.V. S: Product=Globetrotter HSDPA Modem S: SerialNumber=Serial Number C:* #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=500mA I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=usb-storage E: Ad=83(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=03(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=85(I) Atr=03(Int.) MxPS= 16 Ivl=128ms I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=usb-storage E: Ad=84(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=04(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
A 4. sorban látszik, hogy az usb-storage kernel modul használja ezt az eszközt. Most le kell töltenünk az eszköz-illesztőprogramot. Ezt a fejlesztők egy fórumban teszik közzé a PHARscape.org oldalán. Keressük meg a legutolsó verziót, töltsük le egy ideiglenes könyvtárba. A szócikk írásának pillanatában az 1.12-es verzió a legújabb. (2009.07.03.)
A letöltött tar.gz -t csomagoljuk ki, és lépjünk bele a létrejövő könyvtárba:
enovak:~ # tar xzf hso-1.12.tar.gz enovak:~ # cd hso-1.12/
Majd fordítsuk le, és telepítsük a kernelmodult:
enovak:~/hso-1.12 # make enovak:~/hso-1.12 # make install
Az illesztőprogram a következő azonosítójú eszközöket támogatja:
{USB_DEVICE(0x0af0, 0x6711), {USB_DEVICE(0x0af0, 0x6731), {USB_DEVICE(0x0af0, 0x6751), {USB_DEVICE(0x0af0, 0x6771), {USB_DEVICE(0x0af0, 0x6791), {USB_DEVICE(0x0af0, 0x6811), {USB_DEVICE(0x0af0, 0x6911), {USB_DEVICE(0x0af0, 0x6951), {USB_DEVICE(0x0af0, 0x6971), {USB_DEVICE(0x0af0, 0x7011), {USB_DEVICE(0x0af0, 0x7031), {USB_DEVICE(0x0af0, 0x7051), {USB_DEVICE(0x0af0, 0x7071), {USB_DEVICE(0x0af0, 0x7111), {USB_DEVICE(0x0af0, 0x7211), {USB_DEVICE(0x0af0, 0x7251), {USB_DEVICE(0x0af0, 0x7271), {USB_DEVICE(0x0af0, 0x7311), {USB_DEVICE(0x0af0, 0xc031), {USB_DEVICE(0x0af0, 0xd013), {USB_DEVICE(0x0af0, 0xd031), {USB_DEVICE(0x0af0, 0xd033),
Látható tehát, hogy a 0af0:6971-es azonosítójú Web'n'walk stick támogatott. Most húzzuk ki a modemet, majd csatlakoztassuk újra. Mivel az openSUSE újra felcsatolja a ZeroCD-t, válasszuk le megint - ezt majd hamarosan orvosoljuk. A betöltött kernelmodulok között már megjelenik a hso modul, illetve létrejönnek az eszközfájlok is a /dev alatt:
enovak:~ # umount /dev/sr1 enovak:~ # lsmod | grep hso hso 42120 0 rfkill 10768 2 hso usbcore 124268 5 hso,usb_storage,ehci_hcd,ohci_hcd enovak:~ # ls -l /dev/ttyH* crw-rw---- 1 root dialout 252, 0 Oct 2 11:31 /dev/ttyHS0 crw-rw---- 1 root dialout 252, 1 Oct 2 11:31 /dev/ttyHS1 crw-rw---- 1 root dialout 252, 2 Oct 2 11:31 /dev/ttyHS2
Az eszköz tehát még automatikusan felcsatolásra kerül, illetve egyelőre az usb-storage, és nem a frissen fordított kernelmodult használja. A problémát orvosoljuk az udev beállításait felülbíráló segédprogrammal. Letöltés után csomagoljuk ki, és telepítsük:
enovak:~ # tar xzf udev.tar.gz enovak:~ # cd udev/ enovak:/udev # make install
Ennek hatására a modemet csatlakoztatva nem kerül felcsatolásra az eszköz, és már a hso modul töltődik be hozzá.
Konfigurálás
Már csak be kell állítani a csatlakozási paramétereket. Ehhez a kicsomagolt hso archívumban szerkesszük a connect.sh fájlt. Az első sorokban adható meg a használni kívánt hálózat, és a PIN kód. Az eredeti fájl:
export APN="internet.eplus.de" export USR="eplus" export PAS="gprs" export PIN="0000"
és módosítás után:
export APN="internet" #export USR="eplus" #export PAS="gprs" export PIN="0000"
A fenti beállítás a magyarországi T-Mobile hálózatot fogja használni ('internet'), és 0000-ás PIN kódot használ. Természetesen ide a saját kódunkat állítsuk be.
Keressük meg a fájlban a következő, #-jellel kezdődő sorokat, és távolítsuk el a #-jelet:
#ifconfig hso0 $PIP netmask 255.255.255.255 up ORT="`route | grep default | awk '{printf $8}'`" # find the old default route and replace it #route delete default dev $ORT echo "add route" #route add default dev hso0 #mv -f /etc/resolv.conf /tmp/resolv.conf.tmp
tehát így nézzen ki a connect.sh adott szakasza:
ifconfig hso0 $PIP netmask 255.255.255.255 up ORT="`route | grep default | awk '{printf $8}'`" # find the old default route and replace it route delete default dev $ORT echo "add route" route add default dev hso0 mv -f /etc/resolv.conf /tmp/resolv.conf.tmp
Csatlakozás
Most pedig csatlakozzunk a 3G hálózatra. Első lépésben inicializáljuk a modemet:
enovak:/hso-1.6 # ./connect.sh init init ATZ OK AT+CPIN="6316" OK AT+COPS=0 OK AT+COPS=? OK AT+CGDCONT=1,,"internet" OK AT$QCPDPP=1,1,"","" ERRORFailed (ERROR)
Az ERRORFailed (ERROR) sor nem probléma. A modem ledjei már nem villognak, hanem pulzálva világítanak. Most aktiváljuk a kapcsolatot:
enovak:/home/enovak/Documents/Work/NPSH/WebNWalk/hso-1.6 # ./connect.sh up connecting ATZ OK AT_OWANCALL=1,1,0 OK AT_OWANDATA=1 _OWANDATA: 1, 79.122.56.251, 0.0.0.0, 84.2.44.1, 84.2.46.1, 0.0.0.0, 0.0.0.0, 72000 OK n inet connected add route set nameserver
Elvileg létrejött a hso0 nevű interfészünk:
enovak:/home/enovak/Documents/Work/NPSH/WebNWalk/hso-1.6 # ifconfig
[...] hso0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr:79.122.1.177 P-t-P:79.122.1.177 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1486 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:5 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:10 RX bytes:0 (0.0 b) TX bytes:6374 (6.2 Kb)
Kész vagyunk, már működnie kell a kapcsolatnak. A konfigurálás ezennel kész, ha máskor használni szeretnénk a HSDPA kapcsolatunkat, csak a connect.sh -t kell meghívnunk.
Probléma esetén
Ha:
- a csatlakozás után esetleg még nem működik a kapcsolat, próbáljunk le-, majd újra csatlakozni a connect.sh down paranccsal.
- nem jelennek meg a ttyH* device-ok, akkor távolítsuk el, majd csatlakoztassuk újra a sticket.
- a következő üzenetet látjuk az udev.tar.gz csomag telepítése közben:
Looking for default devices Found default devices (1) All devices in target class mode No default device found. Is it connected? Bye
akkor csatlakoztassuk az usbfs-t:
mount usbfs
- a telepítés nem sikerül, bizonyosodjuk meg róla, hogy a telepítéskor nincs csatlakoztatva az eszköz.