plip: support more hw (patch inside)

Alessandro Rubini (rubini@ipvvis.UNIPV.IT)
Thu, 17 Aug 1995 16:03:53 +0100 (BST)


Hello Linuxers,
The enclosed patch modifies plip.c and upgrades the forgotten
README1.PLIP and README2.PLIP files.

Since most new paraller ports can't properly work with the classic plip
cable, I've long been using a custom 2-bit-at-a-time way to xfer data.
Today I decided to make it useful, and modified plip.c to automatically
downgrade to the 2-bit protocol when lack of one data bit is detected
in three consecutive packets.

This patch should solve most problems with plip connections, which are
mainly due to controllers not reporting all input signals.

If the original protocol works, no downgrade is performed. Moreover, each
data direction is handled independently, so that you can achieve full 4-bit
performance in one direction, even if the other is forced to 2-bits-only.

----
timings (morgana=486-66, amelia=386-16 -- only morgana gets 4bits)

** new protocol (with 1.3.18):
amelia -> morgana 306148 bytes received in 17.63 seconds, 16.96 K/s.
morgana -> amelia 306148 bytes received in 24.40 seconds, 12.25 K/s.

** old protocol (2bit reduced -- 1.3.11)
amelia -> morgana 306148 bytes received in 27.04 seconds, 11.05 K/s.
morgana -> amelia 306148 bytes received in 25.96 seconds, 11.52 K/s.

The original 4bit protocol couldn't work across my computers.

Hope this patch can fit 1.3.21

begin 664 plip2bit.patch.gz
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
K&9-&2/TRMR$9F'8K:'0G*3IUPG-..C#/LX<V2],_/C#$^P,J#>R;^4,``&!5
`
end