On Sat, Oct 23, 2010 at 04:59:36PM +0200, Paul-Kenji Cahier Furuya wrote: > Hello all, > > Recently TI has been promoting their new low power flagship processor, the > MSP430 by selling very cheap launchpads, that contain an usb-connected > board to program and test an MSP430. This board seems to appear as two > devices, a standard USB to serial port, managed by cdc_acm, and a hid > device, that actually implements ti's very own spy-by-wire protocol and > other oddities.(There are multiple toolkits that can use that device fine) > > The serial port allows easy communication with the device, but it seems to > be based on a TU4310 that does not always behave well with the linux kernel > cdc_acm part: by default the board comes programmed with a chipset that > just sends through the serial interface, 3 times per second, a single byte > that represents a temperature. > Once the ttyACM0 serial port is set to 2400baud and flow off(required > settings), usually a simple "stty 2400 -ixon</dev/ttyACM0" and cat, or > minicom, it does seem to give out the correct output. > However if one stops the minicom/cat, and waits a bit too long before > reopening it, the device seems to lock up, giving an i/o error for any > further operation, until it is unplugged and plugged again. From what I can > observe, it would seem TI's chipset has some sort of limited buffer that > fills up and then breaks. Catching up the buffer is of course possible as > long as it is still connected. I would assume TI's chipset is guilty, but > any suggestions/patches for a workaround to keep that buffer empty/stop it > from breaking/actually fixing the issue would be welcome. This sounds like the device is broken, especially due to this: > trying to reopen the ttyACM0 after too much time was waited and the > internal buffer is full: > [496322.483695] drivers/usb/class/cdc-acm.c: acm_control_msg: rq: 0x22 val: > 0x0 len: 0x0 result: 0 > [496322.485283] drivers/usb/class/cdc-acm.c: acm_ctrl_irq - urb shutting > down with status: -2 > [496322.486934] drivers/usb/class/cdc-acm.c: Entering acm_read_bulk with > status -2 > [496322.486939] cdc_acm 2-1:1.0: Aborting, acm not ready > [496322.488874] drivers/usb/class/cdc-acm.c: Entering acm_read_bulk with > status -2 How does other operating systems handle this device? Do they use the HID interface, or the cdc-acm interface? thanks, greg k-h -- 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