Comment 317 for bug 272247

Revision history for this message
67GTA (67gta) wrote :

That is a seriously broken acpi table! I don't think you could even begin to fix that. As you fix one error, 50 more will appear because of the change you just made. The segmentation fault is because of the maximum 200 error limit of the aml compiler. At that point I guess the developers decided you should probably just start over. Have a look at this section:

If (\_OSI ("Linux"))
                    {
                        Store (0x03E8, OSYS)
                    }

                    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)

This is supposed to be the supported OS's for your machine. Obviously your DSDT was compiled by the Microsoft aml compiler instead of Intel's. If you care to test, try adding the entries above to your kernel line in /boot/grub/menu.lst. Try acpi_osi="Linux" first to see if any of the problems your having go away. If not, delete it and try the next, acpi_osi="Windows 2001", etc... Spelling is critical. Here is mine for reference:

title Ubuntu 9.04, kernel 2.6.28-11-generic
uuid 1c99f655-3e3f-43aa-a9a2-7fb6831c98db
kernel /boot/vmlinuz-2.6.28-11-generic root=UUID=1c99f655-3e3f-43aa-a9a2-7fb6831c98db ro acpi_osi="Linux" quiet splash
initrd /boot/initrd.img-2.6.28-11-generic