03-03-2012, 07:34 AM
Back..
since i left, I installed XP just to play with NHC. God, I must admit, ACPI object explorer is so much fun LOL!!! Quickly and easily I managed to be able to change (programmatically) the temperature trips points which trigger fan high<--->low levels (active cooling), the trip point that triggers throttling (passive cooling), and stopped shy of figuring out how the critical temperature is stored (seems to be directly stored in the EC, iirc), but that can wait. Also figured out how to directly use an ACPI method to immediately trigger fan low/high.. At this point, I think it would be trivial to do the same on Linux.. Always been able to trigger fan low/high through ACPI, in /proc/acpi (kernels ~2.6.2x) and currently through new sysfs (kernel 3.0). Win 7 x64, that's another story
Now the real issues:
1. These machines (big 17" desktop-replacement lappys) had serious heating issues, especially due to poor design of cooling system, and GPU+NB+CPU all sharing the same heatsink/cooling-pipe. Startup CPU voltages (per RMClock, CPU-z, HwiNfo32/64) are kinda on the high side, always having to use tools in different OS's is a pain, when it's really very easy to mod it in SSDT, and even adding the extra p-states. My only dilemma is, I want to extract the SSDT from the Amilo bios 1.1S BIOS to compare to the one on my Everex. Common DSDT codebase (in ACPI0.aml), with some (interesting) slight changes/additions in comparison to the (~3 months older) Everex 11D bios. Even from looking at the v0.4 of the mobo's schematic (XTB70), there are slight enhancements/additions marked specifically for the Amilo's. FSC put in a little more quality check, I guess. Hence why I really want to compare SSDTs, before going for a test run.
I can extract flashabl.rom (with phoenixtool195) and find reference strings in bioscod1.rom and bioscod4.rom for "SSDT", but I cannot disassemble them with iasl.. I realized they're lzint compressed.. Are they easily decompressable? or do they use decompression algorithm from DECOMPC0.rom?
Edit: phcomp is irrelevant, it only applies to the main bios rom (and seems only for thinkpads/some lenovos), not the bios modules' roms.
I need the SSDT table in AML/ASL, like the DSDT I got out of ACPI0.aml, to compare it as well.
Can you advise on how to proceed, and whether it's worth the effort?
--
Not as pressing (just for fun):
2. Discrete graphics NV Geforce go 7600 & Atheros AR5006EG always share the same (virtual) IRQ, either 19 or 20 (depending on OS). This has resulted in nothing but trouble for many users, including myself. WLAN loss after extended use or heavy wifi load, killing (hw accelerated?) mouse cursor, causing video driver crashes, etc. etc. etc. personally tested and tried on XP, Win7, and a myriad of Linux kernels, and drivers. Many past reports of Vista users as well. Seems that, even though MSI (Message Signal Interrupt) is listed as capability of both the NV & Atheros card (the latter also supporting MSI-X), but always use INTx emulation (per code in ACPI DSDT table). (See MSI-Howto below)
P.S. Switching from APIC to PIC which was an unlocked feature, has no effect, and disabling Lan bridge and MAC device doesn't help, both cards will always share the same IRQ.
From the MSI-Howto:
since i left, I installed XP just to play with NHC. God, I must admit, ACPI object explorer is so much fun LOL!!! Quickly and easily I managed to be able to change (programmatically) the temperature trips points which trigger fan high<--->low levels (active cooling), the trip point that triggers throttling (passive cooling), and stopped shy of figuring out how the critical temperature is stored (seems to be directly stored in the EC, iirc), but that can wait. Also figured out how to directly use an ACPI method to immediately trigger fan low/high.. At this point, I think it would be trivial to do the same on Linux.. Always been able to trigger fan low/high through ACPI, in /proc/acpi (kernels ~2.6.2x) and currently through new sysfs (kernel 3.0). Win 7 x64, that's another story
Now the real issues:
1. These machines (big 17" desktop-replacement lappys) had serious heating issues, especially due to poor design of cooling system, and GPU+NB+CPU all sharing the same heatsink/cooling-pipe. Startup CPU voltages (per RMClock, CPU-z, HwiNfo32/64) are kinda on the high side, always having to use tools in different OS's is a pain, when it's really very easy to mod it in SSDT, and even adding the extra p-states. My only dilemma is, I want to extract the SSDT from the Amilo bios 1.1S BIOS to compare to the one on my Everex. Common DSDT codebase (in ACPI0.aml), with some (interesting) slight changes/additions in comparison to the (~3 months older) Everex 11D bios. Even from looking at the v0.4 of the mobo's schematic (XTB70), there are slight enhancements/additions marked specifically for the Amilo's. FSC put in a little more quality check, I guess. Hence why I really want to compare SSDTs, before going for a test run.
I can extract flashabl.rom (with phoenixtool195) and find reference strings in bioscod1.rom and bioscod4.rom for "SSDT", but I cannot disassemble them with iasl.. I realized they're lzint compressed.. Are they easily decompressable? or do they use decompression algorithm from DECOMPC0.rom?
Code:
C:\ACPI\amilobios\test\DUMP>..\..\..\iasl\iasl -d BIOSCOD1.ROM
Intel ACPI Component Architecture
ASL Optimizing Compiler version 20120215-32 [Feb 15 2012]
Copyright (c) 2000 - 2012 Intel Corporation
Loading Acpi table from file BIOSCOD1.ROM
TableHeader length [0x313100] greater than the input file size [0x5D4B]
Could not get table from the file
C:\ACPI\amilobios\test\DUMP>..\..\..\iasl\iasl -d BIOSCOD4.ROM
Intel ACPI Component Architecture
ASL Optimizing Compiler version 20120215-32 [Feb 15 2012]
Copyright (c) 2000 - 2012 Intel Corporation
Loading Acpi table from file BIOSCOD4.ROM
TableHeader length [0x313100] greater than the input file size [0xEF2B]
Could not get table from the file
Edit: phcomp is irrelevant, it only applies to the main bios rom (and seems only for thinkpads/some lenovos), not the bios modules' roms.
I need the SSDT table in AML/ASL, like the DSDT I got out of ACPI0.aml, to compare it as well.
Can you advise on how to proceed, and whether it's worth the effort?
--
Not as pressing (just for fun):
2. Discrete graphics NV Geforce go 7600 & Atheros AR5006EG always share the same (virtual) IRQ, either 19 or 20 (depending on OS). This has resulted in nothing but trouble for many users, including myself. WLAN loss after extended use or heavy wifi load, killing (hw accelerated?) mouse cursor, causing video driver crashes, etc. etc. etc. personally tested and tried on XP, Win7, and a myriad of Linux kernels, and drivers. Many past reports of Vista users as well. Seems that, even though MSI (Message Signal Interrupt) is listed as capability of both the NV & Atheros card (the latter also supporting MSI-X), but always use INTx emulation (per code in ACPI DSDT table). (See MSI-Howto below)
P.S. Switching from APIC to PIC which was an unlocked feature, has no effect, and disabling Lan bridge and MAC device doesn't help, both cards will always share the same IRQ.
From the MSI-Howto:
Quote:90 PCI Express endpoints uses INTx emulation (in-band messages) insteadThis is one thing I've investigated a bit, especially with a fact in mind that several users reported that the problem was solved by swapping the Atheros for an intel or broadcom card (no longer sharing IRQ, no more IRQ floods/races). Virtually, this really should've never even happened, since like 1999 lol.. Ironically, no ASPM issues.
91 of IRQ pin assertion. Using INTx emulation requires interrupt
92 sharing among devices connected to the same node (PCI bridge) while
93 MSI is unique (non-shared) and does not require BIOS configuration
94 support. As a result, the PCI Express technology requires MSI
95 support for better interrupt performance.