You are not logged in.

#1 2011-04-02 19:06:25

tehdane
Member
From: Denmark
Registered: 2010-02-18
Posts: 16

Fixing DSDT tables on laptop unable to boot Linux

I have a Toshiba L650D-12P, which is not capable of booting Linux due to corrupt DSDT tables. I've tried the standard trouble-shooting lines; acpi=off, pci=noirq, acpi=copy_dsdt, acpi=ht, etc. to no avail.

I've read that a possible fix, would be to change the DSDT tables. The problem is, I do not know how. I've looked at http://www.lesswatts.org/projects/acpi/ … ngDSDT.php, but there's nothing I can do, when booting from the Arch CD, the installer hangs. I've made a post about it previously: https://bbs.archlinux.org/viewtopic.php?id=113775


Hardware specs:

Toshiba L650D-12P

AMD Phenom X3 P820
InsydeH20 BIOS
Radeon 5650

Offline

#2 2011-04-02 21:04:49

ANOKNUSA
Member
Registered: 2010-10-22
Posts: 2,141

Re: Fixing DSDT tables on laptop unable to boot Linux

A buggy DSDT needs to be debugged and compiled into a custom Linux kernel.  Because of that installing Arc h in the first place might be tedious, likely requiring you to install it to a virtual machine and then clone it to your hard drive.  After that, without learning ACPI syntax thoroughly, the only method is to use trial and error with iasl.  Google individual errors and fiddle with fixes; eventually you'll pick it up.  No extensive guide exists because each buggy dsdt has its own unique set of errors.  I have a Toshiba laptop myself--the last one I'll ever buy--and dealing with this is a real pain.

Offline

#3 2011-04-02 21:31:07

ewaller
Administrator
From: Pasadena, CA
Registered: 2009-07-13
Posts: 17,512

Re: Fixing DSDT tables on laptop unable to boot Linux

There is one other trick you might try (one you did not mention)

Try passing acpi_os_name="Microsoft Windows XP" as a kernel command line parameter.  Those of us who are paranoid suspect that some systems sabotage non-Redmond operating systems.  This spoofs the BIOS into thinking you are running an OS with which it should not interfere.


Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
Sometimes it is the people no one can imagine anything of who do the things no one can imagine. -- Alan Turing
---
How to Ask Questions the Smart Way

Offline

#4 2011-04-02 23:52:16

combuster
Member
From: Serbia
Registered: 2008-09-30
Posts: 711
Website

Re: Fixing DSDT tables on laptop unable to boot Linux

@ewaller

I just think that many vendors compile ACPI tables with Microsoft ACPI compiler instead of Intel one and that compiler itself is kinda "MSFT oriented". When I try to recompile ACPI tables with Intel compiler that were previously compiled with MSFT compiler - I get tons of warnings/optimizations/or in worst cases - errors. But I saw so many times something like this (so I can blame BIOS programmers too) big_smile :

If (_OSI ("Linux")) 
{ 
Store (One, LINX) 
Store (Zero, ECDY) 
} 
If (_OSI ("Windows 2001")) 
{ 
Store (0x07D1, OSYS) 
} 
If (_OSI ("Windows 2001 SP2")) 
{ 
Store (0x07D2, OSYS) 
} 

If (_OSI ("Windows 2006")) 
{ 
Store (0x07D6, OSYS) 
} 
}

smile If you find windows then do this and that, if you find Linux -> Write 0 and 1 and be gone with it smile

Last edited by combuster (2011-04-02 23:52:50)

Offline

#5 2011-04-04 18:05:30

tehdane
Member
From: Denmark
Registered: 2010-02-18
Posts: 16

Re: Fixing DSDT tables on laptop unable to boot Linux

I've tried the acpi_os_name="Microsoft Windows XP" line, it made no difference, sadly. I will try to install Arch to a VM. Which one would you recommend for Windows 7?

Doing that to the customers, though - if true - is what I would call really, really bad customer support.

Offline

Board footer

Powered by FluxBB