23.1 Mapping Parallel Ports to LPTs

The PC BIOS allocates three prioritized I/O port addresses to parallel printers. Port 0x3BC is the highest priority, followed by 0x378 and then 0x278. At boot time, the BIOS checks each of these addresses to detect parallel hardware. The highest-priority parallel port detected (which may be on any of the three I/O port addresses) is assigned as LPT1:. If a second parallel port is detected, it is assigned LPT2:. If a third port is detected, it is assigned LPT3:. Some BIOSes also make provision for LPT4:, but this is nonstandard and not widely supported.

This automatic detection of port hardware and assignment of LPT numbers means that installing another parallel port may change the LPT designation of existing ports. For example, the embedded parallel port on most motherboards is assigned port 0x378 (the second-priority address) by default. As long as it is the only port present, it will be mapped to LPT1: by the BIOS. If you add another parallel port configured for port address 0x3BC, that new port will be mapped to LPT1: and the existing port will be changed to LPT2:.

You set the I/O port address for most motherboard parallel ports in BIOS Setup, although older motherboards may require changing a jumper instead. You set addresses for parallel ports on most expansion cards by changing a jumper. Avoid changes in LPT mappings when installing parallel ports by verifying the port addresses for existing ports and setting the new port for a lower-priority address, if possible. Always make sure that the new port does not use the same address as an existing port, or results will be unpredictable.

23.1.1 Parallel Port Types

Parallel port hardware may be of five types, described next in the order of their appearance in PCs. A computer may contain any of these port types, and may include ports of more than one type. Earlier ports are limited in functionality and performance. Later ports provide increased functionality and performance, and may often be configured to emulate earlier port types when necessary to support older peripherals.

Unidirectional 4-bit parallel port

The unidirectional 4-bit parallel port, also called a Standard Parallel Port (SPP), is based on the de facto Centronics standard, and was the type of parallel port supplied with the original IBM PC and its clones. These ports are misnamed, as they are not unidirectional and are not limited to 4-bit transfers. An SPP does 8-bit output and can accept 4-bit (nibble) input.

In theory, these ports are limited to using a 2-meter (about 6 foot) cable, but this distance can be extended to 3 to 5 meters (10 to 16 feet) by using a high-grade parallel cable. Unidirectional 4-bit parallel ports are commonly found in older desktop and laptop systems, and are still supplied on some low-end I/O cards. These ports provide native throughput of 40 to 60 KB/s, although certain design tricks can push this to the 150 KB/s range.

Bidirectional 8-bit parallel port

When IBM introduced the PS/2 line in 1987, all but the two lowest-cost models (the Models 25 and 30) included a bidirectional 8-bit parallel port. Initially, these were non-DMA ports, called Type 1 ports by IBM. The parallel ports included with later PS/2 systems could also be configured as Type 3 ports, which use DMA. These ports support both 8-bit input and output, and provide about 75 KB/s to 300 KB/s throughput, depending on characteristics of the port itself, how it is configured, the speed of the external device, and the quality of the port driver.

Recent notebook and desktop systems often provide a bidirectional 8-bit mode for their parallel ports, as do some add-on port cards. Bidirectional 8-bit parallel ports provide better throughput than do 4-bit ports for connecting external devices such as tape drives and parallel port network adapters, if the device can take advantage of the 8-bit functionality. Note that some vendors also call 4-bit ports "bidirectional," so the terminology used to describe the port does not guarantee its level of functionality.

Enhanced Parallel Port (EPP)

The throughput limitations of even the Type 3 bidirectional 8-bit parallel ports soon became obvious as page printer technology improved. Manufacturers of scanners, storage devices, and other external peripherals were also starting to use the parallel port as an inexpensive alternative to expensive SCSI or proprietary interfaces. A superior parallel port technology was clearly needed. Xircom, Intel, and Zenith Data Systems got together and came up with the Enhanced Parallel Port, or EPP.

EPP offered performance and other advantages while maintaining backward SPP compatibility, so it quickly came into widespread use. There soon coalesced an informal confederation of manufacturers whose purpose was to promote and enhance the EPP standard. This group ultimately solidified as the EPP Committee, and successfully lobbied the IEEE-1284 committee to include EPP as an advanced mode in the IEEE-1284 specification described later in this section.

EPP supports 8-bit bidirectional communications at ISA bus speeds, providing throughput similar to that of 8-bit ISA bus cards. EPP provides theoretical maximum throughput of about 2 MB/s, and typical real-world throughput of more than 1 MB/s. Many 386 and 486 systems and most reasonably recent I/O expansion cards include EPP-capable parallel ports.

Extended Capabilities Port (ECP)

EPP was a reasonably satisfactory solution and was first to market, but Microsoft and Hewlett-Packard had been working on their own improved parallel port technology, which they named the Extended Capabilities Port, or ECP. Like EPP, ECP supports 8-bit bidirectional communications at ISA bus speeds. Unlike EPP, ECP uses DMA, provides a FIFO buffer of at least 16 bytes, and includes hardware data compression. These features allow ECP to provide better throughput than EPP?theoretically more than 2 MB/s, but typically about 2 MB/s actual. Some 486 systems, most Pentium and higher systems, and recent I/O expansion cards include ECP-capable parallel ports.

IEEE-1284 parallel port

The increasing diversity of parallel port hardware and the resulting potential for incompatibilities made it desirable to develop an umbrella standard that would combine and codify these earlier ad hoc standards into a single formal standard. The resulting document, 1284-1994 IEEE Standard Signaling Method for a Bidirectional Parallel Peripheral Interface for Personal Computers, does so by defining five parallel transmission modes. IEEE-1284-compliant parallel port hardware, available on recent computers, motherboards, and expansion cards, can use one or more of the following modes to emulate earlier parallel port hardware, thereby ensuring both compatibility and optimum performance with almost any parallel peripheral:

Compatibility Mode

Compatibility Mode , also called Centronics Mode or Standard Mode, is a forward unidirectional mode that corresponds to the original SPP definition, and is included in the IEEE-1284 definition for backward compatibility with the installed base of SPP-only peripherals. Transferring a byte in Compatibility Mode requires four I/O instructions and additional overhead instructions, which limits throughput to about 150 KB/s. Pure IEEE-1284 Compatibility Mode is seldom seen in practice. Compatibility Mode as implemented by most integrated 1284-compliant controllers includes a FIFO buffer, which is used in conjunction with the Compatibility Mode protocol. This hybrid mode, which is not a part of the official IEEE-1284 standard, may be called Buffered Mode, Fast Centronics Mode, FIFO Mode, or Parallel Port FIFO Mode. It improves Compatibility Mode throughput to 500 KB/s or more by substituting hardware strobing for the software strobing used in true IEEE-1294 Compatibility Mode. The elimination of software handshaking nearly eliminates latency, and can increase throughput to 500 KB/s or more.

Nibble Mode

Nibble Mode is the slower of the two reverse channel modes defined by IEEE-1284. Nibble Mode may be combined with Compatibility Mode or a proprietary forward channel mode to yield full bidirectional capability. The advantage to Nibble Mode is that it can be used with any parallel cable and any parallel port hardware, including the original unidirectional 4-bit ports. The disadvantage to Nibble Mode is that it is the slowest way to send data from a peripheral to the PC. Like Compatibility Mode, Nibble Mode data transfer is managed by a software driver, which restricts throughput to about 50 KB/s. For printers, which use the reverse channel to transfer only small amounts of status information, this is not a significant limitation. For parallel interface disk and tape drives, network adapters, and similar devices that need full bidirectional bandwidth, Nibble Mode reverse channel throughput is wholly inadequate and should be used only as a last resort.

Byte Mode

Byte Mode is the faster of the two reverse channel modes defined by IEEE-1284. Byte Mode corresponds to the reverse channel mode of the 8-bit bidirectional parallel interface originally supplied with IBM PS/2 computers. In contrast to Nibble Mode, which transfers four bits at a time and requires two data transfer cycles to transfer one byte, Byte Mode transfers a full byte in one data cycle, using the eight data lines to do so. Byte Mode reverse channel throughput is comparable to forward channel throughput in unbuffered Compatibility Mode?about 150 KB/s. Using Compatibility Mode and Byte Mode together provides a half-duplex bidirectional connection that is comparable to the original IBM PS/2 bidirectional parallel interface.

EPP Mode

EPP Mode corresponds to the ad hoc Xircom/Intel/ZDS EPP definition. Intel first implemented EPP on the 82360 I/O chip that was part of the 386SL chipset. This pre-1284 EPP implementation is called EPP 1.7. The IEEE-1284-1994 EPP Mode definition formalizes EPP 1.7, but with some minor changes in signal definitions. As a result, not all EPP peripherals work reliably with all EPP ports. Any 1284-compliant EPP peripheral may be used with either an EPP 1.7 port or a 1284-compliant EPP port. An EPP 1.7 peripheral may be used with an EPP 1.7 port, but may or may not function properly with a 1284-compliant EPP port. EPP Mode can achieve data throughput comparable to an ISA bus card?on the close order of 0.5 to 2 MB/s.

ECP Mode

ECP Mode corresponds to the ad hoc Microsoft/HP ECP specification.

The original IEEE-1994 standard is supplemented by IEEE-P1284.3, Standard for Interface and Protocol Extensions to IEEE-1284-1994 Compliant Peripherals and Host Adapters. For our purposes, the only notable new feature of IEEE P1284.3 is that it defines additional protocols that allow daisy-chaining parallel-connected devices. Windows versions prior to Windows 2000 do not support IEEE-P1284.3 functions. Windows 2000/XP has partial IEEE-P1284.3 support, including the ability to select and operate more than one IEEE-1284.3 daisy-chain device and an end-of-chain device, and basic support for the Datalink Layer. Windows 2000/XP does not support IEEE-1284.3 multiplexors or interrupts for IEEE-1284.3 daisy-chain devices.

23.1.2 Configuring Parallel Port Hardware

How you configure a parallel port may significantly impact performance and overall capabilities. Even on new systems that include capable parallel port hardware, the parallel port mode is often set to SPP by default. Many people unintentionally cripple the performance of their parallel ports simply because they don't know that better choices than the default are available.

The first step to configure a parallel port for optimum performance is to determine the capabilities of the port hardware. Examining the documentation may help, but documentation is often cursory, misleading, or missing entirely. Without detailed documentation, the easiest way to determine the capabilities of the parallel port hardware is to download and run Parallel.exe, which is available from many Internet file repository sites.

On older motherboards and expansion cards, you may have to set the mode by using a jumper. On newer systems, you can usually set the mode using the BIOS Setup program. The parallel port modes available are determined first by the capabilities of the port hardware itself. Even if the hardware supports all modes, however, the BIOS may not, so you may be limited in the choices you can make. In general, use the following guidelines when selecting a parallel port mode:

SPP Mode

SPP Mode, which the BIOS may also call Standard Mode, Basic Mode, 4-bit Mode, or Unidirectional Mode, is the least-common-denominator choice, and corresponds to the original Centronics-compatible IBM parallel port. Use this mode only after determining that none of the more-capable modes works with your cable or peripheral.

Bidirectional Mode

Bidirectional Mode, which the BIOS may also call 8-bit Mode or PS/2 Mode, corresponds to the parallel modes introduced with the IBM PS/2 parallel ports. If you choose this mode, you may also be able to choose Type 1 sub-mode (also called Non-DMA sub-mode) or Type 3 sub-mode (also called DMA sub-mode). Choose Type 3 mode for better performance, as long as you don't mind consuming a DMA channel. Use this mode if only it and SPP work properly for your hardware. Also use this mode if you are using Windows NT, which does not support EPP and ECP modes.

EPP Mode

EPP Mode, which the BIOS may instead call Enhanced Mode, is sometimes the best choice even if later modes are available. EPP includes some control features that are not provided by ECP, sometimes making EPP better suited for nonprinter peripherals such as parallel port storage devices and scanners. Also, you may need to choose EPP mode explicitly to support some early EPP-compliant devices that do not function properly with the updated EPP mode supported by IEEE-1284-1994 compliant ports. EPP uses IRQ channels for flow control. It does not use DMA or provide data compression, making it somewhat slower than the ECP mode described next.

ECP Mode

ECP Mode, which the BIOS may call Extended Mode, is usually the best choice for transferring data to high-speed printers, although it does require a DMA channel. Because it does not support some of the control features provided by EPP mode, ECP mode may not be the best choice to connect nonprinter peripherals.

IEEE 1284 Mode

IEEE-1284 Mode, which the BIOS may simply label Auto, is the most flexible choice. If the BIOS provides this option, choose it to allow the port to adjust automatically to the optimum mode for the device to which it is connected.

Parallel port support differs widely between Windows distributions, as described in the following sections.

23.1.2.1 Configuring parallel ports under Windows NT

Windows NT through V4.0 does not support EPP or ECP bidirectional communications ports. If a parallel port is configured as EPP or ECP, Windows NT 4.0 and prior will not detect the port.

23.1.2.2 Configuring parallel ports under Windows 2000/XP

Windows 2000/XP fully supports most parallel hardware, including standard parallel port devices, IEEE-1284-compatible and -compliant devices, and IEEE-1284.3 daisy-chain devices. Windows 2000/XP fully supports most parallel modes, including Centronics mode, IEEE-1284 modes, ECP mode, and EPP mode. Windows 2000/XP partially supports IEEE-1284.3 modes.

To configure a parallel port under Windows 2000/XP, right-click My Computer and choose Properties to display the System Properties dialog. Click the Hardware tab and then the Device Manager button. Locate and expand the Ports (COM & LPT) item within the Device Manager tree, and double-click the printer port you want to configure to display a dialog similar to that shown in Figure 23-1.

Figure 23-1. Using Printer Port Properties to configure the port under Windows 2000/XP
figs/pcn3_2301.gif

The Filter Resource Method determines how Windows 2000/XP manages the port, as follows:

Try not to use an interrupt

Marking this option causes the Windows parallel port driver to release any interrupt assigned to it if Plug-and-Play enumeration determines that the installed parallel port hardware does not require an interrupt to function properly. If the port hardware does require an interrupt for proper functioning, the Windows parallel port driver retains control of that interrupt. This setting works properly and automatically on most systems that use ACPI, and we can only suppose that Microsoft did not choose this as the default setting because the potential exists for conflicts on older hardware.

Never use an interrupt

This is the default setting for Windows 2000 and Windows XP. Marking this option causes the Windows parallel port driver to release any interrupt assigned to it for use by another device, even if Plug-and-Play enumeration determines that an installed parallel port requires an interrupt to function properly. This setting works properly on most modern systems that use a default configuration. However, if you reconfigure the parallel port in BIOS Setup to function as an EPP port, this setting may cause that parallel port to malfunction or not be recognized.

Use any interrupt assigned to the port

This option disables the Windows parallel port driver interrupt-filtering function, and allows the parallel port driver to accept and use any interrupt assigned to it. Enable this option only if (a) because of hardware, BIOS, or driver issues, the system does not operate properly unless an interrupt is available to the parallel port hardware, or (b) you have installed a high-speed parallel interface and driver that require an interrupt to function properly. Note that enabling this option may cause an interrupt conflict with legacy audio cards or network adapters. Enable this option as a last resort. Some parallel ports configured as EPP may require that this option be enabled.

Enable legacy Plug-and-Play detection

Some older parallel port devices are not detected properly during Plug-and-Play enumeration. If Windows fails to detect such a device on your system, mark this checkbox and restart the system. If all devices are detected properly, leave the checkbox unmarked.

23.1.2.3 Configuring parallel ports under Windows 9X

Windows 9X must be configured manually to use ECP, but supports ECP devices in any of the following five configurations:

Basic Configuration 0

Standard I/O ranges for LPT ports only

Basic Configuration 1

Standard I/O ranges for LPT ports and any IRQ

Basic Configuration 2

Standard I/O ranges for LPT ports, IRQ, and any DMA

Basic Configuration 3

Any I/O ranges for LPT ports only

Basic Configuration 4

Any I/O ranges for LPT ports and IRQ

To enable ECP support in Windows 9X, first use the system documentation, BIOS Setup, or a diagnostic utility to verify the IRQ and DMA settings assigned to the port you want to configure. In the Device Manager, expand the Ports (COM and LPT) item and display the Properties dialog for the port to be configured. On the Resources page, the Resource Settings pane shows the I/O port that was detected automatically and assigned to the device. Clear the Use automatic settings checkbox and use the Setting based on drop-down list to choose the appropriate Basic Configuration, according to whether the ECP port uses standard or custom settings. Change the Input/Output Range, IRQ, and/or DMA settings as needed to correspond to the port hardware configuration, save the changes, and restart Windows.

23.1.2.4 Configuring parallel ports under Linux

Linux has made great strides in adding support for various parallel modes. Linux 2.0 supported only Compatibility Mode and Nibble Mode. Beginning with 2.4, the Linux parallel port subsystem supports all standard IEEE-P1284.3 modes. For complete details on the Linux 2.4 parallel port subsystem, see http://people.redhat.com/twaugh/parport/html/parportguide.html.

23.1.3 Parallel Connectors and Cables

IEEE 1284-1994 defines both the electrical and physical interface for cables and connectors. Cable quality is critical for IEEE-1284, because various IEEE 1284 modes support much higher transmission speeds than SPP.

23.1.3.1 Parallel connectors

Traditional parallel cables use a DB25M connector for the PC end and a male, 36-pin, 0.085-inch centerline Champ connector with bale locks (commonly called a Centronics C36M) for the printer. The IEEE-1284-1994 specification allows these two traditional connectors to be used as before. It designates the DB25M the IEEE-1284-1994 Type A Connector and the C36M the IEEE-1284-1994 Type B Connector. IEEE-1284 also defines a new type of parallel connector, called the 1284-1994 Type C Connector, which uses a 36-pin, 0.050-inch centerline mini-connector with clip latches, and is usually called a mini-Centronics connector. Printer cables are now available that use these connectors in many combinations.

23.1.3.2 PC-to-peripheral parallel cables

It used to be that a printer cable was a printer cable. Not anymore. Printer cables now come in a variety of types, which use different connectors and pinouts. The good news is that you can still use any printer cable to connect a PC to a printer?as long as the connectors physically fit?and that connection will work in some fashion. The bad news is that using an old printer cable may cripple the performance and functionality of the link.

When you buy a new parallel cable?which you should if you are now using an older cable to connect a recent port to a recent peripheral?make sure it's labeled "IEEE-1284-1994 Compliant." Table 23-1 through Table 23-4 show the pin connections for the standard IEEE-1284 cables you are likely to need. To ensure optimum parallel performance, use an IEEE-1284 cable with connectors appropriate for your PC parallel port and the peripheral to be connected.

Table 23-1 shows the pinouts for a standard SPP 25-wire Centronics C36M-to-DB25M parallel printer cable, including signal polarities and directions. The missing C36M pins are not connected. The original IBM Parallel Cable and some inexpensive currently available cables use only 18 wires, using a single wire to tie DB25M pins 18 through 25 to C36M pins 19 through 30 and 33. These 18-wire cables may not work in all applications, notably with OS/2.

Table 23-1. The pinouts for a standard SPP 25-wire Centronics C36M-to-DB25M parallel printer cable

C36M

DB25M

Description

C36M

DB25M

Description

1

1

-nStrobe (out)

14

14

-nAutoFd (out)

2

2

+Data Bit 0 (out)

19

19

-Data Bit 1 Return (GND) (in)

3

3

+Data Bit 1 (out)

21

20

-Data Bit 2 Return (GND) (in)

4

4

+Data Bit 2 (out)

23

21

-Data Bit 3 Return (GND) (in)

5

5

+Data Bit 3 (out)

25

22

-Data Bit 4 Return (GND) (in)

6

6

+Data Bit 4 (out)

27

23

-Data Bit 5 Return (GND) (in)

7

7

+Data Bit 5 (out)

29

24

-Data Bit 6 Return (GND) (in)

8

8

+Data Bit 6 (out)

30

25

-Data Bit 7 Return (GND) (in)

9

9

+Data Bit 7 (out)

31

16

-nInit (out)

10

10

-nAck (in)

32

15

-nFault (in)

11

11

+Busy (in)

33

18

-Data Bit 0 Return (GND) (in)

12

12

+PE (in)

36

17

-nSelectIn (out)

13

13

+Select (in)

   

Table 23-2 shows the pinouts for an IEEE 1284 A-to-B adapter cable, used to connect a DB25M, Type A EPP, ECP, or IEEE-1284-compliant PC parallel port to a peripheral with a Centronics, C36M Type B connector. Note that DB25M pins 1 through 17 carry the same signals as the preceding cable, and that DB25M pins 18 through 25 are similarly used for ground returns, although with slightly different definitions. Because it uses the same connectors as the SPP parallel cable described in the preceding table, the only way to differentiate this cable visually is to look for the "IEEE-1284-1994 Compliant" label.

Table 23-2. The pinouts for an IEEE-1284 A-to-B adapter cable

C36M

DB25M

Description

C36M

DB25M

Description

1

1

NStrobe

14

14

nAutoFd

2

2

Data Bit 0

19

18

nStrobe ground return

3

3

Data Bit 1

20, 21

19

Data Bits 0 & 1 ground return

4

4

Data Bit 2

22, 23

20

Data Bits 2 & 3 ground return

5

5

Data Bit 3

24, 25

21

Data Bits 4 & 5 ground return

6

6

Data Bit 4

26, 27

22

Data Bits 6 & 7 ground return

7

7

Data Bit 5

28

24

nAck, PE & Select ground return

8

8

Data Bit 6

29

23

Busy & nFault ground return

9

9

Data Bit 7

30

25

nAutoFd, nInit & nSelectIn ground return

10

10

NAck

31

16

nInit

11

11

Busy

32

15

nFault

12

12

PE

36

17

nSelectIn

13

13

Select

   

Table 23-3 shows the pinouts for an IEEE-1284 A-to-C adapter cable, used to connect a DB25M, Type A EPP, ECP, or IEEE-1284-compliant PC parallel port to a peripheral with a mini-Centronics, Type C connector.

Table 23-3. The pinouts for an IEEE-1284 A-to-C adapter cable

Type C

Type A

Description

Type C

Type A

Description

1

11

Busy

14

16

nInit

2

13

Select

15

1

nStrobe

3

10

NAck

16

17

nSelectIn

4

15

NFault

17

14

nAutoFd

5

12

PE

19, 22

23

Busy & nFault ground return

6

2

Data Bit 0

20, 21 & 23

24

nAck, PE & Select ground return

7

3

Data Bit 1

24 & 25

19

Data Bits 0 & 1 ground return

8

4

Data Bit 2

26 & 27

20

Data Bits 2 & 3 ground return

9

5

Data Bit 3

28 & 29

21

Data Bits 4 & 5 ground return

10

6

Data Bit 4

30 & 31

22

Data Bits 6 & 7 ground return

11

7

Data Bit 5

32, 34 & 35

25

nAutoFd, nInit & nSelectIn ground return

12

8

Data Bit 6

33

18

nStrobe ground return

13

9

Data Bit 7

   

Table 23-4 shows the pinouts for an IEEE-1284 C-to-B adapter cable, used to connect a mini-Centronics, Type C PC parallel port to a peripheral with a Centronics, Type B connector. This is an unusual cable for now, but will become more common if and when PC parallel ports with IEEE-1284 Type C connectors become more common. Because parallel ports are being deemphasized in new motherboards and PCs, that day may well never arrive.

Table 23-4. The pinouts for an IEEE 1284 C-to-B adapter cable

Type C

Type B

Description

Type C

Type B

Description

1

11

Busy

19

29

Busy ground return

2

13

Select

20

28

Select ground return

3

10

nAck

21

28

nAck ground return

4

32

nFault

22

29

nFault ground return

5

12

PE

23

28

PE ground return

6

2

Data Bit 0

24

20

Data Bit 0 ground return

7

3

Data Bit 1

25

21

Data Bit 1 ground return

8

4

Data Bit 2

26

22

Data Bit 2 ground return

9

5

Data Bit 3

27

23

Data Bit 3 ground return

10

6

Data Bit 4

28

24

Data Bit 4 ground return

11

7

Data Bit 5

29

25

Data Bit 5 ground return

12

8

Data Bit 6

30

26

Data Bit 6 ground return

13

9

Data Bit 7

31

27

Data Bit 7 ground return

14

31

nInit

32

30

nInit ground return

15

1

nStrobe

33

19

nStrobe ground return

16

36

nSelectIn

34

30

nSelectIn ground return

17

14

nAutoFd

35

30

nAutoFd ground return

18

-

Host Logic High

36

18

Peripheral Logic High

23.1.3.3 PC-to-PC parallel cables

Windows NT does not support direct parallel connections, but Windows 9X Direct Cable Connection can be used to establish a parallel-to-parallel link between two PCs. You can use three types of DB25M-to-DB25M cables for a DCC parallel connection, designated by Microsoft as follows:

Standard cable

The Standard cable, shown in Table 23-5, is also called a Basic 4-bit cable, LapLink cable, or InterLink cable. This the slowest parallel DCC cable, but can be used to link computers with any types of parallel port, including dissimilar ports on the two computers. Expect throughput of 40 to 70 KB/s when using one of these cables?painfully slow, but still about 10 times the speed of DCC over a serial connection.

Table 23-5. Standard cable for use with InterLink or Direct Cable Connection

DB25M

DB25M

Connection description

2

15

Data bit 0 (active when high)

3

13

Data bit 1 (active when high)

4

12

Data bit 2 (active when high)

5

10

Data bit 3 (active when high)

6

11

Data bit 4 (active when high)

10

5

Acknowledge (active when low)

11

6

Busy (active when high)

12

4

Out of Paper (active when high)

13

3

Select (active when high)

15

2

Error (active when low)

25

25

Ground to Ground

Extended Capabilities Port cable

The Extended Capabilities Port cable, shown in Table 23-6, is also called an ECP cable. This cable can be used to link computers that both have ECP parallel ports (including IEEE-1284 ports in ECP Mode) installed and enabled. It provides much faster throughput than the standard cable?500 KB/s or more, depending on the ports.

Table 23-6. ECP cable for use with InterLink or Direct Cable Connection

DB25F

DB25F

Connection description

1

10

nStrobe to nAck

2 - 9

2 - 9

Data to Data (straight-through)

10

1

nAck to nStrobe

11

14

Busy to nAutoFwd

12

16

pError to nInit

13

13, 17

Select to Select and nSelect

14

11

nAutoFwd to Busy

15

17

nFault to nSelectIn

16

12

nInit to pError

17

15

nSelectIn to nFault

18 - 25

18 - 25

Ground to Ground (straight-through)

Universal Cable Module cable

The Universal Cable Module cable, also called a UCM cable, can be used to link two computers that have different types of parallel ports. It's not really just a cable because it includes active electronic components that automatically optimize throughput between PCs with differing port types. This cable can be very useful when both PCs do not have ECP-capable parallel ports and you want to get the highest performance available for the combination of hardware being used?for example, duplicating a standard PC configuration to multiple PCs when those PCs do not have network cards, or backing up a notebook computer to a desktop system.

The only source we've found for this cable is Parallel Technologies (http://www.lpt.com). Its Universal Fast Cable costs $70, and includes monitoring software. When used to connect two ECP or two EPP ports, this cable can provide throughput of about 500 KB/s, within striking range of a 10 Mb/s Ethernet link. Note, however, that there is no real reason to buy this cable if all your parallel ports are ECP-capable?you can simply use the ECP cable described above. The benefit of this cable is that it automatically detects the port types in use and optimizes throughput for them.