I install multiport serial card with WCH CH352L chipset, it has driver for Linux: dmesg|grep ttyS[ 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/ttyS3cat /dev/ttyS11234567890123456 But when more then 16 byte: echo "12345678901234567890" > /dev/ttyS3cat /dev/ttyS178905678901234567890 echo "12345678901234567890abcdef" > /dev/ttyS3cat /dev/ttyS11890abcdef1234567890abcdef 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? |
Two comments: FIRST 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. SECOND Install 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 |
Please accept an answer, or provide more details on what you're looking for.