Subject: Re: IrDA?
To: Pete Bentley <peter.bentley@nomura.co.uk>
From: Jukka Marin <jmarin@pyy.jmp.fi>
List: current-users
Date: 01/28/1999 16:57:04
On Thu, Jan 28, 1999 at 02:45:47PM +0000, Pete Bentley wrote:
> It's been a while, but from memory the timeout that bit me was one
> during neighbour discovery...there's a short-ish time window you have to
> hit (100ms?) with a reply packet or it might not work. 100ms is quite a
> long time in the overall scheme of things... unless, say, you're running
> in user space and get hit by a bout of paging at an inopportune moment.

Hmm, 100 ms is quite short for a system like this, yep..  But if _that_
was the worst thing about it..

> I guess once you have a connection established, the ACK timeouts are
> longer, so as you say UART buffering will probably save you from many
> scheduling issues.

Without knowing anything about the protocol, I would think so. ;)

> Actually, I had a very quick peek.  Looks like they've done some of the
> low level stuff as a line discipline (an idea which occured to me, but
> got ruled out as I was doing my prototype work under Solaris :)  
> Depending on where they've drawn their user space/kernel space line it
> might well be worth having a look. It may turn out that implementing the
> line discipline in *BSD isn't so hard but lets us leverage their higher
> level stuff (they claim to have IrLAN and the object server stuff
> working... but they also mention a socket interface, so maybe they
> actually do have the main protocols in the kernel).

And their code is under GPL, so it couldn't be used as an official part
of NetBSD..

> > This is simple when you're using something like the Tekram IrMate 210
> > (an external IrDA transceiver that connects to a standard serial port).
> 
> It varies from dongle to dongle.  Some just need RTS/CTS waggling to
> flip between a few speeds, others have a "programming mode" you set them
> into and then you set up a few registers to select the speed, modulation
> type etc (I think most 16550 motherboard IR headers fall into this
> category).  Back when I was doing it, the only dongle I could get
> without sending off to the States was an Airport 1000, which was a bit
> of a git to program and didn't seem to like the SPARC serial ports much
> (maybe they couldn't supply enough current).  It may also be because I
> was trying to negotiate an uncommon speed (the max speed the SPARC and
> Psion had in common was 38400...most IrDA seems to be geared to 115200).

The Tekram dongle has one 8-bit register which can be written to by
negating RTS.  Easy enough under NetBSD (I have my NetBSD box talking
to a portable medical device via IrDA link using IrMate as we speak).
IrMate seems to work on all PC's (at least, all the PC's we have tried
it on) ranging from old 486's to new IBM laptops.  I also got a programming
document from Tekram via e-mail when I asked for it (so I could be called
a happy Tekram customer :-)

Well, if IrDA is supposed to die soon, maybe it's not worth the trouble
at all..

  -jm