I added $|=1; and got no response in the perl program. The php program was modified to output the response to a file and the file contents (in hex) are:
Fdff ff18 20fd fdff ff23 27fd --Michael ________________________________ From: [email protected] [mailto:[email protected]] On Behalf Of Alejandro Guerrieri Sent: Saturday, August 15, 2009 2:07 PM To: Users mailing list Subject: Re: Multitech modem I mean $| = 1 :P On Sat, Aug 15, 2009 at 8:05 PM, Alejandro Guerrieri <[email protected]> wrote: Looks more like a buffering problem. Try adding $| = 0 and see if you can get a response. Please also post a dump of those 12 characters (if they're not printable I mean). Regards, Alejandro On Sat, Aug 15, 2009 at 5:32 AM, Michael A. Lewis <[email protected]> wrote: I am having an issue with a multitech gsm/gprs modem with internet interface. In my debugging I have gotten down to telnet 192.168.1.5 5000 and am able to issue AT commands (including manually sending an SMS message to my phone). However, nothing from a program interface. In an attempt to isolate the problem, I have written small php and perl programs. The perl program is: Use IO::Socket; $socket=IO::Socket::INET->new { PeerAddr="192.168.1.5", PeerPort="5000"; Proto="tcp", Type="SOCK_STREAM"} or die "Could not open port.\n"; Print $socket "at+cmgf=1\m"l My $inl=<$socket>; Print "$inl\n"; The program never returns from the read from the socket. The PHP version of the program returns 12 characters (all of which appear to have the high bit set). As I said, I can telnet into it. I can get to the admin interface using a browser. Is this some sort of character set issue perhaps? Has anyone else had this problem? I have tried googling for an answer all day without result. I would appreciate any help or insight. Thanks, Michael
