在Linux系统中,串口(Serial Port)是一种常用的硬件通信接口,广泛应用于嵌入式开发、工业控制、设备调试等场景,掌握如何查看和管理串口是Linux用户和开发者的必备技能,本文将详细介绍Linux系统中查看串口的多种方法,包括命令行工具、系统文件查询以及图形化界面操作,帮助用户全面了解串口状态和信息。

使用dmesg命令查看内核消息
Linux内核在启动和运行过程中会输出大量硬件检测信息,串口设备作为常见的硬件接口,其初始化和加载过程会被记录在内核消息中,通过dmesg命令可以快速查看这些信息,从而定位串口设备。
基本用法
在终端中输入以下命令:
dmesg | grep tty
该命令会过滤内核消息中包含“tty”的行,而“ttyS”和“ttyUSB”分别代表物理串口和USB转串口设备,输出可能显示:
[ 0.000000] console [ttyS0] enabled
[ 1.234567] usb 1-1: new full-speed USB device number 2 using ehci-pci
[ 1.345678] ch341 1-1:1.0: converter detected
[ 1.456789] ch341 1-1:1.0: ttyUSB0 at ttyUSB0, ttyUSB1
“ttyS0”是物理串口,“ttyUSB0”和“ttyUSB1”是USB转串口设备。
高级过滤
如果需要更精确地查找串口信息,可以结合其他参数使用,仅显示最近添加的串口设备:
dmesg | grep -i "tty" | tail -n 10
-i参数表示忽略大小写,tail -n 10则显示最后10行结果。
检查/dev目录下的设备文件
Linux系统将所有硬件设备抽象为文件,存储在/dev目录中,串口设备通常以“ttyS”“ttyAMA”“ttyUSB”等前缀命名,直接查看该目录可以快速识别串口设备。
常见串口设备文件
| 设备类型 | 前缀示例 | 说明 |
|---|---|---|
| 物理串口 | /dev/ttyS0, /dev/ttyS1 | 主板集成的RS-232串口 |
| 树莓派等嵌入式串口 | /dev/ttyAMA0 | 树莓派GPIO串口 |
| USB转串口 | /dev/ttyUSB0, /dev/ttyUSB1 | USB接口的串口转换器 |
| 蓝牙虚拟串口 | /dev/rfcomm0 | 蓝牙设备模拟的串口 |
查看设备文件属性
使用ls命令可以查看串口设备的详细信息,包括权限、所有者等:
ls -l /dev/ttyS*
输出示例:
crw-rw---- 1 root dialout 4, 64 Dec 1 10:00 /dev/ttyS0
crw-rw---- 1 root dialout 4, 65 Dec 1 10:01 /dev/ttyS1
4和64分别是设备的主设备号和次设备号,dialout是串口设备的用户组,普通用户需加入该组才能访问串口。
使用setserial命令管理串口参数
setserial是一个用于查看和配置串口参数的工具,可以获取串口的硬件资源(如I/O地址、中断号)和当前配置信息。

安装setserial
如果系统中未安装该工具,可通过以下命令安装(以Ubuntu/Debian为例):
sudo apt-get install setserial
查看串口基本信息
使用setserial命令可以查看指定串口的详细信息:
setserial -g /dev/ttyS0
输出示例:
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
UART类型为16550A,I/O地址为0x03f8,中断号为4。
查看所有串口配置
通过以下命令可以一次性查看系统中所有串口的配置:
setserial -a /dev/ttyS*
使用lsusb和lspci命令查看硬件信息
对于USB转串口设备,可以通过lsusb命令查看USB设备的详细信息,包括厂商ID和设备ID,从而确定设备型号。
查看USB设备列表
lsusb
输出示例:
Bus 001 Device 002: ID 1a86:7523 QinHeng Electronics CH340 serial converter
“1a86:7523”是设备的VID和PID,可通过这些ID查询具体的芯片型号或驱动信息。
查看PCI设备
对于物理串口(通常基于PCI或LPC总线),可以使用lspci命令查看:
lspci | grep -i "serial"
输出示例:
00:1f:4: Communication controller: Intel Corporation 82579LM Gigabit Network Connection (rev 04)
部分主板会将串口集成在“Communication controller”设备中。

使用minicom或screen工具测试串口
在确认串口设备存在后,可以通过串口终端工具(如minicom或screen)测试串口是否正常工作,同时获取更多交互信息。
安装minicom
sudo apt-get install minicom
配置minicom
运行以下命令启动配置向导:
sudo minicom -s
选择“Serial port setup”,设置串口设备(如/dev/ttyUSB0)、波特率(如9600)、数据位、停止位和校验位,保存后退出即可连接串口。
使用screen快速测试
screen是一款轻量级终端工具,适合快速测试串口:
screen /dev/ttyUSB0 9600
退出时按Ctrl+A,再按K即可关闭连接。
查看系统日志和udev规则
如果串口设备未被正确识别,可以检查系统日志或udev规则,排查驱动加载或设备挂载问题。
查看系统日志
tail -f /var/log/syslog | grep -i "serial"
该命令会实时显示与串口相关的系统日志,帮助定位驱动加载失败或权限问题。
检查udev规则
udev规则定义了设备的命名和权限规则,串口设备的udev规则通常位于/etc/udev/rules.d/目录下,
cat /etc/udev/rules.d/99-usb-serial.rules
如果规则配置错误,可能导致设备无法访问或权限异常。
在Linux系统中查看串口信息是硬件调试和开发的基础操作,通过dmesg、/dev目录、setserial、lsusb等工具,用户可以全面了解串口的硬件信息、设备文件、配置参数及运行状态,结合minicom或screen等工具,还能进一步测试串口的通信功能,掌握这些方法,不仅能提高工作效率,还能快速解决串口设备识别、驱动加载等常见问题,为嵌入式开发和系统维护提供有力支持。




















