This project has moved. For the latest updates, please go here.

multiple IrDA adapters on 1 pc

Topics: IrDA
May 6, 2012 at 3:02 PM

Hello,

I am thinking of attaching multiple IrDA adapters on PC.

What I want to do is,

 setup 1 pc that has multiple(about 4-12) IrDA ports, all ports at listening mode.

 (All ports are separated enough not to optically interfere each other.)

My questions are,

1) Is it possible to attach and use multiple IrDA adapters on 1 pc ?

2) If yes ,how can I select which adapter to use, when creating IrDAListener?

Thank you,

Tohru

Developer
May 7, 2012 at 10:01 AM

Its so long since I've worked with IrDA...  But I remember that it does support multiple adapters.  But think that you can't tell from which adapter the communications are coming. :-(  See http://msdn.microsoft.com/en-us/library/windows/desktop/ms691790(v=vs.85).aspx

"The Windows IrDA stack supports the concurrent operation of several NDIS 4.0 VFIR/FIR/SIR miniport adapters. This support allows a single server to support multiple inbound connections in a way that is transparent to both client and server applications.

[...]

"Incoming connections are delivered to a single, listening transport endpoint. The listening client will not receive any per-adapter information. The mapping between the new connection and the adapter is maintained by the IrDA stack."

So for your 1) the answer is Yes, and apparently for 2) the answer is that you can't, the IrDAListener (socket with bind) listens on all adapters.

I wonder whether a shim over the NDIS driver would allow one to somehow see from which adapter a new connection has been made.  (There was a port of the Linux IrDA stack to Windows but don't know if it is still useable (e.g. ircomm2k)).

Jun 3, 2012 at 2:24 AM

Hi Alan,

Thank you for the Information.
I tried the following experiment, and it was possible to communicate.

PC1 has 2 IrDA Adapters, makes IrDAListener and accept.
PC2 has 1 IrDA Adapter, makes IrDAClient .
PC2 can open connection to either adapter of PC1 with the Service name,
 and can connect to the 2nd adapter after communication to the 1st adapter.

My image of program was the server to identify clients by which adapter it comes from,
but identifying is possible by sending id from client, so 2) was not essential . 

So the IrDA communication is OK about what I wanted to do.
One thing I felt is it takes rather long time(3-5 seconds)
for Windows to find the IrDA device after facing adapters.

Any way, thank you for the support and nice Library.

By the way, I found it possible to connect between 2 adapters in 1 PC.
   (not possible with only 1 adapter)
   This was convenient for debugging.

Regards,
Tohru

Developer
Jun 3, 2012 at 7:24 PM
Edited Jun 3, 2012 at 7:35 PM

That's good to hear.  I'll make a note of your findings in case anyone else asks similar questions.

BTW what's your usage scenario, in what environment are you doing this? Museum, or something else?

On the 3-5 seconds; that's discovery of the second adapter on the same machine?  It might be that the discovery packets from the two adapters is getting in each other's way.

Thanks again