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 )