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

Robert Heller heller at deepsoft.com
Tue Jun 29 11:54:14 EDT 2004


  Daniel Tahin <daniel.t at a1.net>,
  In a message on Tue, 29 Jun 2004 16:28:02 +0200, wrote :

DT> Ok, I thank you again for your answers. 
DT> It seems I should search other ways:-))

Basically, as I said in my original response: buy a pair of NICs and a
Cat-5 crossover cable.  It is the fastest, easiest, most reliable way
to move data from one PC to another.  It is also cross-platform -- all
modern O/Ss have 'built-in' support for this method.  A low-end option
(assuming both boxes have COM ports -- some newer laptops don't) is a
null-modem cable and using some flavor of X/Y/Zmodem, but this is speed
limited.  Otherwise you are left with the standard selection of
removable media: floppies, Zip drives, USB memory sticks, CD-Rs, etc.

The Laplink / Parallel port option has its own set of limitations, as
you have discovered and there is no good way around these limitations.

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

                                     \/
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






                                                                                                         



More information about the Linux-parport mailing list