Search code examples
.netvb.netmodemat-commandserial-communication

Modem gives ERROR after issuing ATDTnnnnnnn


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.


Solution

  • 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?