根据PVID生成指定的/dev/ttyUSBX节点

多个USB虚拟串口设备,可能会生成不同的/dev/ttyUSBX

对程序上可能产生影响,,,

以RV1109为例,

直接代码里搜ttyUSB, 找到drivers/usb/serial/usb-serial.c

并且加打印发现,X由allocate_minors的minor决定的,

然后引入PVID,,,小白不太清楚USB驱动这边的用法,,

直接根据USB LOG搜idVendor=

找到drivers/usb/core/hub.c,

 

这段代码记下来,PVID由struct usb_device得到,

回到allocate_minors,根据PVID指定minor

 

 

插入设备后,出现对应的节点,但是无法使用

 

 

 网上查了下,idr_alloc这个函数中会有关联,

然后直接改起始查询的位置即可

测试后完美解决

 

 

 

posted on 2022-03-29 14:12  轉角忆  阅读(167)  评论(0)    收藏  举报