How we fixed Windows does not auto-install RNDIS driver for USB composite device

Description of the issue:

By 2017, there was no USB composite device which could get Windows host to auto- install RNDIS driver.

We were developing a USB composite (RNDIS + Mass Storage) for a client. Windows host can not auto-install RNDIS driver.

The product was based on Linux.


The challenge was that Windows host was like a black box, there was no way to set a breakpoint at Windows to see the error messages.

Our approach:

We very carefully read MSDN for how Windows enumerate USB devices, after some tries and with some luck, we fixed this.