When I test with HostMonitor, something you're sending to the modem causes an error that you're not waiting long enough to receive. HM times out, but when I connect with Hyperterminal immediately after, I get the ERROR which is still in the buffer. It is "Invalid Parameter".
This happens both in Text and PDU modes.
Are you including the ">" (Greater-Than) in the string you're sending with the command? I noticed it even in the PDU string you're sending.
The sequence for the command in Text mode should be:Error: Cannot send message to +1nnnnnnnnnn. GSM modem error. No reply on AT command: AT+CMGS="+nnnnnnnnnn",145>Message from HostMonitor (host changed status)<CR><CR>Test : Ping: xxx.xxx.xxx.xxx<CR><CR>Method: ping (timeout - 2000 ms)<CR><CR>Status : Host is alive<CR><CR>Date : 2/8/2011 9:26:40
The software doesn't send the ">" character.. The modem provides it as a prompt to let the software know it's awaiting the message data to send.
HostMonitor sends 'AT+CMGS="+1xxxxxxxxxx",145<CR>'
(wait for the ">" to be returned by the modem)
> (modem is now ready for the message terminated by CTRL-Z )
HostMonitor sends 'Message from HostMonitor (host changed status)<CR><CR>Test : Ping: xxx.xxx.xxx.xxx<CR><CR>Method: ping (timeout - 2000 ms)<CR><CR>Status : Host is alive<CR><CR>Date : 2/8/2011 9:26:40^Z'