Dynamic frequency scaling makes kernel panic (Targa Traveller 826 / MSI MS-1029)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Won't Fix
|
Medium
|
Colin Ian King |
Bug Description
Dear all,
First of all, the release of Ubuntu I am currently using is the: Ubuntu 9.10 (Karmic Koala) - amd64. The version of the package `linux-image' I am currently using is the default kernel provided by ubuntu (I.e.: 2.6.31-4-generic). I am not using any kind of home brewed kernel, just the official one;
I'm the owner of a nice Targa Traveller 826 (a rebadged MSI MS-1029). With as BIOS vendor: American Megatrends Inc. and BIOS version: A1029ATE V2.81 (more info in attachment: "BIOS-targa_
For a long time I experienced kernel panics with my gentoo and after with my ubuntu. First I thought it was a USB related bug in the kernel because, while the computer was running on battery, each time my mouse was not connected to the laptop, I always experienced a kernel panic. Then not getting much better results with newer kernels, I tried another way. I read some documentations on power management, ACPI, etc. I also heard about computers's BIOS frequently buggy, especially concerning ACPI management. And then, I bumped on an article on lesswatts.org, explaining how to debug and override a DSDT and therefore fix BIOS buggy ACPI management. I thought it was something to try... And I tried and it worked very well.
After extracting, disassembling and rebuilding a first time my DSDT, it appears that there was an error in the extracted/
Below, a `diff -Nurp' displaying the modifications applied in the ASL source code:
--- DSDT.dsl~ 2009-01-27 22:00:17.000000000 +0100
+++ DSDT.dsl 2009-01-27 22:01:51.000000000 +0100
@@ -1242,7 +1242,7 @@ DefinitionBlock ("DSDT.aml", "DSDT", 1,
- Package (0x06)
+ Package ()
@@ -1252,7 +1252,7 @@ DefinitionBlock ("DSDT.aml", "DSDT", 1,
- Package (0x06)
+ Package ()
@@ -1262,7 +1262,7 @@ DefinitionBlock ("DSDT.aml", "DSDT", 1,
- Package (0x06)
+ Package ()
@@ -1272,7 +1272,7 @@ DefinitionBlock ("DSDT.aml", "DSDT", 1,
- Package (0x06)
+ Package ()
@@ -1281,139 +1281,6 @@ DefinitionBlock ("DSDT.aml", "DSDT", 1,
-
- Zero,
- Zero,
[...]
Since February, I was running my ubuntu with my own fixed DSDT, as this following old kernel logs can attest:
Aug 10 20:01:40 * kernel: [ 0.120805] ACPI: Core revision 20080926
Aug 10 20:01:40 * kernel: [ 0.121973] ACPI: Checking initramfs for custom DSDT
Aug 10 20:01:40 * kernel: [ 0.407812] ACPI: Found DSDT in DSDT.aml.
Aug 10 20:01:40 * kernel: [ 0.407816] ACPI: Override [DSDT- 1029], this is unsafe: tainting kernel
Aug 10 20:01:40 * kernel: [ 0.407821] ACPI: Table DSDT replaced by host OS
Aug 10 20:01:40 * kernel: [ 0.407825] ACPI: DSDT 00000000, 2BAD (r1 MSI 1029 4192006 INTL 20061109)
Aug 10 20:01:40 * kernel: [ 0.407829] ACPI: DSDT override uses original SSDTs unless "acpi_no_auto_ssdt"
And since I'm using my own fixed DSDT, I never experienced anymore kernel panic on my laptop, in any configuration (on (or not on) battery, with (or without) mouse/usb audio/usb disk/etc.).
So I consider that my little DSDT patch is working as expected. I think that now it is time for more people to test it, if possible. And then try to consider implementing a workaround, of this AMI buggy BIOS, into the GNU/Linux kernel. But for this, I'm totally lost and don't have much time to explore this way much. That's why I give everybody, the results of my peregrinations, and first of all, the solution I found and tested.
Moreover, since I updated my laptop from Ubuntu 9.04 to 9.10, I don't have the ability to load my own DSDT at startup anymore, as Ubuntu policy regarding custom DSDT has changed since Ubuntu 9.10. Therefore, fixing the Targa Traveller 826 (/ MSI MS-1029) DSDT bug in the kernel is now vital for my CPU and my ears (I can't stand the non-stop noise level of the laptop fan).
I hope this will help people use ACPI again on targa traveller 826 (/ MSI MS-1029) (especially with ubuntu, where it is automatically disabled for this laptop) and allow people to use safely CPU freq with this laptop. I also hope that this solution will be taken into account in the next versions of the GNU/Linux kernel. For that last expectation, if I can help in any way, please let me now. Also if anybody can help me create a ACPI patch from my DSDT.dsl patch or my DSDT.hex (generated from a `iasl -tc DSDT.dsl'), I'm OK to try, do and propose an ACPI kernel patch.
Kind Regards.
--
Alexandre Beaugy
tags: | added: kernel-series-unknown |
tags: |
added: karmic removed: kernel-series-unknown |
Changed in linux (Ubuntu): | |
importance: | Undecided → Medium |
status: | New → Triaged |
Changed in linux (Ubuntu): | |
status: | Triaged → Confirmed |
assignee: | nobody → Colin King (colin-king) |
More information about my computer and Ubuntu install:
$ uname -a signature 14.48-generic
Linux bucky 2.6.31-14-generic #48-Ubuntu SMP Fri Oct 16 14:05:01 UTC 2009 x86_64 GNU/Linux
$ cat /proc/version_
Ubuntu 2.6.31-
Plus dmesg.log (from `dmesg > dmesg.log') and lspci-vnvn.log (from `sudo lspci -vnvn > lspci-vnvn.log') in attachment.