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.