$ setserial /dev/ttyS2
/dev/ttyS2, UART: 16550A, Port: 0x03e8, IRQ: 4
$ stty -a -F /dev/ttyS2
speed 9600 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D;
eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q;
stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V;
flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl
ixon ixoff -iuclc -ixany -imaxbel -iutf8
-opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0
tab0 bs0 vt0 ff0
-isig -icanon iexten -echo -echoe echok -echonl -noflsh -xcase
-tostop -echoprt echoctl echoke
$ uname -a
Linux debian 2.6.26-2-686 #1 SMP Sat Dec 26 09:01:51 UTC 2009 i686 GNU/Linux
$ dmesg | grep tty
[ 0.004000] console [tty0] enabled
[ 1.674275] serial8250: ttyS2 at I/O 0x3e8 (irq = 4) is a 16550A
[ 1.674575] serial8250: ttyS3 at I/O 0x2e8 (irq = 3) is a 16550A
[ 1.675645] 00:09: ttyS2 at I/O 0x3e8 (irq = 4) is a 16550A
[ 1.676160] 00:0a: ttyS3 at I/O 0x2e8 (irq = 3) is a 16550A
Не работает ни с нуль-модемным кабелем ни с любым другим устройством. Сменил несколько разъёмов на 9 и 25 штырьков, подключаю к матери правильно, в BIOS менял на различные порты и IRQ.
При этом в Windows и DOS работает COM-мышь на всех портах в любых условиях. В Linux cat /dev/ttySx молчит при любых условиях. Порт не занят.
Рядом стоит компьютер с тем же самым ядром и там всё работает при любых условиях.
В чём может быть проблема?