Linux如何安装串口驱动程序?

在Linux系统中安装串口驱动程序通常涉及识别硬件、加载驱动模块及配置权限等步骤,具体方法需根据串口类型(如内置物理串口或USB转串口芯片)有所区别,以下是详细操作流程:

linux如何装串口驱动程序

检查系统串口识别情况

首先确认系统是否已识别到串口设备,对于内置物理串口(如主板RS232/RS422),可通过ls /dev/ttyS*查看设备节点;对于USB转串口(如通过USB接口连接的串口设备),插入设备后执行ls /dev/ttyUSB*ls /dev/ttyACM*(部分设备可能命名为ACM),若未显示设备节点,需进一步检查驱动是否加载。

使用dmesg | grep tty命令可查看内核启动时的串口识别信息,若输出包含“serial”或“usb_serial”字样,说明内核已检测到设备;若无输出,则需安装或加载驱动。

确认串口芯片型号

USB转串口设备通常依赖特定芯片驱动(如CH340、FT232、PL2303等),需先确认芯片型号,执行lsusb命令列出USB设备,

Bus 001 Device 005: ID 1a86:7523 QinHeng Electronics CH340 serial converter  

其中1a86:7523为厂商ID和产品ID,对应CH340芯片,内置物理串口的芯片型号可通过主板手册或lspci | grep "Serial"查询。

安装串口驱动

内置物理串口驱动

Linux内核已默认支持大多数内置串口控制器(如8250、16550A系列),驱动通常编译为内核模块或直接内置,若未自动加载,可手动加载模块:

linux如何装串口驱动程序

sudo modprobe 8250_core    # 加载8250核心模块
sudo modprobe 8250_std     # 加载标准8250驱动

若内核未配置相关驱动,需重新编译内核:下载内核源码,执行make menuconfig,在“Device Drivers → Serial drivers”中启用“8250/16550 and compatible serial support”,保存后编译安装内核。

USB转串口驱动

USB转串口芯片需安装对应驱动,常见芯片及安装方法如下(以Debian/Ubuntu为例):

芯片型号 内核支持情况 安装命令 设备节点示例
CH340 内核4.4+默认支持 sudo apt install ch34x-converter-driver /dev/ttyUSB0
FT232 内核默认支持 无需额外安装(驱动ftdi_sio) /dev/ttyUSB0
PL2303 内核默认支持 无需额外安装(驱动pl2303) /dev/ttyUSB0
CP210x 内核默认支持 无需额外安装(驱动cp210x) /dev/ttyUSB0

若内核未默认支持(如老旧版本),需从源码编译驱动,以CH340为例:

# 下载驱动源码(以Linux内核源码中的drivers/usb/serial/ch341.c为例)
sudo apt install linux-source
tar -xvf linux-source-*.tar.xz
cd linux-source-*/drivers/usb/serial/
# 编译驱动模块
make -C /lib/modules/$(uname -r)/build M=$(pwd) modules
# 加载模块
sudo insmod ch341.ko
# 查看模块是否加载
lsmod | grep ch341

配置设备权限

默认情况下,普通用户无法访问串口设备(权限为600,属主为root),需将用户加入dialout组(Ubuntu/Debian)或uucp组(CentOS/RHEL),或通过udev规则设置权限:

# 方法1:加入用户组(需重启或重新登录)
sudo usermod -aG dialout $USER
# 方法2:创建udev规则(推荐)
sudo nano /etc/udev/rules.d/99-usb-serial.rules以CH340为例,替换idVendor和idProduct)
SUBSYSTEM=="tty", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", MODE="0666"
# 重新加载udev规则
sudo udevadm control --reload-rules && sudo udevadm trigger

测试串口通信

安装完成后,使用minicomscreen工具测试串口,以minicom为例:

linux如何装串口驱动程序

# 安装minicom(Ubuntu/Debian)
sudo apt install minicom
# 配置minicom(首次运行需设置串口设备、波特率等)
minicom -s
# 选择“Serial port setup”,设置串口(如/dev/ttyUSB0)、波特率(9600)、数据位(8)、停止位(1)、无校验
# 保存并退出,按Ctrl+A X退出minicom

若能正常打开串口并收发数据,说明驱动安装成功。

相关问答FAQs

*Q1:串口设备插入后无法识别(ls /dev/ttyUSB无输出),如何排查?**
A:首先检查lsusb是否显示设备(确认硬件连接正常);若lsusb有输出但无设备节点,可能是驱动未加载,执行dmesg | grep usb查看内核错误信息(如“device descriptor read/64, error -71”可能驱动不兼容),尝试重新编译或更新内核;若驱动已加载但仍无节点,检查内核配置是否启用“USB Serial Converter support”。

Q2:普通用户访问串口时提示“Permission denied”,如何解决?
A:优先使用udev规则设置权限(如上述方法2),无需重启即可生效;若未配置udev规则,可临时使用sudo运行程序,或通过sudo chmod 666 /dev/ttyUSB*修改权限(重启后失效),若加入dialout组后仍无法访问,检查/etc/group中用户是否在组内,或重新登录使组权限生效。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/36729.html

(0)
酷番叔酷番叔
上一篇 2025年10月6日 02:10
下一篇 2025年10月6日 02:23

相关推荐

  • Linux如何查看本机网卡信息?

    在Linux系统中,查看本机网卡信息是网络配置和故障排查的基础操作,Linux提供了多种命令和工具,从基础的网络接口状态到详细的硬件信息,均可通过不同命令获取,以下将详细介绍常用查看网卡的方法,包括命令语法、输出解析及适用场景,使用ip命令(推荐,现代Linux系统默认支持)ip命令是iproute2工具包的核……

    2025年10月3日
    11500
  • linux如何检测u盘启动盘

    Linux 系统中,可通过 lsblk 查看磁盘分区信息,识别 U 盘设备,

    2025年8月17日
    11700
  • 如何删除已安排的Linux at任务?

    退出(删除)at任务的步骤查看当前at任务队列使用 atq 或 at -l 命令列出所有待执行任务,获取任务的唯一ID(位于第一列): atq # 示例输出: # 10 Thu Jul 11 14:30:00 2024 a root # 15 Fri Jul 12 10:00:00 2024 a user1关键……

    2025年8月7日
    13000
  • Linux挂载移动硬盘怎么操作?

    挂载前准备连接硬盘使用USB/SATA线连接硬盘,系统通常自动识别(部分旧硬盘需外接电源),终端输入 lsblk 或 sudo fdisk -l 查看硬盘设备标识(如 /dev/sdb1),创建挂载点sudo mkdir /mnt/mydrive # 在/mnt下创建目录作为挂载点手动挂载步骤确定文件系统类型运……

    2025年7月9日
    14100
  • Linux部署PHP选LAMP方案?

    环境准备更新系统sudo apt update && sudo apt upgrade -y # Debian/Ubuntusudo yum update -y # CentOS/RHEL安装Apache服务器sudo apt install apache2 -y # Debian/Ubuntu……

    2025年7月15日
    13100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信