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