Hi all. Starting with kernel 2.6.16 I observe a strange behaviour of my usb modem (Zyxel omni56k uno). Some characters (and sometimes pairs of characters) read from modem are duplicated, like this:
Apr 19 22:52:23 lav chat[2153]: CONNECCT 4608800/V..9292 506666/V44^M I have turned on debug in cdc-acm driver, added tty_insert_flip_string debug print, and got this for the above CONNECT line: Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: Entering acm_read_bulk with status 0 Apr 19 22:52:23 lav last message repeated 8 times Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: Entering acm_rx_tasklet Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: acm_rx_tasklet: procesing buf 0xdf0dc1bc, size = 0 Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: tty_insert_flip_string() Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: acm_rx_tasklet: procesing buf 0xdf0dc20c, size = 1 Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: tty_insert_flip_string(O) Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: acm_rx_tasklet: procesing buf 0xdf0dc1d0, size = 0 Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: tty_insert_flip_string() Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: acm_rx_tasklet: procesing buf 0xdf0dc248, size = 2 Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: tty_insert_flip_string(NN) Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: acm_rx_tasklet: procesing buf 0xdf0dc298, size = 1 Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: tty_insert_flip_string(E) Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: acm_rx_tasklet: procesing buf 0xdf0dc2ac, size = 1 Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: tty_insert_flip_string(C) Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: acm_rx_tasklet: procesing buf 0xdf0dc180, size = 2 Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: tty_insert_flip_string(CT) Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: acm_rx_tasklet: procesing buf 0xdf0dc284, size = 0 Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: tty_insert_flip_string() Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: acm_rx_tasklet: procesing buf 0xdf0dc1a8, size = 1 Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: tty_insert_flip_string( ) Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: acm_rx_tasklet: sending urb 0xdf1f6220, rcv 0xdf0dc0a4, buf 0xdf0dc1a8 Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: acm_rx_tasklet: sending urb 0xdf1f62a0, rcv 0xdf0dc090, buf 0xdf0dc284 Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: acm_rx_tasklet: sending urb 0xdf1f6320, rcv 0xdf0dc07c, buf 0xdf0dc180 Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: acm_rx_tasklet: sending urb 0xdf1f63a0, rcv 0xdf0dc068, buf 0xdf0dc2ac Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: acm_rx_tasklet: sending urb 0xdf1f6420, rcv 0xdf0dc054, buf 0xdf0dc298 Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: acm_rx_tasklet: sending urb 0xdf7d8440, rcv 0xdf0dc040, buf 0xdf0dc248 Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: acm_rx_tasklet: sending urb 0xdf7d8cc0, rcv 0xdf0dc16c, buf 0xdf0dc1d0 Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: acm_rx_tasklet: sending urb 0xdf1f65a0, rcv 0xdf0dc158, buf 0xdf0dc20c Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: acm_rx_tasklet: sending urb 0xdf7d8d40, rcv 0xdf0dc144, buf 0xdf0dc1bc Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: Entering acm_read_bulk with status 0 Apr 19 22:52:23 lav last message repeated 11 times Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: Entering acm_rx_taskletApr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: acm_rx_tasklet: procesing buf 0xdf0dc194, size = 0 Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: tty_insert_flip_string() Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: acm_rx_tasklet: procesing buf 0xdf0dc25c, size = 2 Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: tty_insert_flip_string(46) Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: acm_rx_tasklet: procesing buf 0xdf0dc270, size = 1 Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: tty_insert_flip_string(0) Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: acm_rx_tasklet: procesing buf 0xdf0dc220, size = 1 Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: tty_insert_flip_string(8) Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: acm_rx_tasklet: procesing buf 0xdf0dc234, size = 1 Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: tty_insert_flip_string(8) Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: acm_rx_tasklet: procesing buf 0xdf0dc1e4, size = 0 Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: tty_insert_flip_string() Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: acm_rx_tasklet: procesing buf 0xdf0dc1f8, size = 2 Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: tty_insert_flip_string(00) Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: acm_rx_tasklet: procesing buf 0xdf0dc1a8, size = 0 Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: tty_insert_flip_string() Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: acm_rx_tasklet: procesing buf 0xdf0dc284, size = 1 Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: tty_insert_flip_string(/) Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: acm_rx_tasklet: procesing buf 0xdf0dc180, size = 1 Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: tty_insert_flip_string(V) Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: acm_rx_tasklet: procesing buf 0xdf0dc2ac, size = 1 Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: tty_insert_flip_string(.) Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: acm_rx_tasklet: procesing buf 0xdf0dc298, size = 1 Apr 19 22:52:23 lav kernel: drivers/usb/class/cdc-acm.c: tty_insert_flip_string(.) It appears that the duplicate data are coming from a lower level of usb drivers, but I have not taken a look there yet. I hope this information would be useful for finding the bug. -- Alexander. ------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Linux-usb-users@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-users