2025-07-09 12:15 AM
Hello,
I'm working on an adapter USB to Ethernet and it is working only as a DEVICE. Now I would like to do the same but I want my STM to work as HOST.
Is ST providing the same code stm32-mw-usb-device but for host?
Thanks,
G.
2025-07-09 4:19 AM
Hello @Gwen1,
You may want to take a look at this example and this thread, then try adapting them to your STM project:
Best regards,
2025-07-09 5:58 AM
Hello @STackPointer64,
I already read those topics... And this is for CDC ECM Device.
In my case, I would like my STM32 to work as an HOST.
What I have now:
Linux (HOST) : USB Port <-> USB Port : STM32 F207 with CDC ECM for USB (DEVICE) : Ethernet Port <-> Ethernet Port : Windows Machine (Linux and Windows can ping each other, so it works!)
And now I want this:
Linux (DEVICE) : USB port <-> USB port: STM32 F207 with CDC ECM for USB (HOST) : Ethernet Port <->Ethernet Port : Windows Machine
I tried to use the same code for the second case, but when I ping my Linux machine with Windows, the ARP table can't tell what the IP and MAC address of the Linux...
2025-07-11 7:26 AM
Hello,
From what you describe, your current setup works fine with Linux as the USB HOST and STM32 as the DEVICE using CDC ECM, allowing Linux and Windows to communicate over Ethernet. However, when you switch roles—making STM32 the HOST and Linux the DEVICE, and try to use the same ECM code, Windows cannot resolve the Linux device’s IP and MAC addresses in the ARP table. This is a common issue related to how Windows handles USB Ethernet protocols.
Windows primarily supports RNDIS, a proprietary Microsoft protocol for Ethernet over USB, and does not natively support ECM devices well. That’s why when your STM32 acts as HOST and Linux as DEVICE using ECM, Windows struggles with ARP resolution. but keep in mind that memory-limited MCUs cannot support these protocols properly.
To summarize:
If possible, try configuring the Linux device to use RNDIS when connected to Windows. This should help resolve the ARP and connectivity issues you’re facing.
Best regards,