I install multiport serial card with WCH CH352L chipset, it has driver for Linux:
[ 1.313772] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A [ 1.313944] serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A [ 1.314574] 00:08: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A [ 1.314866] 00:09: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A [ 1.315268] 0000:00:07.0: ttyS2 at I/O 0xdf00 (irq = 18) is a XScale [ 1.315502] 0000:00:07.0: ttyS3 at I/O 0xe000 (irq = 18) is a XScale
setserial -g /dev/ttyS*
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4 /dev/ttyS1, UART: 16550A, Port: 0x02f8, IRQ: 3 /dev/ttyS2, UART: 16550A, Port: 0xdf00, IRQ: 18 - multiport card /dev/ttyS3, UART: 16550A, Port: 0xe000, IRQ: 18 - multiport card
It read nice. When try to transfer less then 17 byte it looks ok(ttyS1 and ttyS3 connected with null-modem cable):
echo "1234567890123456" > /dev/ttyS3
But when more then 16 byte:
echo "12345678901234567890" > /dev/ttyS3
echo "12345678901234567890abcdef" > /dev/ttyS3
16550A Uart FIFO has 16 byte buffer and it looks like how bytes in fifo buffer rewrite from begin because uart don't have time to send it out.
Can any help me? why it don't work fine?
asked 12 May '10, 07:48
Your post implies that the ordinary serial ports in your computer work differently than your card. There is a 16-bytes buffer. Maybe the behavior you see is normal.
Use your null-modem cable and type to yourself. If you do Ctrl-A followed by Z it brings up the help-screen.
If you select
answered 13 May '10, 04:26