Linux tips: allow more than 4 serial ports

搞嵌入式的經常要和串口通訊打交道,在開發的時候有可能同時使用十幾個串口,這個時候一個PCI多串口卡就好用了。

 

但是很多Linux發行版的8250驅動默認限制檢測的最大串口數量爲4,例如在Ubuntu 8.10有如下配置:

 

cat /boot/config-`uname -r` | grep 8250

 

 

CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_ACCENT=m
CONFIG_SERIAL_8250_BOCA=m
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_CS=m
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
CONFIG_SERIAL_8250_EXAR_ST16C554=m
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_FOURPORT=m
CONFIG_SERIAL_8250_HUB6=m
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_MCA=m
CONFIG_SERIAL_8250_NR_UARTS=48
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PNP=y
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_SHARE_IRQ=y
 

配置項RUNTIME_UARTS限制了這個數目:

CONFIG_SERIAL_8250_RUNTIME_UARTS=4

 

如果你安裝了例如16個串口的串口卡來擴充機器的串口數目,那麼只能得到4個。

 

重新配置內核並編譯當然可以解決這個問題,但是更方便的方法是通過內核啓動參數8250.nr_uarts=??來改變這個默認數字。(內核啓動參數8250.nr_uart最終會被傳入到8250模塊。)

 

 

修改/boot/grub/menu.lst,在默認啓動的項目中加入8250.nr_uarts=16即可。

 

 

-----------

Enjoy it.

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章