linux 添加最大串口数量方法
很多 linux 安裝好后只有可以看到 4 個或 8 個串口,比如:OS 默認串口數量Red hat 9.0 4Ubuntu 9.10/10.4 4SUSE 11 8如 SUSE11 可以看到,8 個串口
工具/原料
-
SUSE11;fedora;ubruntu
-
ubruntu12.04
方法/步驟
有些主板串口的數量超過默認數量時(比如 AIMB-562 有 10 個串口) ,就需要手動添加串口,方法如下:在/boot 下找到 menu.lst 文件,然后在 8250 后面添加 nr_uarts=18,即添加 18 個串口,如下圖:
重啟之后就可以看到添加的串口了,配置后就可以正常使用了。常用的配置命令有:修改/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 個串口了。如下圖:
在 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 添加最大串口数量方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于 Slax 构建译者专用 Linux
- 下一篇: darknet: ./src/parse