On Saturday 30 March 2013 03:20:15 Mike Verstegen wrote: > - Downloaded the source code for the cdc_acm driver. > - Added a bunch of printk debug messages and stack_dumps to follow what's going on. > - I rmmod'd the "stock" cdc_acm and insmod'd my instrumented module. > - All the device enumeration works, right driver attached, etc. > - Since the code works on Ubuntu 12.04/Linux 3.2, I grabbed the 3.2 cdc_acm code and compiled that module on the Centos 6 / Linux 3.6 platform. Using that 3.2 module instead of the 3.6 module did not make a difference. I reverted to the 3.6 module. > - Turned on the debug file system with usbmon and watched the USB traffic. I can see that there are extra characters being sent on the USB interface. > - To watch what's going on, on top of the printk's in the cdc_acm module, I've merged the output of usb mon (cat /sys/kernel/debug/usb/usbmon/3u | logger) and the output of the test application (scan_example /dev/ttyACM0 | logger -s) so I have a single stream of time correlated debug trail. > - The spurious characters sent on the USB endpoint are x5E x40 x5E x40 x5E x40 x5E x40 x41 (in ASCII its ^@^@^@^@A ) which looks like some sort of probing or trying to get the attention of a modem These characters are sent immediately after the application's write() causes the 4 hello bytes to be sent to the end point. To clarify, is acm_tty_write() called with the additional bytes or isn't it? Regards Oliver -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html