1.\" $MirOS: src/share/man/man4/plip.4,v 1.3 2008/11/08 22:24:15 tg Exp $
2.\"
3.\" Copyright (c) 2002 Martin Husemann <martin@rumolt.teuto.de>
4.\" Copyright (c) 2003 Thorsten Glaser <tg@mirbsd.org>
5.\" All rights reserved.
6.\"
7.\" Redistribution and use in source and binary forms, with or without
8.\" modification, are permitted provided that the following conditions
9.\" are met:
10.\" 1. Redistributions of source code must retain the above copyright
11.\"    notice, this list of conditions and the following disclaimer.
12.\" 2. The name of the author may not be used to endorse or promote products
13.\"    derived from this software without specific prior written permission
14.\"
15.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
16.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
19.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25.\"
26.Dd January 29, 2002
27.Dt PLIP 4 i386
28.Os
29.Sh NAME
30.Nm plip
31.Nd networking via the standard PC parallel port
32.Sh SYNOPSIS
33.Cd "option	PLIP				# Ethernet over parallel port"
34.Cd "lpt0	at isa? port 0x378 irq 7	# standard PC parallel ports"
35.Cd "lpt1	at isa? port 0x278 irq 5"
36.Cd "lpt2	at isa? port 0x3bc irq 5	# Hercules cards don't have an IRQ"
37.Sh DESCRIPTION
38The
39.Nm
40network interface shows up as
41.Pa plip0
42when using
43.Pa lpt0 ,
44as
45.Pa plip1
46when using
47.Pa lpt1
48and
49.Pa plip2
50when using
51.Pa lpt2 .
52.Pp
53A parallel port can not drive a
54.Nm
55interface when configured without an irq.
56The port can be used to drive other devices when the corresponding
57.Nm
58interface is configured down.
59.Pp
60The
61.Nm
62interface simulates Ethernet on a parallel cable
63with special wiring (see below), known as a
64.Ar "parallel LapLink cable"
65widely available from PC shops.
66.Pp
67Its acronym is derived from SLIP and means
68.Ar "Parallel IP Protocol" ,
69which, in fact, is wrong: it can handle any protocol available on
70Ethernet, not just IP.
71.Pp
72Although a
73.Nm
74connection always is point-to-point, the interface is configured
75like every standard Ethernet interface and uses
76.Ar ARP
77to find its neighbor.
78This is inefficient, but provides interoperability
79with other operating systems.
80.Pp
81Set the link2 flag on the interface if it is not working.
82Please report back if it helps for you.
83.Sh INTEROPERABILITY
84.Nm
85uses the
86.Ar "Crynwr protocol"
87(CLPIP) defined by Russel Nelson <nelson@crynwr.com>.
88This makes it interoperable with the GPL licenced MS-DOS packet driver
89.Ar "PLIP.COM"
90available by anonymous ftp from
91.Pa ftp://ftp.crynwr.com/drivers/plip.zip
92and Linux 1.3.x (make sure to configure the interface to use
93.Ar ARP
94when connecting to a Linux system).
95.Sh WIRING
96The following describes the connection of two male 25 pin sub-D connectors
97which fit into standard PC parallel ports (no, PCs don't use Centronics
98connectors).
99.Bl -tag -width "GROUND(25)" -offset indent -compact
100.It INIT(16)
101INIT(16)
102.It SLCTIN(17)
103SLCTIN(17)
104.It GROUND(25)
105GROUND(25)
106.It D0(2)
107ERROR(15)
108.It D1(3)
109SLCT(13)
110.It D2(4)
111PAPOUT(12)
112.It D3(5)
113ACK(10)
114.It D4(6)
115BUSY(11)
116.El
117.Pp
118Additional grounds are 18, 19, 20, 21, 22, 23 and 24.
119Do not connect D5(7), D6(8), D7(9), STROBE(1) and FEED(14).
120.Sh SEE ALSO
121.Xr ifconfig 8 ,
122.Xr pppd 8 ,
123.Xr slip 8
124.Sh AUTHORS
125Matthias Pfaller wrote the original
126.Nx
127pc532 version.
128.Pp
129Martin Husemann ported it to the
130.Nx
131i386 .
132.Pp
133Thorsten Glaser first ported the port of the
134.Nx
135i386 version for
136.Ox
137by Pablo Ruiz Garcia to
138.Mx ,
139then re-did the port using a newer
140.Nx
141source version for
142.Mx 7 .
143.Sh BUGS
144The
145.Nm
146driver has not yet been successfully tested on
147.Mx .
148.Pp
149The driver uses a hard-coded network soft interrupt, which is the only
150thing that makes it i386 architecture dependent.
151As soon as generic soft interrupt allocation is available,
152this should be changed, which would make the driver machine
153independent (but still dependent on the ISA parallel port architecture).
154.Pp
155The protocol is too much overhead, a bidirectional input/output
156routine switchable to a well-designed network line discipline
157with on-line compression would be far superior.
158.Fx
159does this, but it makes it impossible to communicate with MS-DOS
160and Linux boxen.
161.Pp
162There are some parallel ports which can use all 8 data bits for input
163and output, you can make up a parallel handshake protocol and a cable
164with different wiring to get an 8 bit clean (instead of 4 bit now)
165data path out of this.
166This is currently not supported.
167.Pp
168There is apparently work on the way (the parbus) which will integrate
169this and other parallel-port devices (zip drives e.a.) more smoothly.
170.Pp
171The
172.Nm
173driver cannot currently drive a protocol other than IPv4.
174.Sh HINTS
175Go buy a pocket Ethernet adaptor or a PCMCIA Ethernet adaptor and
176write a driver for it.
177It has much better throughput, lower load and
178a less coupled system between client and server.
179