PLIP(4) BSD Programmer's Manual (i386) PLIP(4)NAMEplip - networking via the standard PC parallel port
SYNOPSIS
option PLIP # Ethernet over parallel port
lpt0 at isa? port 0x378 irq 7 # standard PC parallel ports
lpt1 at isa? port 0x278 irq 5
lpt2 at isa? port 0x3bc irq 5 # Hercules cards don't have an IRQ
DESCRIPTION
The plip network interface shows up as plip0 when using lpt0, as plip1
when using lpt1 and plip2 when using lpt2.
A parallel port can not drive a plip interface when configured without an
irq. The port can be used to drive other devices when the corresponding
plip interface is configured down.
The plip interface simulates Ethernet on a parallel cable with special
wiring (see below), known as a parallel LapLink cable widely available
from PC shops.
Its acronym is derived from SLIP and means Parallel IP Protocol, which,
in fact, is wrong: it can handle any protocol available on Ethernet, not
just IP.
Although a plip connection always is point-to-point, the interface is
configured like every standard Ethernet interface and uses ARP to find
its neighbor. This is inefficient, but provides interoperability with
other operating systems.
Set the link2 flag on the interface if it is not working. Please report
back if it helps for you.
INTEROPERABILITYplip uses the Crynwr protocol (CLPIP) defined by Russel Nelson
<nelson@crynwr.com>. This makes it interoperable with the GPL licenced
MS-DOS packet driver PLIP.COM available by anonymous ftp from
ftp://ftp.crynwr.com/drivers/plip.zip and Linux 1.3.x (make sure to con-
figure the interface to use ARP when connecting to a Linux system).
WIRING
The following describes the connection of two male 25 pin sub-D connec-
tors which fit into standard PC parallel ports (no, PCs don't use Cen-
tronics connectors).
INIT(16)INIT(16)SLCTIN(17)SLCTIN(17)GROUND(25)GROUND(25)D0(2)ERROR(15)D1(3)SLCT(13)D2(4)PAPOUT(12)D3(5)ACK(10)D4(6)BUSY(11)
Additional grounds are 18, 19, 20, 21, 22, 23 and 24. Do not connect
D5(7), D6(8), D7(9), STROBE(1) and FEED(14).
SEE ALSOifconfig(8), pppd(8), slip(8)AUTHORS
Matthias Pfaller wrote the original NetBSD pc532 version.
Martin Husemann ported it to the NetBSD i386 .
Thorsten Glaser first ported the port of the NetBSD i386 version for
OpenBSD by Pablo Ruiz Garcia to MirOS, then re-did the port using a newer
NetBSD source version for MirOS #7.
BUGS
The plip driver has not yet been successfully tested on MirOS.
The driver uses a hard-coded network soft interrupt, which is the only
thing that makes it i386 architecture dependent. As soon as generic soft
interrupt allocation is available, this should be changed, which would
make the driver machine independent (but still dependent on the ISA
parallel port architecture).
The protocol is too much overhead, a bidirectional input/output routine
switchable to a well-designed network line discipline with on-line
compression would be far superior. FreeBSD does this, but it makes it im-
possible to communicate with MS-DOS and Linux boxen.
There are some parallel ports which can use all 8 data bits for input and
output, you can make up a parallel handshake protocol and a cable with
different wiring to get an 8 bit clean (instead of 4 bit now) data path
out of this. This is currently not supported.
There is apparently work on the way (the parbus) which will integrate
this and other parallel-port devices (zip drives e.a.) more smoothly.
The plip driver cannot currently drive a protocol other than IPv4.
HINTS
Go buy a pocket Ethernet adaptor or a PCMCIA Ethernet adaptor and write a
driver for it. It has much better throughput, lower load and a less cou-
pled system between client and server.
MirOS BSD #10-current January 29, 2002 1