VOGONS


First post, by superfury

User metadata
Rank l33t++
Rank
l33t++

Anyone knows if there's any result when "ATDT;" is dialed? Does it give OK and return to command mode? Or does it do nothing, not even a result?

I see Windows 9x executing this command on my emulated modem just before the normal ATDT command dialing the actual phone number I specified in the settings of the dial-up connection.

I've just modified it to report an OK result when receiving the ATDT;\r command?

Edit: Windows 98 seems to connect properly now (didn't test Windows 95 with this yet). Although it needed a little bit of help with the dialing script not starting up fast enough and thus not responding to the username being asked by the server.

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 1 of 21, by the3dfxdude

User metadata
Rank Member
Rank
Member

I think ATD is supposed to initiate dialing and wait for something to respond for a handshake. So I am thinking it is supposed to say CONNECT or NO CARRIER. With the ; added, I guess it is supposed to return to a command state so it sort of makes sense that OK is returned.

Reply 2 of 21, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Hi guys, I have got an Elsa Mikrolink 56k modem laying around that I found a few days ago in the garage.

I'll try the command out this evening! :)

Edit: Everything is ready, but I can't find the serial cable! xD

Edit: Found the cable. Photos added.

Attachments

  • modem1.jpg
    Filename
    modem1.jpg
    File size
    108.07 KiB
    Views
    1844 views
    File license
    Public domain
  • modem2.jpg
    Filename
    modem2.jpg
    File size
    177.07 KiB
    Views
    1844 views
    File license
    Public domain
Last edited by Jo22 on 2021-05-22, 15:57. Edited 2 times in total.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 3 of 21, by superfury

User metadata
Rank l33t++
Rank
l33t++

Slightly related: I've been fixing issues and improving the dial-up SCP scripts for Windows 9x.
The scripts themselves at least work correctly when a username and password is used for the server.

But somehow, both when connecting using UniPCemu(running Windows 98) and Dosbox(using Arachne) in SLIP mode, the connection is eventually lost somehow (or hanged up by the server if it thinks the client disconnected or is unstable).

Can anyone see if something is going wrong?
https://bitbucket.org/superfury/unipcemu/src/ … ardware/modem.c

So the issue happening with both Dosbox 0.74 and UniPCemu disconnecting from the SLIP server means that the server itself is somehow faulty in the latest versions?
Although with my latest bugfixes, UniPCemu now properly seems to (using the latest SCP scripts in the disk image) dial the server and properly login.
But actual communication with websites (trying google.com to test) seems to fail somehow?

This ran without issues on older builds?

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 4 of 21, by the3dfxdude

User metadata
Rank Member
Rank
Member

So my immediate interest in this question was thinking about what happened with ATDT;. I have this memory that I did something where I'd have the modem or myself pickup the line, wait for the dialtone to go away, and then have another modem in another part of the house pick up and answer. It was a cheap way to play a game or send a file without running a null modem cable. So ATDT; might have been one way to do it -- but it's been around 25 years since I did this, because after I had ethernet in the house.

But today I can't get past the modem requiring a dialtone immediately on ATDT;. Says NO DIALTONE. So I don't have the ability to confirm this at the moment.

Reply 5 of 21, by superfury

User metadata
Rank l33t++
Rank
l33t++
the3dfxdude wrote on 2021-05-19, 17:38:

So my immediate interest in this question was thinking about what happened with ATDT;. I have this memory that I did something where I'd have the modem or myself pickup the line, wait for the dialtone to go away, and then have another modem in another part of the house pick up and answer. It was a cheap way to play a game or send a file without running a null modem cable. So ATDT; might have been one way to do it -- but it's been around 25 years since I did this, because after I had ethernet in the house.

But today I can't get past the modem requiring a dialtone immediately on ATDT;. Says NO DIALTONE. So I don't have the ability to confirm this at the moment.

Well, the weird thing is that Windows seems to issue "ATDT;" followed by "ATDT<whatever phonenumber is setup in the dialing setting>" whem dialing an ISP. All I did was disable the checkbox for area/country code in the settings (to dial to phonenumber 0 in my case, which redirects to phonebook entry 0(quick dial) which I've set to the http address and port(....com:port) to use as the Dosbox-style dialing TCP connection target to connect to. Ao this happens in 3 steps:
ATDT0 becomes ATS0(or was it ATDS0) for the phonebook dial.
Said phonebook dial rewrites it to directly dial the phonebook entry using TCP connection (like Dosbox's "ATDTbbs.starbase21.net:23" where ATDT's functionality(special characters etc) is skipped and called directly to connect to the host and port.

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 6 of 21, by superfury

User metadata
Rank l33t++
Rank
l33t++

I've found the root cause of the ATDT; before the ATDT<yournumber>.

Within the modem's properties (at least on Windows 95 "C"/OSR 2.5) there's a section called "Call preferences". It has the option "Wait for dial tone before dialing" checked by default it seems. That causes the "ATDT;" to be executed before the normal "ATDT<phonenumber>".

Needed to disable this when double checking it with Windows 95 on Dosbox SVN Daum (which I've used in the past to verify the SLIP server).

Edit: Just as I was addressing the server to keep sending data pending if it failed to send it (just checking for disconnects when receiving) until it is actually able to send it, Dosbox SVN Daum hangs, Windows reporting that various stuff like iexplore.exe is corrupted?

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 7 of 21, by jmarsh

User metadata
Rank Oldbie
Rank
Oldbie
the3dfxdude wrote on 2021-05-19, 17:38:

I have this memory that I did something where I'd have the modem or myself pickup the line, wait for the dialtone to go away, and then have another modem in another part of the house pick up and answer. It was a cheap way to play a game or send a file without running a null modem cable. So ATDT; might have been one way to do it -- but it's been around 25 years since I did this, because after I had ethernet in the house.

But today I can't get past the modem requiring a dialtone immediately on ATDT;. Says NO DIALTONE. So I don't have the ability to confirm this at the moment.

You're thinking of just "ATD" which makes the modem attempt connecting without dialling (matched with ATA on the answering modem).

ATD = dial without waiting for dialtone (number is optional) and connect
ATDT = as above but wait for dial tone before dialling
ATD(T); = begins dialling/connection but don't wait for completion.

Reply 8 of 21, by superfury

User metadata
Rank l33t++
Rank
l33t++

Well, UniPCemu ignores the T part of ATDT(the same with ATDP). Phonebook dialing(also aliased to dialing a one-digit number for compatibility, redirecting to ATDS<digit>) is redirected (case sensitive) to ATD<phonebookentry>. As said before, in either case, the T/P modifier is ignored(it just dials).

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 9 of 21, by the3dfxdude

User metadata
Rank Member
Rank
Member
jmarsh wrote on 2021-05-20, 03:38:
You're thinking of just "ATD" which makes the modem attempt connecting without dialling (matched with ATA on the answering modem […]
Show full quote

You're thinking of just "ATD" which makes the modem attempt connecting without dialling (matched with ATA on the answering modem).

ATD = dial without waiting for dialtone (number is optional) and connect
ATDT = as above but wait for dial tone before dialling
ATD(T); = begins dialling/connection but don't wait for completion.

All ATD* commands require a dialtone, even a bare ATD (I checked this earlier). The key part is that if you were connecting two computers locally, you need a phone line, and to let the dial tone to go away and have a silent line. If you did an ATA with a dialtone there, it wouldn't work. The (T) represents the dialing option touch tone, and is assumed anyway, if that is how the modem is configured. For this case, it is meaningless, and everything you mentioned is the same.

Reply 10 of 21, by superfury

User metadata
Rank l33t++
Rank
l33t++

I've been busy testing the SLIP server again.

It at least seems to run somewhat now? It doesn't seem to disconnect all the time with Dosbox-X's latest version and older Windows 95 version?

Running a ping on various websites gives their IP address correctly it seems? But the ping actually only times out?
Opening a web page using said connection of course also seems to fail? So DNS lookups work, but normal website(IP-based) access doesn't, like google.com's server itself?

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 11 of 21, by Jo22

User metadata
Rank l33t++
Rank
l33t++

ATDT = AT command, dial, tone dial
ATDP = AT command, dial, impulse dial

I've taken two picture with an "Elsa Microlink 56k internet".
For a real test, though, some sort of land-line is required.
Because, the modem complaints with a "NO DIALTONE", as the3dfxdude expected.

It doesn't have to be the real thing.
Some sort of VoIP router/modem with a TAE or RJ11 port will also do.
Or a classic, analogue telephone system will also do (say, an Auerswald).

Edit: Just did a test with an AVM Fritzbox ADSL router..
Entering ATDP; or ATDT; results in an "OK". The modem picks up the line (dial tone can be heard) and waits for approximately 20 seconds.
After this, it hangs up and gives a "NO CARRIER" message.

Edit: Typo fixed. I meant "dial tone", of course. My bad, I'm no native speaker. 😅

Attachments

  • modem5.jpg
    Filename
    modem5.jpg
    File size
    44.11 KiB
    Views
    1836 views
    File license
    Public domain
  • modem4.jpg
    Filename
    modem4.jpg
    File size
    57.9 KiB
    Views
    1836 views
    File license
    Public domain
  • modem3.jpg
    Filename
    modem3.jpg
    File size
    56.69 KiB
    Views
    1836 views
    File license
    Public domain

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 12 of 21, by superfury

User metadata
Rank l33t++
Rank
l33t++

OK. So "OK" is the correct response (as Dosbox and UniPCemu now do). NO DIALTONE also can happen, but probably only when there isn't any phone line connected?

Although the latter would only occur in an emulated environment when no network card to use is present to use?

Is that correct?

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 13 of 21, by weedeewee

User metadata
Rank l33t
Rank
l33t

and you could add a NO CARRIER if the network connection loses internet connectivity 🤣

Right to repair is fundamental. You own it, you're allowed to fix it.
How To Ask Questions The Smart Way
Do not ask Why !
https://www.vogonswiki.com/index.php/Serial_port

Reply 14 of 21, by superfury

User metadata
Rank l33t++
Rank
l33t++
weedeewee wrote on 2021-05-22, 20:38:

and you could add a NO CARRIER if the network connection loses internet connectivity 🤣

Undetectable. If pcap on the server fails, it can't be detected (on the packet server, other than silence (no packets for n seconds?)).
The connected Dosbox/UniPCemu client will disconnect and report it (with the line disconnected) if the TCP connection is lost. And if it's on a loopback connection (127.0.o.1) that never happens.

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 15 of 21, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Hi there. This is a bit off-topic perhaps, but I just got an old Creatix modem in the mail from eBay.
I learned, that it supports an older standard, V.25bis. It's an old ITU standard less known in the states, for examples.
https://www.pcmag.com/encyclopedia/term/v25bis

Anyway, I thought this information might be interesting to share.

Edit: I've attached photos of the command set from the manual.
It's possible to switch between Hayes AT and V.25bis from either mode.

Attachments

Last edited by Jo22 on 2023-01-27, 12:51. Edited 1 time in total.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 16 of 21, by appiah4

User metadata
Rank l33t++
Rank
l33t++

The DT in ATDT is DIAL TONE, so when the modem receives ATDT it opens the line and looks for a dial tone. If the dial tone is found, it then TONE DIALs the string of numbers proceeding it. If no number is given, it dials nothing, just holds the line open.

You can also use ATDP to DIAL PULSE. If you are old enough to remember dial phones, you know what pulse dialing is.

Retronautics: A digital gallery of my retro computers, hardware and projects.

Reply 17 of 21, by Jo22

User metadata
Rank l33t++
Rank
l33t++
appiah4 wrote on 2023-01-27, 12:47:

You can also use ATDP to DIAL PULSE. If you are old enough to remember dial phones, you know what pulse dialing is.

I agree. 🙂 Here in old Germany, pulse dial was used for a long time as a default.
Even though our telephone system supported tone dial early on.
This may seem silly, but we somehow couldn't let go of pulse dial, even though most phones were electronic since the mid-80s or so.
And despite, ISDN, the digital telephone system.

What's also funny, pulse dial and tone dial had very bureaucratic names or terms (on paper).
Pulse dial = "Impulswahlverfahren" (IWV)
Tone dial = "Mehrfrequenzwahlverfahren" (MFW).

However, normal people just said Pulswahl/Impulswahl (pulse dial) or Tonwahl (tone dial).

Tone dial was also known by its international name, DTMF.

DTMF was used to remote control answering machines and to interact with telephone computers.
We had those little hand sets with a numeric pad for a long time.
DTMF also was used by radio amateurs to control radio repeaters on VHF/UHF..
However, they had the full version with the extra keys, making it a tiny hex keyboard, essentially.

Edit: I hope you guys don't mind for me being a bit chatty.
Telecommunication in my country is/was a bit different sometimes.
We got the new TAE wall sockets in the early 90s, for example.
So we citizens could plug-in telephones all by ourselves (gasp!).. 🤯

We also had Bildschirmtext fir a while (aka BTX aka Datex-J), some sort
of German/European CompuServe/AOL (BTX was part of the Videotex family).
It even had its own special purpose modem, the DBT-03. It used V.23 standard (1200/75 Baud).
Anyway, it's nothing extraordinary or something. I don'tmean to brag.
It's.. Just weird sometimes. It's like an alternate reality to people like me, sometimes. 🤷‍♂️

Our European neighbors had similar national online services, also.
The French had Minitel/Teletel, the English had Prestel,
Austria also had Btx (to affordable pricing) but got that weird MUPID computer, Swiss called it Videotex..
Then there was Datex-P, an ancient X.25 service.
It was available in other countries under different names, too, provided by national telephone companies.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 18 of 21, by mkarcher

User metadata
Rank l33t
Rank
l33t
appiah4 wrote on 2023-01-27, 12:47:

The DT in ATDT is DIAL TONE, so when the modem receives ATDT it opens the line and looks for a dial tone. If the dial tone is found, it then TONE DIALs the string of numbers proceeding it.

You are completely correct that D means "dial" and T means "by sending tones". The use of ATD (uses default dialing method), ATDT (uses tone dialing) and ATDP (uses pulse dialing) is independent of the action of waiting for a dial tone. Whether a dial tone is required when the modem starts executing any ATD command is set using ATX: ATX3 disables dial tone detection and dials straight away after a short delay after going off-hook, whereas ATX4 enables dial ton detection and instructions the modem to wait for a dial tone after going off-hook before starting to process the number in the command.

You can also add later "wait for dialtone" instructions into the phone number by adding the letter "W" to it. On PBXes with custom dial tones, dialing a number using ATDT0W7121234567 was not unusual. The first digit 0 instructed the PBX to request a public line (with a standard code), and the modem then waits for a dial tone. The letter W can be used independent of the ATX setting. If ATX4 mode is enabled, the modem behaves as if there was a "W" in front of the pohone number.

Reply 19 of 21, by Shagittarius

User metadata
Rank Oldbie
Rank
Oldbie

ATDT = Attention Dial Tone
ATDP = Attention Dial Pulse

It has to do with how the modem dials. For those of you old enough to remember pulse dialing.