根据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这个函数中会有关联,
然后直接改起始查询的位置即可
测试后完美解决


浙公网安备 33010602011771号