现象

通过ls /dev/ttyS* 查到的串口数量比实际数量少(只显示四个串口),而且这些串口都无法使用。这不是驱动问题,而是系统内核限制了数量。

解决方案

首先使用管理员权限编辑 /etc/default/grub 文件。找到"GRUB_CMDLINE_LINUX_DEFAULT=“的一行,比如:

  GRUB_CMDLINE_LINUX_DEFAULT="splash quiet console=tty video=VGA-1:1280x1024@60"
  

需要在行尾添加8250.nr_uarts=16,等号的数字根据实际串口数量确定,最大支持32。即修改成这个样子:

  GRUB_CMDLINE_LINUX_DEFAULT="splash quiet console=tty video=VGA-1:1280x1024@60 8250.nr_uarts=16"
  

保存后,我们需要更新系统的引导程序,执行指令

  sudo  update-grub
  

然后可以重启系统查看效果。