[Linux-parport] Connecting 2 PCs directly over an "8-wire Fast Laplink" cable

Daniel Tahin daniel.t at a1.net
Tue Jun 29 07:07:35 EDT 2004

Thank you for your detailed description!

If I correct understand you, the paralell port can function only in one 
direction with the maximum bandwidth. From PC to device. But I found a 
documentation, that describes the ECP mode of paralell port. In this 
case the port can function in both direction (the device can send data 
to PC as well). Put the documentation to the web site.
I would like to use the port in ECP mode, and this means, the PC, that 
receives the data, should reverse the direction of the port (to input).
I seen in a Linux source, that there is a way to control each of the 
lines of a port.
Or is it not so easy:-))?

Thank you for your answer, and patience.

Robert Heller <heller at deepsoft.com> schrieb:

 > In message <20040628203552.A11569 at pc199.ben.tuwien.ac.at>, Daniel Tahin
 > writes:
 > >Thank you for the rash answer:-))
 > >
 > >No, of course not. Sorry I forgat to mention, that I don't need a really
 > bi-di
 > >rectional communication. What I need is to set PC A in output-mode 
and PC B
 > to
 > > input-mode, and do a transfer from A to B (like sending data to an 
 > h
 > >arddisk or printer, that you said). Or is it basically impossible to
 > "simulate
 > >" PC B as an paralell external device?
 > The parallel ports on PC are *physically* wired as 'masters'.  All PC
 > parallel ports are wired that way.  Just like the parallel ports on
 > printers are wired as 'slaves'.  Esentually, what you really do want *is*
 > bi-directional communication in a sense, just that it is output from one
 > PC and input from the other.
 > When I said that "The parallel port is a master-slave type of interface
 > -- it is NOT a symetrical bi-directional device.", I was refering to how
 > the control pins on the port are *wired*.  The *handshaking* pins on a PC
 > are wired in the opposite sense from the *handshaking* pins on a typical
 > 'slave' device (such as a printer).  The handshaking is not symetrical.
 > You cannot wire one-to-one the handshaking pins of one PC to another --
 > there is not a symetrical cross-wiring, like there is with RS232 ports
 > -- that is there is no 'null-modem' type of wiring for a parallel port
 > cable -- this is not what a Laplink cable is.  It is actually trivial to
 > use a RS232 serial port as a PC-to-PC data transfer.  All you need is a
 > null modem and the lz package installed.  You are just limited to the 
max BPS
 > setting (about 128Kbps with modern COM ports).  RS232 serial ports *are*
 > symetrical bi-directional devices.
 > You can "simulate" a PC as an external parallel device, but you have to
 > 'fake' it.  You cannot use the normal hardware handshaking (which is
 > what allows a 'normal' external parallel device to have higher 
 > since it just does not exist in a bi-directional sense.  Note that
 > although the parallel port on modern PC's does allow for bi-directional
 > I/O, the hardware handshaking is not meant to work that way.  The
 > *original* intent of the parallel port was for a printer.  Printers
 > traditionally only sink data (data flows from computer to printer,
 > never the other way around).  The handshaking is meant to allow the
 > printer to say 'I'm ready to get another byte' and for the computer to
 > say 'Here is a byte for you'.  There are soma additional pins for the
 > printer to say 'Help! I have no more paper' or 'Help! I have a
 > malfunction (eg a paper jam, out of ink, etc.)'. And that is it.  It is
 > possible to use one (or more) of these aux error pins as a 'data
 > available' pin, but this is a sort of hack and the I/O port hardware
 > won't be optimized for this use (eg if there is anything like a FIFO,
 > you won't be able to use it and the interupts are handled differently
 > and the data latching works differently, etc.).
 > The input function available with modern PCs does not really give the
 > PC any good way to suck in a continious stream of data in any trivial
 > way.  It can be used to read 8 random bits or something like that (such
 > as a bank of toggle switches or code in a dongle or read back a vendor
 > code from a printer).  Doing much more requires playing all sorts of
 > games, which means you get lots of overhead, which means your
 > 'bandwidth' is limited.
 > >
 > >
 > >
 > >
 > >
 > >Am 2004.06.28 20:15 schrieb(en) Robert Heller:
 > >>
 > >>
 > >>In message <20040628200224.A11439 at pc199.ben.tuwien.ac.at>, Daniel Tahin
 > write
 > >s:
 > >>>Hello Developers!
 > >>>
 > >>>Hopefully I'm here right. I would like to ask you about connecing 
two PCs
 > ov
 > >er
 > >>> a Laplink cable (on the paralell port). But this cable isn't a common
 > Lapli
 > >nk
 > >>> cable that uses only 4 data lines; it uses each (8) data lines.
 > Information
 > > a
 > >>>bout cross connecting the cable I put at 
 > >>>It works well under Windows98, with 160-190Kbytes/sec (better than
 > 50Kbytes/
 > >se
 > >>>c with the cable that uses only 4 data lines:-))). I would like to 
ask you,
 > >th
 > >>>at is really the highest transfer rate, that could be reached with 
it? (I
 > as
 > >k
 > >>>you, because I think other paralell devices can do a higher 
 > w
 > >it
 > >>>h 8 data lines? Or not?)
 > >>>I set the port to ECP, and EPP mode before doing any transfers, but I
 > couldn
 > >'t
 > >>> go over 190Kbytes/sec.
 > >>
 > >>The parallel port is a master-slave type of interface -- it is NOT a
 > >>symetrical bi-directional device.  What happens with ALL of the
 > >>'Laplink' parallel port hacks is some sort of hack to 'fake' a full
 > >>duplex interface -- this by its very nature will reduce you effective
 > >>throughput.  With a 'normal' paralell device (eg printer), there is a
 > >>clear master (computer) and slave (printer) relationship and no need to
 > >>fake anything.
 > >>
 > >>If you really need high-speed bi-directional data transfer, get 
 > >>a pair of EtherNet NICs (either PCI cards and/or PCMCIA cards,
 > >>depending).  These cards are cheap enough and easy to get (Radio Shack
 > >>sells them).  With a Cat-5 crossover cable you can skip the switch.
 > >>
 > >>It might also be possible to get better thn 190Kbytes/sec. thoughput
 > >>with either FireWire or USB 2.0, but I don't know of any PC-to-PC data
 > >>transfer software using either FireWire or USB 2.0.
 > >>
 > >>>
 > >>>
 > >>>Best regards, and thanx for your answer.
 > >>>Daniel
 > >>>
 > >>>_______________________________________________
 > >>>Linux-parport mailing list
 > >>>Linux-parport at lists.infradead.org
 > >>>http://lists.infradead.org/mailman/listinfo/linux-parport
 > >>                                     \/
 > >>Robert Heller                        ||InterNet:   heller at cs.umass.edu
 > >>http://vis-www.cs.umass.edu/~heller  ||            heller at deepsoft.com
 > >>http://www.deepsoft.com              /\FidoNet:    1:321/153
 > >>
 > >>_______________________________________________
 > >>Linux-parport mailing list
 > >>Linux-parport at lists.infradead.org
 > >>http://lists.infradead.org/mailman/listinfo/linux-parport
 > >>
 > >
 > >_______________________________________________
 > >Linux-parport mailing list
 > >Linux-parport at lists.infradead.org
 > >http://lists.infradead.org/mailman/listinfo/linux-parport
 >                                      \/
 > Robert Heller                        ||InterNet:   heller at cs.umass.edu
 > http://vis-www.cs.umass.edu/~heller  ||            heller at deepsoft.com
 > http://www.deepsoft.com              /\FidoNet:    1:321/153
 > _______________________________________________
 > Linux-parport mailing list
 > Linux-parport at lists.infradead.org
 > http://lists.infradead.org/mailman/listinfo/linux-parport

More information about the Linux-parport mailing list