Page 52 of 59 FirstFirst ... 2425051525354 ... LastLast
Results 511 to 520 of 581

Thread: HOWTO Fix A Buggy DSDT File

  1. #511
    Join Date
    May 2006
    Beans
    Hidden!

    Re: HOWTO Fix A Buggy DSDT File

    For people who are getting a bunch of rubbish, something about more than 200 errors and/or a segmentation fault when running "iasl -tc dsdt.dsl", it's caused by a buggy version of iasl.

    Do the following: (In Konsole)
    1) sudo kate /etc/apt/sources.list (Keep in mind, replace "kate" with your text editor. I use Kubuntu :-p. Use gedit if you use Ubuntu or whatever it is Gnome people use these days)
    2) Go all the way down to the end of the page. Add the following entry: deb http://us.debian.org/debian squeeze main contrib non-free (We're going to use Debian's testing repository to download the latest iasl instead of downloading the source or the .deb and trying to resolve all the dependencies ourselves). Save the changes and exit.
    3) Next we need to add the keyring. There's two ways to go about this. We can tell APT to disregard the missing keyring for Debian's repositories or we can add the keyring. We're going to add it by typing:
    sudo su
    gpg --keyserver wwwkeys.eu.pgp.net --recv 9AA38DCD55BE302B
    gpg --export --armor 9AA38DCD55BE302B | apt-key add -

    4) Close the Konsole and reopen it to get out of superuser mode. Sometimes I can add keyrings with just sudo, other times I get errors. If you can't sudo su, then skip that step and try with just sudo before all the commands.
    5) sudo apt-get update
    6) sudo apt-get remove iasl (If it's already installed)
    7) sudo apt-get install -t squeeze iasl
    &#56;&#41; cd /home/<yourusername> (If you tried this before, remove any of your previous dsdt files you may have, type sudo rm dsdt.*)
    9) sudo cat /proc/acpi/dsdt > dsdt.dat (Some people may get a "Permission Denied" error. If you do use sudo cat /proc/acpi/dsdt | sudo tee dsdt.dat instead.
    10) Next, iasl -d dsdt.dat and then iasl -tc /home/<yourusername>/dsdt.dsl, my result:

    Code:
    Intel ACPI Component Architecture
    ASL Optimizing Compiler version 20100528 [Jul  2 2010]
    Copyright (c) 2000 - 2010 Intel Corporation
    Supports ACPI Specification Revision 4.0a
    
    /home/moishe/dsdt.dsl  1007:                     0x00000000,         // Length
    Error    4122 -                                           ^ Invalid combination of Length and Min/Max fixed flags
    
    /home/moishe/dsdt.dsl  1021:                     0x00000000,         // Length
    Error    4122 -                                           ^ Invalid combination of Length and Min/Max fixed flags
    
    ASL Input:  /home/moishe/dsdt.dsl - 7616 lines, 275364 bytes, 3155 keywords
    Compilation complete. 2 Errors, 0 Warnings, 0 Remarks, 43 Optimizations

  2. #512
    Join Date
    May 2006
    Beans
    Hidden!

    Re: HOWTO Fix A Buggy DSDT File

    In my case, the errors are fixed by doing the following (courtesy of mitch from the insanelymac forums):

    Edit the dsdt.dsl file and go to the line where iasl indicated the error. In my case I go to lines 1007 and and 1021:
    Code:
    DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                        0x00000000,         // Granularity
                        0x00000000,         // Range Minimum
                        0xDFFFFFFF,         // Range Maximum
                        0x00000000,         // Translation Offset
                        0x00000000,         // Length
                        ,, _Y0D, AddressRangeMemory, TypeStatic)
    So iasl is complaining about the "Length" line "0x00000000". This is wrong. Look at the "Range Minimum" and "Range Maximum". Open up your Kcalc or whatever you Gnome people use and change it to Numeral System Mode. Make sure HEX is selected and now we subtract the maximum range from the minimum range and then we add 1. Since the minimum range is 0 (And you can't subtract 0) I will input DFFFFFFF and then add 1 which gives me E0000000 (Don't get confused, I'm simply omitting "0x", the calculator doesn't need this). I change 0x00000000 to 0xE0000000 by Length. So now it looks like this:
    Code:
    DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                        0x00000000,         // Granularity
                        0x00000000,         // Range Minimum
                        0xDFFFFFFF,         // Range Maximum
                        0x00000000,         // Translation Offset
                        0xE0000000,         // Length
                        ,, _Y0D, AddressRangeMemory, TypeStatic)
    Good. One down, one left to go:
    Code:
    DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                        0x00000000,         // Granularity
                        0xFED40000,         // Range Minimum
                        0xFED44FFF,         // Range Maximum
                        0x00000000,         // Translation Offset
                        0x00005000,         // Length
                        ,, , AddressRangeMemory, TypeStatic)<snip>
    For the line 1021 error, I subtract 0xFED44FFF from 0xFED40000 (Remember, I'm subtracting the MAXIMUM range from the MINIMUM range or else I end up with a negative number - remember your elementary school arithmetic), and then I add 1.The length needs to be changed to 0x00005000.

    The result:
    Code:
    Intel ACPI Component Architecture
    ASL Optimizing Compiler version 20100528 [Jul  2 2010]
    Copyright (c) 2000 - 2010 Intel Corporation
    Supports ACPI Specification Revision 4.0a
    
    ASL Input:  /home/moishe/dsdt.dsl - 7616 lines, 275364 bytes, 3155 keywords
    AML Output: /home/moishe/dsdt.aml - 27850 bytes, 683 named objects, 2472 executable opcodes
    
    Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 43 Optimizations
    For anyone who's curious, I'm using a Toshiba A200.

  3. #513
    Join Date
    Nov 2008
    Beans
    10

    Re: HOWTO Fix A Buggy DSDT File

    Hello there,

    I have an old (second hand) HP Compaq 6710b. This laptop is known to be noisy. The fan spins almost all the time. Apparently the fan is controlled by the BIOS (not sure what this means)...

    I have succeeded to update the BIOS (version F16 from HP) but the fan is still very loud.

    I found a script to manually set the fan speed. It basically echo values (3 to turn on, 0 to turn off to /proc/acpi/fan/C3C*).

    Here are some info about the trip points setting and temperature sensor:
    Code:
    /proc/acpi/thermal_zone/TZ0$ more trip_points 
    critical (S5):           256 C
    passive (forced):<not set>
    active[0]:               82 C: devices=C3C1 
    active[1]:               74 C: devices=C3C2 
    active[2]:               66 C: devices=C3C3 
    active[3]:               45 C: devices=C3C4 
    active[4]:               30 C: devices=C3C5 
    /proc/acpi/thermal_zone/TZ0$ more temperature 
    temperature:             45 C
    Whatever the computer is doing the temperature of TZ0 is 45°C.

    Interestingly if I use sys instead of proc:
    Code:
    /sys/class/thermal/thermal_zone0$ more temp 
    31000
    I have de-assembled the DSDT and IASL find several syntax error...

    Can anyone help me? There seems to be DSDT experts here...

    Thanks in advance.
    Mathieu

    P.S.: I'm not sure about this but right after the BIOS update a colleague showed a USB bootable windows system. Right after the fan was less noisy (only spinning sometimes) and I believe that trip points were set to higher temperatures... Unfortunately I reset the BIOS settings and then spend the afternoon trying to understand what's going on.

    Edit:

    I shutdown the PC for a few hours and trip points have changed:
    Code:
    /proc/acpi/thermal_zone/TZ0$ more trip_points 
    critical (S5):           256 C
    passive (forced):<not set>
    active[0]:               82 C: devices=C3C1 
    active[1]:               74 C: devices=C3C2 
    active[2]:               66 C: devices=C3C3 
    active[3]:               50 C: devices=C3C4 
    active[4]:               30 C: devices=C3C5
    So the noise is ok again...

    Edit:
    Hum... Tonight processors seem stuck at 800Mhz. I have played with cpufreqd. It was working yesterday...

    Edit:
    And this morning CPU frequency scale well (I use "on demand" policy)...
    Last edited by mathieud; November 13th, 2010 at 09:24 AM. Reason: Frequency CPU scaling

  4. #514
    Join Date
    Mar 2008
    Beans
    14

    Re: HOWTO Fix A Buggy DSDT File

    If by any chance 67GTA is still browsing this thread, Your help will be greatly appreciated with this Aspire 5100 DSDT.


    Many thanks

    mtnova
    Attached Files Attached Files

  5. #515
    Join Date
    Jan 2011
    Beans
    1

    Re: HOWTO Fix A Buggy DSDT File

    Quote Originally Posted by 67GTA View Post
    peterwill:

    You can't get the DSDT source. It is hard coded in the BIOS. The only way that would work is if your BIOS vendor made an error free DSDT and packaged it in a BIOS update. We are simply grabbing a copy of it from the BIOS and trying to patch it. Then we tell the OS to use it instead of the original. After a lot of reading, I found Toshiba laptops have a lot of trouble with Linux. That's why I suggested trying toshset. It doesn't seem the fan issue is linked to your DSDT errors, and it is disabled by default. I was starting to wonder if we were chasing our tails in your case. You can get a 64bit source package of toshset here: http://schwieters.org/toshset/toshset64.gz
    Model: HP DV6-2190us
    Problem: MSFT compiled DSDT

    67GTA, i read you posts and it seems very ordinary for Microsoft to break things useful to people.

    Similar to what you said, I also read that by extracting DSDT from any system with a MSFT compiled BIOS, regardless the OS, will always result in an erroneous DSDT.dsl which will not compile into DSDT.aml unless patched.

    The hackintosh camp has been trying to patch DSDT to avoid ACPI issues namely sleep, reboot, power off functions, audio, and multi-core cpus issue here: http://tonymacx86.com/viewtopic.php?f=14&t=1202 and here http://www.insanelymac.com/forum/ind...c=215033&st=60 only Yehia Amer is trying to patch the DSDT.dsl done by a MSFT compiler. This is the reason why some oem BIOs, namely HP, has faulty DSDT which confused the guy who maintains iasl. Only when he helped Yehia Amer, he simply commented out the errors. I am not sure if Yehia's DSDT.aml worked, but if I remember correctly, it gave him a kernel panic during boot--I will ask him of this.

    Do you need my dmesg output and dsdt.dsl? Will you take a look at it and see if you can rid the errors? I will forward you the patch-in-progress as per the above mentioned site i have followed; however, i have come upon a kink which I have no knowledge of the asm language. Thanks.
    Last edited by VSEAE15O; January 9th, 2011 at 08:10 AM.

  6. #516
    Join Date
    Mar 2010
    Beans
    1

    Re: HOWTO Fix A Buggy DSDT File

    Hi!

    I would like to ask something! I tried to make my custom dsdt today with DSDTSE. I started with compile-ing but I still have some issues: The error list is the following:

    Intel ACPI Component Architecture
    ASL Optimizing Compiler version 20091214 [Dec 16 2009]
    Copyright © 2000 - 2009 Intel Corporation
    Supports ACPI Specification Revision 4.0

    /Users/kaldoritamas/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 4744: Arg0
    Error 4096 - syntax error, unexpected PARSEOP_ARG0 ^

    /Users/kaldoritamas/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 4744: Arg0
    Warning 1100 - Statement is unreachable ^

    /Users/kaldoritamas/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 5033: Method (_BQC, 0, NotSerialized)
    Warning 1088 - Not all control paths return a value ^ (_BQC)

    /Users/kaldoritamas/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 5033: Method (_BQC, 0, NotSerialized)
    Warning 1081 - Reserved method must return a value ^ (_BQC)

    ASL Input: /Users/kaldoritamas/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl - 12385 lines, 374388 bytes, 4048 keywords
    Compilation complete. 1 Errors, 3 Warnings, 0 Remarks, 11 Optimizations


    Can somebody help me with an advice how to continue?

    Thanks!
    Tom

    ps: my laptop is Dell 501x.

  7. #517
    Join Date
    Aug 2006
    Beans
    3

    Re: HOWTO Fix A Buggy DSDT File

    I'm working on a Toshiba Satellite T235D. Worked okay on 10.04, but on upgrading to 10.10 I can't even get it to boot unless I pass acpi=off in grub. I tried recompiling the dsdt with the stock version of iasl and using the instructions for the debian testing version of iasl, but both gave me about 176 errors. Looks like scope issues but I'm not good enough in assembly to resolve them.

    DSDT is attached if anyone wants to take a wack at fixing it.
    Attached Files Attached Files

  8. #518
    Join Date
    Feb 2011
    Beans
    2

    Re: HOWTO Fix A Buggy DSDT File

    Hello. I've been reading through tons and tons of pages trying to find how I can fix the buggy DSDT on my HP d330 uT. I came across your thread which was somewhat helpful, but the bulk of the problem I'm running into is that the ACPI tables I dumped from this machine look to be rather messy and quite different from other DSDT I've looked at.

    While I understand this is a linux board, the nature of fixing the problem should be the same (or extremely similar; I compile with -sa instead of -tc)

    Anyway, any help is VERY appreciated

    First off, here's my system:
    Pentium 4 Prescott (SSE2/SSE3) 2.4GHz
    Intel ICH5
    Motherboard is P4SD Rev 1.09, which came from a HP d330 uT
    Bios is Hewlett-Packard-786B2v2.44
    External graphics: nVidia GeForce FX5200 128MB AGP (QE/CI/Dual-VGA working)
    Currently running Leopard 10.5.8 (with CoreGraphics Framework from 10.5.5, as that's the last version to support my 5200)
    Voodoo/XNU kernel 9.8
    Chameleon RC5 699

    Here's my untouched ACPI dump, obtained via chameleon:
    ACPI.rar

    And here's my dsdt.aml which I obtained via ubuntu 8.10 live CD
    dsdt.aml

    I have tried a couple things with the SSDT-X.aml files - namely SSDT-1 and SSDT-3, which I tried fixing the RTC and power button, but I don't think I was able to fix either one (although RTC looked just like everything I've seen for others, so perhaps it did work). I also got compile errors in dsdt.aml for every _S5D instance, which the fix was just to remove the _ character (although _S1D through _S4D are all fine).

    I have all these files in my /Extra folder and all are named in my boot.plist (I also see chameleon load them during startup). **/ If you're unfamiliar with this part due to it being OSX, it just means I have the files where they should be, and that I know they are loaded upon startup.

    My main goals are to get the RTC fix, power button to give option for sleep/restart/shutdown, and as many 'little things' I can do as I figure things out. Thanx for any assistance!

  9. #519
    Join Date
    Feb 2011
    Beans
    1

    Re: HOWTO Fix A Buggy DSDT File

    hello, i can't solve this problem.
    please help me

    /home/daniel/dsdt.dsl 372: Package (0x06)
    Error 4047 - Initializer list too long ^



    Code:
     Package (0x06)
                {
                    0x0898, 
                    0x00015BA8, 
                    0x64, 
                    0x09, 
                    0xE020288E, 
                    0x008E
                },
                Package (0x06)
                {
                    0x07D0, 
                    0x00010D88, 
                    0x64, 
                    0x09, 
                    0xE020298C, 
                    0x018C
                }, 
                Package (0x06)
                {
                    0x0708, 
                    0x0000C350, 
                    0x64, 
                    0x09, 
                    0xE0202A8A, 
                    0x028A
                },
                Package (0x06)
                {
                    0x03E8, 
                    0x000055F0, 
                    0x64, 
                    0x09, 
                    0xE0202C82, 
                    0x0482
                },
                Package (0x06)
                {
                    0xFFFF, 
                    0xFFFFFFFF, 
                    0xFF, 
                    0xFF, 
                    0xFFFFFFFF, 
                    0x03FF
                }
            })
        }
    
        Scope (\_SB)
        {





    the first line i wrote is 372

  10. #520
    Join Date
    Feb 2011
    Beans
    2

    Re: HOWTO Fix A Buggy DSDT File

    Danny, post the whole dsl file

Page 52 of 59 FirstFirst ... 2425051525354 ... LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •