首页 文章

如何在Linux中添加4个以上的串口设备?

提问于
浏览
3

当我运行命令“dmesg | grep tty”时,它只显示从0到3的4个ttyS设备 . 我使用了#MAKADEV和makenode命令,他们在/ dev文件夹中创建了ttyS ...文件 . 所以现在,我不能使用它们,因为它们的属性如MMIO地址没有设置 . 我听说过“setserial”命令,但我看不出它设置了串口设备MMIO地址 . 那么我有办法吗?

这很关键,因为我的电脑有8个串口,我想全部使用它们 . 在我的Linux中,我只能使用其中的4个..

1 回答

  • 7

    如果您的系统使用驱动程序8250来处理串行端口,请检查内核配置文件中的 CONFIG_SERIAL_8250_NR_UARTS 参数 . 这定义了内核将处理的最大串行端口数 .

    Kconfig为该驱动程序:

    config SERIAL_8250_NR_UARTS
        int "Maximum number of 8250/16550 serial ports"
        depends on SERIAL_8250
        default "4"
        help
          Set this to the number of serial ports you want the driver
          to support.  This includes any ports discovered via ACPI or
          PCI enumeration and any ports that may be added at run-time
          via hot-plug, or any ISA multi-port serial cards.
    
    config SERIAL_8250_RUNTIME_UARTS
        int "Number of 8250/16550 serial ports to register at runtime"
        depends on SERIAL_8250
        range 0 SERIAL_8250_NR_UARTS
        default "4"
        help
          Set this to the maximum number of serial ports you want
          the kernel to register at boot time.  This can be overridden
          with the module parameter "nr_uarts", or boot-time parameter
          8250.nr_uarts
    

    有可能, CONFIG_SERIAL_8250_NR_UARTS 的值在您的系统上仍为4 . 如果是这样,您可以在内核配置中设置更大的值并重建内核以使所有端口可用 .

    请注意, 8250.nr_uarts 内核运行时参数只能设置0到 CONFIG_SERIAL_8250_NR_UARTS 之间的端口数,因此仅在引导时设置它是不够的 .

相关问题