ACPI on Toshiba

I’ve been fighting for a week or two with my toshiba because of linux 2.6 acpi and my crapped ACPI system table (DSDT). It seems that there’s a lot of holes on it and every time linux find a hole i sleeps for a couple of milliseconds and lost all interrupts!!

For most hardware it’s pretty normal, as few of them really trust the PCI bus (ie. don’t ask for confirmation for each package) but some like ME and my keyboard have to re-send (ie. retype) all missing keystrokes that were not captured!

Until now, on this post, I’ve already retyped at least 30 chars…

There’s another problem, the patch with a hack on it (ignore AE_NOT_FOUND and create an empty entry on the table) is alrady available since last December but, the kernel guys are always so busy that hey could just insert it on version 2.6.16 (which’s not released yet) and would take decades until debian guys get it and apply their own patches and my so desired madwifi module.

Before you start lemme warn you, I did compiled several kernels but the point is, it’s not that simple.

1. I’ve downloaded the latest stable kernel, 2.6.15 and manualy applied the fix (by editing some files on drivers/acpi) and the ACPI got a little better, but not fixed at all. I’ve applied some other things and it did worked fine, but, many other things stopped working because many debian kernel packages (obviously) assume a specific kernel version and, as 2.6.15 is “unstable” for debian, it doesn’t have man modules and I should compile all of them… no way!

2. Logical solution ? Got the debian sources for my own kernel image version 2.6.12 and applied my own configuration (on /boot) [1], than applied the acpi patches (manually because I had a very different kernel version now) and compiled using the debian way (make-kpkg), which worked fine, though madwifi didn’t worked and I probably didn’t added all needed changes on ACPI source because the problem persisted, less intensive, though.

3. I had to keep the debian way, so, got the madwifi sources from apt-get, compiled using make-kpkg again, which created my .deb madwifi package based on my own kernel source and thus should work nice. Pity… it didn’t worked. Neither ACPI nor wifi.

4. Well, had already give up of that, but had to be sure i was not doing the wrong thing. I recreated the whole tree(no patch, no config) and re-read the config from /boot (clean debian config), changed the ext3 to be core and compiled debian way with make-kpkg and installed the package. Rebooted the system and what happened ? Of course, it didn’t care…

Well, I can see some morals to this story:
– don’t buy cheap toshiba. If you’re going to buy a cheap notebook, buy cheap brands, they are generic like desktops
– even debian can be quite unstable
– if you’re going to compile your kernel, prepare yourself to compile all your modules (internal and external) as well
– don’t use automated programs (like make-kpkg) to compile your kernel, if you’re doing it, do it right
– always use debian for bugtracking, it’s very funny to blame debian for debian fans! 😉

[1] (for some reason) the config from deban tells the kernel that the ext3 sources should be compiled as a module! This panics the kernel at boot time, because it must mount the root partition (ext3) before start loading modules!