Centos 7.5 1804安装绿联PL2303串口驱动
Posted gsls200808
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos 7.5 1804安装绿联PL2303串口驱动相关的知识,希望对你有一定的参考价值。
绿联PL2303串口驱动下载
绿联USB转DB9,RS232串口线,Windows驱动下载地址
下载后解压有个linux目录,驱动需要根据内核进目录自行编译
uname -r
3.10.0-862.el7.x86_64
进3.10目录编译
cd 3.10_ok/
make all
提示
make: *** /lib/modules/3.10.0-862.el7.x86_64/build: 没有那个文件或目录。 停止。
这个实际上是缺少kernel-devel包
我这个版本对应的包名是
kernel-devel-3.10.0-862.el7.x86_64.rpm
使用yum install 命令无法下载
所以最后找了个百度云的地址传上去,然后手动安装
rpm -ivh kernel-devel-3.10.0-862.el7.x86_64.rpm
安装上去尝试再编译,报结构体成员名错
[root@192 3.10_ok]# make all
make -C /lib/modules/3.10.0-862.el7.x86_64/build M=/root/PL2303G_Linux_Driver_v1.0.5/3.10_ok modules
make[1]: 进入目录“/usr/src/kernels/3.10.0-862.el7.x86_64”
CC [M] /root/PL2303G_Linux_Driver_v1.0.5/3.10_ok/pl2303.o
/root/PL2303G_Linux_Driver_v1.0.5/3.10_ok/pl2303.c: 在函数‘pl2303_ioctl’中:
/root/PL2303G_Linux_Driver_v1.0.5/3.10_ok/pl2303.c:696:26: 错误:‘struct usb_serial’没有名为‘minor’的成员
ser.line = port->serial->minor;
^
/root/PL2303G_Linux_Driver_v1.0.5/3.10_ok/pl2303.c:697:18: 错误:‘struct usb_serial_port’没有名为‘number’的成员
ser.port = port->number;
^
make[2]: *** [/root/PL2303G_Linux_Driver_v1.0.5/3.10_ok/pl2303.o] 错误 1
make[1]: *** [_module_/root/PL2303G_Linux_Driver_v1.0.5/3.10_ok] 错误 2
make[1]: 离开目录“/usr/src/kernels/3.10.0-862.el7.x86_64”
make: *** [all] 错误 2
两个结构体变量不对
网上找了两篇文章有结构体相关线索的
ch34x.c:402:42: 错误:‘struct usb_serial_port’没有名为‘number’的成员-OS-有趣
Linux-Kernel Archive: Re: [PATCH 1/3] USB: serial: ports: add minor and port number
CH341SER_LINUX.ZIP - 南京沁恒微电子股份有限公司
根据ch34芯片驱动程序结构体的写法推测报错的结构提应该修改为
1.
ser.line = port->serial->minor;
应该改成
ser.line = port->minor;
2.
ser.port = port->number;
应该改成
ser.port = port->port_number;
改完后编译通过
串口测试
#查看串口参数
stty -F /dev/ttyUSB0
#改波特率115200
stty -F /dev/ttyUSB0 speed 115200
#改波特率9600
stty -F /dev/ttyUSB0 speed 9600
打开两个终端,
终端一:cat /dev/ttyUSB0 (用于接收,也可以直接用minicom,minicom不用两个终端,发送接收都带)
终端二:echo "test" >/dev/ttyUSB0 (发送test)
以上是关于Centos 7.5 1804安装绿联PL2303串口驱动的主要内容,如果未能解决你的问题,请参考以下文章
centos 7.5 1804编译安装nginx 1.16.0