I am using an AM3517 on a LogicPD module to communicate with a PC application via RNDIS. I am finding that on Windows XP and 7 that USB communication locks up after several minutes. The PC application and AM3517 communicate using a query-response protocol. (The PC sends a query, the AM3517 processes it and responds back.) From two captures of traffic using Wireshark, it looks that the final packet of the response from the AM3517 does not appear and a host receive call times out. Afterwards, you cannot ping from the computer to the AM3517 or the other direction. Unplugging and replugging the device I can ping from the computer to the AM3517 again.
I am using TI SDK 05.02.00.00. I modified one line of the kernel source to disable high speed because hardware problems prevented the AM3517 from communicating with some PCs. I commented out line "| MUSB_POWER_HSENAB on line 908 of ../drivers/usb/musb/musb_core.c to do this. I noticed that RNDIS ran extremely slow after I disabled high speed, so I disabled DMA transfer by setting "CONFIG_MUSB_PIO_ONLY=y" in the kernel configuration file.
I know that when the board that the module is on could communicate using high speed and an enabled DMA, this problem was not seen. Long-term testing of USB communication was done.
Any ideas on how to diagnose what the problem is? Also, a fix to allow enabling of the DMA could be useful also.