HP ProLiant DL380 G7 acpi table fix

Az alany egy HP ProLiant DL380 G7 server 12/02/2012 datumu bios-szal es valami hiba van a acpi tablaban.

Ez lesz a dmesg-ben:


...
ACPI: RSDP 00000000000f4f00 00024 (v02 HP    )
ACPI: XSDT 00000000df630340 000B4 (v01 HP     ProLiant 00000002   .? 0000162E)
ACPI: FACP 00000000df630440 000F4 (v03 HP     ProLiant 00000002   .? 0000162E)
ACPI Warning: Invalid length for Pm1aControlBlock: 32, using default 16 (20090903/tbfadt-607)
ACPI Warning: Invalid length for Pm2ControlBlock: 32, using default 8 (20090903/tbfadt-607)
ACPI: DSDT 00000000df630540 020BD (v01 HP         DSDT 00000001 INTL 20030228)
ACPI: FACS 00000000df62f100 00040
ACPI: SPCR 00000000df62f140 00050 (v01 HP     SPCRRBSU 00000001   .? 0000162E)
ACPI: MCFG 00000000df62f1c0 0003C (v01 HP     ProLiant 00000001      00000000)
...

"Javitasi" lepesek:
Ki kell nyerni a dsdt tablat az acpi-bol, es "visszafejteni" iasl-lel:
cat /proc/acpi/dsdt ~/dsdt
iasl -d ~/dsdt


Intel ACPI Component Architecture
AML Disassembler version 20100528 [Jul  2 2010]
Copyright (c) 2000 - 2010 Intel Corporation
Supports ACPI Specification Revision 4.0a

Loading Acpi table from file dsdt
Acpi table [DSDT] successfully installed and loaded
Pass 1 parse of [DSDT]
Pass 2 parse of [DSDT]
Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions)
.................................................................................
Parsing completed
Disassembly completed, written to "dsdt.dsl"

Majd ujra leforditani:
iasl -tc ~/dsdt.dsl

Kapunk ket hibat:


dsdt.dsl   961:                     Release (LCK2)
Warning  1100 -        Statement is unreachable ^

dsdt.dsl  1136:             Return (0x04)
Error    4080 -                        ^ Invalid object type for reserved name (

Az elobbi ugy javithato, hogy a Return parancsot a Release utanra rakjuk a 961. sorban.
Az utobbi meg ezzel a sorral:


Return (Or (SUPP, 0x04))

Ezutan mar hiba nelkul lefut:


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:  dsdt.dsl - 2741 lines, 71806 bytes, 722 keywords
AML Output: dsdt.aml - 8387 bytes, 335 named objects, 387 executable opcodes

Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 21 Optimizations

Sajnos a kernelbol kiszedtek, hogy a dsdt-t initrd-bol is be lehessen tolteni, de szerencsere a grub2 is tudja ezt:


wget -O /etc/grub.d/01_acpi http://blog.michael.kuron-germany.de/wp-content/uploads/2011/03/01_acpi.txt
chmod +x /etc/grub.d/01_acpi

masoljuk a kesz dsdt.aml fajlt a /boot-ba, majd futtassuk az upgrade-grub-ot.

egy reboot utan a grub betolti nekunk ezt a fajlt, es mar nem lesz hiba a acpi tablaban:


...
ACPI: RSDP 000000000009e180 00024 (v02 HP    )
ACPI: XSDT 00000000df57804f 000B4 (v01 HP     ProLiant 00000002   .? 0000162E)
ACPI: SSDT 00000000df5732c3 03444 (v01  INTEL PPM RCM  00000001 INTL 20061109)
ACPI: SSDT 00000000df576707 00377 (v01     HP     pmab 00000001 INTL 20090625)
ACPI: SSDT 00000000df576a7e 003BB (v01     HP      pcc 00000001 INTL 20090625)
ACPI: SSDT 00000000df576e39 00255 (v03     HP  riser1a 00000002 INTL 20061109)
ACPI: SSDT 00000000df57708e 00125 (v03     HP  CRSPCI0 00000002   HP 00000001)
ACPI: DMAR 00000000df5771b3 00154 (v01 HP     ProLiant 00000001   .? 0000162E)
...

Hozzászólások

subscribe

----------
[GB ≠ GiB] [MB ≠ MiB] [kB ≠ kiB] [1000 ≠ 1024] [Giga ≠ gram] [Mega ≠ milli] [Kelvin ≠ kilo] [Byte ≠ bit]

Ez hasznos, köffinger bélabácsi :)

Respect

"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."

A hiba milyen problemat okoz mukodes kozben?

Sub

En iSCSI boothoz IBFT tablat szeretnek majd egszer belevarazsolni grub-bal, ha lesz ra sok idom.
---
Régóta vágyok én, az androidok mezonkincsére már!