'; window.popUpWin.document.write(zhtm); window.popUpWin.document.close(); // Johnny Jackson 4/28/98 } //-->

Upgrading & Repairing PCs


Communications and Networking


Most computer-to-computer connections occur through a serial port, a parallel port, or a network adapter. In this chapter, you explore ways to connect your PC to other computers. Such connections enable you to transfer and share files, send electronic mail, access software on other computers, and generally make two or more computers behave as a team.


NOTE: For a much more detailed account of how to upgrade and repair networks, refer to Que's Upgrading and Repairing Networks, ISBN 0-7897-0181-2.


Using Communications Ports and Devices

The basic communications ports in any PC system are the serial and parallel ports. The serial ports are used primarily for devices that must communicate bidirectionally with the system. Such devices include modems, mice, scanners, digitizers, and any other devices that "talk to" and receive information from the PC.

Several companies also manufacture communications programs that perform high-speed transfers between PC systems using serial or parallel ports. Several products are currently on the market that make nontraditional use of the parallel port. You can purchase network adapters, floppy disk drives, CD-ROM drives, or tape backup units that attach to the parallel port, for example.

Serial Ports

The asynchronous serial interface is the primary system-to-system communications port. Asynchronous means that no synchronization or clocking signal is present, so characters may be sent with any arbitrary time spacing.

Each character sent over a serial connection is framed by a standard start and stop signal. A single 0 bit, called the start bit, precedes each character to tell the receiving system that the next 8 bits constitute a byte of data. One or two stop bits follow the character to signal that the character has been sent. At the receiving end of the communication, characters are recognized by the start and stop signals instead of by the timing of their arrival. The asynchronous interface is character-oriented and has about a 20 percent overhead for the extra information needed to identify each character.

Serial refers to data sent over a single wire, with each bit lining up in a series as the bits are sent. This type of communication is used over the phone system, because this system provides one wire for data in each direction. Add-on serial ports for the PC are available from many manufacturers. You usually can find these ports on one of the multifunction boards available or on a board with at least a parallel port. Figure 11.1 shows the standard 9-pin AT-style serial port, and Figure 11.2 shows the 25-pin version.

Serial ports may connect to a variety of devices such as modems, plotters, printers, other computers, bar code readers, scales, and device control circuits. Basically, anything that needs a two-way connection to the PC uses the industry-standard Reference Standard number 232 revision c (RS-232c) serial port. This device enables data transfer between otherwise incompatible devices. Tables 11.1, 11.2, and 11.3 show the pinouts of the 9-pin (AT-style), 25-pin, and 9-pin-to-25-pin serial connectors.

FIG. 11.1  AT-style 9-pin serialport connector specifications.

FIG. 11.2  Standard 25-pin serialport connector specifications.

Table 11.1  9-Pin (AT) Serial Port Connector

Pin Signal Description I/O
1 CD Carrier detect In
2 RD Receive data In
3 TD Transmit data Out
4 DTR Data terminal ready Out
5 SG Signal ground --
6 DSR Data set ready In
7 RTS Request to send Out
8 CTS Clear to send In
9 RI Ring indicator In

Table 11.2  25-Pin (PC, XT, and PS/2) Serial Port Connector

Pin Signal Description I/O
1 -- Chassis ground --
2 TD Transmit data Out
3 RD Receive data In
4 RTS Request to send Out
5 CTS Clear to send In
6 DSR Data set ready In
7 SG Signal ground --
8 CD Carrier detect In
9 -- +Transmit current loop return Out
11 -- -Transmit current loop data Out
18 -- +Receive current loop data In
20 DTR Data terminal ready Out
22 RI Ring indicator In
25 -- -Receive current loop return In

Table 11.3  9-Pin to 25-Pin Serial Cable Adapter Connections

9-Pin 25-Pin Signal Description
1 8 CD Carrier detect
2 3 RD Receive data
3 2 TD Transmit data
4 20 DTR Data terminal ready
5 7 SG Signal ground
6 6 DSR Data set ready
7 4 RTS Request to send
8 5 CTS Clear to send
9 22 RI Ring indicator

NOTE: Macintosh systems use a similar serial interface defined as RS-422. Most external modems in use today can interface with either RS-232 or RS-422, but it is safest to make sure that the external modem you get for your PC is designed for a PC, not a Macintosh.


The heart of any serial port is the Universal Asynchronous Receiver/Transmitter (UART) chip. This chip completely controls the process of breaking the native parallel data within the PC into serial format, and later converting serial data back into the parallel format.

There are several types of UART chips on the market. The original PC and XT used the 8250 UART, which is still used in many low-price serial cards on the market. In the PC/AT (or other systems based on at least an 80286 processor), the 16450 UART is used. The only difference between these chips is their suitability for high-speed communications. The 16450 is better suited for high-speed communications than the 8250; otherwise, both chips appear identical to most software.

The 16550 UART was the first serial chip used in the PS/2 line. This chip could function as the earlier 16450 and 8250 chips, but it also included a 16-byte buffer that aided in faster communications. This is sometimes referred to as a FIFO (first in/first out) buffer. Unfortunately, the 16550 also had a few bugs, particularly in the buffer area. These bugs were corrected with the release of the 16550A UART, which is used in all high- performance serial ports.


TIP: The 16550 UART chip is pin-for-pin compatible with the 16450 UART. If your 16450 UART is socketed, it is a cheap and easy way to improve serial performance to install a 16550 UART chip in the socket.


Because the 16550A is a faster, more reliable chip than its predecessors, it is best to look for serial ports that use it. If you are in doubt about which chip you have in your system, you can use the Microsoft MSD program (provided with Windows, MS DOS 6.x, and Windows 95) to determine the type of UART you have.

Another way to tell if you have a 16650 UART in Windows 95 is to right-click My Computer, and then click Properties. This brings up the System Properties dialog box. Choose the Device Manager tab, Ports, and then the communications port that you want to check. Choose the Port Settings tab and then click the Advanced button. This will bring up the Advanced Port Settings box. If you have a 16650 UART, there will be a check mark in the use FIFO Buffers option.

The original designer of these UARTs is National Semiconductor (NS). Many other manufacturers are producing clones of these UARTs, such that you probably don't have an actual NS brand part in your system. Even so, the part you have will be compatible with one of the NS parts, hopefully the 16550. In other words, you should check to see that whatever UART chip you do have does indeed feature the 16-byte FIFO buffer as found in the NS 16550 part.

Some manufacturers have also begun making integrated chips which take on the functions of multiple chips. Boca Research, for instance, sells serial and parallel cards with little more than one Integrated Circuit (IC) on them. Most of these integrated chips function as a 16550 would; however, you should make sure that they have 16550 compatibility before purchasing them.

Table 11.4 lists the standard UART chips used in IBM and compatible systems.

Table 11.4  UART Chips in PC or AT Systems

Chip Description
8250 IBM used this original chip in the PC serial port card. The chip has several bugs, none of which are serious. The PC and XT ROM BIOS are written to anticipate at least one of the bugs. This chip was replaced by the 8250B.
8250A Do not use the second version of the 8250 in any system. This upgraded chip fixes several bugs in the 8250, including one in the interrupt enable register, but because the PC and XT ROM BIOS expect the bug, this chip does not work properly with those systems. The 8250A should work in an AT system that does not expect the bug, but does not work adequately at 9600 bps.
8250B The last version of the 8250 fixes bugs from the previous two versions. The interrupt enable bug in the original 8250, expected by the PC and XT ROM BIOS software, has been put back into this chip, making the 8250B the most desirable chip for any non-AT serial port application. The 8250B chip may work in an AT under DOS, but does not run properly at 9600 bps.
16450 IBM selected the higher-speed version of the 8250 for the AT. Because this chip has fixed the interrupt enable bug mentioned earlier, the 16450 does not operate properly in many PC or XT systems, because they expect this bug to be present. OS/2 requires this chip as a minimum, or the serial ports do not function properly. It also adds a scratch-pad register as the highest register. The 16450 is used primarily in AT systems because of its increase in throughput over the 8250B.
16550 This newer UART improves on the 16450. This chip cannot be used in a FIFO buffering mode because of problems with the design, but it does enable a programmer to use multiple DMA channels and thus increase throughput on an AT or higher class computer system. I highly recommend replacing the 16550 UART with the 16550A.
16550A This chip is a faster 16450 with a built-in 16-character Transmit and Receive FIFO buffer that works. It also allows multiple DMA channel access. You should install this chip in your AT system serial port cards if you do any serious communications at 9600 bps or higher. If your communications program makes use of the FIFO, which most do today, it can greatly increase communications speed and eliminate lost characters and data at the higher speeds.

If you want more information on various chips, check out:

http://www.twinight.org/chipdir/chipdir.htm

High-Speed Serial Ports

Some modem manufacturers have gone a step further on improving serial data transfer by introducing Enhanced Serial Ports (ESP) or Super High Speed Serial Ports. These ports enable a 28,800 bps modem to communicate with the computer at data rates up to 921,600 bps. The extra speed on these ports is generated by increasing the buffer size. These ports are usually based on a 16550AF UART or a 16550AF UART emulator with dual 1,024-byte buffers and on-board data flow control, and can provide great benefit in an environment where both your computer and the "receiving" computer are equipped with these ports. Otherwise, just one of the computers having an ESP doesn't yield any benefit.

As the need for additional serial devices continues to increase, users are beginning to need more than the two com ports that are standard in PCs. As a result, multi-port serial cards were created. These cards generally have 2-32 ports on them. Often they also provide higher baud rates than can be achieved on a standard serial port.

Most of the multiport serial cards on the market use standard 16550 UARTs with a processor (typically an 80x86 based processor) and some memory. These cards can improve performance slightly because the processor is dedicated to handling serial information. However, it's not always the best method for high-performance applications.

Some of the better multiport serial cards have broken the model of the 16550 UART in favor of a single integrated circuit. These cards have the advantage of higher sustainable throughput without loss. One such card is the Rocketport by Comtrol. It comes in ISA and PCI versions with up to 32 ports. Each port is capable of 232K baud sustained.

Various manufacturers make versions of the 16550A; National Semiconductor was the first. Its full part number for the 40-pin DIP is NS16550AN or NS16550AFN. Make sure that the part you get is the 16550A, and not the older 16550. You can contact Fry's Electronics or Jameco Electronics to obtain the NS16550AN, for example.

Serial Port Configuration

Each time a character is received by a serial port, it has to get the attention of the computer by raising an Interrupt Request Line (IRQ). Eight-bit ISA bus systems have eight of these lines, and systems with a 16-bit ISA bus have 16 lines. The 8259 interrupt controller chip usually handles these requests for attention. In a standard configuration, COM1 uses IRQ4, and COM2 uses IRQ3.

When a serial port is installed in a system, it must be configured to use specific I/O addresses (called ports), and interrupts (called IRQs for Interrupt ReQuest). The best plan is to follow the existing standards for how these devices should be set up. For configuring serial ports, you should use the addresses and interrupts indicated in Table 11.5.

Table 11.5  Standard Serial I/O Port Addresses and Interrupts

System COMx Port IRQ
All COM1 3F8h IRQ4
All COM2 2F8h IRQ3
ISA bus COM3 3E8h IRQ4*
ISA bus COM4 2E8h IRQ3*

*Note that although many serial ports can be set up to share IRQ 3 and 4 with COM1 and COM2, it is not recommended. The best recommendation is setting COM3 to IRQ 5. If ports above COM3 are required, it is recommended that you purchase a multiport serial board.

You should ensure that if you are adding more than the standard COM1 and COM2 serial ports, they use unique and nonconflicting interrupts. If you purchase a serialport adapter card and intend to use it to supply ports beyond the standard COM1 and COM2, be sure that it can use interrupts other than IRQ3 and IRQ4.

Another problem is that IBM never built BIOS support for COM3 and COM4 into its original ISA bus systems. Therefore, the DOS MODE command cannot work with serial ports above COM2 because DOS gets its I/O information from the BIOS, which finds out what is installed in your system and where during the POST. The POST in these older systems checks only for the first two installed ports. PS/2 systems have an improved BIOS that checks for as many as eight serial ports, although DOS is limited to handling only four of them.

To get around this problem, most communications software and some serial peripherals (such as mice) support higher COM ports by addressing them directly, rather than making DOS function calls. The communications program Procomm, for example, supports the additional ports even if your BIOS or DOS does not. Of course, if your system or software does not support these extra ports or you need to redirect data using the MODE command, trouble arises.

Datastorm, the maker of Procomm, can be found at:

http://www.datastorm.com/

Windows 95 has added the support for up to 128 serial ports. This allows for the use of multiport boards in the system. Multiport boards give your system the ability to collect or share data with multiple devices, while using only one slot and one interrupt.

A couple of utilities enable you to append your COM port information to the BIOS, making the ports DOS-accessible. A program called Port Finder is one of the best, and is available in the "general hardware" data library of the PCHW forum on CompuServe.

Port Finder activates the extra ports by giving the BIOS the addresses and providing utilities for swapping the addresses among the different ports. Address swapping enables programs that don't support COM3 and COM4 to access them. Software that already directly addresses these additional ports usually is unaffected.


CAUTION: Sharing interrupts between COM ports or any devices can function some times and not others. It is recommended that you never share interrupts. It will cause you hours of frustration trying to track down drivers, patches, and updates to allow this to work successfully--if it's even possible in your system.


Modem Standards

Bell Labs and the CCITT have set standards for modem protocols. CCITT is an acronym for a French term that translates into English as the Consultative Committee on International Telephone and Telegraph. The organization was renamed the International Telecommunications Union (ITU) in the early 1990s, but the protocols developed under the old name are often referred to as such. Newly developed protocols are referred to as ITU-T standards. A protocol is a method by which two different entities agree to communicate. Bell Labs no longer sets new standards for modems, although several of its older standards are still used. Most modems built in the last few years conform to the CCITT standards.

The ITU is an international body of technical experts responsible for developing data communications standards for the world. The group falls under the organizational umbrella of the United Nations, and its members include representatives from major modem manufacturers, common carriers (such as AT&T), and governmental bodies. The ITU establishes communications standards and protocols in many areas, so one modem often adheres to several different standards, depending on its various features and capabilities. Modem standards can be grouped into the following three areas:

Bell 103 CCITT V.29
Bell 212A CCITT V.32
CCITT V.21 CCITT V.32bis
CCITT V.22bis CCITT V.34

Other standards have been developed by different companies (not Bell Labs or the ITU). These are sometimes called proprietary standards, even though most of these companies publish the full specifications of their protocols so that other manufacturers can develop modems to work with them. The following list shows some of the proprietary standards that have become fairly popular:

HST
PEP
DIS
MNP 1-4
Hayes V-series
MNP 5
CSP

56K Modems
At the time of this writing, two competing factions have developed for the development of so-called 56K modems. U.S. Robotics, one of today's leaders in modem technology, has developed a "standard" which they call X2. Rockwell and others have proposed a 56KFlex "standard."

It remains to be seen if one or the other of these technologies will become "the standard" or if the ITU will decide to develop a third option which is the standard.


Almost all modems today claim to be Hayes-compatible, a phrase which has come to be as meaningless as IBM-compatible when referring to PCs. It does not refer to any communication protocol, but instead to the commands required to operate the modem. Because almost every modem uses the Hayes command set, this compatibility is a given and should not really affect your purchasing decisions about modems.

Not all modems that function at the same speed have the same functionality. Many modem manufacturers produce modems that have different feature sets at different price points. The more expensive modem usually supports such features as distinctive ring support and caller ID. When purchasing a modem, be sure that it supports all the features that you need.

The following are the Web sites for U.S. Robotics, Hayes, Microcom, and Megahertz, respectively:

http://www.usrobotics.com/

http://www.hayes.com/

http://www.microcom.com/

http://www.megahertz.com/

The basic modem commands don't vary from modem manufacturer to manufacturer as much as they did. Some modems, most notably U.S. Robotics, allow you to query the command set by simply sending AT$ to the modem.

A list of the basic commands can be found in Table 11.6 of the sixth edition of this book, which is included on the CD-ROM. However, the best sources of modem commands are the manuals that came with the modem.

Baud Versus Bits Per Second (bps)

Baud rate and bit rate often are confused in discussions about modems. Baud rate is the rate at which a signal between two devices changes in one second. If a signal between two modems can change frequency or phase at a rate of 300 times per second, for example, that device is said to communicate at 300 baud.

Sometimes a single modulation change is used to carry a single bit. In that case, 300 baud also equals 300 bits per second (bps). If the modem could signal two bit values for each signal change, the bps rate would be twice the baud rate, or 600 bps at 300 baud. Most modems transmit several bits per baud, so that the actual baud rate is much slower than the bps rate. In fact, people usually use the term baud incorrectly. We normally are not interested in the raw baud rate, but in the bps rate, which is the true gauge of communications speed.

Modulation Standards.

Modems start with modulation, which is the electronic signaling method used by the modem (from modulator to demodulator). Modems must use the same modulation method to understand each other. Each data rate uses a different modulation method, and sometimes more than one method exists for a particular rate.

The three most popular modulation methods are:

Bell 103

Bell 103 is a U.S. and Canadian 300 bps modulation standard. It uses FSK modulation at 300 baud to transmit 1 bit per baud. Most higher-speed modems will still communicate using this protocol, even though it is obsolete.

Bell 212A

Bell 212A is the U.S. and Canadian 1200 bps modulation standard. It uses differential phase-shift keying (DPSK) at 600 baud to transmit 2 bits per baud.

V.21

V.21 is an international data-transmission standard for 300 bps communications, similar to Bell 103. Because of some differences in the frequencies used, Bell 103 modems are not compatible with V.21 modems. This standard is used primarily outside the United States.

V.22

V.22 is an international 1200 bps data-transmission standard. This standard is similar to the Bell 212A standard, but is incompatible in some areas, especially in answering a call. This standard was used primarily outside the United States.

V.22bis

V.22bis is a data-transmission standard for 2400 bps communications. Bis is derived from the Latin meaning second, indicating that this data transmission is an improvement to or follows V.22. This data transmission is an international standard for 2,400 bps and is used inside and outside the United States. V.22bis uses QAM at 600 baud and transmits 4 bits per baud to achieve 2,400 bps.

V.23

V.23 is a split data-transmission standard, operating at 1,200 bps in one direction and 75 bps in the reverse direction. Therefore, the modem is only pseudo-full-duplex, meaning that it can transmit data in both directions simultaneously, but not at the maximum data rate. This standard was developed to lower the cost of 1200 bps modem technology, which was expensive in the early 1980s. This standard was used primarily in Europe.

V.29

V.29 is a data-transmission standard at 9,600 bps, which defines a half duplex (one-way) modulation technique. This standard generally is used in Group III facsimile (fax) transmissions, and only rarely in modems. Because V.29 is a half-duplex method, it is substantially easier to implement this high-speed standard than to implement a high-speed full-duplex standard. As a modem standard, V.29 has not been fully defined, so V.29 modems of different brands seldom can communicate with each other. This does not affect fax machines, which have a fully defined standard.

V.32

V.32 is a full-duplex (two-way) data transmission standard that runs at 9,600 bps. It is a full modem standard, and also includes forward error-correcting and negotiation standards. V.32 uses TCQAM (trellis-coded quadrature amplitude modulation) at 2,400 baud to transmit 4 bits per baud, resulting in the 9,600 bps transmission speed.

The trellis coding is a special forward error-correction technique that creates an additional bit for each packet of 4. This extra check bit is used to allow on-the-fly error correction to take place at the other end. It also greatly increases the resistance of V.32 to noise on the line.

In the past, V.32 has been expensive to implement because the technology it requires is complex. Because a one-way, 9600 bps stream uses almost the entire bandwidth of the phone line, V.32 modems implement echo cancellation, meaning that they cancel out the overlapping signal that their own modems transmit and just listen to the other modem's signal. This procedure is complicated and was at one time costly. Advances in lower-cost chipsets then made these modems inexpensive, and they were the de facto 9,600 bps standard for some time.

V.32bis

V.32bis is a 14,400 bps extension to V.32. This protocol uses TCQAM modulation at 2,400 baud to transmit 6 bits per baud, for an effective rate of 14,400 bps. The trellis coding makes the connection more reliable. This protocol is also a full-duplex modulation protocol, with a fallback to V.32 if the phone line is impaired. It is the communications standard for dialup lines because of its excellent performance and resistance to noise. I recommend the V.32bis-type modem.

V.32fast

V.32fast, or V.FC (Fast Class) as it is also called, was a new standard being proposed to the CCITT. V.32fast is an extension to V.32 and V.32bis, but offers a transmission speed of 28,800 bps. It has been superseded by V.34.

V.34

V.34 is the latest in the world of modem standards. It has superseded all the other 28.8Kbps standards, and is the current state of the art in analog modem communications. It has been proven as the most reliable standard of communication at 28.8Kbps. A recent annex to the V.34 standard also defines optional higher speeds of 31.2 and 33.6Kbps, which most of the newer V.34 modems will be capable of. Many existing V.34 modems designed using sophisticated Digital Signal Processors (DSPs) can be upgraded to support the new 33.6Kbps speeds by merely installing a software upgrade in the modem. This is accomplished by downloading the Modem ROM upgrade from the manufacturer, and then running a program they supply to "flash" the modem's ROM with the new code.

V.34 is the fastest communication now possible over an analog serial connection. It is also the fastest that analog communications are likely to get. Looming on the horizon is the fact that the phone system eventually will be digital. All further development on analog transmission schemes will end, and new digital modems will be developed.

Error-Correction Protocols

Error correction refers to the capability of some modems to identify errors during a transmission, and to automatically resend data that appears to have been damaged in transit. For error correction to work, both modems must adhere to the same correction standard. Fortunately, most modem manufacturers adhere to the same error-correction standards.

MNP 1-4

This is a proprietary standard that was developed by Microcom which provides basic error correction. The Microcom networking Protocol (MNP) is covered in more detail in the "Proprietary Standards" section.

V.42

V.42 is an error-correction protocol, with fallback to MNP 4, and version 4 is an error-correction protocol as well. Because the V.42 standard includes MNP compatibility through Class 4, all MNP 4-compatible modems can establish error-controlled connections with V.42 modems. This standard uses a protocol called LAPM (Link Access Procedure for Modems). LAPM, like MNP, copes with phone-line impairments by automatically retransmitting data corrupted during transmission, assuring that only error-free data passes between the modems. V.42 is considered to be better than MNP 4 because it offers about a 20 percent higher transfer rate due to its more intelligent algorithms.