Tool/software: Linux
Hi,
[Background]
I'm am trying to implement CarPlay on the TI J6 (Android OS - 6AM.1.3).
I was able to configure the USB gadget on the USB 2.0 port and trigger the USB Role Switch then change the USB port to 'device' mode.
iPhone (as the USB host) then does the USB enumeration (of the TI J6) then communication starts over the Bulk In/Out interface.
I am currently using Generic Serial Interface for Bulk In/Out which is used for iAP communication.
[Problem]
Things are working well until packets are exchanged over the USB Generic Serial Interface (/dev/ttyGS0).
I am able to write data but nothing is being read from the generic serial interface (/dev/ttyGS0).
The Beagle USB 480 Protocol Analyzer does show that data is being sent both ways on the Bulk In/Out
however 'read()' blocks or calling 'ioctl (fd, FIONREAD, &n);' always returns 0.
I am currently using two file descriptors. One for reading and one for writing:
> #define IAP2_ENDPOINT_PATH "/dev/ttyGS0"
> m_fd_iap2_read = open(IAP2_ENDPOINT_PATH, O_RDONLY | O_NOCTTY);
> m_fd_iap2_write = open(IAP2_ENDPOINT_PATH, O_WRONLY | O_NOCTTY);
I did also test using a Linux Host with the TI J6 set to 'device' mode.
In this case, I had no issues reading or writing data using /dev/ttyGS0 on the TI J6.
I currently do not have a way for you to reproduce this problem but could you provide some suggestions on what possibly can be wrong?
Thanks,
Alan