El comando setserial se utiliza para mostrar y cambiar la configuración de los puertos series de un ordenador. Como argumento se debe especificar además de opciones, los nombres de los dispositivos a través de los cuales el sistema operativo identifica a los puertos series, y estos tienen la siguiente nomenclatura: /dev/ttySn, donde n es el número 0 para com1:, 1 para com2:, etc.
Para mostrar información de los puertos series se debe usar la opción -g, junto con los puertos series sobre los que preguntamos:
# setserial -g /dev/ttyS[0-3]
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
/dev/ttyS1, UART: 16550A, Port: 0x02f8, IRQ: 3
/dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4
/dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3
En la información anterior, vemos que el equipo tiene dos puertos series (COM1: y COM2:), además de el puerto de E/S que utilizan y la IRQ.
Se puede solicitar más información con la opción -a:
# setserial -ga /dev/ttyS[01]
/dev/ttyS0, Line 0, UART: 16550A, Port: 0x03f8, IRQ: 4
Baud_base: 115200, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal skip_test
/dev/ttyS1, Line 1, UART: 16550A, Port: 0x02f8, IRQ: 3
Baud_base: 115200, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal skip_test
Se puede pedir que el sistema configure el puerto COM1:
# setserial -v /dev/ttyS0 autoconfig
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
La opción -v provoca una salida verbosa.
Se pueden cambiar muchas características de los puertos series con argumentos como: port, irq, baud_base, etc. Por ejemplo, vamos a establecer la velocidad a 9600:
# setserial -ga /dev/ttyS0
/dev/ttyS0, Line 0, UART: 16550A, Port: 0x03f8, IRQ: 4
Baud_base: 115200, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal skip_test
# setserial /dev/ttyS0 baud_base 9600
# setserial -ga /dev/ttyS0
/dev/ttyS0, Line 0, UART: 16550A, Port: 0x03f8, IRQ: 4
Baud_base: 9600, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal skip_test