DSDT szakértő kerestetik, nem megy az Intel Speestep

Fórumok

Sziasztok!

Van egy Shuttle K48 Barebone PC-m, amin Ubuntu 8.04 fut. Minden hardver gond nélkül működik, egyetlen kivétellel: az Intel Speedstep-et sehogy sem tudom működésre bírni. Ha megpróbálom betölteni az acpi_cpufreq modult, akkor ezt kapom:

$ sudo modprobe acpi_cpufreq
FATAL: Error inserting acpi_cpufreq (/lib/modules/2.6.24-23-generic/kernel/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.ko): No such device

A proci egy E7300-as Core 2 Duo, és Window$ alatt működik a frekvencia szabályozás. Kis kutatás után kiderítettem, hogy nagy valószínűséggel a bios bugos ACPI implementációja a ludas. Belenéztem a DSDT táblába és lőn... mindössze ennyi infót ad a CPU-ról:

Scope (\_PR)
{
Processor (\_PR.CPU0, 0x00, 0x00000000, 0x00) {}
Processor (\_PR.CPU1, 0x01, 0x00000000, 0x00) {}
Processor (\_PR.CPU2, 0x02, 0x00000000, 0x00) {}
Processor (\_PR.CPU3, 0x03, 0x00000000, 0x00) {}
}

Ez az egész DSDT téma újdonság számomra, de annak már utána jártam, hogy itt szerepelnie kéne a következő objektumoknak ahhoz, hogy menjen a CPU power management: _CST, _PCT, _PSS és _PPC. (Ha jól tudom a _PSS kéne a Speedstep-hez).
Ha esetleg lenne DSDT szakértő köztetek: van esélye kézzel pótolni a hiányzó részeket a DSDT-ben és ezzel működésre bírni a Speedstep-et, vagy tőrödjek bele, hogy sosem fog működni? :/

Köszi a segítséget!

Hozzászólások

és biztos hogy az kell hozza?
pentium procikhoz inkább a p4-clockmod kell. - azthiszem -

kipróbálni nem tart semmiböl.

elso korben javitsd az dsdt-ben minden hibat.
aztan a linuxnak meglehet mondani, hogy windows hazudjon mararol a acpi-nak (use google).

Monjuk nalam a processor reszben "kicsit" tobb minden van.

--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

Én még bármi előtt megnézném van-e BIOS frissítés....

Idézném magam egy levelezőlistáról:

Lehet, hogy szükségem lesz egy Toshiba P100 laptopba való videókártyára, ha valakinek lenne ilyen a polcán... szerencsére nem alaplapi integrált videókártya van benne. :)

Tegnap este KDE4.2.1 frissítés után szétesett a kép, össze-vissza rajzoltak a programok, aztán visszaváltott a KDE composite mentes módba, ott egy jód darabig minden jól működött, majd lepusztult a grafikus felület, az init 3 és init 5 megjavította ideiglenesen, aztán ismét összeborult, újraindítás után már nem volt kép az LCD-n, de az oprendszer elindult...

Nos, röpke egy hónap alatt elkészült a laptopom, cserélték benne a videókártyát és az alaplapot.

Közvetve a KDE4 ölte meg, ugyanis a hiba után keresgéltem a neten, hogy más találkozott-e ilyen problémával: és igen. Linux alatt a GPU hűtése nem kielégítő, mivel nem az nvidia driver felel a szellőzésért, hanem az alaplapi ACPI, amely viszont nem állítgatja a ventilátor sebességét, hanem valami alap sebességen tekergeti, éppenhogy jön egy kis szellő a résen át. GPU intenzív programoknál a GPU hőfoka elérte a 110 fokot is, 115-nél az nvidia chip leszabályozza magát, ezt észre is vettem többször, ilyenkor belassult a KDE4
effekt-gyűjteménye - néha le is kapcsolt a composite és visszaváltott normál ablakkezelési módba. A sorozatos túlmelegedés pedig lassan megölte a kártyát és az alaplapot is, mivel ez a hő csak az alaplap felé tudott távozni.

Nomindegy, kicserélték mindkettőt, azonban ez még okozhat problémát, ezért elkezdtem nézelődni. Ha kikapcsoltam az ACPI-t, akkor nem állt le a GPU ventilátor, de hangos volt a gép, és ugrott minden energiatakarékossági lehetőség, ami laptopnál ugye hátrány - de szerda óta így ment a gépem: ha már tudom a hibát, akkor ne tegyem szándékosan tönkre. :)

Ma találtam megoldást, ami önerőből nem ment volna egyszerűen, de megoldotta a problémát: a DSDT kód módosítása:
http://skroslak.wordpress.com/2008/01/11/custom-dsdt-loading-on-toshiba…

A DSDT lényege, hogy ez tartalmazza az ACPI kódját, decompile és recompile során 18 hiba és 2 warning került elő, ennyit a kódminőségről... :)

A hibák javításán túl egy helyre érdemes belenyúlni: fixen Vista (Windows 2006) oprendszerre állítani az oprendszer típusát, így a legtöbb ACPI funkció működni fog. A másik hely pedig a GPU ventilátorra vonatkozóan egy beállítás - a maximális GPU hőfok, amely alapból üres marad, a Vista oprendszer szinten beállítja rendesen, de Linux alatt nincs kezdőértéke, ezért nincs felső határa a GPU hőmérsékletének.

Ami nincs leírva az oldalon, hogy ezek után miképpen kell SuSE esetén az initrd-be visszatenni az AML kódot:


laptop:~ # cd /usr/src/linux/Documentation/acpi/
laptop:~ # sh initramfs-add-dsdt.sh /boot/initrd-2.6.25.5-1.1-default /root/dsdt.aml

Ezek után reboot és már megy is a GPU ventilátora. Ha laptopra tesztek Linux-ot, akkor érdemes megnézni, hogy érzésre hasonlóan viselkedik-e, mint Windows alatt... :)

Szóval lehet rosszabbul is járni, mint a nem működő cpufreq... :)
--
http://wiki.javaforum.hu/confluence-2.10/display/FREEBSD

Kipróbáltam az acpi_osi és az acpi_os_name paramétereket (Windows 2006 és Microsoft Windows NT értékekkel, mert ezeket találtam a DSDT kódban), de sajnos nem segített.
Arra gondoltam, hogy ha bemásolnám valaki mástól - akinek hasonló hardvere van - a processzor részt a DSDT-ből akkor az vajon működne-e? Vagy ez túlságosan naív elképzelés? :)

Chipset: Intel 945GC + ICH7
CPU: E7300 Core 2 Duo

A teljes processor rész érdekelne (elsősorban _CST, _PCT, _PSS és _PPC). Köszi a helpet!

Egyébként írtam a gyártónak is akik elismerték, hogy a Microsoft-os ACPI rutinokat implementálták, ami meglepő módon sz*rik a specifikációra... de sajnos nem igérték be hogy lesz javítás a közeljövőben :((

Ha esetleg lenne köztetek akinek ugyanilyen procija van (Core 2 Duo E7300), az tudna küldeni nekem egy dsdt.aml-t? Az alábbi paranccsal lehet kidumpolni:

cat /proc/acpi/dsdt > dsdt.aml

Köszi!