Subject: Re: IrDA?
To: None <current-users@netbsd.org>
From: Pete Bentley <peter.bentley@nomura.co.uk>
List: current-users
Date: 01/28/1999 11:30:14
augustss@cs.chalmers.se wrote:
> > The prices of Nokia 6150 GSM phones are dropping and.. and.. :-)
> But does it speak IrDA?  I have a 6110 and it only uses the
> lowest level of the IrDA stack, the rest is proprietary Nokia
> stuff.  Otherwise they couldn't charge outrageous amounts
> for their comm software. :-(

I don't believe it does. According to one source[*] the 6110, 6150, 8110
and nk702 all require Nokia software.  The Nokia 8810, Ericsson SH888 &
DI27 all talk IrDA though (IrCOM).

> > I wonder if IrDA protocol could be implemented as a user-level protocol
> > or if kernel support would be required..
> You can do it in a user process.

Indeed, although I think some of the timings are a bit tight, so a
user-level implementation might run slow if it drops packets and
requires retransmits. 
On the other hand, given the complexity of the protocols I think the
free Unix community would benefit from a portable, user-space IrDA stack
or some sort (perhaps just a daemon that created a mapping from certain
TCP ports to certain IrDA service end-points).  As far as I know the
Linux people are going for a kernel implementation, so that's not going
to be much use to anyone else.

I did make a start on such a thing about 2 years ago, but was hampered
by the hardware I was using (SS10 + serial IrDA dongle, talking to a
Psion 3c which doesn't exactly have the best IrDA stack in the world
anyway) and eventually ran out of time...

I guess the reason no-one else has bothered either is the complexity. 
To get a simple serial stream from one computer to another you have to
implement at least 4 layers:-
* A hardware 'driver' layer to program whatever serial to IR device
you're using
* IrLAP - Link access, neighbour discovery, datagram layer
* IrMUX - Service discovery and connection, "stream" layer
* IrComm - Serial line emulation over IrMUX

Then if you want to do interesting stuff like data-exchange (eg
automatically passing people your business vCard) there's a whole object
exchange protocol on top of IrMUX you'll be wanting.

IrDA is truly a protocol suite that has suffered badly from being
designed by a committee... but I still think it would be a cool thing to
implement under Unix.
With the rise of IrDA compliant ports on PDAs, phones and printers,
there are potentially a lot of cool applications (plonk your phone or
PDA on the desk next to you workstation and it just hot-syncs[**]
automagically).

Pete.
[*] A phone/SMS manager for the Psion Series 5 that can communicate via
IrDA to certain phones.  Me, I use it with a serial cable to an olde
Ericsson GS18 though.
[**] Oh yeah, that reminds me... I seem to recall they do very little to
address security/authentication issues in IrDA.  Still... it can be done
at the application layer.