This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

USB Bulk device program not working

Other Parts Discussed in Thread: TMDXEVM3358

I tried to test USB Bulk device program on EVM335x (from starterware USB lib, examples). I have connected USB data cable to USB0 port of evm335x base board and other end to a laptop having windows7 OS. As per the USB  User guide, I have installed stellaris USB driver, bulk device application on my laptop.

After I execute the bulk device program on EVM335x, on my laptop, i am getting "Unknown device found" error. It is not indicating "New hardware found" message. The inf file has VID =1CBE and PID=03.

Please advice how to go Further. I have made sure that in bulk device program on EVM335X, Same VID, PID is included.

Note: program on EVM335x doesn't get any event (connected / rx event / disconnected) and simply is waiting in the while loop

  • Did you plug in the board before your installed the driver? If windows fails to load the driver the first time for a particular VID and PID, it will remembers the failure and won't try again to find the driver. You have to unistall the device in the device manager to get windows to try again. You may have to uninstall with delete, reinstall the driver, then plug in the board.
  • Hello Wong,

    We made sure that driver is installed and then only we powered on. We had a mismatch in the data rate. We want to work in Full speed (12Mbps) but starterware was setting it for 480Mbps. This we found from a test USB sniffer on the PC. Can you please tell how which part of code to be modified to change data rate? Presently, we edited power control register from our debugger and we have set to 12Mbps.

    Also, we have changed all ulindex parameters within the function to ulindex =1; Still it is not working. After executing the code on my board, on PC, we are getting a message "Device not recognized" / " unknown device" . Also the message is getting set through some other catergory, not under bulk device.

    Please let me know how to make the starterware USB lib to work for USB PORT1.
  • My experience is with StarterWare on the C6747 and C6748. I can only guess about the AM335X. On Windows, do you see the bad device in the device manager at all? Check the properties on the bad device and look for VID and PID numbers. If you have a USB sniffer, you can see which descriptors are being sent across. You can also use USB Descriptor Display or Dump programs to see what descriptors have been received by the PC.

    From quick look at the TMDXEVM3358 schematic, USB1 is wired up to be a host port. Are you talking about a custom board now?

    Hopefully some AM335X experts can respond.
  • I think the platform code does not support USB1. See
    AM335X_StarterWare_02_00_01_01\platform\...\usb.c
    End result is that USB1 is not clocked.
    Change calls to USB0ModuleClkConfig() as well.