/ / ¿Cómo agregar más de 4 dispositivos tty seriales en Linux? - Linux, puerto serie, linux-device-driver

¿Cómo agregar más de 4 dispositivos seriales tty en Linux? - Linux, puerto serie, linux-device-driver

Cuando ejecuto el comando "dmesg | grep tty", entoncesmuestra solo 4 dispositivos ttyS de 0 a 3. Usé los comandos #MAKADEV y makenode y crearon archivos ttyS ... en la carpeta / dev. Así que ahora, no puedo usarlos porque sus propiedades, como las direcciones MMIO, no están establecidas. He oído hablar del comando "setserial", pero no puedo ver que configura la dirección MMIO del dispositivo serie. Entonces, ¿hay una manera de que pueda hacer eso?

Es crítico porque mi computadora tiene 8 puertos seriales y quiero usarlos todos. En mi Linux, solo puedo usar 4 de ellos ..

Respuestas

5 para la respuesta № 1

Si su sistema usa el controlador 8250 para manejar los puertos serie, verifique CONFIG_SERIAL_8250_NR_UARTS Parámetro en el archivo de configuración de su kernel. Esto define el número máximo de puertos serie que manejará el kernel.

De Kconfig para ese conductor:

config SERIAL_8250_NR_UARTS int "número máximode 8250/16550 puertos serie " depende de SERIAL_8250 por defecto "4" ayuda Establezca esto en el número de puertos serie que desea que el controlador apoyar. Esto incluye cualquier puerto descubierto a través de ACPI o Enumeración de PCI y cualquier puerto que se pueda agregar en tiempo de ejecución a través de conexión en caliente, o cualquier tarjeta serie multipuerto ISA.  config SERIAL_8250_RUNTIME_UARTS int "Número de puertos serie 8250/16550 para registrar en tiempo de ejecución" depende de SERIAL_8250 rango 0 SERIAL_8250_NR_UARTS por defecto "4" ayuda Establézcalo en el número máximo de puertos serie que desee El kernel para registrar en el arranque. Esto puede ser anulado con el parámetro de módulo "nr_uarts", o el parámetro de tiempo de arranque 8250.nr_uarts

Las posibilidades son, el valor de CONFIG_SERIAL_8250_NR_UARTS sigue siendo 4 en su sistema. Si es así, puede establecer un valor mayor en la configuración del kernel y reconstruir el kernel para que todos los puertos estén disponibles.

Tenga en cuenta que 8250.nr_uarts El parámetro de tiempo de ejecución del kernel solo puede establecer el número de puertos entre 0 y CONFIG_SERIAL_8250_NR_UARTS, por lo que no es suficiente configurarlo en el momento de arranque.