USB modem - SOLVED

Zbyněk Burget zburget at burgnet.cz
Wed Apr 28 08:29:04 CEST 2010


Dne 19.4.2010 13:54, Zbyněk Burget napsal(a):
> cuaUX+1). Chtel jsem nejak sikovne priohnout devd, pripadne s tim, ze by
> se po pripojeni mobilu zeditoval ppp.conf (aby se tam napsalo spravne
> zarizeni).

Tohle se nakonec podarilo - nevim, jak dalece ciste to je a jak dalece 
je to 100%, ale mne to ted funguje celkem spolehlive
Na tom stroji je vic USB/serial zarizeni a spolehlive funguje i vytazeni 
a pripojeni za behu systemu...
pisnu sem konfiguraci devd (a to jak pro pripojeni, tak pro odpojeni USB 
serila zarizeni

> 1. vytvori nejdriv zarizeni usb/K.L.M:
> !system=DEVFS subsystem=CDEV type=CREATE cdev=usb/2.2.1
> a v devd se zpracovava, jako notify
> techto zarizeni se udela 7: 2.2.1 az 2.2.7

tohle jsem nijak nepouzil


>
> 2. vytvori se neco, co nevim, co je:
> ? at port=1 interface=0 vendor=0x0fce product=0xd016 devclass=0x02
> devsubclass=0x00 sernum="352558014704606_0" release=0x0000 intclass=0x02
> intsubclass=0x08 on uhub2
> a v devd se zpracovava, jako nomatch

porad nevim, co to je, tak jsem to taky nepouzil

> 3. vytvori se ttyUX, ttyUX.init, ttyUX.lock cuaUX, cuaUX.init a cuaUX.lock:
> !system=DEVFS subsystem=CDEV type=CREATE cdev=cuaU4
> a toto je zpracovavano opet jako notify

pro zpracovani tehle udalosti mam v devd.conf nasledujici:
notify 10 {
         match "cdev" "cuaU[0-9]+$";
         match "type" "CREATE";
         action "echo $cdev > /tmp/cuaU.tmp";
};

notify 10 {
         match "cdev" "cuaU[0-9]+$";
         match "type" "DESTROY";
         action "if [ -f /tmp/cuaU.tmp ]; then rm /tmp/cuaU.tmp; fi";
};

takze pri zapihnuti zarizeni do USB se vytvori temp soubor (ten je pak 
mazany pri inicializaci zarizeni samotneho, zde se smazne pro pripad, ze 
by do stroje nekdo vrazil takove USB/serial zarizeni, ktere nebude 
zpracovano dale.

>
> 4. vytvori se device umodemY:
> +umodem0 vendor=0x0fce product=0xd016 devclass=0x02 devsubclass=0x00
> sernum="352558014704606_0" release=0x0000 intclass=0x02 intsubclass=0x02
> at port=1 interface=1 vendor=0x0fce product=0xd016 devclass=0x02
> devsubclass=0x00 sernum="352558014704606_0" release=0x0000 intclass=0x02
> intsubclass=0x02 on uhub2
> a je to zpracovavano jako attach

a tohle je zpracovano nasledovne:
attach 100 {
         device-name "umodem[0-9]+";
         match "vendor" "0x0fce";
         match "product" "0xd016";
         match "sernum" "352558014704606_0";
         action "if [ ! -f /var/run/umodem* ] || ! grep -q tun10 
/var/run/umodem*; then sed 's/set device .*/set device \/dev\/'`grep 
cuaU /tmp/cuaU.tmp`'/' /etc/ppp/ppp.conf > /etc/ppp/ppp.conf.temp; mv 
/etc/ppp/ppp.conf.temp /etc/ppp/ppp.conf; ppp -unit 10 -ddial o2cz; echo 
tun10 > /var/run/$device-name; fi; rm /tmp/cuaU.tmp";
};

detach 100 {
         device-name "umodem[0-9]+";
         action "if [ -f /var/run/$device-name ]; then pkill -F 
/var/run/`cat /var/run/$device-name`.pid; ifconfig `cat 
/var/run/$device-name` destroy; rm /var/run/$device-name; fi";
};

situaci krapet komplikuje fakt, ze ten pouzity mobil je dvouportovy - 
takze bylo potreba zajistit, aby se nesnazil vytacet na obou portech.
neprijemne je to, ze pri odpojeni zarizeni uz devd nema informaci o 
vendor/product/serial, musel jsem to tedy resit nejakym dalsim pomocnym 
souborem na disku. Jedine nebezpeci tedy vnikne v okamziku, kdy system 
padne a zustane tam ten pomocny soubor viset. Zatim je ho potreba 
smaznout rucne, zatim jsem moc nehloubal nad tim, ve kterem miste startu 
systemu ho nechat smaznout.

> 5. pak nasleduji ttyUX+1,...,cuaUX+1.lock, umodemY+1 a nakonec jeste
> nejaky umass a da0 - ale to mne nijak netrapi ani nezajima...

Viz vyse. A co neni viz vyse, tak mne nezajima.

Pokud nekdo uvidi neco, co jsem ja nevidel, nevahejte mi to omlatit o 
hlavu ;-)
Pripadne kdyby nekdo takhle z voleje vedel, kde se promaznout soubor po 
strartu driv, nez nabiha devd resp. driv nez devd zpracovava pripojena 
zarizeni, tak mi to sem taky pisnete.

-- 
Zbyněk Burget
Nádražní 224
798 26 Nezamyslice

tel: 588 580 000, 739 930 931
IČ:  606 88 220
DIČ: CZ7210184674


More information about the Users-l mailing list