Extract from /usr/src/linux/Documentation/networking/PLIP.txt, written by Donald Becker (becker@super.org):
Parallel Transfer Mode 0 Cable ============================== The cable for the first transfer mode is a standard printer "null" cable which transfers data four bits at a time using data bit outputs of the first port (machine T) connected to the status bit inputs of the second port (machine R). There are five status inputs, and they are used as four data inputs and a clock (data strobe) input, arranged so that the data input bits appear as contiguous bits with standard status register implementation. A cable that implements this protocol is available commercially as a "Null Printer" or "Turbo Laplink" cable. It can be constructed with two DB-25 male connectors symmetrically connected as follows: STROBE output 1* D0->ERROR 2 - 15 15 - 2 D1->SLCT 3 - 13 13 - 3 D2->PAPOUT 4 - 12 12 - 4 D3->ACK 5 - 10 10 - 5 D4->BUSY 6 - 11 11 - 6 D5,D6,D7 are 7*, 8*, 9* AUTOFD output 14* INIT output 16* SLCTIN 17 - 17 extra grounds are 18*,19*,20*,21*,22*,23*,24* GROUND 25 - 25 * Do not connect these pins on either end If the cable you are using has a metallic shield it should be connected to the metallic DB-25 shell at one end only.
I checked my cable twice. On both sides, pins are connected like this:
1 - 1 Yes 2 - 15 3 - 13 4 - 12 5 - 10 6 - 11 7 not connected 8 not connected 9 not connected 10 - 5 11 - 6 12 - 4 13 - 3 14 - 14 Yes 15 - 2 16 - 16 Yes 17 - 17 18 not connected 19 not connected 20 not connected 21 not connected 22 not connected 23 not connected 25 - 25 not connected to metallic shield
Unlike the cable described in the kernel document, my cable has pins 1, 14, 16 connected. It doesn't matter, apparently, since plip works fine for me.