Mit setserial werden unter Linux die seriellen Schnittstellen (RS-232) konfiguriert.
Für die onboard ttyS0 und ttyS1 muss man normalerweise nichts spezielles konfigurieren, die üblichen Werte sollten da in jeder Linux-Distribution voreingestellt sein (ttyS0 == COM1 == 3F8/4, ttyS1 == COM2 == 2F8/3).
Die Probleme gehen aber meist dann los, wenn man eine PCI-Erweiterungskarte in Betrieb nehmen will, daher ein paar Tipps:
Kernel / lspci
dmesg (2.6.18-3 von Debian etch):
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A 00:0a: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 19 ACPI: PCI Interrupt 0000:03:08.0[A] -> Link [LNKA] -> GSI 19 (level, low) -> IRQ 201 0000:03:08.0: ttyS1 at I/O 0xec00 (irq = 201) is a 16550A 0000:03:08.0: ttyS2 at I/O 0xec08 (irq = 201) is a 16550A
Man sieht in diesem Beispiel schon eine kleine Besonderheit: nur die ttyS0 ist an der üblichen Stelle (onboard ist also keine ttyS1 vorhanden bzw. sie ist abgeschaltet).
ttyS1 und S2 sind hier beide auf einer PCI-Steckkarte (Digitus 2 Port Serial mit SUN1889 Chip). Die I/O-Adresse und der IRQ werden vom System zugewiesen, die können bei Euch also auch anders sein.
lspci -v:
03:08.0 Serial controller: Timedia Technology Co Ltd PCI2S550 (Dual 16550 UART) (rev 01) (prog-if 02 [16550]) Subsystem: Timedia Technology Co Ltd Unknown device 4037 Flags: stepping, medium devsel, IRQ 201 I/O ports at ec00 [size=32]
/etc/serial.conf
Hier werden bei Debian (etch) die seriellen Schnittstellen konfiguriert:
/dev/ttyS0 uart 16550A port 0x3F8 irq 4 /dev/ttyS1 uart 16550A port 0xec00 irq 201 /dev/ttyS2 uart 16550A port 0xec08 irq 201
Wichtig ist hier das A - wenn man 16550 (ohne A) angibt, dann tut es nicht richtig (minicom tut ein bischen, sendfax nicht)!
Port-Parameter
Zum Einstellen der Port-Parameter, etwa der Baudrate, gibt es andere Programme. Eine Weg besteht in der Nutzung von stty.