Transferring Data between Standard Dial-Up Modems

Purpose:

To transfer text or files between two standard dial-up modems, with no connection to a telephone company. This method not only doesn't require a telephone company, it might not even work correctly while connected to one.

Advantages:

  1. Use any common phone cord
  2. Avoid using ports needed for mice and other peripherals
  3. Avoid the expense of a null-modem cable ($10 or more?)
  4. Some computers don't have the required jacks for null-modem cables
  5. Avoid the need for an ISP in a VPN (Virtual Private Network)
  6. Modems automatically determine and connect at appropriate speeds
  7. Null-modem cables are limited to a few feet, while phone cords can be much longer
  8. Transferring files using floppy disks is tedious and slow
  9. Some computers don't have the required hardware for removable drives (such as: USB drives, ZIP drives, external SCSI drives), or the ports could be in use for other devices.

A simple example to get started:

Note: When typing into a typical terminal program, such as HyperTerminal, what you type will sometimes not appear in the window, but will be sent to, and appear at any other computer it's connected to. This can be fixed by changing the "Echo typed characters locally" setting. In HyperTerminal go to "File/Properties", go to the "Settings" tab, click "ASCII Setup" and it will show the dialog with the "Echo..." setting. Sometimes this setting will cause two copies of each character you type. If so, you can fix it by unchecking it.

  1. Make sure both computers are disconnected from the wall jacks, to make sure you don't bother the phone company.
  2. Connect the modems together with regular phone cord, such as the one which usually connects them to a wall jack or one which connects a telephone handset to the base, for example.
  3. Run "HyperTerminal" on both computers
  4. Set them both up to use your modems
  5. If you want to hear a modem, make sure its volume is turned up in Windows volume control (try the one labeled "TAD"). It most likely has a volume control slider for it, but you might have to go to "Options/Properties/Show the following volume controls:" to enable it. If it's not there, your modem should have a built-in speaker anyway. Type "ATM1L3" then Enter (that controls the modem's internal volume controls).
  6. Type "ATD" and press Enter on either of them
  7. ...and within a few seconds afterward... type "ATA" on the other one and press Enter
  8. You should soon hear it "training" like it does when connecting to a dial-up ISP. This step could take up to around 20 seconds, but probably much less.
  9. You should soon see response messages like "CONNECT" or "CONNECT 36000" in the HyperTerminal windows. You can then send data between them just like a normal connection. The easiest way to test it is to type into one window and watch it appear at the other computer.

Optimizing your connection

If you get serious about using such a connection, you should change Windows settings for your modems. Some of these settings can improve your transfer speeds dramatically. None of these suggested settings should interfere with your usual ISP connection, so you can leave them this way.

Data throughput

The modems won't actually transfer data between them at speeds as high as some of the "Maximum speed" settings you can select, but it can ensure that data gets transferred promptly to the modem from a COMM port, so that there's no interruption in the flow. Due to how few people are aware of this capability of modems, there is no software which supports this use in a convenient way. It would not be very difficult to add such support though. Although a modem might report a connection speed of only 36000, the effective data through-put can be much higher because most modems have built-in compression. The effective data throughput can be increased even more by using a utility such as (the free, and open source) 7-Zip.

Actual example of effective data throughput using two 56k modems:

The file was a Windows help file (".hlp" extension) and was transferred using the "ZMODEM" protocol.

The Test Results
The original

help file

Size 3,333,654 bytes
Time 404 seconds ( = 6:44)
Rate 8251.62 bytes per second
--- ---
The same file

after being zipped

Size 652,583 bytes
Time 189 seconds ( = 3:09)
Rate 3452.82 bytes per second
Comparison
- Original file Zipped file
Size: 3,333,654 652,583 bytes
Time: 404 189 seconds
Rate: 8251.62 3452.82 bytes per second

The time to transfer a megabyte of the original file was 127 seconds which is 02:07, in minutes and seconds. The time to transfer a megabyte of the zipped file was 59.45 seconds which is just less than a minute. The effective transfer rate of the zipped version was 2.1376 times that of the original, unzipped version!

Notes:

Ideas for software to support modem-to-modem connections

  1. Use 7-Zip to zip sections of files to be transferred, so there's less delay before it starts sending data. The sections should probably be from 64KB to 1MB or so. The receiving computer would unzip and combine the sections as it got them.
  2. If it's known that one of the modems is always to be the initiator, then there's no need for a special protocol to make a connection without human intervention. If it isn't known, then each one should briefly go into answer mode to see if the other computer is trying to connect. If not, then it would go into initiate mode. Both would alternate between these two modes until a connection was made. The goal is to get the modems in the opposite modes at the same time.

How to distinguish between "hardware modems" and "software modems"

Hardware Modems handle telephony communications more on-the-adapter-card, rather than using CPU cycles and system bus for its processing; as such, hardware modems generally have much more electronic components visible on them including DIP switches (for configuring a specific COM port to be utilized), resistors, capacitors, IC chips, etc. This type of board tends to be more expensive than Soft Modems inasmuch as more components are utilized. Performance also tends to be better with this modem type as well since more of the processing is dedicated to a local level rather than having to shell out through system bus, CPU, and other motherboard components.

Software Modems, aka WinModems, are designed with a reliance on system board components (CPU cycles, RAM, system bus) for their processing capability. However this type of adapter card is more easily configured by the operating system inasmuch as normally there are no components which could be configured by a computer user. As such, the software modem settings are configurable using the operating system interface, with such settings as COM Port, IRQ, modem volume, buffers, and other configurable settings. Usually, these settings are configured automatically by a plug-and-play operating system such as Windows with little or no configuration required by the computer user. Adversely, a hardware modem might require one to specify a specific COM Port to use, figure out an available IRQ for the modem, and other such settings, making installation and initial use more cumbersome.

Further reading

This article is issued from Wikibooks. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.