之前安过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串口驱动相关推荐

  1. Centos 7.5 1804安装绿联PL2303串口驱动

    绿联PL2303串口驱动下载 绿联USB转DB9,RS232串口线,Windows驱动下载地址 下载后解压有个linux目录,驱动需要根据内核进目录自行编译 uname -r 3.10.0-862.e ...

  2. ubuntu18.0.4 不能下载 libgd2-dev(ubuntu 20.04 安装perl 中GD 模块失败的解决办法)

    ubuntu18.0.4 不能下载 libgd2-dev 一.错误信息: Unable to locate package libgd2-dev 二.原因 没有对应源 到 https://packag ...

  3. Win10 和 Ubuntu 20.04 安装 face_recognition 和 dlib

    face_recognition是一个人脸识别库. WIN10安装: 首先改一下下载源: 1.C:\Users\xx\pip,新建文件pip.ini 2.文件里面输入: [global] index- ...

  4. 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环 ...

  5. ubuntu 20.04安装各类软件

    ubuntu 20.04安装各类软件 一.前言 ubuntu 20.04安装后,我输入gcc -v,出现了下面的情况,差点裂开了,20.04居然没有自带gcc编译器,以前安装的版本12.04 16.0 ...

  6. ubuntu 20.04 安装 flameshot截图工具

    ubuntu 20.04 安装 flameshot截图工具 安装命令 使用命令 设置快捷键 效果图 安装命令 sudo apt-get install flameshot 安装日志 $ sudo ap ...

  7. ubuntu 20.04 安装软件踩坑

    ubuntu 20.04 安装软件踩坑 1.搜狗输入法 安装后需要重启一次 重启后讲sogoupinyin添加好,右上角如果没有搜狗就再重启一下 右上角出现了搜狗也是打不出中文的,因为没有安装依赖 安 ...

  8. 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 的解决方法 贺志 ...

  9. ubuntu 20.04 安装ibus-rime输入法

    ubuntu 20.04 安装ibus-rime输入法 为什么安装这个输入法 ibus-rime 安装 使用命令安装 基本设置 为什么安装这个输入法 没有安装搜狗输入法是因为安装完搜狗输入法之后再安装 ...

最新文章

  1. SAP OBYC自动记账的实例说明 +VALUE STRING
  2. LeetCode 编程 二
  3. 手机qpython3安装库_iPhone手机设置铃声简易教程(iOS12-iOS14)
  4. 三基站定位几何精度因子的简便运算
  5. SQL记录-PLSQL异常
  6. 【poj2114】点分治(离线)
  7. Linux 命令之 head -- 在屏幕上显示指定文件的开头若干行/显示文件开头内容/查看文件开头内容
  8. 【iOS - 周总结】开发中遇到的小知识点(2018.12.10-2018.12.15)
  9. tidb vs mysql_一个长耗时SQL在TiDB和Mysql上的耗时测试
  10. c++ primer 第六版 pdf_A3N630 塑壳断路器如何更换.pdf
  11. mysql php宝塔 root_[转载]在安卓中安装宝塔面板运行PHP+MySQL
  12. android 底部选项,Android:底部的选项卡
  13. Tahoma Arial Verdana三种字体的选择
  14. 实时环境映射贴图(Real-time Evironmnet Mapping)
  15. 推荐系统之协同过滤算法
  16. 安卓桌面软件_抖猫视频桌面下载-抖猫视频桌面官网版v4.0.8
  17. 大数据论坛圆满落幕 开启海南房地产大数据时代
  18. 【报告分享】2019短视频平台数据报告-抖音快手.pdf(附下载链接)
  19. Spring Cloud入门-Admin服务监控中心(Hoxton版本)
  20. Pytorch教程(1)

热门文章

  1. JS实现当前日期是第几周
  2. C#中包含英文月份的美式日期输出格式
  3. 华为手机语音通话时断时续原因
  4. OpenGL LookAt函数理解
  5. 30岁转行做什么好?我的转行四大步骤!
  6. 重装Win7系统步骤和详细教程
  7. java 处理 barCode(条形码)
  8. 答疑解惑 | Linux GNU C 与 ANSI C 的区别
  9. Apple Swift学习资料汇总
  10. 微信小程序中实现吸顶效果(流畅、不卡顿)