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.

MSP430 USB Com port for testing devices

Other Parts Discussed in Thread: MSP430F5529

 

 

Hi,

 

We are into mass production with MSP430F5529.

And after programming the devices, we will be using USB port to test the devices.

But the problem is each and every device needs to be enumerated as a new device with a new serial number,

and the driver installation, com port allocation will consume time, reducing the speed and the production phase will be slow.

 

Please let us know if there is any way to avoid enumerating devices with a different serial numbers and 

speed up the testing.

 

Regards.

mudigere

 

  • AFAIK, the enumeration of the USB port is done under full software control. There is no hardware ID that makes the device enumerate differently, unless the software (your software) tells it to do so.

    What about starting each device with the same ID, and after the test is performed and passed, a 'test passed, proceed with individual enumeration' is sent to the device which updates its configuration? After further starts, it will enumerate with its individual number.
    So for the initial test, all devices appear as the same one, using the same driver etc. For test result logging, there might be a command that reverals the real serial number upon request to the test software.
    Or every device is initially the same, and after the test has passed, the individual serial number/USB ID is set by the testing software (and stored in info memory)

     

  • This question is a FAQ of production / testing on USB :-)
    I believe the driver installation on each device, not the enumeration, is your real problem.

    When each device of your product has unique serial number, Windows add new device instance on its registry for each unique serial number. Windows install the same driver again and again. If it is a CDC device, COM port number is also assigned incrementally to each serial number.

    a) IgnoreHWSerNum registry setting

    IgnoreHWSerNum registry setting makes Windows ignore the difference of serial number. Instead, Windows see USB port 'location'. With this setting, Windows regard all devices of the same VID/PID as identical, as long as they are plugged into the same USB port. They are assigned to the same COM port number, for CDC devices. No driver installation occurs after the second and later devices.


    To apply IgnoreHWSerNum setting,


    Using a registry editor (regedit, etc),
    Add IgnoreHWSerNum entry under this key,
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\UsbFlags\

    The entry name should have VID/PID of the device. For example, VID/PID = 0xABCD / 0x1234
    IgnoreHWSerNumABCD1234

    Set its value to 0x01 (REG_BINARY, length must be exactly one byte)

    IgnoreHWSerNum is helpful for production and testing of USB devices.

    b) Clean up of registry

    If you've plugged in many devices without IgnoreHWSerNum, Windows registry holds device instances as many number as the plugged-in devices. The records bloat up the registry, and slow down Windows. Using a utility like USBDeview, delete (uninstall) these instances.

    USBDeview
    http://www.nirsoft.net/utils/usb_devices_view.html

    Tsuneo

  • Thank you Jens-Michael and Tsuneo,

     

    IgnoreHWSerNum registry setting solves the problem.

     

    Regards.

    Mudigere.

     

**Attention** This is a public forum