What to do if asm/errno.h asm/ioctls.h and others are not found anymore in Ubuntu or Debian

It turns out you need to now install gcc-multilib. It's not clear why yet. A bug is already filed, but he maintainers seem to see no problem in suddenly changing this behavior...

Charging your Kindle with Linux

To charge your kindle, you need to connect it via usb, and the eject it. This command should work on any Kindle in any recent Linux out-of-the box. You have have to install "eject", though:

sudo eject /dev/disk/by-label/Kindle

If you don't have /dev/disk/by-label look for the first partition, e.g. /dev/sdb1 and eject that, not sdb itself.

GnuPlot Cheat Sheet

This wasn't done by me, but it's a good cheat sheet for this nice, but difficult to use piece of software: http://www.gnuplot.info/docs_4.0/gpcard.pdf.

Vimprobable - A new webkit browser

It's amazing how much offspring the konqueror-derived webkit browser engine has created. I think it's a good hint to see how high the code quality of kde and qt is generally. One of the newest offspring is vimprobable. It's a browser that focusses on keyboard controllability. And it has a really fancy AJAX, Flash animated, SQL-Server backed website. ;) ;)

It's so fresh, there may not even be packages yet, so you'd have to compile it.

Other non-standard browsers of my readers include Opera Mini (.5%) (ok, that's the mobile standard), Seamonkey, Midori, "wg" and Playstation 3.

Ftrace Favorites Cheat Sheet - Fun Commands to Try with Ftrace

When you see the ftrace presentation or read through the presentations, you get an overload. It's just too much at once. That's why I decided to write up this little cheat sheet for ftrace with commands from Steve's presentations.

Logging and Graphing Power Consumption of Embedded Linux Systems -- Busybox and GnuPlot analyzing the Kindle 3

Actually this should've been really easy. A small script loop on the kindle to log the battery consumption and then plug that data into gnuplot. But it turned out gnuplot afaik doesn't support to output the difference between values. Thanks to apo_ from #gnuplot I've got it running with the help of awk now. The great thing is that this script runs in busybox and can hence easily be adapted for pretty much any kind of portable devices including Android phones, Kindles, Tablets, Notebooks, Netbooks, etc. And that's how it looks.
Kindle 3 Battery Consumption
Measurement points are marked with an x.

Charging Devices During Suspend Using your Notebook's USB Port with Linux

You probably have done this before: Plug your phone or mp3 into your Notebook's USB port to charge it. E.g. the Kindle usually only comes with a USB cable and no seperate charger. Did you know you can do this even when your system is in standby mode? I will show you how - without the need to modify anything but software!

Checking if at least a Kernel Version is Runnig in Bash

kernelatleast() { # provide number like 2639
kver=$(uname -r|cut -d\- -f1|tr -d '.'| tr -d '[A-Z][a-z]')
if [ $1 -ge $kver ] ; then
return 0;
return 1;

Getting the Right Kernel Configuration for Your System the Easy Way

If you're lazy (and/or smart), you still want to compile a kernel for your system and save the time compiling all the things you don't need, then make localmodconfig is your friend. It will create a .config from the modules you have loaded, as Christoph Hellwig did not fail to mention repeatedly at the LinuxTag. But there are two caveats.

Using a Linux Driver for a Device that is not yet supported without recompiling

If you have  a new shiny webcam or some other device you want to use in Linux, here is a quick short guide how you can have it runnig within minutes with a bit of luck.

Copying Binary Files Via Telnet

Telnet really wasn't mean for copying at all, even less copying binary files. But you can do it with a fair amount of effort. You need two open terminals.
On Terminal 1:
1. telnet host > somefile.txt (then log in blind or look at tail -f somefile.txt)
2. cat somefile | busybox uuencode -m -
3. Once you see that you are logged in and the data stream is going just wait for it to finish.
4. Close Telnet (Ctrl-C, Ctrl-D)
Then once telnet is closed and you are back on your system enter:
5. busybox uudecode -o somefile.bin somefile.txt

There is no need to first remove the login protocol and other random shell noise, they are no problem. uudecode automatically detects where the binary data starts and ends if you do one file at a time.
Now you have your precious binary data, rejoice! ;-)

Byebye Skype for Linxu and Android

So Microsoft bought Skype. I guess that means the Skype clients for Linux and Android will be even more neglected (or removed) and Windows Mobile and Xbox clients created instead. Good, that GNU started work on a Skype alternative and Google implements audio and video chat on Android with GChat, because now we will need it I'm afraid.

Accessing Kindle 3 with SSH via Wifi using usbNetwork and Launchpad

As a prerequisite you will need usbNetwork and launchpad installed and working. Once that is set up, create a new file in the launchpad directory: iptables.ini with the contents

Kindle 3 Discovery Tour: Kernel Config, Processes, Programs, Modules, /proc, cpuinfo, dmesg, meminfo, mounts, fstab and other Inside Information (Firmware 3.1)

There doesn't seem to be a copy of the Kindle 3.1 kernel config file on the internet yet. So I will put it online here. Also I will list a few interesting directories, like proc. This is just for documentation purposes and so people don't have to hack into the kindle to find out that e.g. though it has powertop, the kernel's support (timer_stats in /proc) is disables and so it's of no use. Check below for tons of information from the kindle root shell environment.

Minimal Powertop as Bash Script esp. for Embedded Environments

I wrote this for my kindle and android devices. It's a nice, easy script though and should be great especially for embedded environments, where you have a shell but not all of the powertop dependencies. It works wonderfully on my notebook and netbook, but you may have to slightly adjust the path names to work on your system.

It turns out that this wasn't needed for either, as the kindle comes with powertop preinstalled. But it can't work on either of my devices, as timer_stats are disabled in their kernels.
I do wonder: Why do they disable the timer_stats? Is the overhead of timer_stats too high? Let me know how you use it!

Always full of Surprises - Intel Linux Wireless Drivers

You always think that device support is very good in Linux for old drivers. You think that Intel wireless drivers are especially well supported. So an old intel wireless device should have eccelent support. But it turns out I was wrong in this case. Intel took from August 2010 until the end of Apri 2011 to fix a regression in their driver covering several devices introduced in 2.6.35, now in 2.6.39 it's fixed it seems.

Things you probably didn't know about the Kindle

As an outsider I had no idea that the kindle has a wide open linux root. You can install not only a port of FBreader to read epubs and other files, but there is also a port of mplayer to listen to music including internet radio via wifi, font patches, ssh, different screen savers and other things. I just wanted to test it for two weeks as you can in Europe with pretty much any mail ordered thing. But now I'll keep it!