views:

71

answers:

1

Hi all,

I've been experimenting with the 32Feet library, which enables support for using IrDA using C# and .NetCF, by writing a small demo application.

On a WindowsCE 4.2 device this appllication works fine, however when I try it on a WinCE 5 device I get a socket exception when calling:

new IrDAClient()

The exception is 10047: AddressFamilyNotSupported.

I've done some googling, and what comes up is multiples postings of this thread http://www.dotnetmonster.com/Uwe/Forum.aspx/dotnet-compact-framework/16047/IrDAClient-SocketException-ErrorCode-10047, which seems to suggest that a header file might by missing (or something like that) from the WinCE 5 build.

Does anyone have any advice, as this doesn't seem to be a problem with 32Feet, on where and what I should be looking for/at?

---Edit---

I also get the same creating a socket directly:

Socket s = new Socket(AddressFamily.Irda, SocketType.Stream, ProtocolType.IP);

A: 

It sounds like IrDA simply isn't supported on your target device. It is not as simple as a missing header file, it's missing the actual support for it in the OS.

You have to understand that Windows CE is purely modular, so there is no "standard" OS. The OEM likely did not include IrDA support (which is done by adding the SYSGEN_IRDA variable to the OS Design in Platform Builder). The only way to remedy this is to go to the OEM and ask them to create a new OS image that includes it. Be aware that it may not be as simply as just adding SYSGEN_IRDA for the OEM. They may also have to do some OAL work to get the driver to support the IR transceiver (lack of support for it would be a reason to omit the component from the OS).

ctacke