很多 linux 安装好后只有可以看到 4 个或 8 个串口,比如:OS 默认串口数量Red hat 9.0 4Ubuntu 9.10/10.4 4SUSE 11 8如 SUSE11 可以看到,8 个串口

工具/原料

  • SUSE11;fedora;ubruntu

  • ubruntu12.04

方法/步骤

  1. 有些主板串口的数量超过默认数量时(比如 AIMB-562 有 10 个串口) ,就需要手动添加串口,方法如下:在/boot 下找到 menu.lst 文件,然后在 8250 后面添加 nr_uarts=18,即添加 18 个串口,如下图:

  2. 重启之后就可以看到添加的串口了,配置后就可以正常使用了。常用的配置命令有:修改/etc/init.d/boot.local 文件,添加:setserial /dev/ttyS6 uart 16550a port 0x300 irq 7 baud_base 115200setserial /dev/ttyS7 uart 16550a port 0x308 irq 7 baud_base 115200

    setserial /dev/ttyS8 uart 16550a port 0x310 irq 7 baud_base 115200setserial /dev/ttyS9 uart 16550a port 0x318 irq 7 baud_base 115200setserial /dev/ttyS10 uart 16550a port 0x320 irq 7 baud_base 115200setserial /dev/ttyS11 uart 16550a port 0x328 irq 7 baud_base 115200setserial /dev/ttyS12 uart 16550a port 0x330 irq 7 baud_base 115200setserial /dev/ttyS13 uart 16550a port 0x338 irq 7 baud_base 115200setserial /dev/ttyS14 uart 16550a port 0x340 irq 7 baud_base 115200setserial /dev/ttyS15 uart 16550a port 0x348 irq 7 baud_base 115200setserial /dev/ttyS16 uart 16550a port 0x350 irq 7 baud_base 115200setserial /dev/ttyS17 uart 16550a port 0x358 irq 7 baud_base 115200

    重启后生效。

    但 nr_uarts=18 这个参数也是有限制的,这是由内核决定的,而这个内核也是可以修改的。修改方法如下:添加串口的如下; (本例是添加 32 个串口)1.进下以下目录:cd /usr/src/linux-2.6.27.19-52.运行:linux-d89z:/usr/src/linux-2.6.27.19-5 # make menuconfig3.出现内核修改:依次进入如下目录:Device Drivers à Character devices à Serial drivers à [X] Maximum number of 8250/16550 serial portsè [Y] Number of 8250/16550 serial ports to register atruntimeX 的意义:内核支持的最大串口数量;Y 的意义:开机进入 OS 时注册串口的数量。

    这个是支持的最大串口数量;原来是 16,现在改为 32,这个是系统安装好后默认开的串口数量,默认为 8,现在改为 18 即可实现 18 个串口。然后,选择 退出界面。回到终端,执行:Number of 8250/16550 serial ports to register at runtimemake bzImage这个过程会比较久,大概30分钟~2小时。完成后再继续下面命令:

    完成后,重启,再用 setserial –g /dev/ttyS*,或 ls /dev/ttyS*,可以看到已经有 32 个串口了。如下图:

  3. 在 Ubuntu 10.04 下最大串口数是 48,当前系统默认数量是 4,所以只要传递当肖数量值就可以了。

    操作如下:1. 修改 grub.cfg 配置文件。2. Sudo gedit /etc/default/grubDefault 檔案內容如下:

    # If you change this file, run 'update-grub' afterwards to update# /boot/grub/grub.cfg.GRUB_DEFAULT=0GRUB_HIDDEN_TIMEOUT=0GRUB_HIDDEN_TIMEOUT_QUIET=trueGRUB_TIMEOUT=10GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`GRUB_CMDLINE_LINUX_DEFAULT= quiet splash3. 在最后一行加入 Parameter 8250.nr_uarts=8GRUB_CMDLINE_LINUX_DEFAULT= quiet splash 8250.nr_uarts=8

linux 添加最大串口数量方法相关推荐

  1. liunx创建php环境变量,linux添加环境变量的方法总结

    linux添加环境变量的方法总结 linux对环境变量有无双引号.或者变量用不用{}括起来并不敏感,小小的看了下profile文件,似乎系统如果发现变量没有引号,会自动加上. 但变量前必须加$符号,类 ...

  2. linux添加多个workspace方法,使用workspace管理多个project

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? Xcode可以使用workspace同时存在和管理多个project,也就是一个项目中同时存在多个xcodeproj. ...

  3. linux添加了一条静态路由,为Linux新增静态路由的方法

    为Linux新增静态路由的方法 静态路由是用户手工配置的路由信息,起到保护网络安全的作用,那么要如何为Linux系统新增一条静态路由呢?下面YJBYS小编就给大家介绍下Linux新增静态路由器的方法. ...

  4. linux加新的硬盘,linux添加新硬盘

    1.添加新磁盘 2.fdisk -l查看磁盘被识别的名称 3.如果输入fdisk -l命令没有找到新的磁盘,按下面步骤操作 1)进入到cd /sys/class/scsi_host/ 2)echo & ...

  5. python给函数设置超时时间_在 Linux/Mac 下为Python函数添加超时时间的方法

    我们在使用 requests 这类网络请求第三方库时,可以看到它有一个参数叫做 timeout ,就是指在网络请求发出开始计算,如果超过 timeout 还没有收到返回,就抛出超时异常.(当然存在特殊 ...

  6. Linux 系统添加静态路由的方法

    Linux 系统添加静态路由的方法 1.添加一条默认路由 route add default gw 10.0.0.1  (默认只在内存中生效) 开机自启动可以追加到/etc/rc.local文件里 e ...

  7. linux内核串口调试,linux 串口调试方法

    linux 串口调试方法 作者:syhdjf 发布于:2015-4-8 16:41 最近项目上用到linux下的串口,与下级模块的通信出了些问题,所以写了个小程序想要测试下串口,物理连接是PC端串口调 ...

  8. linux 添加开机启动项的三种方法。

    原文地址: https://blog.csdn.net/lylload/article/details/79488968 Shell环境变量配置文件:https://blog.csdn.net/yzs ...

  9. ​linux 添加开机启动项的三种方法

    linux 添加开机启动项的三种方法. (1)编辑文件 /etc/rc.local 输入命令:vim /etc/rc.local 将出现类似如下的文本片段: #!/bin/sh # # This sc ...

最新文章

  1. cross-entropy(交叉熵)是什么?用了表征什么东西?
  2. 通过阿里云容器服务K8S Ingress Controller实现应用服务的灰度发布
  3. python3 处理 html转义字符
  4. Matlab结构第三版,MATLAB程序设计(原书第3版)
  5. 最长回文子串(Longest Palindromic Substring)
  6. Linux多进程编程之在线词典
  7. 创建和分享你的Visual Studio color
  8. 生产制造追溯系统-IQC来料检验
  9. Python PyQt5l表单应用 - 自定义选择下拉框样式
  10. 一些成功又不失趣味的网络营销案例
  11. GitHub上传教程,图文并茂
  12. 学报格式和论文格式一样吗_学报论文发表格式有什么要求
  13. TBR架构的一些理解
  14. selenium三种方法isEnable()、isDisplayed()和isSelected()的区别
  15. zabbix mysql 密码_zabbix小结(十二)zabbix密码修改
  16. 创建型模式-抽象工厂模式
  17. Linux进阶篇--磁盘阵列(RAID)和逻辑卷管理
  18. 二、LLC 谐振变换器
  19. IT猿助手 宝宝取名助手 App Tech Support
  20. DTO(数据传输对象)模式

热门文章

  1. BOOST_LOG_UNIQUE_IDENTIFIER_NAME宏用法的测试程序
  2. boost::coroutine模块实现对称协程的测试程序
  3. DCMTK:OFnumeric_limits的单元测试
  4. VTK:小部件之ContourWidget
  5. VTK:小部件之LineWidget2
  6. VTK:Picking之HighlightSelectedPoints
  7. QML资源加载和网络透明度
  8. Qt Creator指定环境设置
  9. array_uniquee php_【性能为王】从PHP源码剖析array_keys和array_unique
  10. python携程酒店评论_携程酒店评论爬虫心得