1、查看系统自带的ch34x驱动

kangxubo@kangxubo-HKNS:/lib/modules/5.19.0-38-generic/kernel/drivers/usb/serial$ ls
aircable.ko ftdi_sio.ko kobil_sct.ko pl2303.ko usb_debug.ko
ark3116.ko garmin_gps.ko mct_u232.ko qcaux.ko usbserial.ko
belkin_sa.ko io_edgeport.ko metro-usb.ko qcserial.ko usb-serial-simple.ko
ch341.ko io_ti.ko mos7720.ko quatech2.ko usb_wwan.ko
cp210x.ko ipaq.ko mos7840.ko safe_serial.ko visor.ko
cyberjack.ko ipw.ko mxuport.ko sierra.ko whiteheat.ko
cypress_m8.ko ir-usb.ko navman.ko spcp8x5.ko wishbone-serial.ko
digi_acceleport.ko iuu_phoenix.ko omninet.ko ssu100.ko xr_serial.ko
empeg.ko keyspan.ko opticon.ko symbolserial.ko xsens_mt.ko
f81232.ko keyspan_pda.ko option.ko ti_usb_3410_5052.ko
f81534.ko kl5kusb105.ko oti6858.ko upd78f0730.ko
kangxubo@kangxubo-HKNS:/lib/modules/5.19.0-38-generic/kernel/drivers/usb/serial$

2、删除系统中带的比较老的版本

kangxubo@kangxubo-HKNS:/lib/modules/5.19.0-38-generic/kernel/drivers/usb/serial$ sudo rm -rf ch341.ko
kangxubo@kangxubo-HKNS:/lib/modules/5.19.0-38-generic/kernel/drivers/usb/serial$ ls
aircable.ko garmin_gps.ko mct_u232.ko qcaux.ko usbserial.ko
ark3116.ko io_edgeport.ko metro-usb.ko qcserial.ko usb-serial-simple.ko
belkin_sa.ko io_ti.ko mos7720.ko quatech2.ko usb_wwan.ko
cp210x.ko ipaq.ko mos7840.ko safe_serial.ko visor.ko
cyberjack.ko ipw.ko mxuport.ko sierra.ko whiteheat.ko
cypress_m8.ko ir-usb.ko navman.ko spcp8x5.ko wishbone-serial.ko
digi_acceleport.ko iuu_phoenix.ko omninet.ko ssu100.ko xr_serial.ko
empeg.ko keyspan.ko opticon.ko symbolserial.ko xsens_mt.ko
f81232.ko keyspan_pda.ko option.ko ti_usb_3410_5052.ko
f81534.ko kl5kusb105.ko oti6858.ko upd78f0730.ko
ftdi_sio.ko kobil_sct.ko pl2303.ko usb_debug.ko
kangxubo@kangxubo-HKNS:/lib/modules/5.19.0-38-generic/kernel/drivers/usb/serial$

3、下载ch34x驱动 https://www.wch.cn/download/CH341SER_LINUX_ZIP.html

解压后得到如下三个文件

kangxubo@kangxubo-HKNS:~/下载/CH341SER_LINUX$ ls
driver README.md
kangxubo@kangxubo-HKNS:~/下载/CH341SER_LINUX$ cd driver/
kangxubo@kangxubo-HKNS:~/下载/CH341SER_LINUX/driver$ ls
ch341.c ch341.h Makefile
kangxubo@kangxubo-HKNS:~/下载/CH341SER_LINUX/driver$

4、查看系统版本号

kangxubo@kangxubo-HKNS:/$ uname -r
5.19.0-38-generic
kangxubo@kangxubo-HKNS:/$

5、根据自己的系统版本查找对应的ch341.c文件 https://elixir.bootlin.com/linux/v5.19/source/drivers/usb/serial/ch341.c

将文件内容拷贝复制到上边下载的驱动文件中惊醒替换

6、编译文件

kangxubo@kangxubo-HKNS:~/下载/CH341SER_LINUX/driver$ make
make -C /lib/modules/5.19.0-38-generic/build M=/home/kangxubo/下载/CH341SER_LINUX/driver
make[1]: 进入目录“/usr/src/linux-headers-5.19.0-38-generic”
warning: the compiler differs from the one used to build the kernel
The kernel was built by: x86_64-linux-gnu-gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
You are using: gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
CC [M] /home/kangxubo/下载/CH341SER_LINUX/driver/ch341.o
MODPOST /home/kangxubo/下载/CH341SER_LINUX/driver/Module.symvers
CC [M] /home/kangxubo/下载/CH341SER_LINUX/driver/ch341.mod.o
LD [M] /home/kangxubo/下载/CH341SER_LINUX/driver/ch341.ko
BTF [M] /home/kangxubo/下载/CH341SER_LINUX/driver/ch341.ko
Skipping BTF generation for /home/kangxubo/下载/CH341SER_LINUX/driver/ch341.ko due to unavailability of vmlinux
make[1]: 离开目录“/usr/src/linux-headers-5.19.0-38-generic”
kangxubo@kangxubo-HKNS:~/下载/CH341SER_LINUX/driver$ ls
ch341.c ch341.ko ch341.mod.c ch341.o modules.order
ch341.h ch341.mod ch341.mod.o Makefile Module.symvers
kangxubo@kangxubo-HKNS:~/下载/CH341SER_LINUX/driver$

7、拷贝文件到系统目录下

kangxubo@kangxubo-HKNS:~/下载/CH341SER_LINUX/driver$ sudo cp ch341.ko /lib/modules/5.19.0-38-generic/kernel/drivers/usb/serial
[sudo] kangxubo 的密码:
kangxubo@kangxubo-HKNS:~/下载/CH341SER_LINUX/driver$ ls
ch341.c ch341.ko ch341.mod.c ch341.o modules.order
ch341.h ch341.mod ch341.mod.o Makefile Module.symvers
kangxubo@kangxubo-HKNS:~/下载/CH341SER_LINUX/driver$ cd lib/modules/5.19.0-38-generic/kernel/drivers/usb/serial
bash: cd: lib/modules/5.19.0-38-generic/kernel/drivers/usb/serial: 没有那个文件或目录
kangxubo@kangxubo-HKNS:~/下载/CH341SER_LINUX/driver$ cd lib/modules/5.19.0-38-generic/kernel/drivers/usb/serial/
bash: cd: lib/modules/5.19.0-38-generic/kernel/drivers/usb/serial/: 没有那个文件或目录
kangxubo@kangxubo-HKNS:~/下载/CH341SER_LINUX/driver$ cd /lib/modules/5.19.0-38-generic/kernel/drivers/usb/serial
kangxubo@kangxubo-HKNS:/lib/modules/5.19.0-38-generic/kernel/drivers/usb/serial$ ls
aircable.ko io_ti.ko navman.ko ti_usb_3410_5052.ko
ark3116.ko ipaq.ko omninet.ko upd78f0730.ko
belkin_sa.ko ipw.ko opticon.ko usb_debug.ko
ch341.ko ir-usb.ko option.ko usbserial.ko
cp210x.ko iuu_phoenix.ko oti6858.ko usb-serial-simple.ko
cyberjack.ko keyspan.ko pl2303.ko usb_wwan.ko
cypress_m8.ko keyspan_pda.ko qcaux.ko visor.ko
digi_acceleport.ko kl5kusb105.ko qcserial.ko whiteheat.ko
empeg.ko kobil_sct.ko quatech2.ko wishbone-serial.ko
f81232.ko mct_u232.ko safe_serial.ko xr_serial.ko
f81534.ko metro-usb.ko sierra.ko xsens_mt.ko
ftdi_sio.ko mos7720.ko spcp8x5.ko
garmin_gps.ko mos7840.ko ssu100.ko
io_edgeport.ko mxuport.ko symbolserial.ko
kangxubo@kangxubo-HKNS:/lib/modules/5.19.0-38-generic/kernel/drivers/usb/serial$

8、查看驱动是否安装完成

kangxubo@kangxubo-HKNS:/lib/modules/5.19.0-38-generic/kernel/drivers/usb/serial$ lsmod
Module Size Used by
pcspkr 16384 0
ch341 24576 0
usbserial 57344 1 ch341
rfcomm 86016 4
ccm 20480 6
snd_soc_avs 131072 0

9、重启电脑

sudo depmod -a

9、安装cutecom

kangxubo@kangxubo-HKNS:~$ sudo apt install cutecom
[sudo] kangxubo 的密码:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
下列软件包是自动安装的并且现在不需要了:
chromium-codecs-ffmpeg-extra gstreamer1.0-vaapi i965-va-driver ibus-data
ibus-gtk4 intel-media-va-driver libaacs0 libaom3 libass9 libavcodec58
libavformat58 libavutil56 libbdplus0 libblas3 libbluray2 libbs2b0
libchromaprint1 libcodec2-1.0 libdav1d5 libflashrom1 libflite1 libftdi1-2
libgme0 libgsm1 libgstreamer-plugins-bad1.0-0 libigdgmm12 liblilv-0-0
libllvm13 libmarisa0 libmfx1 libmysofa1 libnorm1 libopencc-data libopencc1.1
libopenmpt0 libpgm-5.3-0 libpinyin-data libpinyin13 libpostproc55
librabbitmq4 librubberband2 libserd-0-0 libshine3 libsnappy1v5 libsord-0-0
libsratom-0-0 libsrt1.4-gnutls libssh-gcrypt-4 libswresample3 libswscale5
libudfread0 libva-drm2 libva-wayland2 libva-x11-2 libva2 libvdpau1
libvidstab1.1 libx265-199 libxvidcore4 libzimg2 libzmq5 libzvbi-common
libzvbi0 mesa-va-drivers mesa-vdpau-drivers pocketsphinx-en-us
python3-ibus-1.0 va-driver-all vdpau-driver-all
使用'sudo apt autoremove'来卸载它(它们)。
将会同时安装下列软件:
libqt5serialport5
建议安装:
lrzsz
下列【新】软件包将被安装:
cutecom libqt5serialport5
升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 7 个软件包未被升级。
需要下载 136 kB 的归档。
解压缩后会消耗 499 kB 的额外空间。
您希望继续执行吗? [Y/n] y
获取:1 http://cn.archive.ubuntu.com/ubuntu jammy/universe amd64 libqt5serialport5 amd64 5.15.3-1 [34.6 kB]
获取:2 http://cn.archive.ubuntu.com/ubuntu jammy/universe amd64 cutecom amd64 0.30.3-1build1 [101 kB]
已下载 136 kB,耗时 2秒 (76.3 kB/s)
正在选中未选择的软件包 libqt5serialport5:amd64。
(正在读取数据库 ... 系统当前共安装有 216853 个文件和目录。)
准备解压 .../libqt5serialport5_5.15.3-1_amd64.deb ...
正在解压 libqt5serialport5:amd64 (5.15.3-1) ...
正在选中未选择的软件包 cutecom。
准备解压 .../cutecom_0.30.3-1build1_amd64.deb ...
正在解压 cutecom (0.30.3-1build1) ...
正在设置 libqt5serialport5:amd64 (5.15.3-1) ...
正在设置 cutecom (0.30.3-1build1) ...
正在处理用于 desktop-file-utils (0.26-1ubuntu3) 的触发器 ...
正在处理用于 gnome-menus (3.36.0-1ubuntu3) 的触发器 ...
正在处理用于 libc-bin (2.35-0ubuntu3.1) 的触发器 ...
正在处理用于 man-db (2.10.2-1) 的触发器 ...
正在处理用于 mailcap (3.70+nmu1ubuntu1) 的触发器 ...
kangxubo@kangxubo-HKNS:~$

10、安装完成之后还是无法使用串口助手,因为识别不到串口,是因为brltty导致的的,处理方式可以参考 https://blog.csdn.net/qq_39851127/article/details/125988455,也可以直接卸载 brltty

kangxubo@kangxubo-HKNS:~$ sudo apt remove brltty
[sudo] kangxubo 的密码:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
下列软件包是自动安装的并且现在不需要了:
chromium-codecs-ffmpeg-extra gstreamer1.0-vaapi i965-va-driver ibus-data ibus-gtk4
intel-media-va-driver libaacs0 libaom3 libass9 libavcodec58 libavformat58 libavutil56 libbdplus0
libblas3 libbluray2 libbs2b0 libchromaprint1 libcodec2-1.0 libdav1d5 libflashrom1 libflite1
libftdi1-2 libgme0 libgsm1 libgstreamer-plugins-bad1.0-0 libigdgmm12 liblilv-0-0 libllvm13
libmarisa0 libmfx1 libmysofa1 libnorm1 libopencc-data libopencc1.1 libopenmpt0 libpcre2-32-0
libpgm-5.3-0 libpinyin-data libpinyin13 libpostproc55 librabbitmq4 librubberband2 libserd-0-0
libshine3 libsnappy1v5 libsord-0-0 libsratom-0-0 libsrt1.4-gnutls libssh-gcrypt-4 libswresample3
libswscale5 libudfread0 libva-drm2 libva-wayland2 libva-x11-2 libva2 libvdpau1 libvidstab1.1
libx265-199 libxvidcore4 libzimg2 libzmq5 libzvbi-common libzvbi0 mesa-va-drivers
mesa-vdpau-drivers pocketsphinx-en-us python3-ibus-1.0 va-driver-all vdpau-driver-all
使用'sudo apt autoremove'来卸载它(它们)。
下列软件包将被【卸载】:
brltty
升级了 0 个软件包,新安装了 0 个软件包,要卸载 1 个软件包,有 7 个软件包未被升级。
解压缩后将会空出 8,294 kB 的空间。
您希望继续执行吗? [Y/n] y
(正在读取数据库 ... 系统当前共安装有 216869 个文件和目录。)
正在卸载 brltty (6.4-4ubuntu3) ...
正在处理用于 man-db (2.10.2-1) 的触发器 ...
kangxubo@kangxubo-HKNS:~$

11、至此串口驱动安装完成

ubuntu安装ch34x驱动,并安装串口调试助手的更多相关文章

  1. 串口调试助手vc源程序及其详细编写过程

    串口调试助手vc源程序及其详细编写过程   目次: 1.建立项目 2.在项目中插入MSComm控件 3.利用ClassWizard定义CMSComm类控制变量 4.在对话框中添加控件 5.添加串口事件 ...

  2. 基于.Net C# 通信开发-串口调试助手

    基于.Net C# 通信开发-串口调试助手 1.概述 串口调试助手,广泛应用于工控领域的数据监控.数据采集.数据分析等工作,可以帮助串口应用设计.开发.测试人员检查所开发的串口应用软硬件的数据收发状况 ...

  3. Red Hat Enterprise Linux 6安装好,开启网卡到搭建tftp服务器和安装dnw驱动,安装samba服务器

    今天一顿误操作,只能把Red Hat Enterprise Linux 6重新安装,一些必备工作只能重做,重做之后立马把Linux的文件备份,以备不时只需! 开启Linux以太网卡:vim /etc/ ...

  4. Qt 编写串口调试助手

    一.成品图展示 成品图如下所示: 二.串口通讯步骤 1.在工程文件(.pro)中添加串口通信相关运行库:QT += serialport 2.在头文件中添加: #include <QSerial ...

  5. OSDA - 一个以MIT协议开源的串口调试助手

    市场其实有很多开源的串行端口调试助手(Open Serial Port debug assistant),但其中很大一部分没有明确的开源协议,还有一部分只限个人使用,所以编写了一个并以MIT协议授权开 ...

  6. Delphi - 采用第三方控件TMS、SPComm开发串口调试助手

    第三方控件TMS.SPComm的下载与安装 盒子上可搜索关键字进行下载,TMS是.dpk文件,SPComm.pas文件: 安装方法自行百度,不做赘述. 通过TMS控件进行界面布局 界面预览: Delp ...

  7. [转]web串口调试助手,浏览器控制串口设备

    本文转自:https://blog.csdn.net/ldevs/article/details/39664697 打开串口时查找可用串口供选择 通过javascript调用activex控制串口收发 ...

  8. C#基于wpf编写的串口调试助手

    支持数据保存,自定义协议解码等功能 链接:https://pan.baidu.com/s/1zvhcES4QIjpDDJGzth1qOA 提取码:lp2x

  9. 纪念下自学QT 第十天 终于写成了串口调试助手

  10. Ubuntu 16.04安装NVIDIA驱动后循环登录问题

    问题描述 最近买了两块NVIDIA Titan X Pascal显卡装到了服务器(运行Ubuntu 16.04)上.为了使用这两块GPU显卡,首先需要安装显卡驱动,安装方式为 #安装一个依赖文件,并更 ...

随机推荐

  1. Python + Selenium + Microsoft Edge浏览器运行环境搭建及配置无界面模式

    介绍 在python中用selenium驱动Microsoft Edge(Chromium版)浏览器,并设置headless模式,也可以参考微软官方指导文档,更全更清晰 安装selenium 可以通过 ...

  2. reactHooks_useEffect

    当在直接在组件内使用setState时,会产生"渲染次数过多"的错误 例如: const A = ( ) => {   const [num,setNum] = useSta ...

  3. Linux /proc 目录

    /proc 目录 /proc 文件目录是一个伪文件,它只存在于系统内存中,而不占用外存空间.它以文件系统的方式为用户提供访问内核数据的操作接口.目录下主要包含进程和状态的信息. /proc 下文件含义 ...

  4. C数列或者C向量以及C矩阵

    #include <stdlib.h> #include <stdio.h> #define TP double #define UI unsigned short int # ...

  5. 关于nth-of-type的注意事项

    普通使用 nth-of-type: <div class="box"> <div> 第一个元素 </div> <p>没有用的元素&l ...

  6. 关于Centos7Th 初始化的一些概述

    - 概述 Q:为什么要初始化,什么是初始化? A:一般初始化是根据的后期要部署的业务环境来定制的,新装的系统其自带的软件不够支撑各种开发环境或者运维工作:需要部署和设置对应的安全环境.开发/运维软件. ...

  7. django中使用autocomplete无效查错

    检查autocomplete是否工作正常,将自己的结果集注释掉,使用前端预设好的结果集var countries=["Afghanistan","Albania" ...

  8. mysql知识点一

    1.mysql中造成索引失效的原因有哪些?如何分析和解决? 原因: 1.like以通配符%开头索引失效 通常用的索引数据结构是B+树,而索引是有序排列的 优化:一种是使用覆盖索引,另一种是把%放后面 ...

  9. Manage your references to .Net assemblies Dynamics 365 for Operations VS projects

    (Dynamics 365 for Operations was previously known as the New Dynamics AX) Dynamics 365 for Operation ...

  10. tcpdump 对指定pod 进行抓包分析

    tcpdump kubectl get pod -n imas imas-chabot-759bc8c6cf-bvq7m -o json 获取到pod所在的容器信息,在对应的宿主机获取卡片信息. do ...