11 May 2004 wardv   » (Journeyer)

Usb kernel modules

So I have a Dell Inspiron 5150. It has one of those P4 3.06Ghz CPUs. This is a desktop CPU, hence it eats quite a bit of power and can get really hot. The fan is variable, and hardly audible when the CPU is under 60 degrees C. Then it goes up 2 notches and becomes kind of annoying. Coming down it drops to semi-loud under 60 degrees, and then further down to normal under 55 or so.

My laptop used to stay in the quiet zone, in the low fifties. For a while now I couldn't get it lower than 59/60 C. I finally took some time this evening to find out why, and after a process of elimination I discovered that the usb-uhci module was the culprit - it must run in a tight loop or something that consumes quite a bit of CPU (though that doesn't really show in the CPU usage as linux reports it - for reasons I don't understand. This is on kernel 2.4.24, with the swsuspend patch (which works great, by the way!).

Luckily there is an alternative driver in the kernel, the module for which is simply called 'uhci'. It doesn't make my cpu run hot, and it works just as well. In other words, recommended.

I'll need to find out if compiling usb-uhci or uhci in the kernel as opposed to as a module makes a difference. And if a more recent kernel makes a difference.

Now if only my 5150 wouldn't whistle in such an annoying way under 2.6... I hope that by the time I replace it, the Thinkpads will have decent screen resolutions for a price I can afford - not sure I want another noisy laptop...

Meanwhile I also discovered that the CPU throttling actually works - I can just 'echo 4 > /proc/acpi/processor/CPU0/throttling', and throttle it to half-speed. Which makes it a whole lot less noisy when running on battery (not the fan, but the crappy capacitors on the mainboard). Very cool.


"Grab the nearest book, open it to page 23, find the 5th sentence, post the text of the sentence in your journal along with these instructions."He heard a gentle chiming in the air, above the hubbub of the market; and this he walked toward. This is from Neil Gaiman's Stardust :)

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!