问题现象:借来一根usb转串口线,linux能识别但是dev目录里面没有/dev/ttyUSB0,检查usbserial驱动,发现系统自带。查找资料说内核3.x版本以上就内置了,不再需要insmod动态加载。因为windows可以正常用,并且能看出是使用PL2303芯片。网上都说直接modprobe pl2303和usbserial即可。经过多次尝试不成功。
问题已解决,解决方法,找到正确驱动,修改驱动中的代码差异,编译安装。
问题分析:问题在于串口芯片有多个型号,并不是一个通用的芯片,包括FT232、PL2303、CH340。即便是pl2303,也有多个厂家,并且驱动可能并不通用。另外一个原因在于系统中内置的驱动都是很老的,有些芯片比较新,所以系统中自带的驱动无法适配,需要用最新驱动编译安装。
dmesg|tail
[1273358.599957] usb 2-1.2: new full-speed USB device number 5 using ehci-pci
[1273358.687401] usb 2-1.2: New USB device found, idVendor=067b, idProduct=23c3
[1273358.687406] usb 2-1.2: New USB device strings: Mfr=1, Product&