rubynroll 发表于 2013-1-15 14:24:15

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=yCONFIG_SERIAL_8250_ACCENT=mCONFIG_SERIAL_8250_BOCA=mCONFIG_SERIAL_8250_CONSOLE=yCONFIG_SERIAL_8250_CS=m# CONFIG_SERIAL_8250_DETECT_IRQ is not setCONFIG_SERIAL_8250_EXAR_ST16C554=mCONFIG_SERIAL_8250_EXTENDED=yCONFIG_SERIAL_8250_FOURPORT=mCONFIG_SERIAL_8250_HUB6=mCONFIG_SERIAL_8250_MANY_PORTS=yCONFIG_SERIAL_8250_MCA=mCONFIG_SERIAL_8250_NR_UARTS=48CONFIG_SERIAL_8250_PCI=yCONFIG_SERIAL_8250_PNP=yCONFIG_SERIAL_8250_RSA=yCONFIG_SERIAL_8250_RUNTIME_UARTS=4CONFIG_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.
 
 
 
页: [1]
查看完整版本: Linux tips: allow more than 4 serial ports