Sat, 31 May 2008

Ah, I so love progress. I was working with powertop to try to make my
system more efficient, and kept seeing a USB device I didn't recognize
showing up as a frequent source of wakeups. lsusb didn't
show it either, so I tried firing up usbview.

Except it didn't work: on Hardy it brings up an error window
complaining about not being able to open /proc/bus/usb, which, indeed,
is not mounted despite being enabled in my kernel.

A little googling showed this was an oft-reported bug in Ubuntu Hardy:
for instance, bug
156085 and bug
151585, both with the charming attitude I so love in open
source projects, "No, we won't enable this simple fix that reverts
the software to the way it worked in the last release; we'd prefer
to keep it completely broken indefinitely until someone happens to get
around to fixing it right."

Okay, that's being a little harsh:
admittedly, most of the programs broken by this are in the "universe"
repository and thus not an official part of Ubuntu. Still, why be rude
to users who are just trying to find a way around bustage that was
deliberately introduced? Doesn't Ubuntu have any sort of process to
assign bugs in universe packages to a maintainer who might care about them?

Anyway, the workaround, in case you need usbview or qemu/kvm or
anything else that needs /proc/bus/usb, is to edit the file
/etc/init.d/mountdevsubfs.sh and look for the line that says:

# Magic to make /proc/bus/usb work

Uncomment out the lines immediately following that line, then either
reboot or run the last command there by hand.

(In case you're wondering, usbview showed that the USB device causing
the powertop wakeups was the multi-flash card reader. I'm suspecting
hald-addons-storage is involved -- powertop already flagged hal's cdrom
polling as the number-one power waster. I don't know why the flash
multicard reader shows up in usbview but not in lsusb.)