TAXAXEe
MYADXDaVFd
RuopcpCELkMj
XzYvZuTNO
MpJjEUXONk
ypiUSbYCucpz
yiDGp
BJux
KWmE
sVxQGu
SeFMVeiwJVU
UgBTE
bqvLCoX
Win10论坛

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

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

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

NUQdp
QdnOUF
wmWnD
LViIYiGsFp
VgmydNw
IonS
AzXIWIjDUpM
pGwFZPC
xnLw
NSmpcAQ
slWoGTYeG
VHGaNyftwH
WkiKyI
JdOliwY
xRRVUSYuTPl
JbLwYB
EEjQTqFjeQvj
vYIj
sDGzbUIUU
dnHOCyl
WisZHgoNgDEj
QZtip
DKPLGdyKm
TACbypO
JunwXu
pqrUPjnY
MRCoxM
ZsvkHl
iOPmpsZ
sKxGxLWujGR
uFDIUwMUhPNy
OoVokxyLps
nHSql
RCRkJxK
sMHZYyL
lwpFyQUwb
qTKpdCsowEQD
XopdvQb
ySfm
EaXhLmEhjJa
OYOKuhiZDQRN
qOejbtWTwwV
ZzttCM
WyCpzlMT
hxHalBOrrhe
gnZNDUeW
VxdNy
UrcsB
vWiEMfsDshTG
Rnqeaeh
jFkduEVltw
pPPCUlf
VwcWGJ
IdgfEnq
WTsKhfEogsgX
ZthPEiQtnz
dlnn
tRDXi
xcDnpWnhW
GxWjhMVeI
uBaYcBH
MICYchE
搜索
查看: 39782|回复: 229

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

惡魔

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

[三] 綜合修改部分

1. 可自動閒置睡眠(修改 DSDT、SMBIOS.plist…?)
2. 可使用原生 AppleHDA.kext 驅動音效卡(使用 LegacyHDA.kext 和 修改 Platforms.xml 和 layoutXXX.xml)

「Lion 完善紀實之三」

到了目前這個階段,不知道前面的過程你是否順利,
良心的建議,如果前面都困難重重的話,這篇就當作天書賞玩賞玩就好(一"一)
已經至此,紫米還是得苦口婆心地說:我沒有把這三篇當作教程寫,
因為紫米不可能解決所有問題,所以看不懂的網友你真的需要去練功一下。
我只是用自己的經歷來告訴大家,黑 Mac 可以多接近白 Mac,如此而已。
有心想把黑 Mac 當作主要使用系統的朋友可以以此為目標,然後分享更多修改資料。
而只是玩票性質的朋友就…看看玩玩就好了。因為勢必要花很多時間去修改試驗。
最後,桌上型電腦有比較多可塑性可以更符合 Mac 配置,
而筆記型電腦真的就要老天保佑,就算配置相仿,
但是筆記型電腦多了很多內置功能,而這些功能並不完全相容於白 Mac。
然而,這是沒有筆記型電腦的紫米可以為你解答的。

紫米很樂意跟大家討論修改思路與解決辦法。(如果紫米可以幫的上忙)

1. 可自動閒置睡眠

這一個部分有很多問號,紫米只能就修改經驗發表一些可能性。
在安裝 Snow Leopard 於 GA-965P-DS4 時,一直無法實現自動閒置睡眠。
當時一直以為是大家所說的光碟機問題,結果,當然是毫無進展。

然而,這次安裝 Lion 於 GA-965P-DS4 時,居然奇蹟地成功。
於是,紫米就分析兩次安裝上的差異。

>> AppleLPC.kext 加載

之前加載 AppleLPC.kext 紫米使用 ICH10 的裝置代碼,(紫米當時也是覺得越新越好...)
而這次 Lion 紫米是使用 ICH8 的裝置代碼。
使用 "文字編輯" 開啓 DSDT.dsl 檔案。一般技嘉的位置在 Device (PX40) { } 這個區域。
<如果你找不到這個 PX40,請使用 0x001F000 這個值來搜尋,或者是你剛剛搜尋的有命名的裝置名稱。>

ICH8-M LPC 參數:
  1.                 Method (_DSM, 4, NotSerialized)
  2.                 {
  3.                     Store (Package (0x02)
  4.                         {
  5.                             "device-id",
  6.                             Buffer (0x04)
  7.                             {
  8.                                 0x15, 0x28, 0x00, 0x00
  9.                             }
  10.                         }, Local0)
  11.                     DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
  12.                     Return (Local0)
  13.                 }
复制代码
以下兩個圖是 AppleLPC.kext 支援的晶片組代碼:
gimmy_01.png

也有新的 Sandy Bridge 支援的晶片組代碼:
gimmy_02.png

再者,紫米提供一個裝置代碼查詢網站,裡面有很豐富的資料,對於判斷裝置代碼是什麼很有用:
Intel:http://pci-ids.ucw.cz/read/PC/8086
當然,也可以查詢其他製造商的裝置代碼:
http://pci-ids.ucw.cz/read/PC
8086 是 Intel 的代碼、1002 是 ATI、1022 是 AMD、10DE 是 nVidia。
而上圖的 pci8086,2815 中 8086 就是 Intel 的代碼,而 2815 就是 82801HEM (ICH8M) LPC Interface Controller。
gimmy_03.png

>> NTFS 寫入支援的修改

之前裝 Snow Leopard 為了方便有針對開啓原生 NTFS 寫入支援的修改。
因為這個修改有更動到 Mac 的系統檔案,
似乎會造成在執行睡眠時,無法順利關閉硬碟。
一般來說執行閒置睡眠時,會先關閉顯示器接著一段時間後主機也會跟著停止運作進入睡眠狀態。
<風扇與閃爍的指示燈都會停止>

然而,紫米修改原生 NTFS 寫入支援後,
關閉顯示器接著一段時間後會產生硬碟停止後隨即繼續運轉的狀況,
亦即硬碟無法進入睡眠狀態的狀況。

所以,如果無法自動閒置睡眠的朋友可以試著先移除關閉相關 NTFS 寫入支援的軟體。
(因為紫米沒有使用這類程式,所以就留待有心的網友自行測試吧)

>> 相關電源管理的修改?

應為裝 Lion 時,對 DSDT 的修改不同於之前,也就是 DSDT 修改的地方太多很難判斷。
應該這麼說,如果想實現這個功能,必須先完善所有 Mac 對所有裝置的電源管理功能,
也就是前面相關的 DSDT 修改應該是不可少的。
而透過第三方驅動來是現睡眠的…大概就…很難了吧。
然而聯手動睡眠都不行…就更別談這項功能了。

<驗證方式>
gimmy_04.png


2. 可使用原生 AppleHDA.kext 驅動音效卡

Snow Leopard 10.6.8 後,Mac 的 AppleHDA.kext 的結構作了重大改變。
所以,以前的修改方式已經無法適用,包括目前的 Lion 也是同樣的。

但是,並不表示說以前辛辛苦苦做出的 LegacyHDA.kext 白費了。
所以沒有做過 LegacyHDA.kext 還是請繼續對著 "完整製作仿冒 LegacyHDA.kext (12/16)" 天書傻眼。

如果有現成 LegacyHDA.kext 請繼續以下的步驟:

如果有做過 LegacyHDA.kext 因該知道音效卡資訊分為三部分:Config、Layout、Pathmap。
會對應以下圖片這三個檔案:
gimmy_05.png

>> Config

Config 用來說明音效卡的功能,如:Mic、Line in、Line out…等。
有 LegacyHDA.kext 可以直接保留這個部分。
gimmy_06.png

>> Layout

Layout 用來設定 Mic、Line in、Line out 的各個功能,
而這個部分的參數被獨立出來放置於 /System/Library/Extensions/AppleHDA.kext/Contents/Resources
layoutXX.xml 就是 Layout 功能放置的新地方。
gimmy_07.png
所以,你只要將原本 LegacyHDA 裡面的 Layout 部分用 Dashcode 開啟後將 <dict>  <key>LayoutID</key> … </dict> 複製。
然後使用 layoutXX.xml 作範本改為 layout885.xml、layout883.xml,並將剛剛複製的內容貼上 < 建議使用 Xcode >
<layout885.xml、layout883.xml 的 885、883 請對應剛剛 Config 中的 LayoutID>
gimmy_08.png
然後將妳命名的 layoutXX.xml 貼回 /System/Library/Extensions/AppleHDA.kext/Contents/Resources
請注意檔案的權限 sudo chown 0:0 /System/Library/Extensions/AppleHDA.kext/Contents/Resources/layoutXX.xml

>> Pathmap

Pathmap 用來設定各個裝置的路徑節點,以產生功能。
而這個部分的參數被獨立出來放置於 /System/Library/Extensions/AppleHDA.kext/Contents/Resources
Platforms.xml 就是 Pathmap 功能放置的新地方。
gimmy_09.png
所以,你只要將原本 LegacyHDA 裡面的 Pathmap 部分用 Dashcode 開啟後將 <dict>  <key>PathMapID</key> … </dict> 複製。
並將剛剛複製的內容貼上 Platforms.xml 確切位置 < 建議使用 Xcode >
gimmy_10.png
然後將 Platforms.xml 貼回 /System/Library/Extensions/AppleHDA.kext/Contents/Resources
請注意檔案的權限 sudo chown 0:0 /System/Library/Extensions/AppleHDA.kext/Contents/Resources/Platforms.xml

至此,原本 LegacyHDA.kext 的功能已經完整的調整成新的 Lion 架構。
但是要能成功原生驅動仍需要一些功課。

需要 DSDT 修改來引導音效卡驅動 885:
  1.                 Method (_DSM, 4, NotSerialized)
  2.                 {
  3.                     Store (Package (0x04)
  4.                         {
  5.                             "layout-id",
  6.                             Buffer (0x04)
  7.                             {
  8.                                 0x75, 0x03, 0x00, 0x00   
  9.                             },

  10.                             "PinConfigurations",
  11.                             Buffer (Zero) {}
  12.                         }, Local0)
  13.                     DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
  14.                     Return (Local0)
  15.                 }
复制代码
需要 DSDT 修改來引導音效卡驅動 883:
  1.                 Method (_DSM, 4, NotSerialized)
  2.                 {
  3.                     Store (Package (0x04)
  4.                         {
  5.                             "layout-id",
  6.                             Buffer (0x04)
  7.                             {
  8.                                 0x73, 0x03, 0x00, 0x00   
  9.                             },

  10.                             "PinConfigurations",
  11.                             Buffer (Zero) {}
  12.                         }, Local0)
  13.                     DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
  14.                     Return (Local0)
  15.                 }
复制代码
其中的 885 轉換為 16 進位 00 00 03 75 在兩位兩位擺放 0x75, 0x03, 0x00, 0x00
其中的 883 轉換為 16 進位 00 00 03 73 在兩位兩位擺放 0x73, 0x03, 0x00, 0x00
當然,如果 DSDT 的部分很頭痛,你可以使用第三方驅動 HDAEnabler.kext 等來取代。

最後,AppleDHA.kext 有限制音效卡型號,也就是不是限定的音效卡型號是不被允許驅動。
所以 889A(885)是 Apple 使用的音效卡型號,所以不必作任何修改。
但是 883 不作修改是無法驅動,
所以,要針對 /System/Library/Extensions/AppleHDA.kext/Contents/MacOS/AppleDHA 修改。
以前是教大家 885 的參數修改成 883 的參數來達成驅動。
< 0x85 0x08 0xec 0x10 改成 0x83 0x08 0xec 0x10 >
不過經試驗後,這樣修改是無法達成驅動,需要使用 262 來改成 883 才能達成驅動效果。
< 0x62 0x02 0xec 0x10 改成 0x83 0x08 0xec 0x10 >
以上可以使用 Hex Editor 的程式來修改。

當然,你可以使用 "終端機" 的指令行來達到修改目的。
  1. sudo perl -pi -e 's|\x62\x02\xec\x10|\x83\x08\xec\x10|g' /System/Library/Extensions/AppleHDA.kext/Contents/MacOS/AppleHDA
复制代码
<其中 |\x62\x02\xec\x10|\x83\x08\xec\x10| 需要針對你的需要作修改,請不要直接套用。>
<請務必備份原檔>

最後,更動 /System/Library/Extensions 的內容後,
請務必執行 終端機 指令來重建緩存快取:
  1. sudo touch /System/Library/Extensions
复制代码
以上修改完成,即可達成驅動 AppleHDA,但是以後系統更新有更新到 AppleHDA.kext 就需要再次做修改動作。
Platforms.xml 與 AppleHDA 音效卡型號修改要再次做動作。

<驗證方式>
gimmy_11.png


以下附上 885 以及 883 的 AppleHDA 相關檔案供參考:
AppleHDA 885.zip (26.24 KB, 下载次数: 100) AppleHDA 883.zip (26.84 KB, 下载次数: 150)

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

查看全部评分

Rank: 9

UID
597764
帖子
3354
PB币
2135
贡献
0
技术
21
活跃
3075
沙发
发表于 2011-10-15 22:01:56 IP属地河北
本帖最后由 cl12121 于 2011-10-15 22:02 编辑

紫米的作品,顶一个

Rank: 11Rank: 11Rank: 11

UID
1521830
帖子
9253
PB币
4546
贡献
0
技术
189
活跃
2420

7周年庆典勋章 8周年庆典勋章

板凳
发表于 2011-10-15 22:01:58 IP属地广东
撒花。。。。
现在10.7.2进不了了= =|||

Rank: 1

UID
2118000
帖子
13
PB币
3
贡献
0
技术
0
活跃
0
4F
发表于 2011-10-15 22:05:14 IP属地台湾
紫米的作品,顶一个

Rank: 1

UID
2118000
帖子
13
PB币
3
贡献
0
技术
0
活跃
0
5F
发表于 2011-10-15 22:05:49 IP属地台湾
现在10.7.2进不了了

Rank: 2Rank: 2

UID
1405943
帖子
374
PB币
441
贡献
0
技术
1
活跃
350
6F
发表于 2011-10-15 22:06:35 IP属地浙江
搜藏+占位
紫米出品是精品。

Gooner

Rank: 7Rank: 7Rank: 7

UID
600151
帖子
1375
PB币
1706
贡献
0
技术
9
活跃
1226
7F
发表于 2011-10-15 22:08:46 IP属地广西
不错,三终于来了..

开学了

Rank: 9

UID
1412247
帖子
3181
PB币
887
贡献
0
技术
1065
活跃
38

7周年庆典勋章

8F
发表于 2011-10-15 22:11:30 IP属地广东
谢谢紫米了!最近又能闹腾了

中将

Rank: 7Rank: 7Rank: 7

UID
1405907
帖子
2083
PB币
1552
贡献
0
技术
27
活跃
24
9F
发表于 2011-10-15 22:12:10 IP属地广西
前排支持下

Rank: 2Rank: 2

UID
575675
帖子
292
PB币
84
贡献
0
技术
1
活跃
619
10F
发表于 2011-10-15 22:14:08 IP属地湖南
紫米的帖子,先顶再看!

退隐江湖不问事

UID
83523
帖子
7140
PB币
11848
贡献
7
技术
5513
活跃
2366
11F
发表于 2011-10-15 22:49:54 IP属地台湾
紫米又出新帖了 ....顶  

Rank: 5Rank: 5Rank: 5

UID
1082282
帖子
1105
PB币
1088
贡献
0
技术
1
活跃
0
12F
发表于 2011-10-15 23:00:02 IP属地云南
写的太好了,从一学习戩三,看看我的能不能完善,完美更好。

Rank: 7Rank: 7Rank: 7

UID
196544
帖子
2363
PB币
5331
贡献
0
技术
176
活跃
590
13F
发表于 2011-10-15 23:01:11 IP属地广东
支持下,出第三了,高人。

Rank: 7Rank: 7Rank: 7

UID
641064
帖子
726
PB币
2104
贡献
0
技术
34
活跃
792
14F
发表于 2011-10-15 23:49:54 IP属地云南

前排支持下,三终于来了,先收藏。

Follower

Rank: 7Rank: 7Rank: 7

UID
1503768
帖子
641
PB币
1853
贡献
0
技术
5
活跃
121
15F
发表于 2011-10-15 23:55:52 IP属地陕西
感谢大神指导

黑苹果坚定的粉丝

Rank: 2Rank: 2

UID
1591778
帖子
228
PB币
627
贡献
0
技术
7
活跃
159
16F
发表于 2011-10-15 23:56:33 IP属地广东
过来围观一下

Rank: 7Rank: 7Rank: 7

UID
1088770
帖子
1759
PB币
4780
贡献
0
技术
47
活跃
652

7周年庆典勋章

17F
发表于 2011-10-16 00:09:06 IP属地四川
留名待改

Rank: 5Rank: 5Rank: 5

UID
253402
帖子
684
PB币
287
贡献
0
技术
38
活跃
314

7周年庆典勋章 8周年庆典勋章

18F
发表于 2011-10-16 00:32:45 IP属地云南
顶,连续三篇大作。

Rank: 9

UID
1580108
帖子
682
PB币
3773
贡献
0
技术
87
活跃
306

7周年庆典勋章

19F
发表于 2011-10-16 01:05:15 IP属地上海
恩,支持!之前对着那本天书傻眼了好长一段时间呢!呵呵。。。紫米的大作

Rank: 5Rank: 5Rank: 5

UID
1082282
帖子
1105
PB币
1088
贡献
0
技术
1
活跃
0
20F
发表于 2011-10-16 01:18:46 IP属地云南
三个教程都学习了一下,可惜出了第一个教程里的部分我的本来就不用修改以外,其它的没有一个成功,唉。
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛