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 and PSP on itch.io

Reply 1 of 14, by the3dfxdude

User metadata
Rank Newbie
Rank
Newbie

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 14, 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
    314 views
    File license
    Public domain
  • modem2.jpg
    Filename
    modem2.jpg
    File size
    177.07 KiB
    Views
    314 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 14, 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 and PSP on itch.io

Reply 4 of 14, by the3dfxdude

User metadata
Rank Newbie
Rank
Newbie

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 14, 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 and PSP on itch.io

Reply 6 of 14, 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 and PSP on itch.io

Reply 7 of 14, 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 14, 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 and PSP on itch.io

Reply 9 of 14, by the3dfxdude

User metadata
Rank Newbie
Rank
Newbie
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 14, 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 and PSP on itch.io

Reply 11 of 14, 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
    306 views
    File license
    Public domain
  • modem4.jpg
    Filename
    modem4.jpg
    File size
    57.9 KiB
    Views
    306 views
    File license
    Public domain
  • modem3.jpg
    Filename
    modem3.jpg
    File size
    56.69 KiB
    Views
    306 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 14, 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 and PSP on itch.io

Reply 14 of 14, 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 and PSP on itch.io