LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 10-03-2009, 01:13 PM   #1
BenCollver
Rogue Class
 
Registered: Sep 2006
Location: OR, USA
Distribution: Slackware64-15.0
Posts: 376
Blog Entries: 2

Rep: Reputation: 172Reputation: 172
workaround for Acer AOD150 lid close interrupt storm


kernel-aod150-smp-2.6.29.6_smp-i686-1.txz

kernel-aod150-smp-src.zip

Closing the lid on an Acer AOD150 netbook causes an interrupt storm in Linux. You can observe this by powering on the netbook and running the top command. Notice that %sy is less than 1% on the CPU(s) line. Close the lid and open it. Now %sy will be 30% to 50%. Left running, this will eventually cause the netbook to overheat and crash. This is either a BIOS bug or a Linux kernel bug.

"this is a BIOS bug" (1)

"consider it a Linux bug if Windows handles an un-modified DSDT and Linux does not." (2)

This kernel package uses a modified DSDT to work around the problem and ignore the lid close event. To build this package, copy DSDT.hex to /usr/src/linux/include/ and follow k/README.TXT using the configuration file config-aod150-smp-2.6.29.6-smp. After booting this kernel you should see in dmesg: Table [DSDT] replaced by host OS. Now you can close the lid and %sy will remain below 1% in top.

To produce DSDT.hex, I installed acpica (3) and followed steps from the ACPI FAQ (4).

Code:
cp /proc/acpi/dsdt DSDT.dat
iasl -d DSDT.dat
patch -p0 <DSDT.dsl.diff
iasl -tc DSDT.dsl
(1)
http://bugzilla.kernel.org/show_bug.cgi?id=10485#c6

(2)
http://acpi.sourceforge.net/dsdt/index.php

(3)
http://slackbuilds.org/repository/13...opment/acpica/

(4)
http://www.lesswatts.org/projects/acpi/faq.php
 
Old 10-03-2009, 01:30 PM   #2
Dinithion
Member
 
Registered: Oct 2007
Location: Norway
Distribution: Slackware 14.1
Posts: 446

Rep: Reputation: 59
I haven't tested this yet, but I surly will test this as soon as possible. It's really annoying.
 
Old 10-27-2009, 05:49 AM   #3
Dinithion
Member
 
Registered: Oct 2007
Location: Norway
Distribution: Slackware 14.1
Posts: 446

Rep: Reputation: 59
I completely forgot about this, but I thought I would give it a try. Anyway, how did you modify this .dsl file?

I can't use your .hex file (According to one of the links), because we have different kernel config files. Anyway, the guide say:

Old:
Method (_L1B, 0, NotSerialized)
{
Notify (\_SB.LID, 0x80)
}

New:
Method (_L1B, 0, NotSerialized)
{
Not (LIDP, LIDP)
Notify (\_SB.LID, 0x80)
}


Did you actually have this _L1B method? I've only got _L1D method, and I don't really feel like changing something I don't know what is
 
Old 11-01-2009, 09:03 AM   #4
BenCollver
Rogue Class
 
Registered: Sep 2006
Location: OR, USA
Distribution: Slackware64-15.0
Posts: 376

Original Poster
Blog Entries: 2

Rep: Reputation: 172Reputation: 172
I hand edited the .dsl file. Here is DSDT.dsl.diff from kernel-aod150-smp-src.zip.

Code:
--- DSDT.dsl.orig	2009-10-03 07:37:35.893439656 -0700
+++ DSDT.dsl	2009-10-03 07:38:25.623434837 -0700
@@ -618,11 +618,13 @@
             Notify (\_SB.PCI0.UHC4, 0x02)
         }
 
+/* LID WORKAROUND
         Method (_L1D, 0, NotSerialized)
         {
             Not (LPDL, LPDL)
             Notify (\_SB.LID0, 0x80)
         }
+*/
     }
 
     Name (GPIC, Zero)
@@ -904,6 +906,7 @@
             Name (_HID, EisaId ("PNP0C0C"))
         }
 
+/* LID WORKAROND
         Device (LID0)
         {
             Name (_HID, EisaId ("PNP0C0D"))
@@ -912,6 +915,7 @@
                 Return (LPDL)
             }
         }
+*/
 
         Device (SLPB)
         {
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
disable suspend when I close the laptop lid lindylex Debian 5 04-14-2009 08:53 AM
Lid Close = Sleep mangogreg Linux - Hardware 2 08-28-2008 03:17 PM
How to poll /proc for lid open/close? hollywoodb Linux - Laptop and Netbook 6 08-17-2006 05:19 PM
Sytem hang when I close laptop lid Rosewing Linux - Laptop and Netbook 0 09-18-2005 02:11 PM
lid close generates no acpi event mannyzen76 Linux - Laptop and Netbook 0 02-21-2004 11:37 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 12:16 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration