5

I'm using embedded Linux platform, kernel is 2.6. I'm using stty command to configure ttyS* high level. The problem is that when I want to turn hardware flow control on:

stty -F /dev/ttySA0 crtscts

it cannot communicate with other device (which also have flow control enabled - this is checked). I have found that in /proc/tty/driver/sc16is7x2 (this is serial device) there is:

serinfo:1.0 driver revision:
0: uart:sc16is752 port:00000001 irq:53 tx:155 rx:0 DSR|CD|RI
1: uart:sc16is752 port:00000002 irq:53 tx:10 rx:0 DSR|CD|RI

while on the other platform with the same hardware (and where hardware flow control works) there is something like:

serinfo:1.0 driver revision:
0: uart:sc16is752 port:00000001 irq:53 tx:155 rx:0 CTS|DSR|CD|RI
1: uart:sc16is752 port:00000002 irq:53 tx:10 rx:0 CTS|DSR|CD|RI

So the difference is in "CTS|DSR|CD|RI" vs "DSR|CD|RI". Could this "DSR|CD|RI" be a problem I cannot use hardware flow control?

2

There are two possible problems:

One is that the cable is incorrect. If it doesn't pass the hardware flow control signals correctly, hardware flow control will not work.

The other is that software has misconfigured one end or the other. Hardware flow control should be enabled in software at both ends. And software on both ends must have the respective ports open.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.