Linux Centos支持多串口的方法

By | 2020-01-08

前言

  最近发现在6串口的主板安装Centos 7后,串口只能识别4个,Ubuntu和windows没有此问题,通过网上查找相关资料后解决,这里记录下解决方法。为了方便这里用虚拟机演示。

查看串口情况

dmesg|grep tty
centos tty
dmesg|grep serial

如果物理机超过4个串口,这里多出的串口会显示disable

产生原因:很多Linux发行版的8250串口驱动默认限制了能够使用的最大串口数量为4

查询内核串口配置

cat /boot/config-'uname-r'|grep 8250
runtime_uarts

配置项RUNTIME_UARTS=4限制了你最多只能同时使用4个串口设备,如果你有6个串口,那么只能识别出4个,另两个是disable状态

解决办法

1、配置内核重新编译,太费时不推荐

2、GRUB添加内核启动参数 8250.nr_uarts=?(数量根据自己真实情况输入),推荐

第二种方法解决步骤

  1. 打开/etc/default/grub, 修改GRUB_CMDLINE_LINUX行,添加 8250.nr_uarts= 6
  2. grub2-mkconfig -o /boot/grub2/grub.cfg执行更新

注意UEFI 系统上的指令是 grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

重启电脑后,输入cat /proc/cmdline查看内核输出参数,如果有刚添加的8250即说明配置成功,这样6个串口就都能使用了

2 thoughts on “Linux Centos支持多串口的方法

  1. 郑喜冬

    请问大神,有具体修改的教程么,本人小白一个

    Reply

发表回复

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