Am 26.04.2011 04:47, schrieb Graeme Gill:
At the moment I'm simply seeing if the port can be opened as a way to filter out all the non-existent or unusable /dev/tty's.
I'm afraid that open() succeeds even on ttyS<x> devices which are not associated with real hardware. On my notebook running SuSE Linux there exist device nodes /dev/ttyS[0-7]. ALL of them can be opened, but obviously only 0..3 are associated with port and IRQ numbers (see below). And even even this seems strange at the first glance, as my notebook has no serial port at all [so I guess there are indeed four UARTs built into the chipset, but not connected to the outside]. $ setserial /dev/ttyS0 /dev/ttyS0, UART: unknown, Port: 0x03f8, IRQ: 4 $ setserial /dev/ttyS1 /dev/ttyS1, UART: unknown, Port: 0x02f8, IRQ: 3 $ setserial /dev/ttyS2 /dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4 $ setserial /dev/ttyS3 /dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3 $ setserial /dev/ttyS4 /dev/ttyS4, UART: unknown, Port: 0x0000, IRQ: 0 $ setserial /dev/ttyS5 /dev/ttyS5, UART: unknown, Port: 0x0000, IRQ: 0 $ setserial /dev/ttyS6 /dev/ttyS6, UART: unknown, Port: 0x0000, IRQ: 0 $ setserial /dev/ttyS7 /dev/ttyS7, UART: unknown, Port: 0x0000, IRQ: 0 Regards, Gerhard