【DSDT自动修改软件:Dsdtfixer 1.22】【EvOsX86 team】【小指南】【4月3日】
本帖最后由 RealGold 于 2011-4-4 00:04 编辑数据丢失, 帖子没了.PB不见, 强烈抗议.images/smilies/tiger/24.gif
感谢古歌, 网页快照, 搜回原帖, 慢慢恢复!{:5_284:}
Dsdtfixer,Autofix errors and warnings, add some basic hacks.
DSDT修改软件可以自动修改DSDT中的错误和警告,为初期接触DSDT者的福音。发现网上,没有测试,使用前敬请自行斟酌,若出现,责任自负。本帖下载为1.1x, 下载后, 打开软件会自动要求检查升级, 然后升级到1.2即可. 指南在二楼!!!
谢谢斑竹提示:坛子有前期版本:https://bbs.pcbeta.com/thread-832225-1-1.html
This is the list of fixes i will keep updating (本版就是1月16日的更新版本,谢谢HJMac 提示).
FN button hack and Power button hack have been removed, not sure they are really useful/needed.
List of fixes:
GENERIC FIXES
FN button hack and Power button hack have been removed, not sure they are really useful/needed.
GENERIC FIXES
CPU Aliases (not included from 1.1.5 version as Snow leopard doesn´t need this patch).
Error Maximum error count (200) exceeded 24:External (^CPU0._PPC)
Error 1061 -Object does not exist ^ (C001)
Error 1061 -Object does not exist ^ (\_PR.C000)
Warning 1077 -Reserved method has too many arguments ^ (_OSC requires 4)
Warning 1081 -Reserved method must return a value ^ (Integer/Package required for _WAK)
Warning 1087 -Not all control paths return a value (TGET)
Warning 1087 -Not all control paths return a value (FGET)
Warning 1088 -Not all control paths return a value ^ (STM_)
Warning 1088 -Not all control paths return a value ^ (WMAB)
Warning 1088 -Not all control paths return a value ^ (PAPR)
Warning 1088 -Not all control paths return a value ^ (_OSC)
Warning 1088 -Not all control paths return a value ^ (ECRB)
Warning 1088 -Not all control paths return a value ^ (ECWB)
Warning 1088 -Not all control paths return a value ^ (ECSB)
Warning 1088 -Not all control paths return a value ^ (PAPR)
Warning 1088 - Not all control paths return a value ^ (_WED)
Warning 1088 - Not all control paths return a value ^ (WMCA)
Warning 1088 - Not all control paths return a value ^ (WMCB)
Warning 1088 - Not all control paths return a value ^ (WMCD)
Warning 1088 - Not all control paths return a value ^ (WMCE)
Warning 1088 - Not all control paths return a value ^ (WMCF)
Warning 1088 - Not all control paths return a value ^ (HKDS)
Warning 1088 -Not all control paths return a value ^ (DRUL)
Warning 1088 -Not all control paths return a value ^ (BTST)
Warning 1088 -Not all control paths return a value ^ (EVNT)
Warning 1088 -Not all control paths return a value ^ (SECV)
Warning 1088 -Not all control paths return a value ^ (SEFA)
Warning 1088 -Not all control paths return a value ^ (SECT)
Warning 1088 -Not all control paths return a value ^ (SGFD)
Warning 1088 -Not all control paths return a value ^ (C28F)
Warning 1088 -Not all control paths return a value ^ (GCQV)
Warning 1088 - Not all control paths return a value ^ (WQAA)
Warning 1088 - Not all control paths return a value ^ (WQAB)
Warning 1088 - Not all control paths return a value ^ (WQAC)
Warning 1088 - Not all control paths return a value ^ (WQAD)
Warning 1088 - Not all control paths return a value ^ (WQAE)
Warning 1088 - Not all control paths return a value ^ (WQAF)
Warning 1088 - Not all control paths return a value ^ (WQAG)
Warning 1088 - Not all control paths return a value ^ (WQAH)
Warning 1088 - Not all control paths return a value ^ (WQAI)
Warning 1088 - Not all control paths return a value ^ (WSAA)
Warning 1088 - Not all control paths return a value ^ (WSAB)
Warning 1088 - Not all control paths return a value ^ (WSAC)
Warning 1088 - Not all control paths return a value ^ (WSAD)
Warning 1088 - Not all control paths return a value ^ (WSAE)
Warning 1088 - Not all control paths return a value ^ (WSAF)
Warning 1088 - Not all control paths return a value ^ (WSAG)
Warning 1088 - Not all control paths return a value ^ (WSAH)
Warning 1088 - Not all control paths return a value ^ (WSAI)
Warning 1088 - Not all control paths return a value ^ (_Q15)
Warning 1092 -Called method may not always return a value
Warning 1099 -Unknown reserved name ^ (_BCQ)
Error 1094 -Missing ResourceSource string (required)
Warning 1099 -Unknown reserved name ^ (_S5D)
Warning 1100 -Statement is unreachable ^ (Return (NXTD)
Warning 1103 -Possible operator timeout is ignored
Warning 1105 -Result is not used, operator has no effect ^
Warning 1105 -Possible operator timeout is ignored ^
Warning 1106 -Result is not used, operator has no effect ^
Warning 2026 -Reserved method must return a value (_WAK)
Error 4001 - String must be entirely alphanumeric ^ (*pnp0c14)
Error 4014 -From ACPI CA Subsystem ^ (AE_NOT_FOUND Failure from namespace lookup)
Error 4051 -Method local variable is not initialized ^ (Local0)
Error 4081 -Use of reserved word ^ (_T_0)
Error 4081 -Use of reserved word ^ (_T_1)
Error 4081 -Use of reserved word ^ (_T_2)
Error 4081 -Use of reserved word ^ (_T_3)
Error 4081 -Use of reserved word ^ (_T_4)
Error 4081 -Use of reserved word ^ (_T_5)
Error 4095 -syntax error, unexpected PARSEOP_NAMESEG, expecting PARSEOP_DEFINITIONBLOCK
Error 4096 -syntax error, unexpected PARSEOP_NAMESEG, expecting PARSEOP_DEFINITIONBLOCK
Error 4096 -Invalid character (0x2D), expecting ASL keyword or name ^
Error 4117 -Length is larger than Min/Max window ^
Error 4122 -Invalid combination of Length and Min/Max fixed flags ^
Error 4123 -Min/Max/Length/Gran are all zero, but no resource tag
Error 4124 -Non-hex letters must be upper case ^ (pnp0c14)
Error 4125 -_HID string must be exactly 7 or 8 characters ^ (NVRAIDBUS)
Error 4027 -Access width is greater than region size ^
Error 4028 -Access width of Field Unit extends beyond region limit ^
Remark 5048 -Initializer list shorter than declared package length ^
Remark 5072 -Effective AML package length is zero ^
Remark 5074 -Recursive method call ^ (ECBR)
Remark 5111 -Use of compiler reserved name ^ (_T_O)
Remark 5111 -Use of compiler reserved name ^ (_T_N)
Remark 5111 -Use of compiler reserved name ^ (_T_M)
Remark 5111 -Use of compiler reserved name ^ (_T_L)
Remark 5111 -Use of compiler reserved name ^ (_T_K)
Remark 5111 -Use of compiler reserved name ^ (_T_J)
Remark 5111 -Use of compiler reserved name ^ (_T_I)
Remark 5111 -Use of compiler reserved name ^ (_T_H)
Remark 5111 -Use of compiler reserved name ^ (_T_G)
Remark 5111 -Use of compiler reserved name ^ (_T_F)
Remark 5111 -Use of compiler reserved name ^ (_T_E)
Remark 5111 -Use of compiler reserved name ^ (_T_D)
Remark 5111 -Use of compiler reserved name ^ (_T_C)
Remark 5111 -Use of compiler reserved name ^ (_T_B)
Remark 5111 -Use of compiler reserved name ^ (_T_A)
Remark 5111 -Use of compiler reserved name ^ (_T_9)
Remark 5111 -Use of compiler reserved name ^ (_T_8)
Remark 5111 -Use of compiler reserved name ^ (_T_7)
Remark 5111 -Use of compiler reserved name ^ (_T_6)
Remark 5111 -Use of compiler reserved name ^ (_T_5)
Remark 5111 -Use of compiler reserved name ^ (_T_4)
Set a routine to change all P00X cpu code to CPUX (This routine has been disabled, seems some ssdt calls P00X CPU code).
DELL specific fixes
Error 4001 - String must be entirely alphanumeric ^ (*pnp0c14)
Qosmio specific fixes:
Maximum error count (200) exceeded
LENOVO specific fixes
Warning 1099 -Unknown reserved name ^ (_VPC)(_CFG)
Warning 1100 -Statement is unreachable ^
Error 4014 -From ACPI CA Subsystem ^ (AE_NOT_FOUND Failure from namespace lookup)
Error 4064 -Object does not exist ^ (Z000)(Z001)(Z002) etc....
ASUS specific fixes
Maximum error count (200) exceeded (wrong if-else statements) on 3 different models (A7599,P0024,A1044)
MSI specific fixes
(AMD) A7599
Maximum error count (200) exceeded (wrong if-else statements)
AMD SB700 Chipset specific fixes
Maximum error count (200) exceeded
GIGABYTE specific fixes
Warning 1100 -Statement is unreachable ^
Warning 1106 -Result is not used, operator has no effect ^
_WAK return for USBx4, USBx5, USBx6
INTEL specific fixes
Error 4123 -Min/Max/Length/Gran are all zero, but no resource tag ^ (QWordMemory)
ACER specific fixes
Warning 1077 -Reserved method has too many arguments ^ (_OSC requires 4)
Warning 1088 - Not all control paths return a value ^ (Several methods repaired)
HP specific fixes.
ACPI Error: ACPI path has too many parent prefixes (^) - reached beyond root node (20101013/nsaccess-526)
Warning 1088 -Not all control paths return a value ^ (NVIF)
Warning 1088 -Not all control paths return a value ^ (_PSR)
Warning 1088 -Not all control paths return a value ^ (_HOT)
Warning 1088 -Not all control paths return a value ^ (_CRT)
Warning 1088 -Not all control paths return a value ^ (_PSV)
Warning 1088 -Not all control paths return a value ^ (_Q16)
Warning 1088 -Not all control paths return a value ^ (_PSR)
Error 4047 -Initializer list longer than declared package length ^
Error 4057 -Name already exists in scope ^ (_S3D)
Error 4064 -Object does not exist ^ (LNKA)(LNKB)(LNKC), etc....
Error 4080 -Invalid object type for reserved name ^ (found BUFFER, requires Package)
Error 4096 -syntax error, unexpected PARSEOP_ZERO ^
Error 4096 -syntax error, unexpected PARSEOP_IF ^
Error 4096 -syntax error, unexpected PARSEOP_ELSE ^
Error 4096 -syntax error, unexpected PARSEOP_DEVICE, expecting $end ^
Error 4122 -Invalid combination of Length and Min/Max fixed flags ^
Hi to all from EvOsX86 team.
We have released a little app to automatically fix errors and warnings on DSDT, it contains 67 different fixes for now, waiting for feedback to add more.
Also it contains the most common generic hacks to apply, you can get help about what each hack does just placing the mouse over the hack text.
You can extract the dsdt from registry or drag a dsdt file onto the app to make it auto fix it, then you can choose just pick the fixed file or add hacks to it.
If the app fails to fix your dsdt, it will tell you where to send your DSDT so we can add a fix for it on next app update.
The app will check for it�s own updates everytime it starts, this way, you can know whether you have lastest version avaliable.
attachments/month_1101/110121175588d6103b79a520ab.png
dsdtixerup.png
And this are the basic hacks you can apply基本修改项目:
IRQ reallocation. ----------------------------------
Will clean IRQ�s from RTC, TMR and IPIC/PIC, reallocating Irq 0 and Irq 8 to HPET.
CMOS reset fix.---------------------------------
Will change the value of length inside RTC to 0x02 to be snow leopard compliant.
DTGP method.-------------------------------------
Needed for some hacks that inject information in DSDT.
IDE KP fix.----------------------------------
Some intel IDE controllers will panic with Snow Leopard, this hack courtesy of TheKing will solve it.CODE:Device PATA on DSDT (0x001F0001)
OperationRegion (IDET, PCI_Config, 0x40, 0x04)
Field (IDET, WordAcc, NoLock, Preserve)
{
M1, 16,
M2, 16
}
Method (_INI, 0, NotSerialized)
{
Store (0xE307, M1)
Store (0xC000, M2)
}
Insert into _wak method:
Method (_WAK, 1, NotSerialized)
{
\_SB.PCI0.PATA._INI ()Laptop FN fix.------狠兴奋-------------
This hack will add information about the laptop keyboard into the DSDT, allowing the system to recognize the FN key.CODE:Device (PS2K)
{
Name (_HID, EisaId ("PNP0303"))
Name (_CID, EisaId ("PNP030B"))
Method (_DSM, 4, NotSerialized)
{
Store (Package ()
{
"AAPL,has-embedded-fn-keys",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}Gigabyte HPET kernel panic.-----好似必要性不大Gigabyte都哈幸福----------------
SomeGigabyte boards will panic cause the HPET code when using nativepowermanagement for CPU, this fix replace the code that panics withthis one:CODE:CODEName (ATT4, ResourceTemplate ()
{
})
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
Method (_CRS, 0, NotSerialized)
{
Return (ATT3)
}USB EHCI fix.------------------------------------------------------------
Will solve some usb problems.CODE:Method (_DSM, 4, NotSerialized)
{
Store (Package (0x0C)
{
"AAPL,current-available",
0x05DC,
"AAPL,current-extra",
0x04B0,
"AAPL,current-in-sleep",
0x09C4,
"device-id",
Buffer (0x04)
{
0x3A, 0x3A, 0x00, 0x00
},
"AAPL,clock-id",
Buffer (One)
{
0x01
},
"device_type",
Buffer (0x05)
{
"EHCI"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}USB UHCI fix.-----------------------
Will solve some usb problems.CODE:Method (_DSM, 4, NotSerialized)
{
Store (Package (0x02)
{
"device-id",
Buffer (0x04)
{
0x34, 0x3A, 0x00, 0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}Speedstep support hack:--------------------
This hack will inject some information on SBUS, SBRG/LPCB to activate drivers needed for Speedstep.
SSDT code may be needed for Speedstep and is not injected with this fix.CODE:SBUS:
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x04)
{
"name",
"pci8086,3a30",
"device-id",
Buffer (0x04)
{
0x30, 0x3A, 0x00, 0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}CODE:LPCB/SBRG:
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x02)
{
"device-id",
Buffer (0x04)
{
0x18, 0x3A, 0x00, 0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}Power button fix.--------------------------------
This fix will change _HID to _CID on power button code to make it appear power menu on OSX.CODE:Name (_CID, EisaId ("PNP0C0C"))We hope this little app is useful for your setup and you will give us feedback about possible bugs or non supported DSDT files.
Thanks for reading/using.
------------------------------------------------
下载:
补充内容 (2011-3-29 22:58):
网友反映,文件错误。重新上传,194楼!望斑斑给权限,修改帖子
补充内容 (2011-3-29 22:59):
或者此一链接,免费:http://www.osx86.es/?p=997 本帖最后由 道奇兔 于 2011-1-31 09:10 编辑
使用教程(betel技术员的),谢谢兔斑斑指导.
加強版的 DSDT 小工具- DSDT Fixer
這個 語法錯誤畫面.尤其是AMI的BIOS
可能是個 大夢饜
還好 EVO 團隊 開發了這個 好東西 DSDT Fixer
可先 修正 語法的錯誤
1.打開 DSDTFixer
將 dsdt.aml 拖入
溫馨提示:
Get DSDT from Reg 就是提取本機dsdt (最好 是 該分區 原本就沒有 dsdt)
2.修正之後
溫馨提示: 沒錯誤 才是重點 (警告 無所謂 啦-)
3.拉到 桌面 就可以用 DSDTSE 開始 .做一些 你想要添加的代碼
或者 .你需要 它幫添加一些 基本代碼 也是可以
添加 後
图片我慢慢传! 留楼占用! 这个软件好用! 回复 2# RealGold
唉,我给楼主的反馈回帖不见了!
还好楼主及时重发,下载了好好保存! 下载试试,谢谢楼主 本帖最后由 道奇兔 于 2011-1-31 09:11 编辑
回复 3# RealGold
抱歉麻煩妳了..損失得PBB幫你補回來了{:5_296:}
P.S. 2樓圖片我直接幫你補上了 图片看不到 回复 8# 李蛟龙
圖片以補上了...抱歉造成困擾 回复 9# 道奇兔
超级好斑啊! 必须顶一下,菜鸟福音啊 以为是在win下调试呢~ 好东西,辛苦了! 回复 5# lunjen2009
主贴给系统掉了!你重新贴,斑斑会补偿的!{:5_289:} 回复 7# 道奇兔
谢谢斑斑了!还以为远景也出现“孤独事件”了呢!!!{:5_288:} 很好,留个脚印 回复 5# lunjen2009
唉,我给楼主的反馈回帖不见了!
还好楼主及时重发,下载了好好保存!
請問是什麼反饋啊?求解 回复 18# 道奇兔
是楼上的那位的使用经验贴,贴了不少的片片,狠不错的说!{:5_288:}
好似我的贴的好多贴都没来,特别是那个内核贴(斑斑的贴子里的那个)!加分吧!{:5_272:} 回复 19# RealGold
ㄜ...有幾個帖子可能需要你去更新下了..FakeSMC.SleepEnabler.kext 還有啥.....我忘了說
我這有pcj當時發的10.6.6的SleepEnabler.kext32/64 發上去吧