Electronic – What does the USB non-removable strap option actually change

usbusb hub

I am designing a device that uses a Microchip USB2412 2-port USB hub. The downstream ports of the hub are internally directly connected to other devices. Upstream is a removable USB B for power & data.

The USB2412 has the option to specify that the downstream ports are non-removable.

Should I set those bits to true? I think the answer is yes but maybe those are intended for use when the upstream is non-removable. I've seen references to this being useful when the hub is permanently connected to upstream but none when the hub itself is removable.

But more importantly, will setting the non-removable flags actually change anything for my use case? Does this affect other use cases differently?

Best Answer

The information about whether a port is "removable" or not serves mostly the purpose of hub/device (compound device) certification. When the USB compliance software runs, it will check for various port functionality (like ability to wake the device up upon device attach, ability of not to wake up when this function is disabled, etc, etc). This is done by instructing the person who conducts the test to plug-unplug a regular USB mouse to ports under the test, multiple times. If you have embedded devices permanently attached to some ports and do not declare them as "non-removable", the software will assume that these ports are "user accessible", and will wait for operator to plug-unplug the test mouse into it, which obviously will be impossible. So the test will time-out and fail, failing the entire certification. If you lie and declare your ports non-removable at the time of testing, the software will flag the discrepancy between test declarations and descriptors, and certification will fail as well. So it is good to declare user non-accessible ports as non-removable using the manufacturers configuration process.

Related Topic