When I run command "dmesg | grep tty", then it displays just 4 ttyS devices from 0 to 3. I used #MAKADEV and makenode commands and they created ttyS... files in /dev folder. So now, I cannot use them because their properties such as MMIO addresses are not set. I have heard of the "setserial" command, but I can not see that it sets serial device MMIO address. So is there a way I can do that?
It is critical because my computer has 8 serial ports and I want to use them all. In my Linux, I can only use 4 of them..
If your system uses the driver 8250 to handle serial ports, please check CONFIG_SERIAL_8250_NR_UARTS
parameter in the configuration file of your kernel. This defines the maximum number of the serial ports the kernel will handle.
From Kconfig for that driver:
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
Chances are, the value of CONFIG_SERIAL_8250_NR_UARTS
is still 4 on your system. If so, you can set a greater value in the kernel configuration and rebuild the kernel to make all ports available.
Note that 8250.nr_uarts
kernel runtime parameter can only set the number of ports between 0 and CONFIG_SERIAL_8250_NR_UARTS
, so it is not enough to set it at boot time.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With