Link to home
Start Free TrialLog in
Avatar of carterl
carterl

asked on

C prog to talk to modem in UNIX

I'm trying to communicate with my modem hanging from /dev/ttyS1 on my Linux machine.  I'm trying to write something to talk to the modem in C/C++ and I can write data to it, I just can't read the response.  For example if I send down an ATDT1234 I can hear the modem go off the hook and dial (then hangup) however I can't get the response back  from the modem to manipulate in my program.

I'd like some sample code if anyone has got it, on how to send an AT command to the modem and monitor the modem for its response, and no DOS/Win code please, only code suitable for Linux/*nix.

Thanks in advance
Avatar of kellyjj
kellyjj

how did you open the port and send data to it???
Avatar of carterl

ASKER

I basically tried all three approaches that are in the Linux Serial Port Programming Howto (a copy of which can be found at http://www.caldera.com/LDP/HOWTO/Serial-Programming-HOWTO.html)

I cut and paste the the example 3.3 for Async input and the only alteration was to put above the while loop a write statement dumping a char array which held "ATDT123\r".  It sent the command out, and generated the events however when it displayed the data read back in the input buffer held the same "ATDT123\r" text and nothing else.  This seems the case no matter what I send to the modem.

Thanks for your reply, it's greatly appreciated.
did you try to send anything else??   YOu should try to send just 'AT'  and see if you get 'OK' back.  Also, what kind of init string are you sending.
Avatar of carterl

ASKER

I've tried just AT on it's own, and other AT commands with the same lack of response.  I've tried sending the same init string that minicom (a Unix procomm lookalike) sends, and that doesn't seem to do anything either.  If I use something like seyon or minicom I can enter AT and get and OK back.
You may want to set the serial port's mode to "raw".
How to do this is explained in the manpage for termios.

This question belongs in the "Unix Programming" forum, not this one.

ASKER CERTIFIED SOLUTION
Avatar of mweilguni
mweilguni

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of carterl

ASKER

Thanks, I've got the source somewhere on one of my Slackware CD's I'll check it out :)