157开发板不能使用USB OTG模拟网卡

问题现象:
按照《【韦东山】100ASK_ STM32MP157 M4 用户手册V1.1.1.pdf》文档里1.5.4编译上传,发现编译完后,无法通过USB OTG虚拟网卡上传ELF文件。

首先是开发板,没有usb0网口,执行:

insmod /usr/lib/modules/5.4.31/kernel/drivers/usb/usbip/usbip-vudc.ko
insmod /usr/lib/modules/5.4.31/kernel/drivers/usb/gadget/legacy/g_ether.ko


加载驱动后,usb0网卡能出现,但电脑还是不能识别为“Remote NDIS Compatible Device”的网络设备,初步怀疑Windows驱动变了,因此换另外方式,绕过该问题。

解决思路:
使用USB OTG模拟网卡的目的,是将Windows上编译M4的二进制文件,以网络的方式传到开发板运行。
因此,只要实现将M4的二进制文件,传到开发板系统里,最终效果是一样的。
这里使用USB网卡,直连电脑的方式。(此方法与Linux开发里方式相同)

操作步骤:
1.开发板、USB网卡、电脑接线如图。


注意:这里网口接的J10 NET1,也就是对应的网卡eth0。

2.设置开发板IP为192.168.5.9
ifconfig eth0 192.168.5.9 up


如果提示没找到eth0错误,断电重启(不能是复位重启)开发板。

3.设置Windows USB网卡IP


一定要选ASIX AX8872C USB2.0这个网卡。



设置usb网卡的ip为192.168.5.10

4.测试网络能否连通。
ping 192.168.5.10 -c 4


能ping通,说明两者网络连通了。

5.windows上连接开发板
这块的操作与《【韦东山】100ASK_ STM32MP157 M4 用户手册V1.1.1.pdf》文档第30页和31页操作。
其中这里IP地址,不是192.168.7.1,而是刚才设置的192.168.5.9

将编译好的ProjectDemo_CM4.elf或者其它ELF文件,传到开发板上。

6.运行程序

echo ProjectDemo_CM4.elf > /sys/class/remoteproc/remoteproc0/firmware
cp ProjectDemo_CM4.elf /lib/firmware/
echo start > /sys/class/remoteproc/remoteproc0/state

停止运行

echo stop > /sys/class/remoteproc/remoteproc0/state


在通过网络连接的这个界面,执行命令看不到反馈结果。

切换到串口界面,可以看到程序加载提示。


此时,开发板黄色LED间隔1秒闪烁,程序运行成功。

后面其它实验,也类似的将文件传到开发板后,运行。