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

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.

Explore posts in the same categories: Everything

Tags: , , , , , , , , , , , , ,

You can comment below, or link to this permanent URL from your own site.

3 Comments on “Reverse-engineering an IrDA/USB Multiplexing Protocol : Part 1”

  1. Alex Says:


    looking forward to reading the follow-up post of this interesting topic. BTW, do you know this tool:

    • Tyson Key Says:

      Hi Alex,

      Glad that you enjoyed my post! I’ve been busy with other stuff, so my IrDA work has taken a back-seat (although I had another play with a different analysis approach using Wireshark and custom DLT types last night).

      Thanks for the suggestion of VirtualUSB – it looks interesting; and I guess that I’ll probably tinker with it soon.

  2. Tyson Key Says:

    Just using this post for testing the XMPP subscription robot (at

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: