之前的文章记录了在ubuntu中如何制作规则文件,使得串口模块每次插入的时候能够以固定的设备号来访问:
https://blog.csdn.net/gadwgdsk/article/details/114821869?spm=1001.2014.3001.5501
但是当有多个相同厂家的模块插入时,前面的方法不够全面,任意一个模块插入都会显示为相同的设备,原因是它只使用idVendor和idProduct两个参数,
而所有相同厂家的模块这两个参数也是相同的。
这里可以加入序列号参数(serial,FT232模块,其他厂家模块可能名称不同)来区分
serial参数查看命令:
udevadm info --attribute-walk --name=/dev/ttyUSB0
显示很多东西,找到包含模块参数的那个块:
可以看到serial=AI04H474
修改rules文件:
KERNEL=="ttyUSB*", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="AI04H474", MODE:="0777", SYMLINK+="myserialport"
重新按前文导入即可,只有插入这一个模块才能识别为mysesrialport。
有的厂家可能会偷懒,每个模块的serial都是一样的,这时候可以修改模块的参数,具体的工具有:
MProg3.0_Setup.exe for FT232芯片
CP210xSetIDs.exe for CP210x芯片
切记不能修改模块的idVendor和idProduct,因为那是厂家或者说驱动识别,修改后可能导致驱动无法识别这个设备。
FT232工具界面上并没有serial参数的设置,可以将参数导出后保存到文件,用txt工具打开,手工修改serial后,在导入软件下载到模块。
相关资源链接:
https://download.csdn.net/download/gadwgdsk/16261387?spm=1001.2014.3001.5501
https://download.csdn.net/download/gadwgdsk/16261432?spm=1001.2014.3001.5501