Portál AbcLinuxu, 8. května 2025 22:54

Dotaz: Menici se USB zarizeni

15.3.2005 13:45 Pepajz
Menici se USB zarizeni
Přečteno: 120×
Odpovědět | Admin
Cau mam problem s udev na MDK 10, vanilla jadro 2.6.10, a misto devfs jsem nainstaloval udev. Do USB pripojuju modem GPC640 (tzn. cdma), vytvori se zarizeni /udev/ttyACM0 vytocim a modem se spoji.
Mar  5 22:34:15 localhost kernel: usb 1-1: new full speed USB device using ohci_hcd and address 2
Mar  5 22:34:15 localhost kernel: cdc_acm 1-1:1.0: ttyACM0: USB ACM device
Mar  5 22:34:15 localhost udev[2276]: creating device node '/udev/ttyACM0'
Mar  5 22:34:31 localhost kernel: CSLIP: code copyright 1989 Regents of the University of California
Mar  5 22:34:31 localhost kernel: PPP generic driver version 2.4.2
Mar  5 22:34:31 localhost pppd[2297]: pppd 2.4.1 started by root, uid 0
Mar  5 22:34:31 localhost udev[2300]: creating device node '/udev/ppp'
Mar  5 22:34:32 localhost pppd[2297]: Serial connection established.
Mar  5 22:34:33 localhost pppd[2297]: Using interface ppp0
Mar  5 22:34:33 localhost pppd[2297]: Connect: ppp0 <--> /dev/ttyACM0
Mar  5 22:34:37 localhost pppd[2297]: Remote message: ok
Mar  5 22:34:37 localhost kernel: PPP BSD Compression module registered
Mar  5 22:34:38 localhost pppd[2297]: local  IP address 10.166.239.2
Mar  5 22:34:38 localhost pppd[2297]: remote IP address 10.164.4.6
Mar  5 22:34:38 localhost pppd[2297]: primary   DNS address 160.218.10.200
Mar  5 22:34:38 localhost pppd[2297]: secondary DNS address 160.218.43.200
Problem je v tom, ze modem v ruzne dlouhych intervalech resetuje USB (zjistl jsem ze to je evivalentni k vysunuti a zanuti USB konetoru od modemu):
Mar  5 22:34:49 localhost kernel: usb 1-1: USB disconnect, address 2
Mar  5 22:34:49 localhost pppd[2297]: Hangup (SIGHUP)
Mar  5 22:34:49 localhost pppd[2297]: Modem hangup
Mar  5 22:34:49 localhost pppd[2297]: Connection terminated.
Mar  5 22:34:49 localhost pppd[2297]: Connect time 0.3 minutes.
Mar  5 22:34:49 localhost pppd[2297]: Sent 14568 bytes, received 486225 bytes. 
Po tomto resetu to na kozoli a do logu vyhodi:
Mar  5 22:34:49 localhost kernel: Unable to handle kernel NULL pointer dereference at virtual address 00000000
Mar  5 22:34:49 localhost kernel:  printing eip:
Mar  5 22:34:49 localhost kernel: c019b751
Mar  5 22:34:49 localhost kernel: *pde = 00000000
Mar  5 22:34:49 localhost kernel: Oops: 0000 [#1]
Mar  5 22:34:49 localhost kernel: Modules linked in: bsd_comp ppp_async crc_ccitt ppp_generic slhc
iptable_mangle ipt_REDIRECT ipt_MASQUERADE iptable_nat ip_conntrack ip_tables af_packet floppy
8139too mii cdc_acm ohci_hcd usbcore genrtc ext3 jbd
Mar  5 22:34:49 localhost kernel: CPU:    0
Mar  5 22:34:49 localhost kernel: EIP:    0060:[c019b751]    Not tainted VLI
Mar  5 22:34:49 localhost kernel: EFLAGS: 00010246   (2.6.10) 
Mar  5 22:34:49 localhost kernel: EIP is at get_kobj_path_length+0x19/0x34
Mar  5 22:34:49 localhost kernel: eax: 00000000   ebx: 00000000   ecx: ffffffff   edx: c4b7b0d8
Mar  5 22:34:49 localhost kernel: esi: 00000001   edi: 00000000   ebp: c20d7d7c   esp: c20d7d70
Mar  5 22:34:49 localhost kernel: ds: 007b   es: 007b   ss: 0068
Mar  5 22:34:49 localhost kernel: Process pppd (pid: 2297, threadinfo=c20d6000 task=c20b1580)
Mar  5 22:34:49 localhost kernel: Stack: 000000d0 c4b7b0b4 c031f94c c20d7d94 c019b7ca c4b7b0d8 c40e0278 c4b7b0b4 
Mar  5 22:34:49 localhost kernel:        c031f94c c20d7dc8 c01ef483 c4b7b0d8 000000d0 c37fd053 c40e0260 c031f94c 
Mar  5 22:34:49 localhost kernel:        c20d7dd8 c20d7dc8 00000000 c40e086c 00000000 00000000 c20d7e1c c019c307 
Mar  5 22:34:49 localhost kernel: Call Trace:
Mar  5 22:34:49 localhost kernel:  [c0102703] show_stack+0x83/0x90
Mar  5 22:34:49 localhost kernel:  [c0102842] show_registers+0x112/0x184
Mar  5 22:34:49 localhost kernel:  [c0102a02] die+0xc6/0x140
Mar  5 22:34:49 localhost kernel:  [c010db03] do_page_fault+0x48f/0x60b
Mar  5 22:34:49 localhost kernel:  [c010235b] error_code+0x2b/0x30
Mar  5 22:34:49 localhost kernel:  [c019b7ca] kobject_get_path+0x12/0x5c
Mar  5 22:34:49 localhost kernel:  [c01ef483] class_hotplug+0x43/0x120
Mar  5 22:34:49 localhost kernel:  [c019c307] kobject_hotplug+0x1c3/0x250
Mar  5 22:34:49 localhost kernel:  [c019bae3] kobject_del+0xf/0x24
Mar  5 22:34:49 localhost kernel:  [c01ef876] class_device_del+0x9a/0xb4
Mar  5 22:34:49 localhost kernel:  [c01ef89d] class_device_unregister+0xd/0x1c
Mar  5 22:34:49 localhost kernel:  [c01efd70] class_simple_device_remove+0x60/0x70
Mar  5 22:34:49 localhost kernel:  [c01d7388] tty_unregister_device+0x30/0x3c
Mar  5 22:34:49 localhost kernel:  [c6822442] acm_tty_close+0x9a/0xe4 [cdc_acm]
Mar  5 22:34:49 localhost kernel:  [c01d5898] release_dev+0x230/0x688
Mar  5 22:34:49 localhost kernel:  [c01d60d8] tty_release+0xc/0x18
Mar  5 22:34:49 localhost kernel:  [c014201b] __fput+0x4f/0xf0
Mar  5 22:34:49 localhost kernel:  [c0141fc6] fput+0x16/0x1c
Mar  5 22:34:49 localhost kernel:  [c0140dcf] filp_close+0x63/0x70
Mar  5 22:34:49 localhost kernel:  [c0140e27] sys_close+0x4b/0x60
Mar  5 22:34:49 localhost kernel:  [c01020f7] syscall_call+0x7/0xb
Mar  5 22:34:49 localhost kernel: Code: ff 83 c4 04 8d 65 f8 89 d8 5b 5e 89 ec 5d c3 8d 76 00
55 89 e5 57 56 53 be 01 00 00 00 31 db 8b 55 08 8b 3a b9
ff ff ff ff 89 d8 f2 ae f7 d1 49
8b 52 24 8d 74 31 01 85 d2 75 e7 89 f0 5b 5e 5f 
Pak se vytvori nove zarizeni, tentokrat ale /udev/ttyACM1 a i kdyz ttyACM0 tim padem uz neni aktivni stale ale existuje v /udev/ttyACM0
Mar  5 22:34:52 localhost kernel:  <6>usb 1-1: new full speed USB device using ohci_hcd and address 3
Mar  5 22:34:52 localhost kernel: cdc_acm 1-1:1.0: ttyACM1: USB ACM device
Mar  5 22:34:52 localhost udev[2374]: creating device node '/udev/ttyACM1'
Mar  5 22:35:07 localhost pppd[2378]: pppd 2.4.1 started by root, uid 0 
no a to je vsechno, dal uz pppd do logu nic nehlasi, pokud dam pppd vytoci znova tak:
Mar  5 22:35:58 localhost pppd[2412]: pppd 2.4.1 started by root, uid 0
Mar  5 22:35:58 localhost pppd[2412]: Device ttyACM1 is locked by pid 2378
Mar  5 22:35:58 localhost pppd[2412]: Exit. 
tzn. ze pppd to zarizeni echce pustit a i kdyz dam killall pppd tak se pppd stejne nechce ukoncit..

Nejde o nejak udelat tak, aby se to zarizeni vubec pri resetu nemenilo popr. to vyresit jinak?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

15.3.2005 13:49 jm
Rozbalit Rozbalit vše Re: Menici se USB zarizeni
Odpovědět | | Sbalit | Link | Blokovat | Admin
Hmm, a co treba resit pricinu a ne nasledky a ten modem reklamovat?
15.3.2005 15:34 Pepa
Rozbalit Rozbalit vše Re: Menici se USB zarizeni
Muzu s lidem rici ze to delaji vsechny ty smejdove modemy... zkusil jsem uz 3... mimochodem kdyz jsem to zkousel na jinem PC s devfs, zarizeni se sice menilo ale slo vytocit pres ttyACM0 i ttyACM1
15.3.2005 15:38 wake
Rozbalit Rozbalit vše Re: Menici se USB zarizeni
co si v udev rules nastavit pevny symlink a v aplikacich pristupovat pres nej ?
15.3.2005 15:42 jm
Rozbalit Rozbalit vše Re: Menici se USB zarizeni
To myslim ze nepomuze, protoze si tam pppd vytvori zamek stejne. Leda napsat nejakej skript, aby si pppd ten zamek pri spusteni smazal, kdyz ten sikmovokej kram pokazdy chcipne. :-(
15.3.2005 15:45 wake
Rozbalit Rozbalit vše Re: Menici se USB zarizeni
no, ppp se AFAIK odmyka, kdyz pada... ale to musi spadnout. takze spis do udev prip. hotplug (a ted varim z vody ;) preup a postdown scripty na zarizeni... takhle mi to chodi tedy ne s modemem ale s iPAQ/familiar ;). Bohuzel ted nejsem u stroje abych to moh postnout.
15.3.2005 17:25 Pepa
Rozbalit Rozbalit vše Re: Menici se USB zarizeni
jj podle me se to unlockne, ale pokud pak znova vytocim s ttyACM1 tak je to v koncich... Musim resetovat pocitac modem se tak hodi na ttyACM0 a muzu znova vytocit..

btw myslis ze bys to moh postnout az budes u toho sveho stroja?

jinak dik za napad..
15.3.2005 17:38 Pepa
Rozbalit Rozbalit vše Re: Menici se USB zarizeni
jo a jinak pro doplneni.. pokud se modem resetuje a neni zrovna aktivni spojeni, pak se zatizeni hodi znovu na ttyACM0 a jde pak zas v pohode vytocit...
16.3.2005 19:41 Pepa
Rozbalit Rozbalit vše Re: Menici se USB zarizeni
Vi teda prosim ekdo jak na to? docela o specha...
16.3.2005 22:14 wake
Rozbalit Rozbalit vše Re: Menici se USB zarizeni

takze v gentoo je to takhle (pro muj mobylni modem):
do souboru /etc/udev/rules.d/10-local.rules date radek BUS="usb" SYSFS{idProduct}="XXXX" SYSFS{idVendor}="YYYY" name="%k" SYMLINK="moudem", kde XXXX a YYYY jsou prislusne identifikatory z /sys/....... Potom pppd nakonfigurujete tak, aby jako device pouzival /dev/modem.

enjoy ;)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.