How are muliple Tetrahubs with same VID/PID addressed without having any serial number?

Question: If serial numbers are not supported by TetraHub, how does the OS differentiate between multiple Tetrahubs with same VID/PID when plugged into the same USB host.

 

Answer:

The VID/PID/DID can be modified from the deafult Cypress VID/PID/DID by using an external SPI EEPROM. A vendor must use his own VID/PID/DID (VID different than the Cypress defaults). The OS assigns a unique adresse to each of the TetraHubs and referes/talks to the device by this address. So a serial number is not really relevant or needed. For hubs, there is no reason for a system other than the OS itself to access them. The OS maintains the device tree in its memory. A user program could "walk the tree" as it is called, polling the OS as to what is connected at each node of the USB device tree. But again, there should really be no reason for any application to do so as the TetraHub is a fixed function.