Jackdaw CDC-ECM

Sunday, August 22, 2010 by darco
Posted in , ,

The Contiki distribution comes with some very useful firmware that turns the RZUSBSTICK into an ethernet interface. This firmware is informally called "Jackdaw".

Unfortunately, out of the box it only supports RNDIS and CDC-EEM (Ethernet Emulation Model) USB protocols. There is no RNDIS driver on the Mac (and likely never will be). There is no usable CDC-EEM driver either.

There is a standard protocol for USB ethernet devices, and that is CDC-ECM (Ethernet Control Model). In order for the Jackdaw firmware to ever 'just work' on a Mac, someone is going to need to add support for CDC-ECM to the firmware.

I've been intending to do this for a few months now, but only recently managed to scrape up the time to put all of the pieces together. After a good 8-10 hours of work this weekend, I am now pinging my RAVEN board directly from my Mac using a RZUSBSTICK running my updated Jackdaw firmware.

Jackdaw-Contiki-CDC-ECM

I'll be sending my changes upstream so that they can hopefully be included in the next Contiki release. If you are curious or just impatient, you can grab the changes from my private subversion repository here.

Update: I've moved the changes to their own branch here. I'm also working on merging the changes into contiki-2.x, (which you can find here), but that is still a work in progress.

Additionally, you can find builds here that are ready to upload to a RZUSBSTICK.