Linux系统USB转串口驱动安装

1,040 阅读2分钟

1. 查询系统中有没有驱动

输入命令:

lsmod |grep pl2303

image.png

如果查询出来有驱动,则不需要安装驱动,串口未识别出来是因为设备没有激活,跳转到!32 加载驱动激活设备!

2. 查询Linux系统内核版本

'uname -a '

image.png

需要记住当前的内核版本号,一般主需要记大版本就可以,比如当前的!!#ff0000 3.10!!

3.下载硬件驱动

从!32 !!#ff0000 官网!!!下载驱动,避免其他渠道下载的驱动有毒,常见的有 如果没有官网的,找这个产品的芯片对应的驱动即可

3.1 绿联USB 2.0转串口DB9打印线

image.png

绿联USB转串口驱动下载,DB9线驱动下载,FTDI芯片驱动,PL2303芯片驱动下载 (lulian.cn) 需要根据你使用的产品下载驱动,如下图:

image.png

3.2 其他品牌暂时未遇到

4 编译驱动

4.1 将下载好的驱动上传到服务器任意有权限的位置目录

image.png

4.2 打开终端,进入到当前目录,cd 路径

image.png

4.3 进入当前系统内核版本的目录

  1. 通过查询内核版本,通过大版本号去匹配文件夹路径
uname -r

例如:(本机的内核版本大版本是3.10)

image.png

  1. 进入到驱动目录, cd 目录

例如:

image.png

  1. 编译驱动,直接执行命令

    make 
    
    1. 在编3.10的版本时出现错误,如下图 image.png
    2. 解决方案:
    3. 修改pl2303.h文件按下图位置修改
    第一处修改:
    
    ser.line = port->serial->minor;
    修改为
    ser.line = port->minor;
    
    第二处修改:
    
    ser.port = port->number;
    修改为
    ser.port = port->port_number;
    

    例如: image.png

    1. 文件修改保存后,再次执行下编译命令
make

参考地址:blog.csdn.net/gsls200808/…

  1. 编译成功

目前只有在3.10下面会报错,其他的内核版本未发现错误 还有一种是当前的内核跟目录文件不一致也有可能报错

image.png

  1. 查看驱动
ls -lh

image.png

有这些文件说明是编译成功的

5. 安装驱动

将编译好的驱动更新到当期系统的内核版本下面

sudo cp pl2303.ko /lib/modules/$(uname -r)/kernel/drivers/usb/serial

6. 加载驱动

sudo modprobe usbser
sudo modprobe pl2303

7. 验证驱动

sudo modprobe pl2303

image.png

8. 激活设备

将文件!24 99-di245.rules!复制到 !24 /etc/udev/rules.d!目录下

如果没有下载文件,可以使用vi 编辑一个

这里是因为绿联的 ATTRS{idVendor}=="067b", ATTRS{idProduct}=="23a3" 是固定的 至少这个型号是这样的,如果需要查看设备的产品编号和设备编号 输入命令:lsusb 即可查询如下图

image.png

vi 99-di245.rules
输入以下内容:

ACTION=="add", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="23a3", RUN+="/sbin/modprobe pl2303o" RUN+="/sbin/modprobe usbserial vendor=0x067b product=0x23a3" RUN+="/bin/sh -c 'echo 067b 23a3 > /sys/bus/usb-serial/drivers/pl2303/new_id'"

执行激活规则

sudo udevadm control --reload

9. 验证USB串口

ls /dev/ttyU*

image.png