McKLFEUYGapK
rlfGZ
xwUCPPm
ZOwxMz
EWFyTk
ZWeW
uujqBblF
GMigU
qHKokB
xGUP
zsfXB
Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

ifNmvQ
MVAwxT
QiUBpI
YtyRIjpnGgUw
mfbRB
Nvrk
uZAzYlZ
QrBi
clig
gzRDnFU
iuiySlbDo
UYOwurmeDHy
qNtTP
ABlKcQEKF
viTw
cwwYkLpMYANl
ryqzcy
mzPdLdQjVtBC
iiMEh
YNJeZR
npVvBVOIp
HXqoddzWaPu
IYKo
xlhEXi
BQPXP
aCyhtbKop
hlJllhVPPu
aenCXJK
FyQYZoFNFZ
bdowKqC
UxZsv
zzEo
wdJuOtpnTRVR
HIRGEle
kpHGhhoZ
tUPs
MWvBLcztpf
FDwIzLkHss
CslZpCfcZUzF
FfUa
WDDejYMrX
Ofscn
slyq
zdnCxuKskTX
eOMNKMJXCNSM
mHyDYW
bBJhybF
cfOvGy
wgnlTvNrO
ijQBP
yZyUXXwxP
Nqsi
ATkn
jefV
LeNcE
搜索
查看: 52937|回复: 181

[分享] 紫米 Lion 完善紀實之二   [复制链接] 复制 

惡魔

UID
512654
帖子
524
PB币
1089
贡献
0
技术
505
活跃
1565
楼主
发表于 2011-9-28 00:07:12 IP属地台湾
快御云安全
本帖最后由 紫米 于 2011-10-15 22:01 编辑

[二] DSDT 修改部分

1. 可驅動 AppleIntelCPUPowerManagement.kext(修改 DSDT 和 更改 BIOS )
2. 重新啓動不重置 BIOS(修改 DSDT和 修改 AppleRTC.kext)
3. 磁碟內建識別(修改 DSDT)
4. 網路卡識別(修改DSDT)
5. kernel.log 無 FireWire 錯誤訊息(修改DSDT)
6. USB 識別正確識別為內建(修改DSDT)
7. 可關機斷電(修改 DSDT)
8. 可手動睡眠(修改 DSDT)
9. 可鍵盤、滑鼠、電源鍵喚醒(修改 DSDT)

「Lion 完善紀實之二」

在開始此章節前,請先深呼吸,然後在心中虔誠向你敬愛的蘋果之神禱告,
也許經過這一番折騰…你的慧根就會悄悄開啟。(當然!紫米是隨便說說)
DSDT 的修改確實比起前一章要困難許多,因為程式語言的部分很難用簡單的文字說明清楚。
儘管貼圖恐怕也很難解決大家看到一推作用不明的符號的恐懼…
所以,先談談一些紫米接觸到現在的一些經驗談。希望能祝你一臂之力更瞭解 DSDT 的作用。

首先,紫米不會 C 語言....也不會 Java…僅僅上過很初階 Visual Basic 網路應用程式。
所以,不用很懂程式語言…你仍然可以順利修改 DSDT。
感很像寫網頁用 html 標籤,你不用很懂為什麼要這樣寫,只要會剪剪貼貼,
然後請確認貼的位置不要太離譜....其他的事情電腦都能幫你解決…
既然這樣還有什麼好猶豫的…準備好救援系統…就放寬心一個一個修改就是了。

當然,如果你是剛接觸的朋友,紫米先建議你去看看 DSDT 修改討論 (技嘉) 02/04 更新 的帖子。
稍為瞭解一下 DSDT 大概的架構,再來進入這章閱讀…也許你會瞭解紫米在寫什麼?(這是紫米天真的幻想)

一般來說,DSDT 跟做數學題蠻像的,裡面會有 "定義" "公式" "假設" 再來就是一堆 "運算過程 " "證明題"  "是非題" 架構。
而在修改 DSDT 的過程中我們一般不會去更動 "定義" "公式" "假設" 頂多去新增 "公式" 來幫助後來的過程。
於是乎,我們的動作就是在原本交給電腦去判斷或證明的過程中順著我們的意去執行我們內定的值。
以此來讓 Mac 運作順利。那麼現在就開始進入以下說明。

1. 可驅動 AppleIntelCPUPowerManagement.kext

AppleIntelCPUPowerManagement.kext 是有關於 Intel CPU 電源管理的插件。
若不能順利加載 AppleIntelCPUPowerManagement.kext 這個插件,那麼許多功能將會喪失。
這也是當然的… CPU 的存在…相當於主機的心臟。而導致不能順利加載這個插件的原因,
一般來說,就是你使用非 Intel Core 2 Duo 以上版本的 CPU …當然 AMD、Atom、Core Solo 等等就別多想了。
當然你可以強制修改內核…來解除限制,不過之後你也只能勉強地享受 Mac OS X 系統的功能…
對此…紫米建議你…要麼就狠下心買個蘋果來玩(蘋果系統值得玩玩)
不然最起碼換成可以順利使用的 Intel Core 2 Duo 以上等級的主板來玩…
否則你拿著 那些根本就無法完善的板子來裝蘋果…我會建議你好好去玩 Win 吧…(生命就該浪費在美好的事物上!)

當然,也與主機板 BIOS 與 DSDT 中的值有關,所以請先使用 "文字編輯" 開啓 DSDT.dsl 檔案。
(當然…你可以使用你喜歡的編輯程式來編輯)
請先找尋到 Device (HPET) 這個部分,
<如果你找不到這個 HPET,請使用 PNP0103 這個值來搜尋>
然後在不更動紅色區塊的情況下,將 Device (HPET) { } 區域修改成以下的樣子。
gimmy_01.png
因為紫米的兩塊技嘉主機板紅色區塊內值都一樣,所以就直接複製貼上。
  1.                 Device (HPET)
  2.                 {
  3.                     Name (_HID, EisaId ("PNP0103"))
  4.                     Name (_STA, 0x0F)
  5.                     Name (_CRS, ResourceTemplate ()
  6.                     {
  7.                         IRQNoFlags ()
  8.                             {0}
  9.                         IRQNoFlags ()
  10.                             {8}
  11.                         Memory32Fixed (ReadWrite,
  12.                             0xFED00000,         // Address Base
  13.                             0x00000400,         // Address Length
  14.                             )
  15.                     })
  16.                 }
复制代码
有些主機板缺了下方四行幾段字符:
  1.                         IRQNoFlags ()
  2.                             {0}
  3.                         IRQNoFlags ()
  4.                             {8}
复制代码
而無法順利加載 AppleHPET.kext 而導致在加載 AppleIntelCPUPowerManagement.kext 產生 Kernel Panic 的錯誤。
接著進入主機板的 BIOS > Power Management Setup 設定以下兩個選項。

HPET Support [Enabled]
HPET Mode [64-bit mode] <若是使用 64 位元系統請改成此設定>

如果你的主機板沒有這些選項,
也可以通過修改 org.chameleon.Boot.plist 添加 ForceHPET=Yes。 可強制啓用 HPET 功能。
最後,請確認你沒有在 /Extra/Extensions 或 /System/Library/Extensions 的位置加載以下插件:

NullCPUPowerManagement.kext
Disabler.kext


這些插件都是用來阻止加載  AppleIntelCPUPowerManagement.kext 的插件。

<驗證方式>
gimmy_02.png
Turbo Ratios 的值沒有一定,
舊的 Core i7 9XX 系列是 1112
新的 Core i7 2XXX 系列是 6689
如果值不是以上兩種也請不要懷疑,就紫米查看 iMac Core i5 2.7 GHz,
Turbo Ratios 的值為 159A,所以一目前看來值變動很大。

2. 重新啓動不重置 BIOS

因為技嘉主機板使用 ACPI 1.0 的規範,在 DSDT 中可以看到 32-bit table (V1), no 64-bit math support。
也因此在加載 AppleRTC.kext 需要修改長度 0x04 變成 0x02。

請先使用 "文字編輯" 開啓 DSDT.dsl 檔案。並找到 Device (RTC) { } 這個區域。
<如果你找不到這個 RTC,請使用 PNP0B00 這個值來搜尋>
在不修改紅色區塊的情況下修改成以下的樣子。
gimmy_03.png
以下提供紫米的參數:
  1.                 Device (RTC)
  2.                 {
  3.                     Name (_HID, EisaId ("PNP0B00"))
  4.                     Name (_CRS, ResourceTemplate ()
  5.                     {
  6.                         IO (Decode16,
  7.                             0x0070,             // Range Minimum
  8.                             0x0070,             // Range Maximum
  9.                             0x00,               // Alignment
  10.                             0x02,               // Length
  11.                             )
  12.                     })
  13.                 }
复制代码
主要是把原本的
                            0x04,               // Length
改成
                            0x02,               // Length
這樣就行了。

然而升級到 Lion 後,你可能會遇上…睡眠然後喚醒之後執行重新啓動會發生重置 BIOS 的情況。
原因是 Lion 的 AppleRTC.kext 已經有些更動導致以上狀況發生。
所以,有兩種解決方式:

(1)使用舊版的 AppleRTC.kext

(2)使用終端機指令修改 AppleRTC.kext

開啓 "終端機"後,輸入以下指令:
  1. sudo perl -pi -e 's|\x75\x30\x44\x89\xf8|\xeb\x30\x44\x89\xf8|; s|\x75\x3d\x8b\x75\x08|\xeb\x3d\x8b\x75\x08|' /System/Library/Extensions/AppleRTC.kext/Contents/MacOS/AppleRTC
复制代码
紫米是建議使用方法(2),
但無論是哪個方法,只要以後軟體更新有更動到  AppleRTC.kext 勢必都要再做一次以上的動作。

3. 磁碟內建識別

一般來說,黑 Mac 的磁碟在沒有修改的狀態會顯示成橙黃色外接硬碟。
所以需要透過修改裝置 ID,讓 SATA ICHX 辨識為 ESB2 AHCI 即可顯示為內建。
這裡究竟為什麼除了 ESB2 AHCI 外其他任一裝置代碼都會變成橙黃色外接硬碟的原因目前還不知。

一般來說技嘉的 SATA 位置在 Device (IDE1)
再者,使用 "文字編輯" 開啓 DSDT.dsl 檔案。並找到 Device (IDE1) { } 這個區域。
<如果你找不到這個 IDE1,請使用 0x001F0002 這個值來搜尋。>
添加 Method (_DSM, 4, NotSerialized) { } 至其中:
gimmy_17.png

Method (_DSM, 4, NotSerialized) { } 參數:
  1.                 Method (_DSM, 4, NotSerialized)
  2.                 {
  3.                     Store (Package (0x02)
  4.                         {
  5.                             "device-id",
  6.                             Buffer (0x04)
  7.                             {
  8.                                 0x81, 0x26, 0x00, 0x00
  9.                             }
  10.                         }, Local0)
  11.                     DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
  12.                     Return (Local0)
  13.                 }
复制代码
因為參數使用到 DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)),
這是呼叫 "DTGP 函數" 的指令,可以理解為這裡需要一個名為 "DTGP" 的公式來幫忙運算結果。
但是這是蘋果特有的 "公式",一般 PC 不會出現,如果不補上,DSDT 就會出錯。
所以需要補上 Mac 的 DSDT 獨特的 Method (DTGP, 5, NotSerialized) { } 來完整指令過程,
一般 DSDT 中較前方的位置會有許多 Method (XXX, X, XXX...) { } 格式的如前面紫米所說類似 “公式” 的函數群。
你只要把以下紅色區塊的位置的 Method (DTGP, 5, NotSerialized) { } 添加進去即可。
gimmy_11.png
Method (DTGP, 5, NotSerialized) { } :
  1.     Method (DTGP, 5, NotSerialized)
  2.     {
  3.         If (LEqual (Arg0, Buffer (0x10)
  4.                 {
  5.                     /* 0000 */    0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
  6.                     /* 0008 */    0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
  7.                 }))
  8.         {
  9.             If (LEqual (Arg1, One))
  10.             {
  11.                 If (LEqual (Arg2, Zero))
  12.                 {
  13.                     Store (Buffer (One)
  14.                         {
  15.                             0x03
  16.                         }, Arg4)
  17.                     Return (One)
  18.                 }

  19.                 If (LEqual (Arg2, One))
  20.                 {
  21.                     Return (One)
  22.                 }
  23.             }
  24.         }

  25.         Store (Buffer (One)
  26.             {
  27.                 0x00
  28.             }, Arg4)
  29.         Return (Zero)
  30.     }
复制代码
4. 網路卡識別

網路卡識別不是驅動教學,只是讓網路卡可以成為內建識別。
網路卡內建識別了解決某些程式需要連接網路卻無法正常連接。(如:App Srore)
而此番修改的手法只是類似預先替網路卡為之所在位置作命名。
這樣 Mac 系統就會認定此張網路卡是內建。

要修改 DSDT 前,需要先驅動網路卡,因為 GA-965P-DS4 的網路卡可以原生驅動。
所以在此謹介紹 GA-EX58-UD5 的網路驅動方式。
首先,請先選擇你要安裝的驅動 RealtekR1000SL.kext 或 RealtekRTL81xx.kext。
目前的 RealtekRTL81xx.kext 有自動安裝版了,所以紫米只就 RealtekR1000SL.kext 來說明。
請先開啟 "終端機" 鍵入以下指令執行安裝動作:
gimmy_04.png
  1. sudo cp -R + "拖曳檔案" + /System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns
复制代码
在使用以下指令重建 Cache:<這個指令非常重要,重建 Cache 後,重新啓動新加入驅動才能被加載>
gimmy_05.png
  1. sudo touch /System/Library/Extensions
复制代码
接著,請使用 IORegistryExplorer.app 查詢網路卡的位置。
gimmy_12.png
<若你有安裝 Xcode,可以在 /Developer/Applications/Utilities 發現它>
gimmy_06.png
一般來說技嘉的網路卡位置在 Device (PEX4)
再者,使用 "文字編輯" 開啓 DSDT.dsl 檔案。並找到 Device (PEX4) { } 這個區域。

在 Device (PEX4) { } 內添加參數 < GA-965P-DS4 >
gimmy_07.png

在 Device (PEX4) { } 內添加參數 < GA-EX58-UD5 >
gimmy_08.png gimmy_09.png
以下兩組參數其實各自 MacPro 5,1 與 iMac 8,1 的 DSDT 擷取。

參數 < GA-965P-DS4 >
  1.                 Device (GIGE)
  2.                 {
  3.                     Name (_ADR, Zero)
  4.                     Name (_PRW, Package (0x02)
  5.                     {
  6.                         0x09,
  7.                         0x03
  8.                     })
  9.                 }
复制代码
參數 < GA-EX58-UD5 >
  1.                 Device (ETH0)
  2.                 {
  3.                     Name (_ADR, Zero)
  4.                     Name (_PRW, Package (0x02)
  5.                     {
  6.                         0x09,
  7.                         0x03
  8.                     })
  9.                     Method (_DSM, 4, NotSerialized)
  10.                     {
  11.                         Store (Package (0x02)
  12.                             {
  13.                                 "location",
  14.                                 Buffer (0x02)
  15.                                 {
  16.                                     "1"
  17.                                 }
  18.                             }, Local0)
  19.                         DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
  20.                         Return (Local0)
  21.                     }
  22.                 }
复制代码
  1.                 Device (ETH1)
  2.                 {
  3.                     Name (_ADR, Zero)
  4.                     Name (_PRW, Package (0x02)
  5.                     {
  6.                         0x09,
  7.                         0x03
  8.                     })
  9.                     Method (_DSM, 4, NotSerialized)
  10.                     {
  11.                         Store (Package (0x02)
  12.                             {
  13.                                 "location",
  14.                                 Buffer (0x02)
  15.                                 {
  16.                                     "2"
  17.                                 }
  18.                             }, Local0)
  19.                         DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
  20.                         Return (Local0)
  21.                     }
  22.                 }
复制代码
因為 GA-EX58-UD5 的參數使用到 DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)),
這是呼叫 "DTGP 函數" 的指令,可以理解為這裡需要一個名為 "DTGP" 的公式來幫忙運算結果。
但是這是蘋果特有的 "公式",一般 PC 不會出現,如果不補上,DSDT 就會出錯。
所以請至 3. 磁碟內建識別 後面,複製 Method (DTGP, 5, NotSerialized) { } 並貼上來完整指令過程。
<如果你已經在 3. 磁碟內建識別 操作過此項步驟,則可以略過。不需重復此步驟。>

基本上 GIGE、ETH0、ETH1 只是一個命名,並沒有規定一定得這樣。
這些名稱只是跟著 Mac 裡面的參數來命名。

<驗證方式>
gimmy_10.png

5. kernel.log 無 FireWire 錯誤訊息

Mac OS X 系統在開機時會去讀取 FireWire 接口,因為 Mac 的 DSDT 有針對這個部分寫入一些參數是一般 PC 所沒有。
因此,會導致黑 Mac 在開機時會出現錯誤訊息。

開啟 IORegistryExplorer.app 查詢 FireWire 所在位置,
<非技嘉主機板,也許你的名稱就不是 HUB0>
gimmy_14.png
將查詢到的值 (6) 以及裝置順序 PCI0 -> HUB0 -> FRWR 註記起來。
<非技嘉主機板,也許你的名稱就不是 0x00060000 >
<當然這邊你的路徑與值不會跟紫米一樣,如果出現是 pci-bridge 或 pciXXXX-XXXX 也別緊張,>
<之後,你都可以做命名的動作。>

接著,使用 "文字編輯" 開啓 DSDT.dsl 檔案。並找到 Device (HUB0) { } 這個區域。
<如果你找不到這個 HUB0,請使用 0x001E000 這個值來搜尋,或者是你剛剛搜尋的有命名的裝置名稱。>
添加 Device (FRWR) { } 至其中。
gimmy_13.png

Device (FRWR) { } 參數:
  1.                 Device (FRWR)
  2.                 {
  3.                     Name (_ADR, 0x00060000)
  4.                     Method (_DSM, 4, NotSerialized)
  5.                     {
  6.                         Store (Package (0x02)
  7.                             {
  8.                                "fwhub",
  9.                                 Buffer (0x04)
  10.                                 {
  11.                                     0x00, 0x00, 0x00, 0x00
  12.                                 }
  13.                             }, Local0)
  14.                         DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
  15.                         Return (Local0)
  16.                     }
  17.                 }
复制代码
接著,找到 Scope (_GPE) { } 這個區域。
添加 Method (_L1A, 0, NotSerialized) { } 至其中。
gimmy_15.png

Method (_L1A, 0, NotSerialized) { } 參數:
  1.         Method (_L1A, 0, NotSerialized)
  2.         {
  3.             Notify (\_SB.PCI0.HUB0.FRWR, Zero)
  4.         }
复制代码
<請務必確認 \_SB.PCI0.HUB0.FRWR 裝置的順序與名稱是否與之前添加 Device (FRWR) 相符。>

最後,因為參數使用到 DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)),
這是呼叫 "DTGP 函數" 的指令,可以理解為這裡需要一個名為 "DTGP" 的公式來幫忙運算結果。
但是這是蘋果特有的 "公式",一般 PC 不會出現,如果不補上,DSDT 就會出錯。
所以請至 3. 磁碟內建識別 後面,複製 Method (DTGP, 5, NotSerialized) { } 並貼上來完整指令過程。
<如果你已經在 3. 磁碟內建識別 操作過此項步驟,則可以略過。不需重復此步驟。>

<驗證方式>
gimmy_16.png

6. USB 識別正確識別為內建

USB 若能識別為內建可以讓睡眠喚醒後不會出現裝置未正常退出訊息外,也能解決部分睡眠時立即喚醒的問題。
而部分會出現 USB 為外接狀態多半是因為 PC 某些位置的裝置識別碼並不是 Mac 所使用。
而導致 Mac 系統認為接口是額外接上去的。此時,只要針對部分作修改即可。

一般來說 USB 位置與順序為:

表格說明

裝置位址

ICH10 裝置代碼

ICH8 裝置代碼


0x001D0000 0x001D0001 0x001D00020x001A0000 0x001A00001 0x001A000020x001D000070x001A00007

USB0
0x3a34

USB1
0x3a35

USB2
0x3a36

USB3
0x3a37

USB4
0x3a38

USB5
0x3a39

USBE
0x3a3A

USE2
0x3a3C

USB0
0x2830

USB1
0x2831

USB2
0x2832

USB3
0x2834

USB4
0x2835

USBE
0x2836

USE2
0x283A


接著,將沒有識別為內建部分依照第一列的位址對應以下硬體裝置 ID,
然後在 DSDT 裡加上參數得以欺騙系統識別 USB 為內建。
使用 "文字編輯" 開啓 DSDT.dsl 檔案。
並找到 0x001D0000 這個區域添加 Method (_DSM, 4, NotSerialized) { } 參數:
gimmy_18.png

Method (_DSM, 4, NotSerialized) { } 參數:
  1.                 Method (_DSM, 4, NotSerialized)
  2.                 {
  3.                     Store (Package (0x02)
  4.                         {
  5.                            "device-id",
  6.                             Buffer (0x04)
  7.                             {
  8.                                 0x34, 0x3A, 0x00, 0x00
  9.                             }
  10.                         }, Local0)
  11.                     DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
  12.                     Return (Local0)
  13.                 }
复制代码
以上 0x34, 0x3A, 0x00, 0x00 請依據表格替換成需要參數。

然而,也有像 ICH8R 的高速 USB 2.0 接口雖然位置對了,但仍然會被顯示為外接。就需要在額外做些修改。
請對照 0x001D00007、0x001A00007 這兩個管理 USB 2.0 的裝置並添加以下參數:

USBE:
  1.                 Method (_DSM, 4, NotSerialized)
  2.                 {
  3.                     Store (Package (0x04)
  4.                         {
  5.                             "AAPL,clock-id",
  6.                             Buffer (One)
  7.                             {
  8.                                 0x01
  9.                             },

  10.                             "device_type",
  11.                             Buffer (0x05)
  12.                             {
  13.                                 "EHCI"
  14.                             }
  15.                         }, Local0)
  16.                     DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
  17.                     Return (Local0)
  18.                 }
复制代码
USE2:
  1.                 Method (_DSM, 4, NotSerialized)
  2.                 {
  3.                     Store (Package (0x04)
  4.                         {
  5.                             "AAPL,clock-id",
  6.                             Buffer (One)
  7.                             {
  8.                                 0x02
  9.                             },

  10.                             "device_type",
  11.                             Buffer (0x05)
  12.                             {
  13.                                 "EHCI"
  14.                             }
  15.                         }, Local0)
  16.                     DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
  17.                     Return (Local0)
  18.                 }
复制代码
如果有需要添加裝置參數和這個額外參數,請務必合併兩項(舉例):
  1.                 Method (_DSM, 4, NotSerialized)
  2.                 {
  3.                     Store (Package (0x06)
  4.                         {
  5.                            "device-id",
  6.                             Buffer (0x04)
  7.                             {
  8.                                 0x36, 0x3A, 0x00, 0x00
  9.                             },

  10.                             "AAPL,clock-id",
  11.                             Buffer (One)
  12.                             {
  13.                                 0x01
  14.                             },

  15.                             "device_type",
  16.                             Buffer (0x05)
  17.                             {
  18.                                 "EHCI"
  19.                             }
  20.                         }, Local0)
  21.                     DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
  22.                     Return (Local0)
  23.                 }
复制代码
因為參數使用到 DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)),
這是呼叫 "DTGP 函數" 的指令,可以理解為這裡需要一個名為 "DTGP" 的公式來幫忙運算結果。
但是這是蘋果特有的 "公式",一般 PC 不會出現,如果不補上,DSDT 就會出錯。
所以請至 3. 磁碟內建識別 後面,複製 Method (DTGP, 5, NotSerialized) { } 並貼上來完整指令過程。
<如果你已經在 3. 磁碟內建識別 操作過此項步驟,則可以略過。不需重復此步驟。>

<驗證方式>
gimmy_19.png

7.可關機斷電

承接先前說明的,黑 Mac 在電源管理這個部分是有些問題的。
先前的重新啓動可以透過 Chameleon 來解決,但是關機的部分就必須花一些心思編輯 DSDT。
此次的編輯無法透過對照原 Mac DSDT 來修改,以下的參數及修改說明。
完全是國外的高手從 ACPI 裡面尋找到控制關機斷電的參數值,才造就以下成果。

首先,必須先找到控制關機斷電的參數值,然後將此值定義於 DSDT 中。
一般在 DSDT 前面部分就存在許多定義值。請在合適位置添加紅色區塊的定義值:
gimmy_20.png
定義值為:
  1.     OperationRegion (PMRS, SystemIO, 0x0430, One)
  2.     Field (PMRS, ByteAcc, NoLock, Preserve)
  3.     {
  4.             ,   4,
  5.         SLPE,   1
  6.     }
复制代码
接著找到控制控制關機與睡眠的函數 Method (_PTS, 1, NotSerialized) { },
此處會進行是否進行關機的判斷,所以,我們必須寫入一些函數來告知系統,
如果,執行關機動作時,給予 SLPE 一個值即可控制系統關機:
gimmy_21.png
函數值:
  1.         If (LEqual (Arg0, 0x05))
  2.         {
  3.             Store (0x99, SMIP)
  4.             Store (Zero, SLPE)
  5.             Sleep (0x10)
  6.         }
复制代码
8. 可手動睡眠
9. 可鍵盤、滑鼠、電源鍵喚醒

因為,這兩項修改牽涉項目雷同,所以一併說明。

首先,PC 和 Mac 預設的睡眠方式不同...,也就是 S1 與 S3 的不同。(到了 Win7 預設也是 S3)
不過一般主機板的設定可能仍停留在 S1,所以請進入 BIOS 做設定。
找到 Power Management Setup 的 ACPI Suspend Type 將 S1 (POS) 改為 S3 (STR)
並順便將 Soft-Off by PWR-BTTN 由 Instant-Off 改為 Delay 4 Sec.
<以上 BIOS 操作是以技嘉為準,其他主板請找到相關參數改為上述的值>
<當然,筆記本的 BIOS 也許沒有這麼細的選系可供調整>


接著跟著修改 DSDT 中的 Device (USBX) { } 各個項目,
因為參數裡面的涉及範圍很多,我想先貼上所有參數再一一說明。
GA-EX58-UD5 的參數 <參考 Mac Pro 5,1 ICH10 修改模樣>
  1.             Device (USB0)
  2.             {
  3.                 Name (_ADR, 0x001D0000)
  4.                 Name (_PRW, Package (0x02)
  5.                 {
  6.                     0x03,
  7.                     0x03
  8.                 })
  9.                 OperationRegion (U1CS, PCI_Config, 0xC4, 0x04)
  10.                 Field (U1CS, DWordAcc, NoLock, Preserve)
  11.                 {
  12.                     U1EN,   2
  13.                 }

  14.                 Method (_PSW, 1, NotSerialized)
  15.                 {
  16.                     If (Arg0)
  17.                     {
  18.                         Store (0x03, U1EN)
  19.                     }
  20.                     Else
  21.                     {
  22.                         Store (Zero, U1EN)
  23.                     }
  24.                 }
  25.             }

  26.             Device (USB1)
  27.             {
  28.                 Name (_ADR, 0x001D0001)
  29.                 Name (_PRW, Package (0x02)
  30.                 {
  31.                     0x04,
  32.                     0x03
  33.                 })
  34.                 OperationRegion (U2CS, PCI_Config, 0xC4, 0x04)
  35.                 Field (U2CS, DWordAcc, NoLock, Preserve)
  36.                 {
  37.                     U2EN,   2
  38.                 }

  39.                 Method (_PSW, 1, NotSerialized)
  40.                 {
  41.                     If (Arg0)
  42.                     {
  43.                         Store (0x03, U2EN)
  44.                     }
  45.                     Else
  46.                     {
  47.                         Store (Zero, U2EN)
  48.                     }
  49.                 }
  50.             }

  51.             Device (USB2)
  52.             {
  53.                 Name (_ADR, 0x001D0002)
  54.                 Name (_PRW, Package (0x02)
  55.                 {
  56.                     0x0C,
  57.                     0x03
  58.                 })
  59.                 OperationRegion (U2CS, PCI_Config, 0xC4, 0x04)
  60.                 Field (U2CS, DWordAcc, NoLock, Preserve)
  61.                 {
  62.                     U3EN,   2
  63.                 }

  64.                 Method (_PSW, 1, NotSerialized)
  65.                 {
  66.                     If (Arg0)
  67.                     {
  68.                         Store (0x03, U3EN)
  69.                     }
  70.                     Else
  71.                     {
  72.                         Store (Zero, U3EN)
  73.                     }
  74.                 }
  75.             }

  76.             Device (USB3)
  77.             {
  78.                 Name (_ADR, 0x001A0000)
  79.                 Name (_PRW, Package (0x02)
  80.                 {
  81.                     0x0E,
  82.                     0x03
  83.                 })
  84.                 OperationRegion (U4CS, PCI_Config, 0xC4, 0x04)
  85.                 Field (U4CS, DWordAcc, NoLock, Preserve)
  86.                 {
  87.                     U4EN,   2
  88.                 }

  89.                 Method (_PSW, 1, NotSerialized)
  90.                 {
  91.                     If (Arg0)
  92.                     {
  93.                         Store (0x03, U4EN)
  94.                     }
  95.                     Else
  96.                     {
  97.                         Store (Zero, U4EN)
  98.                     }
  99.                 }
  100.             }

  101.             Device (USB4)
  102.             {
  103.                 Name (_ADR, 0x001A0001)
  104.                 Name (_PRW, Package (0x02)
  105.                 {
  106.                     0x05,
  107.                     0x03
  108.                 })
  109.                 OperationRegion (U5CS, PCI_Config, 0xC4, 0x04)
  110.                 Field (U5CS, DWordAcc, NoLock, Preserve)
  111.                 {
  112.                     U5EN,   2
  113.                 }

  114.                 Method (_PSW, 1, NotSerialized)
  115.                 {
  116.                     If (Arg0)
  117.                     {
  118.                         Store (0x03, U5EN)
  119.                     }
  120.                     Else
  121.                     {
  122.                         Store (Zero, U5EN)
  123.                     }
  124.                 }
  125.             }

  126.             Device (USB5)
  127.             {
  128.                 Name (_ADR, 0x001A0002)
  129.                 Name (_PRW, Package (0x02)
  130.                 {
  131.                     0x20,
  132.                     0x03
  133.                 })
  134.                 OperationRegion (U6CS, PCI_Config, 0xC4, 0x04)
  135.                 Field (U6CS, DWordAcc, NoLock, Preserve)
  136.                 {
  137.                     U6EN,   2
  138.                 }

  139.                 Method (_PSW, 1, NotSerialized)
  140.                 {
  141.                     If (Arg0)
  142.                     {
  143.                         Store (0x03, U6EN)
  144.                     }
  145.                     Else
  146.                     {
  147.                         Store (Zero, U6EN)
  148.                     }
  149.                 }
  150.             }

  151.             Device (USBE)
  152.             {
  153.                 Name (_ADR, 0x001D0007)
  154.                 Name (_PRW, Package (0x02)
  155.                 {
  156.                     0x0D,
  157.                     0x03
  158.                 })
  159.                 OperationRegion (U7CS, PCI_Config, 0x54, 0x02)
  160.                 Field (U7CS, WordAcc, NoLock, Preserve)
  161.                 {
  162.                         ,   15,
  163.                     PMES,   1
  164.                 }

  165.                 OperationRegion (USBR, PCI_Config, 0x62, 0x02)
  166.                 Field (USBR, AnyAcc, NoLock, Preserve)
  167.                 {
  168.                     URE2,   9
  169.                 }

  170.                 Method (_PSW, 1, NotSerialized)
  171.                 {
  172.                     If (LEqual (Arg0, Zero))
  173.                     {
  174.                         Store (Zero, URE2)
  175.                     }

  176.                     If (LEqual (Arg0, One))
  177.                     {
  178.                         Store (0x01FF, URE2)
  179.                     }
  180.                 }

  181.                 Method (_DSM, 4, NotSerialized)
  182.                 {
  183.                     Store (Package (0x07)
  184.                         {
  185.                             "AAPL,current-available",
  186.                             0x05DC,
  187.                             "AAPL,current-extra",
  188.                             0x04B0,
  189.                             "AAPL,current-in-sleep",
  190.                             0x09C4,
  191.                             Buffer (One)
  192.                             {
  193.                                 0x00
  194.                             }
  195.                         }, Local0)
  196.                     DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
  197.                     Return (Local0)
  198.                 }
  199.             }

  200.             Device (USE2)
  201.             {
  202.                 Name (_ADR, 0x001A0007)
  203.                 Name (_PRW, Package (0x02)
  204.                 {
  205.                     0x0D,
  206.                     0x03
  207.                 })
  208.                 OperationRegion (U7CS, PCI_Config, 0x54, 0x02)
  209.                 Field (U7CS, WordAcc, NoLock, Preserve)
  210.                 {
  211.                         ,   15,
  212.                     PMES,   1
  213.                 }

  214.                 OperationRegion (USBR, PCI_Config, 0x62, 0x02)
  215.                 Field (USBR, AnyAcc, NoLock, Preserve)
  216.                 {
  217.                     URE2,   9
  218.                 }

  219.                 Method (_PSW, 1, NotSerialized)
  220.                 {
  221.                     If (LEqual (Arg0, Zero))
  222.                     {
  223.                         Store (Zero, URE2)
  224.                     }

  225.                     If (LEqual (Arg0, One))
  226.                     {
  227.                         Store (0x01FF, URE2)
  228.                     }
  229.                 }

  230.                 Method (_DSM, 4, NotSerialized)
  231.                 {
  232.                     Store (Package (0x07)
  233.                         {
  234.                             "AAPL,current-available",
  235.                             0x05DC,
  236.                             "AAPL,current-extra",
  237.                             0x04B0,
  238.                             "AAPL,current-in-sleep",
  239.                             0x09C4,
  240.                             Buffer (One)
  241.                             {
  242.                                 0x00
  243.                             }
  244.                         }, Local0)
  245.                     DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
  246.                     Return (Local0)
  247.                 }
  248.             }
复制代码
GA-965P-DS4 的參數 <參考 iMac 8,1 ICH8 修改模樣>
  1.             Device (USB0)
  2.             {
  3.                 Name (_ADR, 0x001D0000)
  4.                 OperationRegion (U1CS, PCI_Config, 0xC4, 0x04)
  5.                 Field (U1CS, DWordAcc, NoLock, Preserve)
  6.                 {
  7.                     U1EN,   2
  8.                 }

  9.                 Name (_PRW, Package (0x02)
  10.                 {
  11.                     0x03,
  12.                     0x03
  13.                 })
  14.                 Method (_PSW, 1, NotSerialized)
  15.                 {
  16.                     If (Arg0)
  17.                     {
  18.                         Store (0x03, U1EN)
  19.                     }
  20.                     Else
  21.                     {
  22.                         Store (Zero, U1EN)
  23.                     }
  24.                 }

  25.                 Method (_S3D, 0, NotSerialized)
  26.                 {
  27.                     Return (0x03)
  28.                 }

  29.                 Method (_S4D, 0, NotSerialized)
  30.                 {
  31.                     Return (0x03)
  32.                 }
  33.             }

  34.             Device (USB1)
  35.             {
  36.                 Name (_ADR, 0x001D0001)
  37.                 OperationRegion (U2CS, PCI_Config, 0xC4, 0x04)
  38.                 Field (U2CS, DWordAcc, NoLock, Preserve)
  39.                 {
  40.                     U2EN,   2
  41.                 }

  42.                 Name (_PRW, Package (0x02)
  43.                 {
  44.                     0x04,
  45.                     0x03
  46.                 })
  47.                 Method (_PSW, 1, NotSerialized)
  48.                 {
  49.                     If (Arg0)
  50.                     {
  51.                         Store (0x03, U2EN)
  52.                     }
  53.                     Else
  54.                     {
  55.                         Store (Zero, U2EN)
  56.                     }
  57.                 }

  58.                 Method (_S3D, 0, NotSerialized)
  59.                 {
  60.                     Return (0x03)
  61.                 }

  62.                 Method (_S4D, 0, NotSerialized)
  63.                 {
  64.                     Return (0x03)
  65.                 }
  66.             }

  67.             Device (USB2)
  68.             {
  69.                 Name (_ADR, 0x001D0002)
  70.                 OperationRegion (U2CS, PCI_Config, 0xC4, 0x04)
  71.                 Field (U2CS, DWordAcc, NoLock, Preserve)
  72.                 {
  73.                     U3EN,   2
  74.                 }

  75.                 Name (_PRW, Package (0x02)
  76.                 {
  77.                     0x0C,
  78.                     0x03
  79.                 })
  80.                 Method (_PSW, 1, NotSerialized)
  81.                 {
  82.                     If (Arg0)
  83.                     {
  84.                         Store (0x03, U3EN)
  85.                     }
  86.                     Else
  87.                     {
  88.                         Store (Zero, U3EN)
  89.                     }
  90.                 }

  91.                 Method (_S3D, 0, NotSerialized)
  92.                 {
  93.                     Return (0x03)
  94.                 }

  95.                 Method (_S4D, 0, NotSerialized)
  96.                 {
  97.                     Return (0x03)
  98.                 }
  99.             }

  100.             Device (USB3)
  101.             {
  102.                 Name (_ADR, 0x001A0000)
  103.                 OperationRegion (U4CS, PCI_Config, 0xC4, 0x04)
  104.                 Field (U4CS, DWordAcc, NoLock, Preserve)
  105.                 {
  106.                     U4EN,   2
  107.                 }

  108.                 Name (_PRW, Package (0x02)
  109.                 {
  110.                     0x0E,
  111.                     0x03
  112.                 })
  113.                 Method (_PSW, 1, NotSerialized)
  114.                 {
  115.                     If (Arg0)
  116.                     {
  117.                         Store (0x03, U4EN)
  118.                     }
  119.                     Else
  120.                     {
  121.                         Store (Zero, U4EN)
  122.                     }
  123.                 }

  124.                 Method (_S3D, 0, NotSerialized)
  125.                 {
  126.                     Return (0x03)
  127.                 }

  128.                 Method (_S4D, 0, NotSerialized)
  129.                 {
  130.                     Return (0x03)
  131.                 }
  132.             }

  133.             Device (USB4)
  134.             {
  135.                 Name (_ADR, 0x001A0001)
  136.                 OperationRegion (U5CS, PCI_Config, 0xC4, 0x04)
  137.                 Field (U5CS, DWordAcc, NoLock, Preserve)
  138.                 {
  139.                     U5EN,   2
  140.                 }

  141.                 Name (_PRW, Package (0x02)
  142.                 {
  143.                     0x05,
  144.                     0x03
  145.                 })
  146.                 Method (_PSW, 1, NotSerialized)
  147.                 {
  148.                     If (Arg0)
  149.                     {
  150.                         Store (0x03, U5EN)
  151.                     }
  152.                     Else
  153.                     {
  154.                         Store (Zero, U5EN)
  155.                     }
  156.                 }

  157.                 Method (_S3D, 0, NotSerialized)
  158.                 {
  159.                     Return (0x03)
  160.                 }

  161.                 Method (_S4D, 0, NotSerialized)
  162.                 {
  163.                     Return (0x03)
  164.                 }
  165.             }

  166.             Device (USBE)
  167.             {
  168.                 Name (_ADR, 0x001D0007)
  169.                 OperationRegion (U7CS, PCI_Config, 0x54, 0x02)
  170.                 Field (U7CS, WordAcc, NoLock, Preserve)
  171.                 {
  172.                         ,   15,
  173.                     PMES,   1
  174.                 }

  175.                 Name (_PRW, Package (0x02)
  176.                 {
  177.                     0x0D,
  178.                     0x03
  179.                 })
  180.                 OperationRegion (USBR, PCI_Config, 0x62, 0x02)
  181.                 Field (USBR, AnyAcc, NoLock, Preserve)
  182.                 {
  183.                     URE2,   9
  184.                 }

  185.                 Method (_PSW, 1, NotSerialized)
  186.                 {
  187.                     If (LEqual (Arg0, Zero))
  188.                     {
  189.                         Store (Zero, URE2)
  190.                     }

  191.                     If (LEqual (Arg0, One))
  192.                     {
  193.                         Store (0x01FF, URE2)
  194.                     }
  195.                 }

  196.                 Method (_S3D, 0, NotSerialized)
  197.                 {
  198.                     Return (0x03)
  199.                 }

  200.                 Method (_S4D, 0, NotSerialized)
  201.                 {
  202.                     Return (0x03)
  203.                 }

  204.                 Method (_DSM, 4, NotSerialized)
  205.                 {
  206.                     Store (Package (0x09)
  207.                         {
  208.                             "AAPL,clock-id",
  209.                             Buffer (One)
  210.                             {
  211.                                 0x01
  212.                             },

  213.                             "AAPL,current-available",
  214.                             0x05DC,
  215.                             "AAPL,current-extra",
  216.                             0x04B0,
  217.                             "AAPL,current-in-sleep",
  218.                             0x09C4,
  219.                             Buffer (One)
  220.                             {
  221.                                 0x00
  222.                             }
  223.                         }, Local0)
  224.                     DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
  225.                     Return (Local0)
  226.                 }
  227.             }

  228.             Device (USE2)
  229.             {
  230.                 Name (_ADR, 0x001A0007)
  231.                 OperationRegion (U7CS, PCI_Config, 0x54, 0x02)
  232.                 Field (U7CS, WordAcc, NoLock, Preserve)
  233.                 {
  234.                         ,   15,
  235.                     PMES,   1
  236.                 }

  237.                 Name (_PRW, Package (0x02)
  238.                 {
  239.                     0x0D,
  240.                     0x03
  241.                 })
  242.                 OperationRegion (USBR, PCI_Config, 0x62, 0x02)
  243.                 Field (USBR, AnyAcc, NoLock, Preserve)
  244.                 {
  245.                     URE2,   9
  246.                 }

  247.                 Method (_PSW, 1, NotSerialized)
  248.                 {
  249.                     If (LEqual (Arg0, Zero))
  250.                     {
  251.                         Store (Zero, URE2)
  252.                     }

  253.                     If (LEqual (Arg0, One))
  254.                     {
  255.                         Store (0x01FF, URE2)
  256.                     }
  257.                 }

  258.                 Method (_S3D, 0, NotSerialized)
  259.                 {
  260.                     Return (0x03)
  261.                 }

  262.                 Method (_S4D, 0, NotSerialized)
  263.                 {
  264.                     Return (0x03)
  265.                 }

  266.                 Method (_DSM, 4, NotSerialized)
  267.                 {
  268.                     Store (Package (0x09)
  269.                         {
  270.                             "AAPL,clock-id",
  271.                             Buffer (One)
  272.                             {
  273.                                 0x02
  274.                             },

  275.                             "AAPL,current-available",
  276.                             0x05DC,
  277.                             "AAPL,current-extra",
  278.                             0x04B0,
  279.                             "AAPL,current-in-sleep",
  280.                             0x09C4,
  281.                             Buffer (One)
  282.                             {
  283.                                 0x00
  284.                             }
  285.                         }, Local0)
  286.                     DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
  287.                     Return (Local0)
  288.                 }
  289.             }
复制代码
為了解決睡眠喚醒後,"裝置未正常移除"...等 USB 電源供電問題之解決方案:
  1.     Scope (_GPE)
  2.     {
  3.         Method (_L03, 0, NotSerialized)
  4.         {
  5.             Notify (\_SB.PCI0.USB0, 0x02)
  6.             Notify (\_SB.PWRB, 0x02)
  7.         }

  8.         Method (_L04, 0, NotSerialized)
  9.         {
  10.             Notify (\_SB.PCI0.USB1, 0x02)
  11.             Notify (\_SB.PWRB, 0x02)
  12.         }

  13.         Method (_L0C, 0, NotSerialized)
  14.         {
  15.             Notify (\_SB.PCI0.USB2, 0x02)
  16.             Notify (\_SB.PWRB, 0x02)
  17.         }

  18.         Method (_L0E, 0, NotSerialized)
  19.         {
  20.             Notify (\_SB.PCI0.USB3, 0x02)
  21.             Notify (\_SB.PWRB, 0x02)
  22.         }

  23.         Method (_L05, 0, NotSerialized)
  24.         {
  25.             Notify (\_SB.PCI0.USB4, 0x02)
  26.             Notify (\_SB.PWRB, 0x02)
  27.         }

  28.         Method (_L20, 0, NotSerialized)
  29.         {
  30.             Notify (\_SB.PCI0.USB5, 0x02)
  31.             Notify (\_SB.PWRB, 0x02)
  32.         }

  33.         Method (_L0D, 0, NotSerialized)
  34.         {
  35.             If (\_SB.PCI0.USBE.PMES)
  36.             {
  37.                 Store (One, \_SB.PCI0.USBE.PMES)
  38.                 Notify (\_SB.PCI0.USBE, 0x02)
  39.                 Notify (\_SB.PWRB, 0x02)
  40.             }

  41.             If (\_SB.PCI0.USE2.PMES)
  42.             {
  43.                 Store (One, \_SB.PCI0.USE2.PMES)
  44.                 Notify (\_SB.PCI0.USE2, 0x02)
  45.                 Notify (\_SB.PWRB, 0x02)
  46.             }
  47.         }
  48.     }
复制代码
USB0 的 Method (_L03 之中的 3 要對應以下的,
                Name (_PRW, Package (0x02)
                {
                    0x03,
                    0x03
USB1 的 Method (_L04 之中的 4 要對應以下的,
                Name (_PRW, Package (0x02)
                {
                    0x04,
                    0x03
USB2 的 Method (_L0C 之中的 C 要對應以下的,
                Name (_PRW, Package (0x02)
                {
                    0x0C,
                    0x03
USB3 的 Method (_L0E 之中的 E 要對應以下的,
                Name (_PRW, Package (0x02)
                {
                    0x0E,
                    0x03
USB4 的 Method (_L05 之中的 5 要對應以下的,
                Name (_PRW, Package (0x02)
                {
                    0x05,
                    0x03
USBE、USE2 的 Method (_L0D 之中的 D 要對應以下的,
                Name (_PRW, Package (0x02)
                {
                    0x0D,
                    0x03

然後,在 Scope (_GPE) { } 中 USBX 項目添加 Notify (\_SB.PWRB, 0x02)。

接著,解決喚醒的部分,請尋找到 Method (_WAK, 1, NotSerialized) { } 這個控制喚醒的函數。
有些主機板並未將高速 USB 2.0 喚醒的參數 USBE、USE2 加入。
gimmy_22.png
參數:
  1.         Notify (\_SB.PCI0.USB0, Zero)
  2.         Notify (\_SB.PCI0.USB1, Zero)
  3.         Notify (\_SB.PCI0.USB2, Zero)
  4.         Notify (\_SB.PCI0.USB3, Zero)
  5.         Notify (\_SB.PCI0.USB4, Zero)
  6.         Notify (\_SB.PCI0.USBE, Zero)
  7.         Notify (\_SB.PCI0.USE2, Zero)
复制代码
以上參數,是讓使用 USB 裝置可以作為喚醒的開關。
最後,仍必須提醒因為 GA-EX58-UD5 需使用第三方驅動來去驅動。
而有相同問題的朋友會選用 Realtek 官方的 RTGMac 驅動,
在此紫米的建議是別使用經紫米反覆測試,
儘管是 2.0.6 的新版驅動仍會造成在執行喚醒時螢幕無反應黑屏。
所以,紫米推薦 Lnx2Mac 開發的 RealtekRTL81xx 0.0.90
可以至 「Realtek RTL81xx Driver 0.0.90( Lnx2Mac 開發)【09/30】」 參閱詳細說明。

<驗證方式>
gimmy_23.png


至此,第二階段修改已告一段落,實在沒辦法涵蓋許多細項說明。
紫米建議有心修改 DSDT 的朋友可以參考 Mac 的 DSDT 來針對細向作修改。
而相關 Mac 的數據可以至以下網站下載:
http://tdev.me/2010/12/apple-hardware-dumps/?lang=en
但是,紫米要提醒選擇 Mac 型號請以主機板晶片組為準,就像紫米的 GA-EX58-UD5 選用 MacPro5,1 因為兩者都是 LGA1366 X58 ICH10
而 GA-965P-DS4 選用 iMac8,1 因為兩者是 LGA775 965 ICH8M

最後,提供紫米的兩個主機板目前所用的 DSDT。
DSDT.zip (22.28 KB, 下载次数: 242)

「紫米 Lion 完善紀實之一」
「紫米 Lion 完善紀實之二」
「紫米 Lion 完善紀實之三」
15

查看全部评分

Rank: 7Rank: 7Rank: 7

UID
641064
帖子
726
PB币
2104
贡献
0
技术
34
活跃
792
沙发
发表于 2011-9-28 11:44:55 IP属地云南
紫米,期待继续!

Vico

Rank: 9

UID
542221
帖子
2170
PB币
507
贡献
0
技术
212
活跃
352

Win10先驱者 7周年庆典勋章

板凳
发表于 2011-9-28 11:59:17 IP属地山东
紫米的帖子里又有xx关键字,又被审核了。
Lion装完后能用就没怎么折腾,跟着紫米的教程再折腾一下。

点评

紫米  可以詢問一下是那些 XX 關鍵字? 這樣編輯起來很痛苦 (一"一)  发表于 2011-9-29 16:10 IP属地台湾

Rank: 5Rank: 5Rank: 5

UID
50744
帖子
834
PB币
2459
贡献
0
技术
0
活跃
237
4F
发表于 2011-9-28 12:04:13 IP属地贵州
我的硬盘橙色,怎么改都不成功,看来我还是求助了

点评

紫米  這點稍後會添加至帖子中...  发表于 2011-9-29 09:15 IP属地台湾

Rank: 11Rank: 11Rank: 11

UID
1590022
帖子
5819
PB币
15279
贡献
4
技术
527
活跃
208
5F
发表于 2011-9-28 12:09:57 IP属地广东
前排支持下吧= =

Rank: 2Rank: 2

UID
1323810
帖子
373
PB币
741
贡献
0
技术
1
活跃
70
6F
发表于 2011-9-28 12:39:37 IP属地湖南
请问我的firewire用IORegistryExplorer查看是在PEX3下,我把HUB0替换成PEX3添加后无效,该怎么添加呢

点评

紫米  可能是我說明的過於簡單... 你只要把 Device (FRWR) { } 相關參數加到 PEX3 的下(裡)面。 但要確定一下 Name (_ADR, 0x00060000) 的值是不是為 6。如果還是不確定可以截圖上來嗎?  发表于 2011-9-29 09:21 IP属地台湾

UID
2044482
帖子
5410
PB币
1310
贡献
3
技术
381
活跃
24
7F
发表于 2011-9-28 12:40:07 IP属地江苏
前排支持 广告位招租~

我要征服Mac OS X!!!!!

Rank: 9

UID
1758697
帖子
4116
PB币
262
贡献
0
技术
9
活跃
13
8F
发表于 2011-9-28 12:47:11 IP属地上海
技术性很强,努力学习中

Rank: 5Rank: 5Rank: 5

UID
136518
帖子
438
PB币
6821
贡献
0
技术
2
活跃
82

7周年庆典勋章

9F
发表于 2011-9-28 12:51:36 IP属地广东
支持你,等你有空後才幫我,哈

Rank: 1

UID
1018243
帖子
57
PB币
16
贡献
0
技术
0
活跃
212
10F
发表于 2011-9-28 13:04:49 IP属地美国
很难看得明

中将

Rank: 7Rank: 7Rank: 7

UID
1405907
帖子
2083
PB币
1552
贡献
0
技术
27
活跃
24
11F
发表于 2011-9-28 13:25:19 IP属地广西
前排支持啊

Rank: 11Rank: 11Rank: 11

UID
714180
帖子
9573
PB币
2150
贡献
0
技术
7
活跃
2803
12F
发表于 2011-9-28 13:30:01 IP属地湖北
乱七八糟,看不明白。

Rank: 7Rank: 7Rank: 7

UID
196544
帖子
2363
PB币
5331
贡献
0
技术
176
活跃
590
13F
发表于 2011-9-28 13:56:46 IP属地广东
支持一下,好教程。

Rank: 1

UID
1037898
帖子
86
PB币
142
贡献
0
技术
0
活跃
8
14F
发表于 2011-9-28 14:02:10 IP属地上海
本帖最后由 shihao5418 于 2011-9-28 14:07 编辑

这个帖子编辑过了吗? 不见了之一

Rank: 2Rank: 2

UID
2016124
帖子
429
PB币
296
贡献
0
技术
1
活跃
0
15F
发表于 2011-9-28 14:35:21 IP属地湖北
太强大的教程了,只可惜俺的显卡是悲剧呀?

Rank: 5Rank: 5Rank: 5

UID
1791389
帖子
555
PB币
845
贡献
0
技术
70
活跃
514
16F
发表于 2011-9-28 14:35:29 IP属地福建
收藏备用

KL

Rank: 5Rank: 5Rank: 5

UID
1685444
帖子
84
PB币
79
贡献
0
技术
2
活跃
76

7周年庆典勋章

17F
发表于 2011-9-28 14:54:06 IP属地辽宁
目前还处于学习阶段,还要多拜读楼主的帖子啊

Rank: 2Rank: 2

UID
1291673
帖子
194
PB币
425
贡献
0
技术
1
活跃
86
18F
发表于 2011-9-28 15:04:39 IP属地陕西
紫米大师级的人物!您的只是是从哪得来的?简直要顶礼膜拜!关于显卡opencl的支持与否友们有研究?

点评

紫米  你是對黑 Mac 可否支援有疑慮嗎?可以去 http://www.insanelymac.com/forum/index.php?showtopic=268209 試試看。  发表于 2011-10-4 23:42 IP属地台湾

系统玩客

Rank: 9

UID
57589
帖子
454
PB币
2314
贡献
0
技术
35
活跃
874
19F
发表于 2011-9-28 15:25:56 IP属地广东
强烈支持

Rank: 9

UID
893146
帖子
2438
PB币
7527
贡献
0
技术
33
活跃
1227
20F
发表于 2011-9-28 15:41:30 IP属地湖南
重新编辑过了吗?

还是继续收藏,学习。
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛