Profile

unixronin: Galen the technomage, from Babylon 5: Crusade (Default)
Unixronin

December 2012

S M T W T F S
      1
2345678
9101112131415
16171819202122
23242526272829
3031     

Most Popular Tags

Expand Cut Tags

No cut tags
Tuesday, July 28th, 2009 11:25 pm

We seem to have run into a showstopper problem with Kubuntu er ... Xubuntu (my thinko) 9.04 on [livejournal.com profile] cymrullewes‘ Dell Inspiron 4100.  The problem was not, to my knowledge, present on 8.04.

The laptop has two cooling fans, one on the CPU, one on the video chipset.  On Ubuntu 9.04, the fans never start, and the laptop overheats.  We’ve found that this behavior can be fixed by installing the i8k module and using i8kctl to manually turn the fans on and off, or i8kmon --auto --daemon to automatically turn them on and off based on temperature.

There’s just one problem:  The moment the i8k module loads, the onboard keyboard and pointing devices are permanently disabled until the laptop is rebooted.  An external USB keyboard or external mouse work, but this somewhat defeats the point of a laptop.

So, the end result:  If you load i8k, the laptop is thermally stable, but unusable without an external keyboard.  If you don’t, it’s usable, but only until it overheats.

Any of my readers happen to know a solution to this problem that does not involve buying a newer laptop?

(Of course, I suppose we could always go back to 8.04 and just not let it update to 9.04 again.  I’m fairly sure this problem was not present on 8.04 ... but I’m not certain, because it’s not my laptop and I rarely use it.)

Wednesday, July 29th, 2009 03:41 am (UTC)
Is the behavior any different with i8k built into the kernel?
Wednesday, July 29th, 2009 01:56 pm (UTC)
I don't know, I haven't tried it. But it would surprise me.

I'm wondering if i8k is borking the keyboard when it tries to enable the Fn-keys, and if so, whether I can work around the problem by finding a way to disable that functionality.
Wednesday, July 29th, 2009 06:06 am (UTC)
Is there a BIOS setting to keep the fans going when AC power is present? You might be able to take the question out of Kubuntu's hands completely, at least when not on battery power.

Have you tried Xubuntu?

Wednesday, July 29th, 2009 01:57 pm (UTC)
Nope, checked for a BIOS setting last night.

In theory the only difference between ubuntu and kubuntu is the desktop environment.
Wednesday, July 29th, 2009 08:33 am (UTC)
A couple of observations which might help:
1. LiveCDs are ideal for testing a theory that a particular distribution build doesn't suffer from a specific problem without interfering with what you've already got installed; I suspect running 8.04 from a LiveCD and using it actively enough to determine if the fans come on or not.

2. At least some ACPI implementations need ACPI temperature polling in order to pick up on temperature changes and take appropriate action. Possibly the Inspiron is one of those. There should be a /proc/acpi/thermal_zone/*/polling_frequency entry that you can use to check the polling frequency and if necessary set one. IIRC every few seconds should be often enough for the polling frequency to pick up on the need to turn the fans on. There are also some other things in that directory which may be worth checking. I suspect at some point Linux went from always having the polling enabled "just in case", to turning it off where possible to stop waking up the CPU. And that might be your difference in symptoms.

It's possible there may be a BIOS update with newer ACPI tables, etc, that will fix it. It's also possible someone may have rewritten the right bit of the ACPI table; searching the "Linux on Laptops" type sites may help. (If you extract, decompile, tweak, and recompile the ACPI tables it is possible to have Linux load the new table on boot out of the initrd.)

Finally your "disables the onboard keyboard" thing could well be an interrupt sharing issue between the PS/2 ports and the i8k module. Possible the ACPI/interrupt routing isn't correct. The usual boot flags for using different interrupt routing may help with that. (cat /proc/interrupts and or dmesg may give you some hints on what is being chosen for interrupt routing, but I have found the hardware to be doing different things in the past, especially on older laptops with poorly implemented ACPI tables.)

Ewen
Wednesday, July 29th, 2009 01:59 pm (UTC)
I did have a suspicion this might be an ACPI problem, but only discovered it last night and haven't had a chance to pursue that avenue yet.
Wednesday, July 29th, 2009 01:35 pm (UTC)
Thank you for the reminder that I am no longer geek enough to play with Linux . . .