Проблема с 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 КБ).
Любая помощь, чтобы исправить проблему, ошибки и предупреждения, с благодарностью. Большое спасибо.
Полезные ресурсы
- Расширенная конфигурация и спецификация интерфейса питания V4, 2010 (гл. 18 ASL ref, гл. 19, спецификация AML)
- Индекс / doc / Documentation / acpi (kernel.org)
Обзор Linux/ACPI - заменен LessWatts.org, Экономия энергии на системах Intel с Linux
ACPICA (Архитектура компонентов ACPI)
Как исправить файл DSDT с ошибками (ubuntuforums.org)
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, тогда, если он выдаст ту же ошибку, возможно, вам придется перезагрузиться. Пожалуйста, дайте мне знать, если это поможет. Спасибо