![]() |
ubuntu.com - launchpad.net - ubuntu help
|
|
|||||||
Ubuntu 9.10 is out!!!
When downloading Ubuntu 9.10 please consider using bittorrent to get your copy of Ubuntu. The Ubuntu Developers Summit for Lucid Lynx will be held the week of 16-Nov-2009 till 20-Nov-2009 in Dallas, TX USA. Visit the the Ubuntu wiki for more information about UDS and how to participate remotely. |
|
Tutorials & Tips The place to find Ubuntu related Tips & Tricks. |
|
|
Thread Tools | Display Modes |
|
|
#1 |
|
Fresh Brewed Ubuntu
![]() Join Date: Jan 2007
Location: Kentucky, USA
Beans: 1,521
|
HOWTO Fix A Buggy DSDT File
This guide will help you fix your DSDT file to fix common ACPI problems on any Debian based OS. With Mint 6/Ubuntu 8.10, I started having a lot of problems with my laptop thermal temps, and not wanting to boot without holding down a keyboard key. This was in my case because of a buggy DSDT file. To read more about ACPI/DSDT go here: http://forums.opensuse.org/how-faq-r...uggy-dsdt.html It is the catalyst behind this how to. The process is a little different for Debian based operating systems. This how to will show you how to do it with Mint/Ubuntu.
WARNING: This might mess up your operating system. Even if you have zero errors after fixing the DSDT, it may still cause you to not be able to boot your OS. It will not harm your PC or hardware. Before trying this tutorial, try updating your BIOS to fix bugs first. This is a last resort to try and manually fix DSDT related bugs. The first thing we need to do is install the Intel DSDT compiler. Open a terminal and run Code:
sudo apt-get install iasl Code:
sudo cat /proc/acpi/dsdt > dsdt.dat Code:
iasl -d dsdt.dat Code:
iasl -tc /home/<yourusername>/dsdt.dsl Code:
dsdt.dsl 349: Method (\_WAK, 1, NotSerialized) Warning 1079 - ^ Reserved method must return a value (_WAK) Code:
iasl -tc /home/<yourusername>/dsdt.dsl http://forums.opensuse.org/how-faq-r...uggy-dsdt.html https://wiki.edubuntu.org/LaptopTestingTeam/HPdv5z http://forums.opensuse.org/archives/...uggy-dsdt.html http://forums.gentoo.org/viewtopic.php?t=122145 You might get lucky and find one already fixed for your make/model here: http://acpi.sourceforge.net/dsdt/view.php If so then you can skip to the last two commands. Once you have successfully edited the dsdt.dsl file, we should have a dsdt.aml in your home folder. This was the goal of the how to. WARNING: The commands up till this point have not made any changes to your system. You can simply delete the files that have been created. After the last two commands, you will be using a custom DSDT at boot. This is the point of no return. These commands will rename the dsdt.aml file and copy it to your /etc/initramfs-tools folder. Then we will update the initrd image to include the DSDT override at boot. The very last command will update the initrd image. You need to replace "kernel version" with your kernel version. You can see it by running Code:
uname -r Code:
sudo cp dsdt.aml /etc/initramfs-tools/DSDT.aml Code:
sudo update-initramfs -u -k kernel-version Code:
dmesg > /home/yourusername/Desktop/dmesg Code:
[ 0.020495] ACPI: Checking initramfs for custom DSDT [ 0.353464] ACPI: Found DSDT in DSDT.aml. [ 0.353470] ACPI: Override [DSDT- MCP67], this is unsafe: tainting kernel [ 0.353478] ACPI: Table DSDT replaced by host OS [ 0.353482] ACPI: DSDT 00000000, 7CB3 (r1 NVIDIA MCP67 6040000 INTL 20061109) [ 0.353487] ACPI: DSDT override uses original SSDTs unless "acpi_no_auto_ssdt" Code:
acpi_osi="Linux" EDIT: To remove a custom DSDT, delete the DSDT.aml file with Code:
sudo rm /etc/initramfs-tools/DSDT.aml Code:
sudo update-initramfs -u -k kernel-version EDIT: This will not work with kernels that are still in development. The patches that allow the custom DSDT are not included until the kernel is released as "stable". UPDATE: The kernel dev's will no longer use the patch to enable custom DSDT files for Karmic 9.10 and beyond. Jaunty 9.04 is the last version this will work on. You are urged to file a bug report for DSDT errors.
__________________
"The only thing necessary for the triumph of evil is for good men to do nothing." Edmund Burke Last edited by 67GTA; August 18th, 2009 at 06:56 PM.. |
|
|
|
|
|
#2 |
|
5 Cups of Ubuntu
![]() Join Date: Apr 2009
Location: not where I want to...
Beans: 38
Ubuntu 9.04 Jaunty Jackalope
|
Re: HOWTO Fix A Buggy DSDT File
![]() Code:
john@john-laptop2:~$ sudo update-initramfs -u -k kernel-version [sudo] password for john: update-initramfs: Generating /boot/initrd.img-kernel-version Cannot find /lib/modules/kernel-version update-initramfs: failed for /boot/initrd.img-kernel-version john@john-laptop2:~$ Code:
john@john-laptop2:~$ sudo update-initramfs -u -k 2.6.28-12-generic update-initramfs: Generating /boot/initrd.img-2.6.28-12-generic john@john-laptop2:~$ Code:
0.004000] ACPI: Core revision 20080926 [ 0.006886] ACPI: Checking initramfs for custom DSDT [ 0.443822] ACPI: Found DSDT in DSDT.aml. [ 0.443828] ACPI: Override [DSDT-CRESTLNE], this is unsafe: tainting kernel [ 0.443834] ACPI: Table DSDT replaced by host OS [ 0.443838] ACPI: DSDT 00000000, 887E (r2 INTEL CRESTLNE 6040000 INTL 20081204) [ 0.443843] ACPI: DSDT override uses original SSDTs unless "acpi_no_auto_ssdt" [ 0.452055] Setting APIC routing to flat ![]() ![]() I'll move on to the add os to startup tip, Thanks so much ![]() Last edited by CylnZ; May 7th, 2009 at 11:00 PM.. |
|
|
|
|
|
#3 |
|
5 Cups of Ubuntu
![]() Join Date: Apr 2009
Location: not where I want to...
Beans: 38
Ubuntu 9.04 Jaunty Jackalope
|
Re: HOWTO Fix A Buggy DSDT File
Code:
Scope (\_SB)
{
Method (_INI, 0, NotSerialized)
{
If (DTSE)
{
TRAP (0x47)
}
Store (0x07D0, OSYS)
If (CondRefOf (_OSI, Local0))
{
If (_OSI ("Linux"))
{
Store (0x01, LINX)
}
If (_OSI ("Windows 2001"))
{
Store (0x07D1, OSYS)
}
If (_OSI ("Windows 2001 SP1"))
{
Store (0x07D1, OSYS)
}
If (_OSI ("Windows 2001 SP2"))
{
Store (0x07D2, OSYS)
}
If (_OSI ("Windows 2006"))
{
Store (0x07D6, OSYS)
}
}
I'm going to try an experiment; changing : Code:
If (_OSI ("Linux"))
{
Store (0x01, LINX)
Code:
If (_OSI ("Linux"))
{
Store (0x07D2, OSYS)
I'll post the results in a bit. Its gonna be real interesting to see if the things cool off. I picked up the 965 whitepaper from intel and I may grab the compiler from m$ to compare dsdt.dsl output. Strangely, many of intels and some of acpi.info calls arnt there where acpi says they should be. will let you know. |
|
|
|
|
|
#4 |
|
A Carafe of Ubuntu
![]() Join Date: Jun 2008
Beans: 88
Ubuntu 9.04 Jaunty Jackalope
|
Re: HOWTO Fix A Buggy DSDT File
Thank you, thank you thank you!!! My laptop can finally suspend again!
|
|
|
|
|
|
#5 |
|
First Cup of Ubuntu
![]() Join Date: Dec 2008
Beans: 7
|
I really appreciate that someone has figured out how to fix this problem. I am really miffed that i can't get simple things to work on my laptop but I think this is the issue.
my question is: has anybody submitted a bug report to Ubuntu about this problem? Because, I am not a programer. I don't speak machine language. I have googled for the corrections to make to my dsdt.dsl file and I can't find any of the errors that I'm getting. So, I'm going to have to go back to Hardy Heron because everything (except for sound capture which still doesn't work on this laptop) worked in Hardy. Just finding a work around doesn't help the community. this needs to be fixed by someone who knows what they're doing at the source code level... right? or am i missing something? Grace and Peace, Matt matty (at) the strange land (dot) net {just put it all together ![]() |
|
|
|
|
|
#6 | |
|
Fresh Brewed Ubuntu
![]() Join Date: Jan 2007
Location: Kentucky, USA
Beans: 1,521
|
Re: HOWTO Fix A Buggy DSDT File
Quote:
This is not a Ubuntu problem to fix. The hardware vendors are causing the trouble. The DSDT is hard coded into your BIOS when it is programed. There is nothing Ubuntu or any other OS can do except find workarounds. Even then, your hardware might not work correctly, you just don't see it as a bug within the OS. Some hardware/PC makers use the Microsoft AML compiler, and causes breakage for Linux/Mac. Follow my how to to the point of getting your dsdt.dsl file and send it to me. I will see if I can fix the errors.
__________________
"The only thing necessary for the triumph of evil is for good men to do nothing." Edmund Burke |
|
|
|
|
|
|
#7 | |
|
Fresh Brewed Ubuntu
![]() Join Date: Jan 2007
Location: Kentucky, USA
Beans: 1,521
|
Re: HOWTO Fix A Buggy DSDT File
Quote:
Code:
acpi_osi="Linux" Code:
acpi_osi="Windows 2001 SP2"
__________________
"The only thing necessary for the triumph of evil is for good men to do nothing." Edmund Burke |
|
|
|
|
|
|
#8 |
|
First Cup of Ubuntu
![]() Join Date: Jun 2008
Beans: 8
|
Re: HOWTO Fix A Buggy DSDT File
Unfortunately that is not true. While the Microsoft AML compiler may be just as buggy as all the rest of their products, the end result is that many of us have dual boot machines where a Microsoft OS is able to work around the DSDT bugs to yield a running system and Linux is not.
Ubuntu is a distribution of Linux that is well positioned to be an upgrade from Windows. But as long as so many have had experiences like mine where I set a friend's laptop up for dual boot Vista/Ubuntu and only the Vista system works, Microsoft will continue to win. The vast majority who try Ubuntu with a buggy DSDT will do no research whatsoever, decide Ubuntu is sort of pretty but not ready for real work, delete it and go on never to look back. People want to experience this: http://www.youtube.com/watch?v=EwL0G9wK8j4 But end up with a lot of this: http://failblog.files.wordpress.com/...pg?w=362&h=500 |
|
|
|
|
|
#9 | |||
|
Fresh Brewed Ubuntu
![]() Join Date: Jan 2007
Location: Kentucky, USA
Beans: 1,521
|
Re: HOWTO Fix A Buggy DSDT File
Quote:
Quote:
Quote:
__________________
"The only thing necessary for the triumph of evil is for good men to do nothing." Edmund Burke |
|||
|
|
|
|
|
#10 |
|
A Carafe of Ubuntu
![]() Join Date: Jun 2008
Beans: 88
Ubuntu 9.04 Jaunty Jackalope
|
Re: HOWTO Fix A Buggy DSDT File
|
|
|
|
| Bookmarks |
| Thread Tools | |
| Display Modes | |
|
|