Buggy DSDT for ThinkPad L420 (and probably others)

‎11-15-201108:31 AM - edited ‎11-19-201105:03 AM

Hi everybody,

I recently bought a ThinkPad L420 and decided to run Ubuntu on it. Unfortunately, it only works (i.e. boots) when booting with disabled ACPI. Otherwise, the boot process would just not finish. Of course this means HyperThreading is disabled and other stuff is not working (no suspend, hibernation, need to press the power button after shutdown etc) which is pretty annoying. Updating to the latest BIOS version did not change a thing (BIOS ID: 1.14 (8GET37WW), ECP ID: 1.08 (8GHT26WW)).

So I decided to do some investigation and I came across the fact that the DSDT (Differentiated System Description Table) might be buggy. So I dumped the DSDT using acpidump and acpixtract to find the following AML-code:

OperationRegion (SPRT, SystemIO, 0xB2, One)

... snip ...

OperationRegion (SMI2, SystemIO, 0xB2, One)

To me as the unsavvy user it seemed like two memory areas were mapped to the same address which might not be a good idea, especially with the information that some debugging showed that access to the SMI2 region was the cause for the boot hang (see last code snippet).

So I changed the memory address from 0xB2 to 0xB3, recompiled the DSDT (using iasl) with many errors and warnings, compiled the new DSDT into my kernel and just like that, the system was booting past the critical point. Unfortunately, the boot process now hangs at another point (no idea where that might be). I do not have time to investigate this issue right now, but I suspect it is related to some other ACPI errors in the DSDT. Fyi, for the Linux users among you, this is the last output I get now when booting and nothing happens thereafter:

Re: Buggy DSDT for ThinkPad L420 (and probably others)

‎11-19-201105:12 AM

What do you mean by changelogs? i.e. which part of the system should we be looking at? Ubuntu worked just fine for me on my old Thinkpad T61, so I guess it's the hardware that has changed and is either not supported in the newer Linux kernels (which I doubt actually) or not well enough described in the new BIOS variants (= Intel's fault maybe?).

I also found the note somewhere saying that the thinkpad-acpi does not work with new Thinkpads, due to hardware changes, but right now I cannot find it ... Must have been somewhere on thinkwiki.org.

Re: Buggy DSDT for ThinkPad L420 (and probably others)

just wanted to say that with the newest BIOS (1.17) at least the 64-bit live version of 12.04 booted without any special boot options and showed all of my 8GB of RAM and 4 cores in the system monitor.

I switched to using 12.04 32-bit a while ago and probably won't switch to 64 unless I really have to, so that's why I only checked the live version of the 64-bit edition. But please feel free to share your experiences of the 64-bit edition on your L420/L520!