Archive for August 2010

A Quick-ish Update

August 23, 2010

Since folks have asked nicely, I thought that I’d compose a quick post, whilst being in the process of making last-minute preparations for a trip to London.

The grand plan is that I’ll be stopping in York with a relative tonight; and then taking a coach down to London for roughly two days, in order to spend some time at the Symbian Foundation as part of an ongoing volunteering arrangement.

I probably shouldn’t discuss the agenda at this stage, although the arrangement thus far is that I’ll be meeting with either William or Sebastian on the 24th to continue working on enhancing the developer documentation, in addition to doing something (hopefully exciting!) with the build team.

On the 25th, I’ll have an opportunity to catch-up with others, and meet folks whom I haven’t already seen (including Victor); plus I might have time to do some sightseeing on the London Eye.

Finally, I also have some (mostly negative) news regarding my ongoing university application saga to share, upon my return.

Reverse-engineering an IrDA/USB Multiplexing Protocol : Part 1

August 1, 2010

Last month, I acquired a USB IrDA transceiver based upon a chipset from a seemingly defunct vendor (either the S110 or S110-SG1 from Tanic Electronics Ltd.), since it was fairly cheap (just under £12), and I had a spare phone with a washed-out display and an IrDA port sitting in my drawer to test it against.

Unfortunately, it seems that not only does this chipset/device not comply with the USB IrDA Bridge Device spec, but there is also no public data sheet, which makes writing a driver for non-Windows operating systems difficult. Theoretically, the Windows driver could be used under a modified version of NDISWrapper, or a similar NDIS API/ABI implementation – although that’s suboptimal in many ways (which should be obvious to some readers).

Those caveats aside, the device works fairly well when coupled with Windows XP’s primitive IrDA stack and associated utilities…

However, being the curious sort; and since the state of IrDA and USB debugging/tracing under Windows is dire, I decided to use Wireshark for analysis, coupled with the USB tracing functionality in recent versions of LibPCap and the Linux kernel – but in order to keep this post concise, I’ll provide more details in a follow-up post.