Karel Kulhavy <[EMAIL PROTECTED]> writes:

> I have heard that IrDA is not capable of sending full-duplex. My channel is
> full-duplex (four separate simple optics heads) so it would be a great
> pity to lose half of the precious bandwidth.
> 
> Is there any possibility to force IrDA chips to work full-duplex?

Yes, most of them can do that, but the problem is that the transmitter is
placed so close to the receiver, that it "blinds" it by its own
transmission. That makes the receiver less sensitive and can even make it
recieve the nodes own transmissions. So in most chips, you can set a bit
that makes it turn off the receiver while it's transmitting. IrDA devices
negotiate whats called the minimum turn around time which is the time the
receiver needs to get its sensitivity back after being blinded by the
transmitter. I don't think it would help to separate the transmitting and
receiving diode for such row range communication, since the signal will
bounce back from the peer device (or other objects) anyway.
 
> If not, how well would Linux communicate half-duplex?

All IrDA devices are half duplex, and this is controlled by the IrLAP
protocol. This is a primary/secondary protocol where a "token" called the
pf (poll/final) bit is used to give the other station permission to
"speak". The pf bit is controlled by the primary, but the secondary can
give it back, before it's time has "expired". This means that the protocol
need not to be symmtric, and you can have a situation where the primary
sends 7 frames in a row (the last frame gives away the token) and the
secondary gives the token immediately back if it hasn't anything to send
itself. In such a scenario you will feel like you get all the bandwidth out 
of the link.

So you can get very good transmission speed if you are doing asymmetric
communication (and most Internet communication is asymmetric). If you have
two FTP transfers in different directions at the same time, then you will
notice that the transfer speed is suddenly less than half of the link speed
:-(

When using a 4Mbps half duplex link, I have measured FTP transfer speeds
above 340 Kbytes/s (asymmetric of course).

So forcing IrDA chips to be full duplex will not help much if you use the
IrLAP protocol. IrDA was designed for short range ad-hoc communication.

For longer range, more permanent. and full duplex operation you will need
to use a different (and much simpler) link protocol to get the performance
you want. Running TCP/IP over PPP would probably do the job if the frame
loss rate is low (less than 10% ?). If your link is worse than this, then
you will need a link layer than can do some retransmissions for you.

Not my strongest area, but I hope it might help you.

-- Dag

-- 
   / Dag Brattli                   | The Linux-IrDA Project               /
  // University of Tromsoe, Norway | Infrared communication for Linux    //
 /// http://www.cs.uit.no/~dagb    | http://www.cs.uit.no/linux-irda/   ///

_______________________________________________
Linux-IrDA mailing list  -  [EMAIL PROTECTED]
http://www4.pasta.cs.UiT.No/mailman/listinfo/linux-irda

Reply via email to