When writing about the Beaglebone in the past, I mentioned that you needed to be running Angstrom in order to have access to certain devices, since they weren’t yet supported by the kernel in Ubuntu.
Well, I’m rather late in giving Ubuntu its props, but that’s no longer true. Ubuntu has caught up to Angstrom in protocol support: analog input, PWM, SPI and I2C are all working.
In order to get these features, you need to have a recent kernel. I’m not sure exactly which kernel version they were added in — 3.2.twentyish — but current kernel version for Ubuntu is 3.2.28. If you’re running an earlier kernel, I’d recommend that you upgrade.