Open svenpanke opened 5 years ago
Windows has no CDC ECM support. If you are targeting Win only, just disable the CDC ECM interface in USB settings. Windows uses RNDIS.
Be sure to grant a different product ID or vendor ID when disabling/enabling USB functions, to avoid issues with cached configurations on Windows end
I had been frustrated by this compatibility gap on another gadget platform. This means that one cannot make an out-of-the-box gadget. I wonder if it is possible to fingerprint the target in some other way and automatically unload/reconfigure. (Thanks for the product ID/vendor ID tip. It is sneakier than cleansing the target.)
I wonder if it is possible to fingerprint the target in some other way and automatically unload/reconfigure
The following comment in the legacy P4wnP1 answers that question:
# Note: Detection for RNDIS (usb0) is done first. In case it is active, link availability
# for ECM (usb1) is checked anyway (in case both interfaces got link). This is done
# to use ECM as prefered interface on MacOS and Linux if both, RNDIS and ECM, are supported.
In other words, yes, it is possible. If usb1 is torn down when RNDIS is detected, Windows should not complain.
ALOA follows a slightly different approach.
If RNDIS and CDC ECM are enabled, two USB ethernet interfaces exists on Pi0W end.
Legacy P4wnP1:
A.L.O.A.:
usbeth
For details on cached USB descriptors for Windows, see my comments in legacy P4wnP1 source:
https://github.com/mame82/P4wnP1/blob/master/boot/init_usb.sh#L150
Caution: I don't give support for manual registry manipulation, as it could easily mess up Windows USB stack (had hard times with this myself). So the easiest thing one could do, is to use a dedicated USB PID per gadget configuration.
I managed to connect my broken Win10 laptop to TV and plugged in p4wnp1.aloa. A transient message says "Installing new device P4wnP1", then "Your device is ready to use." If I go to Control Center, there is indeed a P4wnP1 device with the note "No driver available".
On the other hand, I can verify that the RDNIS interface is fully functional with a p4wnp1 assigned address. (Same as @svenpanke observed.) In other words, this "unknown device" is not an impediment. (It also disappears once p4wnp1 is detached.)
When i plug in the P4wnP1 ALOA Stick it boots up, i have acess to the Control Panel over USB and Wifi too. But it seems that Windows 10 does not find the driver... I have testet it on two different PCs. Has anyone else the same problem?