Configuring Your Modem For Optimum Performance |
Many people incorrectly set the speed of their communications package to that of their modem's speed when in fact they should be setting the port speed. By setting the port speed with your modem's speed, you can be limiting the overall performance which can be obtained by using Data Compression. This tutorial is set up to explain how to achieve higher transfer rates and how to set up your configurations correctly in order to do so.
As you have already realised, there are many different speeds or data rates associated with modems. Most people are familiar with the line speed or modem speed. These are the 14.4 KBPS, 28.8 KBPS, 33.6 KBPS figures we all quote when describing our modems. The line speed is a measure of data transfer between your modem and the modem at the other end over the Public Switched Telephone Network (PSTN).
When dealing with communications, the modem can be classified as Data Communications Equipment or DCE for short. Your computer which acts in similar function to a terminal can be classified as Data Terminal Equipment or DTE for short. Therefore the line speed can also be quoted as DCE to DCE speed or just DCE speed.
The port speed or terminal speed is the speed of data transfer between your modem and computer normally via the RS-232 cable if your modem is external. This can also be quoted as the DTE-DCE speed or DTE speed. The DTE speed of both computers can be different, thus the DTE speed refers to the computer you are talking about.
If you are a 14.4 KBPS modem user you might of wondered why there is no 14.4 KBPS in your communications program? In most cases you would set it to 19.2 KBPS or 9.6 KBPS. This would be the first suggestion that your communications program is asking for the port speed and not your modem speed.
Your modem or line speed is factory set and in general use shouldn't have to be changed. If you have a 28.8 KBPS modem then it will be set to 28.8 KBPS etc. If you connect to a modem of lower speed then your modem should automatically fallback to the maximum speed that both modems support without any human intervention.
Should you require to change your modem speed, this can be done using the AT command set. Eg By typing ATF8 in a terminal program you can set your modem to 9,600 BPS or ATF5 selects 2,400 BPS etc. You can also enter similar commands in your initiation string to perform the same task.
Most modern modems if not all support Data Compression. Data Compression uses very much the same algorithms such as used in PK-ZIP and Arj to compress data. However this data compression is done on the fly by your modem and uncompressed by the receiving modem at the other end. Most modems support two different data compression protocols. These are MNP-5 and V.42Bis. The Microcom Networking Protocol - 5 (MNP-5) supports a maximum compression ratio of 2:1 where V.42Bis, based on the Ziv-Lempel compression algorithm supports up to 4:1 compression.
If we take for example, a 28.8 KBPS modem which supports V.42Bis. We know that V.42Bis supports a maximum compression ratio of 4:1 thus if we were to send data between modems at 28.8 KBPS then the data could be compressed to 1/4 of it's original size. Thus coming out of the modem to your computer would be data at 115.2 KBPS (4 x 28.8K) remembering that the modem does the compressing and expanding and not your computer.
This effective data rate of 115.2 KBPS between computers could only be obtainable if the port speed was set to a speed equal or faster than the effective data rate. But haven't you set your port rate to 28.8 KBPS in your communications program?
If you happen to have a modem which supports RPI, then you can ignore all this. Modems with the RPI chipset doesn't include any on the fly data compression. This data compression is done by your modem driver, thus is already in compressed form when sent to your modem. This technology reduces the hardware required in the modem but can significantly slow down your computer.
Remember when you use your disk compression software to compress a variety of files? Some files will compress very well, while others may not even compress at all. Have you ever tried to compress a already compressed file only to find out it wont compress at all?
All of these problems also plague your modem's compression algorithm. After all both are very similar. Most files you get of the Internet or a BBS are compressed using PK-ZIP. Therefore having compression enabled and port speed adequately set will make no or little improvement as your modem will not be able to compress already compressed data. However downloading uncompressed text files should be the opposite. Text files compress very easily, thus a compression ratio of 4:1 should be able to be achieved.
If your surfing the Web, then HTML documents such as this one should be compressed quite easily, however .GIF and other graphics files are normally already in a compressed form thus wont compress as easy.
All this is assuming both your modem and the other modem will support Data Compression. What happens if your ISP's or BBS's modems have data compression turned off. This simply means no data compression whatsoever or normal 28.8 KBPS data transfer.
As a general rule of thumb you should set your port speed to four times your modem's speed. (Line Speed) Eg if you have a 14.4 KBPS modem then set your port speed to 56.7 KBPS or if you have a 28.8 KBPS modem then set your port speed to 115.2 KBPS etc. However hardware limitations of both your modem and computer may permit you from doing so.
These hardware limitations are
1. The maximum speed of the UART. |
2. The maximum supported port speed of your modem. |
The maximum speed of your UART depends directly upon the type of uart you have installed either on your serial card if you have a external modem or on the modem's card if it's internal. One of the easiest ways to find out your type of UART is to run MSD.
Below is a table of approximate maximum speeds of the different types of UARTS. Both the 16550 and 16650 have FIFO buffers which stores the data until the CPU can read it. This is very useful in Multitasking operating systems such as Windows 3.11, Windows 95 etc and on slow computers. By having this buffering, the maximum port speed should be obtainable no matter what your computer's performance is like.
UART | Maximum Speed | FIFO Buffering |
8250/16450 | 38.4 KBPS *Note1 | No Buffering |
16550 | 115.2 KBPS | 16 Byte FIFO Buffer |
16650 | 230 KBPS | 32 Byte FIFO Buffer |
Note 1 : The 16450 UART's Programmable Baud Rate Generator supports speeds up to 115.2 KBPS but due to the fact that this UART doesn't have FIFO buffering it will only obtain speeds of 38.4 KBPS in a practical situation. This figure is an approximate rate, as system performance and type of operating system (Eg Multitasking) will effect obtainable results.
The 16450 which MSD shows as a 8250 doesn't have FIFO buffering and thus is less predictable. Before another byte (Character) of data can be read, the CPU need to have collected the previous byte from the UART. Therefore on lower performance machines such as a 386 running a multitasking operating system 9,600 BPS may only be obtainable, while running your communications program on a Pentium with DOS may be able to achieve 115,200 BPS.
If you start obtaining errors then this would be a good sign that your UART can't support the current transfer speed and that you should opt for a lower speed. Another solution would be to upgrade your UART to a 16550 or 16650.
The other limitation of port speed is if your modem doesn't support it. This should not be much of a problem with 28.8 and 33.6 users but many 14.4 KBPS modems will not support 115.2 KBPS. However if you stick to the rule of thumb, and set your 14.4 K to 4 times faster than you modems line speed, then you shouldn't encounter any problems. A sign that your modem doesn't support the current port speed, is that your modem will refuse to do anything. It won't dial out, won't connect and won't even accept user commands in command state. As you can see this symptom differs to that of the UART thus diagnosing the problem is simplified.
Port/Terminal speed is the rate of data transfer between your computer and modem. This is the speed that is set in your communications program by selecting 19.2, 28.8, 38.4, 57.6 BPS etc. As a rule of thumb, this speed should be set to 4 times faster than your modem speed or the maximum speed determined by your hardware.
The Line/Modem speed is the rate of data transfer between the two modems. This should not need setting but for comparison, can be set using AT commands such as ATF5, ATF8 etc.
Good Luck in configuring your Modem. . . . . . . .
ARC ELECTRONICS
301-924-7400 EXT 25
jump to ... Home Page
arc@arcelect.com