Re: CDC_ACM, TU4310 and odd behaviour

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux