Ubuntu 20.04安装绿联PL2303串口驱动
之前安过CentOS的驱动,这篇是ubuntu的
绿联PL2303串口驱动下载
绿联USB转DB9,RS232串口线,Windows驱动下载地址
下载后解压有个linux目录,驱动需要根据内核进目录自行编译
hello@hello-ThinkServer-TS80X:/root$ uname -r
5.15.0-46-generic
可以看到ubuntu的版本是5.15,但是目前文件夹最大版本是5.4.89,所以死马当活马医,用这个试试
cd 5.4.89_ok/
make all
编译报错
root@hello-ThinkServer-TS80X:~/PL2303芯片驱动3.7/PL2303芯片驱动3.7/Linux/PL2303G_Linux_Driver_v1.0.6/5.4.89_ok# make all
make -C /lib/modules/5.13.0-30-generic/build M=/root/PL2303芯片驱动3.7/PL2303芯片驱动3.7/Linux/PL2303G_Linux_Driver_v1.0.6/5.4.89_ok modules
make[1]: 进入目录“/usr/src/linux-headers-5.13.0-30-generic”CC [M] /root/PL2303芯片驱动3.7/PL2303芯片驱动3.7/Linux/PL2303G_Linux_Driver_v1.0.6/5.4.89_ok/pl2303.o
/root/PL2303芯片驱动3.7/PL2303芯片驱动3.7/Linux/PL2303G_Linux_Driver_v1.0.6/5.4.89_ok/pl2303.c:1109:17: error: initialization of ‘void (*)(struct tty_struct *, struct serial_struct *)’ from incompatible pointer type ‘int (*)(struct tty_struct *, struct serial_struct *)’ [-Werror=incompatible-pointer-types]1109 | .get_serial = pl2303_get_serial,| ^~~~~~~~~~~~~~~~~
/root/PL2303芯片驱动3.7/PL2303芯片驱动3.7/Linux/PL2303G_Linux_Driver_v1.0.6/5.4.89_ok/pl2303.c:1109:17: note: (near initialization for ‘pl2303_device.get_serial’)
/root/PL2303芯片驱动3.7/PL2303芯片驱动3.7/Linux/PL2303G_Linux_Driver_v1.0.6/5.4.89_ok/pl2303.c:1122:18: error: initialization of ‘void (*)(struct usb_serial_port *)’ from incompatible pointer type ‘int (*)(struct usb_serial_port *)’ [-Werror=incompatible-pointer-types]1122 | .port_remove = pl2303_port_remove,| ^~~~~~~~~~~~~~~~~~
/root/PL2303芯片驱动3.7/PL2303芯片驱动3.7/Linux/PL2303G_Linux_Driver_v1.0.6/5.4.89_ok/pl2303.c:1122:18: note: (near initialization for ‘pl2303_device.port_remove’)
/root/PL2303芯片驱动3.7/PL2303芯片驱动3.7/Linux/PL2303G_Linux_Driver_v1.0.6/5.4.89_ok/pl2303.c:622:13: warning: ‘pl2303_enable_xonxoff’ defined but not used [-Wunused-function]622 | static bool pl2303_enable_xonxoff(struct tty_struct *tty, const struct pl2303_type_data *type)| ^~~~~~~~~~~~~~~~~~~~~
/root/PL2303芯片驱动3.7/PL2303芯片驱动3.7/Linux/PL2303G_Linux_Driver_v1.0.6/5.4.89_ok/pl2303.c:258:12: warning: ‘pl2303_update_reg’ defined but not used [-Wunused-function]258 | static int pl2303_update_reg(struct usb_serial *serial, u8 reg, u8 mask, u8 val)| ^~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:281:/root/PL2303芯片驱动3.7/PL2303芯片驱动3.7/Linux/PL2303G_Linux_Driver_v1.0.6/5.4.89_ok/pl2303.o] 错误 1
make[1]: *** [Makefile:1879:/root/PL2303芯片驱动3.7/PL2303芯片驱动3.7/Linux/PL2303G_Linux_Driver_v1.0.6/5.4.89_ok] 错误 2
make[1]: 离开目录“/usr/src/linux-headers-5.13.0-30-generic”
make: *** [Makefile:4:all] 错误 2
报错主要有两处,是类型不匹配
第一个报错
pl2303.c:1109:17: error: initialization of ‘void (*)(struct tty_struct *, struct serial_struct *)’ from incompatible pointer type ‘int (*)(struct tty_struct *, struct serial_struct *)’ [-Werror=incompatible-pointer-types]
类型不兼容,改类型
修改914行
static int pl2303_get_serial(struct tty_struct *tty,
改成
static void pl2303_get_serial(struct tty_struct *tty,
第二个报错同理
pl2303.c:1122:18: error: initialization of ‘void (*)(struct usb_serial_port *)’ from incompatible pointer type ‘int (*)(struct usb_serial_port *)’ [-Werror=incompatible-pointer-types]
也是类型不兼容
修改433行
static int pl2303_port_remove(struct usb_serial_port *port)
改成
static void pl2303_port_remove(struct usb_serial_port *port)
重新用make all编译
有两个 return 0的报错
pl2303.c:439:9: error: ‘return’ with a value, in function returning void [-Werror=return-type]439 | return 0;
pl2303.c:923:9: error: ‘return’ with a value, in function returning void [-Werror=return-type]923 | return 0;
将两个return 0;改成return;即可
重新用make all编译成功
拷贝编译模块
sudo cp pl2303.ko /lib/modules/$(uname -r)/kernel/drivers/usb/serial
编辑/etc/modules文件添加驱动名pl2303
sudo nano /etc/modules
#添加内容
pl2303
#保存
最后重启
reboot
重启之后可以使用了
那么怎么判断usb串口驱动是否正常呢?
1.判断是否有/dev/ttyUSB* 设备 这个不能作为判断标准,接入usb设备后就能查到这个设备
2.判断dmesg | grep tty 是否输出usb 1-1: FTDI USB Serial Device converter now attached to ttyUSB0 这个也不能作为判断标准,接入usb后也会有这个
3.stty -F 测试收发 这个能作为判断标准
4.minicom程序测试收发 这个能作为判断标准
Ubuntu 20.04安装绿联PL2303串口驱动相关推荐
- Centos 7.5 1804安装绿联PL2303串口驱动
绿联PL2303串口驱动下载 绿联USB转DB9,RS232串口线,Windows驱动下载地址 下载后解压有个linux目录,驱动需要根据内核进目录自行编译 uname -r 3.10.0-862.e ...
- ubuntu18.0.4 不能下载 libgd2-dev(ubuntu 20.04 安装perl 中GD 模块失败的解决办法)
ubuntu18.0.4 不能下载 libgd2-dev 一.错误信息: Unable to locate package libgd2-dev 二.原因 没有对应源 到 https://packag ...
- Win10 和 Ubuntu 20.04 安装 face_recognition 和 dlib
face_recognition是一个人脸识别库. WIN10安装: 首先改一下下载源: 1.C:\Users\xx\pip,新建文件pip.ini 2.文件里面输入: [global] index- ...
- Ubuntu 20.04安装Ros Noetic及Ubuntu 18.04安装ROS Melodic(两版本详细填坑)
Ubuntu 20.04安装Ros Noetic及18.04安装ROS Melodic 表1-1 ROS的历史版本 1. 设置安装源 2. 添加秘钥 3. 更新列表 4. 开始安装 5. 配置ROS环 ...
- ubuntu 20.04安装各类软件
ubuntu 20.04安装各类软件 一.前言 ubuntu 20.04安装后,我输入gcc -v,出现了下面的情况,差点裂开了,20.04居然没有自带gcc编译器,以前安装的版本12.04 16.0 ...
- ubuntu 20.04 安装 flameshot截图工具
ubuntu 20.04 安装 flameshot截图工具 安装命令 使用命令 设置快捷键 效果图 安装命令 sudo apt-get install flameshot 安装日志 $ sudo ap ...
- ubuntu 20.04 安装软件踩坑
ubuntu 20.04 安装软件踩坑 1.搜狗输入法 安装后需要重启一次 重启后讲sogoupinyin添加好,右上角如果没有搜狗就再重启一下 右上角出现了搜狗也是打不出中文的,因为没有安装依赖 安 ...
- Ubuntu 20.04安装CUDA失败导致系统黑屏消息nvidia 0000:01:00.0: can‘t change power state from D3cold to D0 的解决方法
Ubuntu 20.04安装CUDA失败导致系统黑屏消息nvidia 0000:01:00.0: can't change power state from D3cold to D0 的解决方法 贺志 ...
- ubuntu 20.04 安装ibus-rime输入法
ubuntu 20.04 安装ibus-rime输入法 为什么安装这个输入法 ibus-rime 安装 使用命令安装 基本设置 为什么安装这个输入法 没有安装搜狗输入法是因为安装完搜狗输入法之后再安装 ...
最新文章
- SAP OBYC自动记账的实例说明 +VALUE STRING
- LeetCode 编程 二
- 手机qpython3安装库_iPhone手机设置铃声简易教程(iOS12-iOS14)
- 三基站定位几何精度因子的简便运算
- SQL记录-PLSQL异常
- 【poj2114】点分治(离线)
- Linux 命令之 head -- 在屏幕上显示指定文件的开头若干行/显示文件开头内容/查看文件开头内容
- 【iOS - 周总结】开发中遇到的小知识点(2018.12.10-2018.12.15)
- tidb vs mysql_一个长耗时SQL在TiDB和Mysql上的耗时测试
- c++ primer 第六版 pdf_A3N630	塑壳断路器如何更换.pdf
- mysql php宝塔 root_[转载]在安卓中安装宝塔面板运行PHP+MySQL
- android 底部选项,Android:底部的选项卡
- Tahoma Arial Verdana三种字体的选择
- 实时环境映射贴图(Real-time Evironmnet Mapping)
- 推荐系统之协同过滤算法
- 安卓桌面软件_抖猫视频桌面下载-抖猫视频桌面官网版v4.0.8
- 大数据论坛圆满落幕 开启海南房地产大数据时代
- 【报告分享】2019短视频平台数据报告-抖音快手.pdf(附下载链接)
- Spring Cloud入门-Admin服务监控中心(Hoxton版本)
- Pytorch教程(1)