g_serial and cdc_acm communications

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

 



I'm trying to transfer data across a USB port via g_serial
(on gadget side) and cdc_acm (on host side) but I'm seeing
some strange behavior and I want to get some advice on where
I can start looking.  This is on an MPC8313 based system
running the latest kernel.

I have written a pair of applications that open each device
(ttyGS0 and ttyACM0) and transfer data back and forth.
However when I'm running the apps  the gadget side will send
(or think it sent) all appropriate data to the host side,
but the host will only receive part of the transmission and
time out in the select() call.  I am not seeing any errors
from the gadget side kernel but occasionally this will lock
up my host system.  Small data transfers of around 200 bytes
or less seem to work fine, but when I try larger transfers
(1k or greater) I will see it fail (timeout in select()).

I know that my data transfer 'protocol' works as it works
great over ethernet and fsl-usb2-udc seems to work fine also
as I can do this using g_ether, but I'm not sure whether
this is a problem within g_serial, its interface with
fsl-usb2-udc, or my setup of the tty device in the
applications.  I've tried a ton of different configurations
with the termios structure but haven't seen this work
reliably.

Thanks for your feedback and let me know if you need more
information about the problem.

Ron
--
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