通过设备文件列表查看(最直接)
Linux将串口设备映射为/dev/ttyS*
(物理串口)或/dev/ttyUSB*
(USB转串口)文件:
ls /dev/ttyS* /dev/ttyUSB* 2>/dev/null
- 输出示例:
/dev/ttyS0 /dev/ttyUSB0
说明:ttyS0
为主板原生串口,ttyUSB0
为USB转串口设备。
使用 dmesg
查看内核日志(识别新接入设备)
内核在检测到串口时会记录日志:
dmesg | grep -i "tty"
- 关键输出解析:
serial8250: ttyS0 at I/O 0x3f8 (irq = 4)
→ 物理串口0usb 1-1: FTDI USB Serial Device converter now attached to ttyUSB0
→ USB转串口设备
setserial
工具(查看详细参数)
安装与使用:
sudo apt install setserial # Debian/Ubuntu sudo setserial -g /dev/ttyS*
- 输出示例:
/dev/ttyS0, UART: 16550A, Port: 0x03f8
说明:显示UART芯片型号和I/O端口地址。
lshw
查看硬件信息(需root权限)
sudo lshw -class serial
- :
description: Serial controller
→ 串口控制器型号product: UART Controller
→ 设备类型logical name: /dev/ttyS1
→ 设备路径
udevadm
查询设备属性(高级用户)
udevadm info --query=all --name=/dev/ttyUSB0
- 关键信息:
ID_VENDOR_ID=0403
(厂商ID)
ID_MODEL=6001
(设备型号)
图形界面方法(可选)
- GNOME系统:打开
gnome-disks
工具 → 左侧选择USB设备 → 查看右侧详情。 - KDE系统:使用
KDE Partition Manager
,类似操作。
注意事项
- 权限问题:普通用户可能无权限访问
/dev/tty*
,需将用户加入dialout
组:sudo usermod -aG dialout $USER # 重启生效
- 设备识别:未检测到设备时,检查USB连接、驱动(如
ftdi_sio
、pl2303
)是否加载:lsmod | grep usbserial # 确认USB串口驱动
- 虚拟串口:调试时可用
socat
创建虚拟串口对:socat -d -d pty,raw,echo=0 pty,raw,echo=0
场景 | 推荐命令 |
---|---|
快速列出设备 | ls /dev/ttyS* |
诊断新设备接入问题 | dmesg | grep tty |
获取硬件详情 | sudo lshw -class serial |
查看串口参数 | sudo setserial -g |
通过上述方法,可全面掌握Linux串口状态,操作涉及硬件底层,建议备份数据并谨慎修改配置。
引用说明参考Linux Man手册(
man setserial
、man udevadm
)、Linux内核文档及Ubuntu官方Wiki硬件调试指南,实践环境基于Linux 5.15+内核验证。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8076.html