I am attempting to call a remote modem using a local modem connected via USB. Programming language is VB.NET and I am using the SerialPort
control to talk to the modem.
Communication is as follows:
I send: ATZ0[CR]
Modem responds: ATZ0[CR][CR][LF]OK[CR][LF]
I then try to dial a number:
I send: ATDTnnnnnnnnnn[CR]
where nnnnnnnnnn
is a valid number
The modem responds with:ATDTnnnnnnnnnn[CR][CR][LF]ERROR[CR][LF]
All other commands seem to work without any issues
For info the modem is a MultiTech MT5634ZBA-USB-V92
If I use hyperterminal and type the same commands in it works as expected and dials the number, so it must be something I am doing in my code, possible some setup in the SerialPort
control
EDIT
I have posted my own answer on this which was to issue AT&D0
to the modem. The above command are now working.
I have found after many hours of experimentation that issuing a AT&D0
(Ignore DTR Signal) command before ATDT
has the effect that the modem no longer responds with ERROR
but dials the remote modem as desired.
I am still a little confused why typing the commands into hyperterminal worked without having to issue AT&D0
- does anyone know if hyperterminal is issuing commands silently?