Raspberry Pi 3.2.21 kernel

You know the drill! A few days ago, Linux 3.2.21 was released. As usual I’ve updated my Raspberry Pi kernel. This one has a few additional changes on top of just the 3.2.20 to 3.2.21 update:

  • Imported some further patches from the official Raspberry Pi kernel, including some patches to the ALSA audio driver.

Please see my kernel project page for download links and instructions.

Raspberry Pi XBee SMT backpack

RPi-XBee-SMT Board

One of the earliest motivations for my work on the Raspberry Pi SPI driver was so that I could use some Digi XBee ZB SMT modules. These are basically the same as the normal XBee ZB modules for doing ZigBee with but are on little PCBs that you solder onto a carrier board—and they can speak SPI to the host processor instead of serial. I got several of these modules for a previous project that never materialised but the Raspberry Pi seems like a nice environment to have a play with these.

So I went ahead and designed a carrier PCB to hook these up to the Raspberry Pi’s GPIO expansion connector. You can see an Eagle exported image of the PCB to the right. It carries the XBee ZB SMT along with a bunch of LEDs and its own 3.3V LDO so it doesn’t draw too much from the Pi itself. I also threw in two FTDI connectors, one for the Raspberry Pi’s UART and one for the XBee module’s. It also sports a set of holes for the normal XBee modules (2mm headers) so you can use those as well over serial, but obviously you won’t be able to use SPI with those.

RPi-XBee-SMT Schematic

You can find the source Eagle files along with the associated libraries over in my RPi-XBee-SMT Git repo at GitHub. I’ve decided to release this under a Creative Commons Attribution-ShareAlike 2.0 UK: England & Wales License, making it Open Source Hardware (OSHW).

I haven’t yet ordered any PCBs of this, so I haven’t actually tried it out yet. If you have any comments on the schematic or layout then please let me know. I’ll try to get some ordered in the next couple of weeks – if you live in the UK and would like some yourself it may be worth pooling the order to get the price down so please comment / email if that’s the case.

Once I have some hardware to test with, the next step will be writing some drivers…

Raspberry Pi 3.2.20 Kernel

A few days ago, Linux 3.2.20 was released. As usual I’ve updated my Raspberry Pi kernel. This one has a few additional changes on top of just the 3.2.19 to 3.2.20 update:

  • Introduced some new SDHCI performance tweaks. These are also in the official kernel from the Raspberry Pi Foundation. These require the latest firmware or the kernel will not boot.
  • Added the easycap module.

Please see my kernel project page for download links and instructions.

Why I won’t support a 3.1 kernel

Copied from my Raspberry Pi kernel page:

One of the reasons I’m really pushing at a 3.2 kernel for the base image of the Raspberry Pi (until we get the architecture code rewritten for a mainline merge, another effort I’m part of) is that 3.1 is no longer an actively supported branch of the kernel and has some nasty security issues, whereas 3.2 is actively supported as it is the basis of Ubuntu 12.04 LTS (Precise Pangolin) and will be the kernel used in Debian Wheezy as well.

Please see Issue #2 on the Raspberry Pi kernel tree on GitHub for a fright. Here’s a technical description of the issue, including an exploit (linked from the GitHub issue).

In other words, 3.1.9 has nasty security holes that will come back to bite you. 3.2 is a long-term supported branch and really isn’t a big step to take from 3.1. So please, follow my lead and ditch the official Raspberry Pi 3.1.9 kernel and use something a bit more recent.

This means that I will not support the porting of my SPI and I2C drivers to the official kernel until it moves to 3.2 or a more recent branch. Such an effort would undoubtedly be very simple for whoever decides to undertake it, but it’s not something I am willing to help with. Sorry!

I am, however, most willing to help bring the official kernel to 3.2 or newer. After all, this is what I have already done.

Yet another new kernel – 3.2.19

A few days ago, Linux 3.2.19 was released. As usual I’ve updated my Raspberry Pi kernel. This one has a few additional changes on top of just the 3.2.18 to 3.2.19 update:

  • Reverted a problematic SDHCI patch that broke SD card access for lots of people.
  • Added lots of USB webcam modules.
  • Added some USB wifi adapter modules from the kernel staging directory.

As I seem to be doing this quite often and my kernels are becoming quite popular, I thought it best to give them their own project page. This means the link to the page will stay the same for every revision.

Grab your freshly baked Raspberry Pi 3.2.19 kernel today!