Sponsored Content
Top Forums Programming How to read the CTS and DSR of RS232 in Unix using C language? Post 44372 by Perderabo on Friday 5th of December 2003 02:03:53 AM
Old 12-05-2003
Please click on the rules link at the bottom of the page. I have deleted your other thread.

You're not going to be able to do what you want. Use the command "man termios" to see what is available from the terminal driver. Use our search function to searc this forum to see some examples of termios in use.

In you have the hardware, you can use modem control signals, but the driver does it on your behalf. For an incoming line, a open() call raises DTR which signals the modem that it may auto-answer a call. When it does, it will raise DSR which causes the open to complete. If DSR drops, a hup signal is generated. A very clever program might be able to use all of this to "read" the state of the DSR signal. But open() is an expensive system call and the bandwidth would be low.

Some unix systems (maybe most? or all?) you can use CTS for hardware flow control of output, and RTS for hardware flow control of input. There is no hope for RTS, but a clever program might be able to determine the state of CTS by seeing if a non-blocking write() succeeds. But DSR would need to be high.

You might be able to have a simple switch send a break character. Anyone who uses a Sun with a terminal console knows how easy that is. You can arrange for a break character to send an INT signal to the program.
 

10 More Discussions You Might Find Interesting

1. Programming

RS232 communication optimisation

Need help for RS232 communication with switches in order to optimise the data traffic. How to manipulate different flags in termios struct to do the same? (1 Reply)
Discussion started by: ManishSaxena
1 Replies

2. UNIX for Advanced & Expert Users

VNC via Rs232

Hi ! Is there somebody who is able to connect a VNC session via serial cable ? There is a hint on the VNC homepage that it is possible to configure that. But how? thanks joerg (2 Replies)
Discussion started by: joerg
2 Replies

3. Solaris

rs232 pci-card

hello mates, do you know a manufactor for rs232 serial pci cards for the sparc architecture? it seems that there is no original product from sun for that purpose. strange, isn't it? problem is that i have a V250 with only one db9 rs232 serial port, and i need it for a modem connection, but i also... (1 Reply)
Discussion started by: pressy
1 Replies

4. Programming

How to set the DSR pin using a C Code

Hi, I am a newbie using linux. I want to use the 9 pins of the COM port for data transmission. I am trying to write a code to toggle the DTR pin in /dev/ttyS0. Can any one help by giving a sample code or links that will help me pick up fast Regards (2 Replies)
Discussion started by: Srikanthks_2000
2 Replies

5. UNIX for Dummies Questions & Answers

Can A File Be Copied to an RS232 Port on Unix?

We have a text/csv file (4mb) sitting on a Unix box. The PC belongs to a retail store and they're asking me to bring the file over to Windows so they can import the file. Can a file be copied to an rs232 port? If so how? The idea is that I'll hook up a null modem cable to the Unix com port,... (2 Replies)
Discussion started by: alivebyscience
2 Replies

6. Programming

Help to filter read through reference file by using c language

Input_file #tmp_2 werweraewghe @tmp_2 123sdfs57a #tmp_1 aewrgheheghe @tmp_1 457awrerfa87 #tmp_4 trtyrghe @tmp_4 8898rtyr2 reference_file #tmp_4 #tmp_1 (14 Replies)
Discussion started by: cpp_beginner
14 Replies

7. Programming

regarding adding fields to DSR protocol in ns2.34

hi i am student doing project in ns2.34. i hav to add field in route cache and packet of DSR routing protocol. which files hv to be changed...pl help me (1 Reply)
Discussion started by: khubalkar
1 Replies

8. Homework & Coursework Questions

regarding adding fields to DSR protocol in ns2.34

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: want to add field to route cache and packet of DSR routing protocol in ns2.34, add field, DSR package in ns2.34... (2 Replies)
Discussion started by: khubalkar
2 Replies

9. IP Networking

How to configure RHEL6 to support Aleton 4408 in DSR mode?

Dears How to configure RHEL6 to support Aleton 4408 in DSR(Direct Server Return) mode We have config Aleton 4408 + Windows 2008R2 then Windows set loopback interface with VIP. the exec the following command in CMD netsh interface ipv4 set interface "net" weakhostreceive=enabled netsh... (0 Replies)
Discussion started by: nnnnnnine
0 Replies

10. IP Networking

Source IP address field in RREP on DSR routing

Hello I have a question about routing in MANET using Dynamic Source Routing protocol. IN RFC4728 (DSR) in section "IP fields" of RREP (Route Reply) packet we have this: ok. I read in several books and also in rfc4728 that: when a source node (node that initiate route discovery process)... (1 Reply)
Discussion started by: acu281
1 Replies
ace(7)							 Miscellaneous Information Manual						    ace(7)

NAME
ace - Serial communications interface SYNOPSIS
controller ace0 at * slot ? vector aceintr DESCRIPTION
The ace serial line controller provides a serial communications interface on DEC 2000, AlphaStation, and AlphaServer platforms. The serial communications ports that are controlled by ace adhere to the RS-232 standard and can operate at rates from 50 to 115200 baud (see tty(7)). These communications ports support serial-line printers, modems, and terminals. In alternate console configurations (that is, no graphics head), the terminal to be the system console must be connected to the port that is mapped to /dev/tty00. (See ports(7) for information about mapping AlphaStation and AlphaServer port labels to device pathnames.) Cur- rently, some processors that use the ace driver limit the serial console port to 9600 baud, 8-bit, no parity and no modem support. However, some processor consoles do support baud rates other than 9600 baud and allow the use of modems as console devices. Consult your hardware documentation to determine the type of console support your system provides. The driver for the ace interface supports hardware flow control using the Request to Send (RTS) and Clear to Send (CTS) signals. When hardware flow control is enabled, the flow of input data is controlled by the RTS signal and the flow of output data is controlled by the CTS signal. If the CTS signal is off, the driver suspends output to that line until the CTS lead is reasserted. Likewise the driver turns off the RTS lead to tell the device connected to the line to stop sending data as a result of congestion on the host side. When the condi- tion clears, the driver turns on the RTS lead to tell the device to resume sending data. The DCD (carrier detect) timer value defaults to 2 seconds. This value may be changed if your modem hardware requires a different value. the change can be made in the /etc/sysconfigtab file as follows: ace: dcd_timer=n where n is the time interval in seconds, and can be set to 0 (no timeout), 1, or 2 seconds. Alternatively, you can use the sysconfig com- mand to set the same time interval option as follows: # sysconfig -r ace dcd_timer=[n] If you use the sysconfig command, the value will not be preserved when the system is rebooted. To preserve the setting, put the entry in the /etc/sysconfigtab file NOTES
If you are using the alternate system console to perform kernel debugging, you must change the kdebug entry in the /etc/remote file to use /dev/tty01; when the kernel is running in debugging mode, no other application can use the port. See Kernel Debugging for information on setting up your system for kernel debugging. RESTRICTIONS
Unless alternative specifications are stated in your system hardware documentation, data communications equipment attached to the console serial port in alternate console configurations must be set to 9600 baud, 8-bits, no parity. If a serial console is being used, /dev/tty00 cannot be opened by another process. The ace driver enforces this restriction. Baud rates greater than 38400 are not supported on the two primary serial ports on the DEC 2000 system. However, if you use an ISA serial or modem card that is capable of communicating at the higher rates, the higher rates are supported. FILES
console terminal local terminal local terminal RELATED INFORMATION
MAKEDEV(8), console(7), devio(7), modem(7), ports(7), tty(7) Kernel Debugging System Administration delim off ace(7)
All times are GMT -4. The time now is 05:01 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy