2019-07-15 02:32 PM
I connected the board to the OTG port. In the DFU mode, the USB port can be recognised correctly. When switching to the normal mode, Windows 10 cannot recognise the device. I tried to force to install the device as "Remote NDIS Compatible Device". Windows shows device status as "This device cannot start (Code 10)".
I have stuck on this issue for more than 2 weeks. Please help!
2019-07-15 11:11 PM
Hi @CRong
Could you please confirm you are following the procedure to setup ethernet over USB present in the help of SW4STM32 ?
STM32 MPU Family - MCU Support -> Tips and Tricks -> Ethernet-over-USB Windows 10 Set-up
Thx
Olivier
2019-07-16 12:54 AM
Hi Oliver @Community member
Thanks for your reply.
Yes, I did follow that procedure. The USB0 interface is up. However, in device manager, the OTG usb device is not recognised. It shows as "Unknown device". When using "Let me pick from a list of device drivers on my computer", it does not show "Remote NDIS compatible device" as in the procedure.
Thanks
Chris
2019-07-16 02:29 PM
I had the same problem on my new PC. But connecting the STM32MP via a USB2.0 HUB makes it work. I think it has something to do with OTG driver and new motherboards which supports usb C.
2019-07-17 12:08 AM
Thanks, Robin
Just ordered a USB hub. Will give a try ....
2019-07-18 01:24 PM
Hi, @robin_elecgator
It works now with USB hub ... Thanks a lot.
2019-07-18 02:00 PM
Good, I'm just wondering on which PC didn't it work? I have it tested only on Dell computers with a 8th gen intel processor.
I had it on both the devkit and a custom board that we designed.
Which type of PC do you use?
I currently have the following 3 options:
A) There is a problem with the drivers of intel
B) There is a problem with the USB gadget driver in the kernel
C) There is a problem in the hw usb driver
But I don't have really the time to pin point it.
2019-07-19 06:03 AM
Hi @robin_elecgator and @CRong
We are interesting to pin point the root cause of this.
Could you please both confirm that on target side during boot you have following traces :
[ 442.850073] dwc2 49000000.usb-otg: new device is high-speed
[ 442.885715] dwc2 49000000.usb-otg: new address 8
[ 442.934950] configfs-gadget gadget: high-speed config #1: c
[ 442.939395] IPv6: ADDRCONF(NETDEV_CHANGE): usb0: link
Then can you please share as many details as possible on your PC and USB controller :
model, USB2 and USB3 controller name and type etc...
Thanks a lot,
Olivier
2019-07-19 06:46 AM
Fact that USB Hub is a workaround can point a problem of power compatibility with PC USB controller.
Could you please try following change for a test :
On target :
root@stm32mp1:~# /sbin/stm32_usbotg_eth_config.sh stop # stop the USB gadget
root@stm32mp1:~# vi /sbin/stm32_usbotg_eth_config.sh #edit the script
replace echo 250 > "${d}/configs/${c}/MaxPower"
with echo 100 > "${d}/configs/${c}/MaxPower"
Save and quit
root@stm32mp1:~# /sbin/stm32_usbotg_eth_config.sh start # restart the Gadget
Check if RNDIS is now up on PC side.
Thx
Olivier
2019-07-19 07:26 AM
Hi @Community member
I connect my DK2 to my pcb with a Type C to Type C cable. I get the following:
[ 16.947132] dwc2 49000000.usb-otg: new device is high-speed
[ 16.981167] dwc2 49000000.usb-otg: new address 4
[ 17.027155] dwc2 49000000.usb-otg: Failed to exit L1 sleep state in 200us.
[ 17.032624] configfs-gadget gadget: high-speed config #1: c
[ 17.038284] dwc2 49000000.usb-otg: dwc2_hsotg_enqueue_setup: failed queue (-11)
[ 17.045822] dwc2 49000000.usb-otg: Failed to exit L1 sleep state in 200us.
[ 17.065150] IPv6: ADDRCONF(NETDEV_UP): usb0: link is not ready
[ 17.765371] IPv6: ADDRCONF(NETDEV_CHANGE): usb0: link becomes ready
[ 22.028030] dwc2 49000000.usb-otg: Failed to exit L1 sleep state in 200us.
The PC is a Dell Precision 3630, with a i7-8700k running on Intel C246 (Cannon lake chipset).
I also your edit. This gives me the following:
root@stm32mp1-disco:~# vi /sbin/stm32_usbotg_eth_config.sh stop
root@stm32mp1-disco:~# /sbin/stm32_usbotg_eth_config.sh start
[ 1002.974225] using random self ethernet address
[ 1002.977321] using random host ethernet address
[ 1003.018066] usb0: HOST MAC 6e:3e:60:48:19:09
[ 1003.022272] usb0: MAC ca:05:50:a6:2d:81
[ 1003.028168] dwc2 49000000.usb-otg: bound driver configfs-gadget
[ 1003.191413] dwc2 49000000.usb-otg: new device is high-speed
[ 1003.224592] dwc2 49000000.usb-otg: new address 8
[ 1003.252019] dwc2 49000000.usb-otg: Failed to exit L1 sleep state in 200us.
[ 1003.257496] configfs-gadget gadget: high-speed config #1: c
[ 1003.259257] IPv6: ADDRCONF(NETDEV_UP): usb0: link is not ready
[ 1003.263135] dwc2 49000000.usb-otg: dwc2_hsotg_enqueue_setup: failed queue (-11)
[ 1003.276536] dwc2 49000000.usb-otg: Failed to exit L1 sleep state in 200us.
[ 1003.283200] IPv6: ADDRCONF(NETDEV_CHANGE): usb0: link becomes ready
ifconfig: SIOCSIFADDR: Invalid argument
root@stm32mp1-disco:~# [ 1008.253305] dwc2 49000000.usb-otg: Failed to exit L1 sleep state in 200us.
[ 1008.259049] dwc2 49000000.usb-otg: Failed to exit L1 sleep state in 200us.