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 Driver device descriptor strings (in going from SDK6 to ProcessorSDK 1.03 on AM335x)?

How has the implementation of USB driver device descriptor strings changed from SDK6 to ProcessorSDK 1.03 on AM335x?

When enumerating a CDC Ethernet Device, there are differences in the strings that are sent with the device descriptor. Looking at the string definitions in the ether.c files, they are the same though. Somewhere in [ ProcessorSDK 1.03] they’re getting changed from their initial values.

Any idea where this is done?  Does it have something to do with ConfigFS and GadgetFS?

  • I have asked the USB experts to comment. They will post directly here.
  • Joe,

    Can you please provide more detail or log on what exact difference you are seeing between the two versions?
  • Joe,

    Joe George said:
    How has the implementation of USB driver device descriptor strings changed from SDK6 to ProcessorSDK 1.03 on AM335x?

    Yes, the way to compose the descriptors is changed in Processor SDK from SDK6, due to the architecture change in kernel usb gadget framework.

    Now in Processor SDK 1.0 or newer, you can customize the descriptor strings using module parameters when loading the driver module (modprobe g_ether), the module parameters are

    idVendor, (unsigned short int),
    idProduct, (unsigned short int),
    bcdDevice, (unsigned short int),
    iSerialNumber, (char string),
    iManufacturer, (char string),
    iProduct, (char string)

  • Thanks, but having trouble with the syntax since the shell (seems to) objects to the special characters..in the product string

    Could this be an ASCII string/format issue?

    As an example:

    I tried just adding a –iProduct parameter string and got:

    modprobe: invalid option -- ‘P’

    it looks like modprobe is interpreting –iProduct as –iP and there is no P option.

    Do you have a working example?

  • Sorry for the confusion, there is no leading '-' for each parameter, they are kernel module params. I added the '-' in my post is only for formatting. I will remove them.

    Here is an example:

    # modprobe g_ether iProduct='Test USB Dongle'