please dont rip this site

1284 Negotiation

All IEEE-1284 modes are entered from Compatibility mode (Standard Parallel Port or SPP) by passing through the negotiation phase. Peripherals are not required to implement modes except for negotiation and Nibble mode. This being the case, a method is needed for a host platform to determine what the capabilities of the attached peripheral are, and to have a controlled method by which to set the interface into one of the modes.

The concept of negotiation was developed to fill this need. Negotiation is a sequence of events on the parallel port interface that would not effect an older "legacy" device but would provide identification of a 1284 peripheral. The concept is that an older device will not respond to the negotiation sequence and therefore the host would remain in a compatible mode state, while a 1284 peripheral would respond to the sequence and could then be set to any of the peripheral and host supported modes.

During the negotiation phase, the host places a request on the data lines and then initiates the negotiation sequence. The request can be to put the interface into a particular mode, or request a device ID from the peripheral. Device ID will be discussed later. Figure 8 shows the basic Negotiation sequence.

The Extensibility byte is used during negotiation to request that the peripheral enter a specific transfer mode, or to request that the peripheral send a device ID that will allow the host to identify the type of attached peripheral. The device ID can be returned in any reverse channel mode, other than EPP. Table 1 describes the extensibility byte and allowable values. The XFlag is used by the peripheral for acknowledgment that the requested mode is available. The XFlag will always be set to one (#6 in figure 8) as a positive acknowledgment for all requests except for Nibble mode reverse channel. All 1284-compliant devices are required to support Nibble mode for reverse channel operation. The Extensibility Link request bit is used to provide a mechanism for future expansion and addition of new operational modes and features.

Negotiation and device ID are key features for the future ability of PC platforms to determine system configuration and to include parallel port attached peripherals in this determination.

Table 1 -- Extensibility Byte  (mode request) Bit Values

Bit Description Valid Bit Values
(8765 4321)
8 Request Extensibility Link 1000 0000
7 Request EPP Mode 0100 0000
6 Request ECP Mode with RLE 0011 0000
5 Request ECP Mode without RLE 0001 0000
4 Reserved 0000 1000


Request Device ID
Return data using mode:

Nibble Mode

0000 0100

Byte Mode

0000 0101

ECP Mode without RLE

0001 0100

ECP Mode with RLE

0011 0100

2 Reserved 0000 0010
1 Byte Mode 0000 0001
none Nibble Mode 0000 0000

Figure 1 -- Basic Negotiation Sequence

1284 Negotiation phases transistions:

  1. The host places the requested extensibility byte on the data lines.
  2. The host then sets nSelectIn high and nAutoFeed low to indicate a negotiation sequence.
  3. A 1284 peripheral will respond by setting nAck low, and nError, PE and Select high. A non-1284 peripheral will not respond.
  4. The host sets nStrobe low. This is used to strobe the Extensibility byte in to the peripheral.
  5. The host then sets nStrobe and nAutoFeed high to signal to the peripheral that it recognizes it as a 1284 device.
  6. The peripheral responds by setting PE low, nError low if the peripheral has reverse channel data available, and Select high if the requested mode is available, or Select low if the requested mode is not available.
  7. The peripheral now sets nAck high to signal that the negotiation sequence is over and the signal lines are in a state compatible with the request mode.

See also:

file: /Techref/io/parallel/1284/negoti8.htm, 5KB, , updated: 1999/7/30 11:08, local time: 2018/2/20 09:48,

 ©2018 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions?
Please DO link to this page! Digg it! / MAKE! / 

<A HREF=""> IEEE 1284 Negotiation</A>

After you find an appropriate page, you are invited to your to this massmind site! (posts will be visible only to you before review) Just type in the box and press the Post button. (HTML welcomed, but not the <A tag: Instead, use the link box to link to another page. A tutorial is available Members can login to post directly, become page editors, and be credited for their posts.

Link? Put it here: 
if you want a response, please enter your email address: 
Attn spammers: All posts are reviewed before being made visible to anyone other than the poster.
Did you find what you needed?


Welcome to!


Welcome to!