1、驱动侧添加对应功能的驱动代码:
在linux中usb驱动代码中添加rndis或者mtp等功能驱动代码,
路径:
linux-5.10/drivers/usb/gadget/function
linux usb驱动原生功能代码一般可以直接使用,添加进去参与编译就能继续往下做调试了,
2、device侧添加usb的功能属性参数配置,写描述值等:
路径:
device/board/hihope/dayu101/cfg/init.dayu101.usb.cfg
在这里添加usb需要的功能,添加对应的usb config属性:
3、init侧确定usb功能,创建对应功能节点,写功能对应的设备设备控制器和状态等:
路径:
drivers/peripheral/usb/cfg/init.usb.configfs.cfg
在这里对通过usb属性config确认当前usb的功能:
4、底层usb功能确认ok:
验证:
设置usb属性:
param set sys.usb.config=xxx
然后切换到对应的usb 功能。
rndis功能验证:
在pc侧出现rndis网口之后
、在pc侧设置此网络的ip的地址
、在设备侧,通过ping 192.168.70.5 up, 设置设备侧的ip地址
要保证pc侧和设备侧ip在同一网段,然后互相ping通算成功