写在前面:
由于7628的外设支持比较少,所以在开发的时候有时会使用stm32的单片机来进行扩展,这时候就需要使用虚拟usb转串口功能,而一般自己开发的usb设备在openwrt中是无法识别的,所以我们需要在内核中添加识别代码。
单片机实现:
stm32官方lib中自带了使用CDC类实现usb转串口功能的例子,有兴趣的同学可以自己去网上寻找如何实现,本次只关心如何将他挂载到openwrt上。
如下所示,我们只需要关心单片机上的vid和pid的值。
#define USBD_VID 0x28E9#define USBD_PID 0x0180
linux内核添加驱动:
由于内核中已经支持了ACM类的usb转串口驱动,所以我们不需要自己重新写驱动代码,只需要将我们的设备挂载上去即可。
打开build_dirarget-mipsel_24kec+dsp_uClibc-0.9.33.2linux-ramips_mt7688linux-3.18.109driversusbserialoption.c;
在option_ids变量中添加我们自己的usb设备的id号;
![36dd0b647f58ddcabe6462dfa6aa481f.png](https://i-blog.csdnimg.cn/blog_migrate/204f9d70ea958eac2af9f8051f1ef10d.jpeg)
效果: