Subject: Re: IRD
To: Wolfgang Rupprecht <wolfgang@wsrcc.com>
From: Mike Cheponis <mac@Wireless.Com>
List: port-i386
Date: 06/09/1999 00:45:27
> kenh@cmf.nrl.navy.mil (Ken Hornstein) writes:
>> Writing the "driver" is actually fairly straightforward (last time
>> I looked, they had the hardware docs online).  The hard part is
>> doing the IRDA networking stack (which Windows provides, for
>> example).  One would need to be written.

Wolfgang Rupprecht <wolfgang+gnus@dailyplanet.wsrcc.com> writes;

> I was wondering how feasible it would be to cut some corners here.  If
> one were only interested in doing IR communication with other open
> systems (eg. NetBSD/Openbsd/Freebsd/Linux), couldn't one talk mostly
> stock async PPP out the IR port?  One would have to interlock the RX
> and TX so as to not blind one's receiver by turning on the transmitter
> in the middle of a received packet, but other than that are there any
> other caveats?

1) I do suggest that IrDA is done as the first "wireless" comm method in
   NetBSD - it's here now on almost all laptops and the controller is built
   in to almost all newer motherboards. (But you do need an external IR
   transceiver; see <http://www.actisys.com/> and also see
   <http://www.jdresearch.com/irdrive/> for the BayBeamer product.)

2) People have done SLIP over IrDA; I'm surprised PPP doesn't work.  
   Usually TCP tunes the parameters over time so that half duplex is
   properly accommodated.

3) It -is- possible to run stock PPP over the IR port, essentially directly.
 
   (a) In the IrDA "1.0" mode, that is, async over serial a serial port, the
       only "driver" required is usually to silence the receiver while
       transmitting to prevent hearing what you send (not all IR transceiver
       chips have this property; others squelch their own receivers during
       transmission).

   (b) In IrDA 1.1 mode, that is, 0.576, 1.152, and 4.0 Mb/s, a special
       controller is used.  It usually requires a DMA channel which is
       used on both transmit and receive (still half duplex).  There are
       about 3 or 4 different high-speed controller chips from National,
       SMC, and others.  Here, the driver is more complicated since you
       have to set up and use DMA and to massage the chip more, but in
       theory, you could also run PPP over that link.

4) That being said, I think you ought to stick to the standard IrDA 
   protocols.  Basically, the whole -point- is intercommunication with other
   systems.  And don't forget the range of devices out there already and
   coming down the pipe with IrDA built in: Palm Pilots, Digital Cameras,
   cell phones, all WinCE PDAs, Printers, Pagers, etc.

   Dag Brattli is the sparkplug for the Linux IrDA effort.

   Some interesting links include <http://www.cs.uit.no/linux-irda/>
   <http://www.irda.org/prodlist/linux.asp> and also
   <http://www.irda.org/discussion/main.asp?page=NewsGroup&group=Public>

   Oh, and I don't want to forget to mention that a top-level IrDA protocol,
   IrDA-OBEX has been chosen by the Bluetooth group as one of their
   top-level data exchange formats.


-Mike  ( mac@Wireless.Com )