Проблема с ACPI, помогите исправить неисправный DSDT на HP Pavilion DV6-6008el

Я с трудом ремонтирую подсистему ACPI ноутбука HP ( Pavilion DV6-6008el, 64-битная Ubuntu Natty).

Я могу загрузиться, только если acpi=off указывается как параметр ядра в grub, в противном случае пустой экран и зависание системы. Пустой экран и отключенный ACPI недопустимы. Есть еще один похожий вопрос на Ask Ubuntu с другими деталями.

Я смог найти хорошие документы о том, как отладить ACPI; особенно полезен этот метод: если декомпилировать и перекомпилировать таблицу DSDT, компилятор выдает ошибку, ну... таблица сломана, и это может быть причиной сбоя загрузки. Следующим шагом является исправление кода, компиляция и переопределение системного DSDT с помощью фиксированного (перекомпиляция ядра или сборка собственного DSDT в initrd). Это процедура:

# apt-get install acpidump
# dump a system's ACPI table with DSTD signature to an ASCII file
sudo acpidump -t DSDT > dump

# convert ASCII acpidump output to raw binary table. Creates DSDT.dat, binary.
acpixtract dump

# apt-get install iasl
# disassemble AML to ASL, creates DSDT.dsl
# (AML: ACPI Machine Language, binary. ASL: ACPI Source Language, source)
iasl -d DSDT.dat

# recompile AML in assembler (-ta) or C (-tc) hex table. -vr disables remarks.
iasl -vr -tc DSDT.dsl

Ой, компилятор Intel iasl жалуется:

DSDT.dsl    37:     External (\TNOT)
Error    4057 -                    ^ Name already exists in scope (\TNOT)

DSDT.dsl 11050:     Method (PAPR, 0, NotSerialized)
Warning  1088 -                ^ Not all control paths return a value (PAPR)

DSDT.dsl 12566:     Method (_CRS, 0, NotSerialized)
Warning  1088 -                ^ Not all control paths return a value (_CRS)

DSDT.dsl 12566:     Method (_CRS, 0, NotSerialized)
Warning  1081 -                ^ Reserved method must return a value
                                 (Buffer required for _CRS)

ASL Input:  DSDT.dsl - 12748 lines, 424447 bytes, 5910 keywords
Compilation complete. 1 Errors, 3 Warnings, 8 Remarks, 20 Optimizations

Вот полный исходный код таблицы (36 КБ).

Любая помощь, чтобы исправить проблему, ошибки и предупреждения, с благодарностью. Большое спасибо.

Полезные ресурсы

3 ответа

Вы можете попробовать установить драйверы fglrx и настроить параметры acpi с помощью aticonfig. Вот ссылка на неофициальную вики AMD http://wiki.cchtml.com/index.php/Main_Page. Это мне очень помогло. Пожалуйста, дайте мне знать, если это поможет. Спасибо

Я пытаюсь сделать это сам.

Я нахожу Gentoo Wiki очень полезным: ACPI / Fix общие проблемы.

Это не относится напрямую к Ubuntu, но почти.

Единственное отличие, которое я заметил до сих пор, это когда вы устанавливаете "iasl".

Gentoo:

echo "sys-power/iasl ~x86" >> /etc/portage/package.keywords; emerge -av iasl

Ubuntu:

sudo apt-get install iasl

Вы можете сделать sudo modprobe fglrx, тогда, если он выдаст ту же ошибку, возможно, вам придется перезагрузиться. Пожалуйста, дайте мне знать, если это поможет. Спасибо

Другие вопросы по тегам