查看: 281269|回复: 1409

[交流] DSDT 修改討論 (技嘉) 02/04 更新

 火... [复制链接]
紫米 发表于 2009-11-27 18:45 | 显示全部楼层 |阅读模式
快御云安全
本帖最后由 紫米 于 2010-2-9 00:17 编辑

『前言』請務必考量自己目前的系統使用狀況 (11/27)

還是強調一下,這並非教程,我對於裡面參數了解有限,
只是想開個帖跟大家一起討論 DSDT 的修改。
為了讓你的蘋果運作更貼近真蘋果,
我想你絕對少不了使用 DSDT 這個文件,
而善用 DSDT 可以幫助你減少使用很多不必要的第三方驅動。
看到國外有些高手正努力在 DSDT 下工夫,
而遠景似乎尚未有這樣的討論。
有鑑於此,所以發了這樣的討論帖。

然而各廠的主機板對於 DSDT 裡的參數設定仍有差距,
沒有辦法一概而論,
因此,在此只是針對技嘉主機板做討論。
而且最好是 Intel 晶片組,
若是 AMD 或是 NVIDIA 晶片組,因為差距頗大。
所以,不列入討論。
當然,非技嘉主機板的朋友請自行考量測試。

最後,DSDT 的修改有一定風險,請務必準備第二個救援系統,
方便在修改失敗後,還能更正回來。
目前,我也是把舊的 80G 磁碟獨立做了一個蘋果系統,
然後並未插在主機板上,
只在系統出問題才拿來使用。
所以,除非你有萬全準備,請千萬別做太過大膽嘗試。
以免造成遺憾。

先對紫米目前的設備做個簡介 :
CPU : Intel E6400 2.13GHz
MB : GA-965P-DS4 rev1.0
GPU : ASUS 9800 GT Top (改 8800 GT 的 ROM) 解決滑鼠的延遲問題
記憶體 : A-DATA DDR800 1G X 4
音效卡 : Realtek ALC883
網路卡 : Marvell Yukon 88E8053

目前的使用狀況 :
1. 手動的睡眠正常。
2. 喚醒正常,可使用鍵盤、滑鼠、電源鈕正常喚醒。
3. USB 設備皆顯示為內建,睡眠不會出現設備移除的提示。
4. 開機 Log 訊息沒有錯誤訊息。
5. 關機、重新啓動可以斷電。

待解決的問題 :
1. 能源節約器的讓電腦進入睡眠的設定無法正常作用。(螢幕會休眠但主機仍運轉)

使用的第三方驅動或仿冒驅動 : (02/03)
1. fakesmc.kext 非用不可的驅動
2. LegacyHDA.kext 自製的仿冒驅動,為了使用 5.1 聲道
已經不需要 EvOreboot.kext 關機/重新啓動不斷電的驅動(02/03)
已經不需要 PlatformUUID.kext UUID 錯誤(12/16)

近況說明:(12/16)
最近,再次拿弟弟的 Aspire One 來玩 Snow Leopard,
剛好發現了一些問題與事實。
AOA150 的 DSDT 跟蘋果內建非常接近,
本以為也許可以玩出個更為接近真蘋果的 MacBook One (總是天不從人願)
問題其實頗多的,多半是硬體限制,
如:ATOM CPU 儘管在 10.6.2 前都能使用,
但仍須透過 NullCPUPowerManagement.kext 幫助,
也就是 AppleIntelCPUPowerManagement 無法辨識 CPU,
如果不使用 NullCPUPowerManagement.kext 是無法進入系統,
至此,有關於原生 CPU 的功能幾乎都需要靠第三方驅動來幫忙 (殘念),
而後的顯示卡與音效卡...更令我一個頭兩個大...
AOA150 的 GMA950 似乎無法透過修改裝置 ID 加載驅動。
而 ALC268 的音效卡在 PathMap 的設定似乎完全不適用某些原則。


近況說明:(02/03)
先說聲抱歉,更新時間拉得長了。
花了些時間研究關機斷電的參數,
終於順利再不使用第三方驅動的情況下順利關機斷電。
至於重新啓動也透過新的 Boot 可以達成。


『序』了解參數含義

<1>  PEGP
所在位址 : 10000 (通常)
代表裝置為 : PCI Express Root Port
通常在蘋果命名為 : PEGP、IOU0、IOU1、IOU2、NRP1、NRP5、P0P9
管理顯示卡,所以關於顯示的裝置都會出現載這個項目,
如 : GFX0、LCD、VGA、TV、PXS1

<2>  HDEF
所在位址 : 1B0000
代表裝置為 : HD Audio Controller
通常在蘋果命名為 : HDEF
管理音效卡。

<3>  PEX0 ~ PEX5
所在位址 : 1C0000 ~ 1C0005
代表裝置為 : PCI Express Port 1 ~ PCI Express Port 6
通常在蘋果命名為 : RP01 ~ RP06
負責管理一些內建網路卡、內建無線網路卡、FireWire (部份蘋果的DSDT),
或者是 JmicronATA、JmicronSATA,
因此,你會在這些項目下找到 LAN、GIGE、ETH、ARPT、FRWR。

<4>  USB0 ~ USB6、US31
所在位址 : 1A0001 ~ 1A0002 、1D0001 ~ 1D0002
代表裝置為 : USB UHCI Controller 1 ~ USB UHCI Controller 6
通常在蘋果命名為 : UHC1 ~ UHC6
USB 管理裝置的位置。

<5>  USBE、USE2
所在位址 : 1A0007、1D0007
代表裝置為 : USB2 EHCI Controller 1、USB2 EHCI Controller2
通常在蘋果命名為 : EHC1 ~ EHC2
高速 USB 管理裝置的位置。

<6>  HUB0
所在位址 : 1E0000
代表裝置為 : PCI Bridge
通常在蘋果命名為 : PCIB
FireWire 管理裝置的位置,可以在項目中找到 FRWR。

<7>  PX40
所在位址 : 1F0000
代表裝置為 : LPC Inte***ce Controller
通常在蘋果命名為 : LPCB
Low Pin Count Inte***ce Controller,低速設備管理裝置,
主要負責並行埠、串列埠、鍵盤、滑鼠、軟碟機等低速裝置。
這個項目下有許多裝置的設定,包含大家所熟悉的 HPET、RTC...等等。

<8>  IDE0
所在位址 : 1F0001
代表裝置為 : IDE Controller
通常在蘋果命名為 : PATA
舊式的硬碟與光碟機連接匯流排,
基本上新一點的主機板已經沒有這個裝置了。


<9>  IDE1
所在位址 : 1F0002
代表裝置為 : SATA AHCI Controller
通常在蘋果命名為 : SATA
管理 SATA (AHCI) 的裝置。

<10>  IDE2
所在位址 : 1F0005
代表裝置為 : SATA RAID Controller (純屬猜測)
通常在蘋果命名為 : 無
蘋果不支援 Intel RAID,所以沒有這個項目。

<11>  PX43
所在位址 : 1F0003
代表裝置為 : SMBus Controller
通常在蘋果命名為 : SBUS
System Management Bus Controller,
控制主板上的裝置並收集相應的訊息。

<12>  各細項說明






『裝置查詢』幫助你了解你的硬體裝置 (11/30)

以上是以紫米的主機板設定為主的項目參數,
也許你的 DSDT 多出很多項目,讓你傻眼或措手不及。
因此提供你如何知道裝置的方法,

一般辨識裝置的方式有兩種 :
<1> 查詢裝置的位址 :
如上方提供的 1C0000、1D0000、1E0000、1F0000 ...等
這些都是裝置的 Address (位址),在同一晶片組下基本上不會變動,
也就是使用 Intel 晶片組,位址都會跟上方式大同小異,甚至一樣。

然而,如果是使用 AMD 或是 NVIDIA 就會差距很大,
因為晶片廠定義位址並不相同。

<2> 查詢裝置的代碼 :
上方提供 PNP0C04、PNP0000、INT0800、PNP103 ...等
這些試裝置的 Hardware ID (硬體 ID),這個項目是固定不變的,
所以是最好用來查詢硬體是什麼的方式。


然而還有些裝置並不是使用上方的 Hardware ID,
必須利用 IORegistryExplorer 來查詢,

之後,利用以下網址 來察看代碼代表什麼吧!
Intel 的 Device ID (Vendor ID 8086)
http://pci-ids.ucw.cz/read/PC/8086
AMD 的 Device ID (Vendor ID 1022)
http://pci-ids.ucw.cz/read/PC/1022
NVIDIA 的 Device ID (Vendor ID 10DE)
http://pci-ids.ucw.cz/read/PC/10de



『DSDT 架構』先知道 DSDT 長什麼樣子 (11/30)

現在終於要進入到跟 DSDT 修改比較有關的部份,
首先還是先了解一下,DSDT 裡面的架構,
<1> Namespace (命名空間) :






<1> Objects (物件) :





以上是這個篇章的內容,帶你大概了解一些關於 DSDT 架構與內容,
此後將開始一些實質的修改。
以下附上 :

1. ACPI Specification 4.0 的 PDF檔 (12/01)
目前似乎無法做站外連結,請自行到 Google 搜尋:
ACPI Specification 4.0

2. 紫米上述的一些整理資料
(包含 DSDT Map、DSDT PNP、DSDT Configuration)
DSDT.zip (5.1 KB, 下载次数: 3854)

评分

8

查看全部评分

紫米  楼主| 发表于 2009-11-27 18:45 | 显示全部楼层
本帖最后由 紫米 于 2010-2-3 17:38 编辑

『IORegistryExplorer 使用』了解裝置的詳細狀況 (12/03)

DSDT 的修改目的一方面是為了處理開機進入系統所遇到的問題,
另一方面就是為了處理硬體裝置的驅動問題,
因此,先會判斷裝置情況,你會了解你需要從何下手。

<1> 首先,必須先判斷你的電腦是否有這個裝置?
有時候廠商在同款的主機板是使用相同的 BIOS,
所以 DSDT 資訊是一樣,然而不同型號的主機板功能與裝置也有所增減,
所以有可能 DSDT 有的參數,實際上是不存在於主機板上。
最簡單的方式就是從系統偵測的硬體資訊來判斷。
如果有偵測到硬體裝置,都會顯示其 device-id 或者 vendor-id。


<2> 確定你的硬體驅動了嗎?
如果已經確定電腦有此硬體裝置,
那麼,一般來說,可以分為四種情況,
(1) DSDT 有定義參數而裝置有驅動:
(2) DSDT 有定義參數而裝置無驅動:
一般來說,有驅動的硬體裝置都會有驅動名稱的加載項,
雖然,有些例外,但可以通過一些蘋果機的 IOReg 來判斷。

(3) DSDT 無定義參數而裝置有驅動:
(4) DSDT 無定義參數而裝置無驅動:
一般狀況會像下圖一般,
判斷驅動與否,跟上面的情況是一致的。



『DSDT 修改提要』詳細修改的必備工具 (12/03)

看到 DSDT 龐大的參數群,你應該會有疑惑?
我怎麼知道哪些參數是可以更動?哪些又不可以?
DSDT 是屬於 ACPI 架構的一環,
所有相關的資訊可以從 ACPI Specification 得知 (一樓有提供下載)
然而,這個 ACPI Specification 只是提供參數設定的方法。
那麼該如何對應主機板上的裝置參數?
所以,還需要晶片組的 Datasheet,如:紫米所使用 ICH8 Datasheet。
而 Datasheet 最主要個功用就是告訴你參數的具體位置與設定數據,

也許你還不是很懂,以上的這個圖片的含義。
但如果你夠敏銳,你可能會發現一件事,
那麼同一款的晶片組的參數位置是不是都在同一個位置。
因為 Datasheet 是把 ICH8、ICH8R、ICH8M 合在一起說明。
那麼參數位置應該都在一樣的位置。
也就是我可以使用
iMac 7,1 和 MacBook Pro 3,1 這些使用 ICH8M 的晶片來複製數據。
但很可惜,有一點需特別留意,
桌上型機種與筆記型機種所需的參數有些不同。
所以,儘管你可以套用,卻有可少了一些桌上型機種要的數據,
而多了一些不要的數據。
因此,仍須要多加比對才行。

以下是可能會使用的基本工具:
(1) iasl [轉換 dsl 與 aml 間的工具] 下方附件提供下載
(2) 文字編輯 (蘋果系統內建的工具)
(3) 參考用的蘋果機種 DSDT
(4) ACPI Specification (一樓有提供)
(5) 所使用晶片組的 Datasheet (Google 一下就有了)
(6) DSDTSE (如果你不喜歡使用終端機轉檔,可以使用這個編輯與轉檔合一的工具)
下載網址 : http://www.osx86.es/?p=610


『DSDT 修改提要』在執行修改 DSDT 前的一些注意事項 (12/08)

相信嘗試修改 DSDT 的朋友時常在修改完成後,
要使用 iasl 轉換成 DSDT.aml 時,不免出現一些警告或是錯誤而苦惱不已,
因此,在介紹一些修改前,先提一下紫米本身的經驗與處理方式。

<1>  取得 DSDT
取得 DSDT 的方式其實不少,個人建議是使用 Everest 提取最好,
https://bbs.pcbeta.com/viewthread.php?tid=567358
(感謝 sweec 前輩的分享)
是比較簡單且可以取得最原始的 DSDT。

<2>  轉換的錯誤資訊說明
當然,編輯總免不了一些錯誤,
然而,弄懂錯誤的原因,才能真正解決問題,


<3>  DSDT 編輯要點說明
以下,以實例做一些說明:
Package ()、Buffer () 的長度決定方法:


呼叫方法與物件連結關係,務必確定 DSDT 包含所屬物件,
才能避免在轉譯時發生錯誤:







最新的 iasl 轉換工具:
iasl 20091112.zip (223.71 KB, 下载次数: 1492)

点评

米哥,图全挂了啊,这是怎么个情况啊??  发表于 2011-9-26 20:15
回复

使用道具 举报

紫米  楼主| 发表于 2009-11-27 18:46 | 显示全部楼层
本帖最后由 紫米 于 2010-2-7 09:09 编辑

『DSDT 重要系統參數修改』最為重要的參數修改 (12/08)

此項,將收集影響系統開機登入的參數修改,
想使用 DSDT 就必須修改的部份。

<1> RTC、CMOS 重置修改 (12/08)
適用情況:
開機發生錯誤重新起動,會造成 BIOS 設定遺失恢復成預設值。

修改前:

修改後:



『DSDT 重大修復』重要的參數修改 (02/03)

<1> 不使用 PlatformUUID.kext 修復 UUID Error (12/16)
適用情況:
1. 在 DSDT 中的 Device (PCI0) 有定義 Name (_UID, X)
2. 使用最新的 Chameleon 2.0 RC4





<2> 讓 EHCI USB 2.0 識別為內建 (02/03)
適用情況:
如果識別為擴展槽,將會發生睡眠後出現裝置移除的問題。



                Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x04)
                        {
                            "AAPL,clock-id",
                            Buffer (One)
                            {
                                0x01
                            }
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }

                Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x04)
                        {
                            "AAPL,clock-id",
                            Buffer (One)
                            {
                                0x02
                            }
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }




請務必確認你已在 DSDT 前方加上以下物件:

    Method (DTGP, 5, NotSerialized)
    {
        If (LEqual (Arg0, Buffer (0x10)
                {
                    /* 0000 */    0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
                    /* 0008 */    0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
                }))
        {
            If (LEqual (Arg1, One))
            {
                If (LEqual (Arg2, Zero))
                {
                    Store (Buffer (One)
                        {
                            0x03
                        }, Arg4)
                    Return (One)
                }

                If (LEqual (Arg2, One))
                {
                    Return (One)
                }
            }
        }
        Store (Buffer (One)
            {
                0x00
            }, Arg4)
        Return (Zero)
    }


否則在編譯時會發生錯誤。

<3> 使用 USB 裝置喚醒睡眠 (02/03)
適用情況:
裝置可以睡眠,但只能透過電源鈕喚醒。

第一部份:

第二部份:

第三部份:








以上也許會跟你原始的 DSDT 有些不同,
請無須在意,只要針對紫米提及要修改的部份做修正就行了。
其它部份可以無視。
請務必確認三個部份的參數名稱要相符才行,
若確定相同,其可重新開機試試是否可以使用鍵盤或滑鼠喚醒。


<4> 使用 Speedstep 達到 CPU 降頻節能 ()
適用情況:
避免 CPU 一直處於高速狀態,可根據情況調整頻率速度。

還尚未瞭解所有參數的意義,若有需要可以先參考這個帖子:
venicehuang 的帖子


『DSDT 加載驅動引導』參數修改 (02/04)

使用 DSDT 加載原生驅動,基本上都會需要以下這個物件:

    Method (DTGP, 5, NotSerialized)
    {
        If (LEqual (Arg0, Buffer (0x10)
                {
                    /* 0000 */    0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
                    /* 0008 */    0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
                }))
        {
            If (LEqual (Arg1, One))
            {
                If (LEqual (Arg2, Zero))
                {
                    Store (Buffer (One)
                        {
                            0x03
                        }, Arg4)
                    Return (One)
                }

                If (LEqual (Arg2, One))
                {
                    Return (One)
                }
            }
        }
        Store (Buffer (One)
            {
                0x00
            }, Arg4)
        Return (Zero)
    }


請先確認你已經添加到 DSDT 中。
之後只需要添加強制修改 device-id 的參數即可達到效果。

<1> 引導加載 AppleLPC.kext 增加對裝置的管理 (02/04)
適用情況:
可以在能源節約器增加一個選項。



                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)
                }


其中的 device-id 有以下的選擇:
0x02, 0x3B, 0x00, 0x00 是 5 Series/3400 Series
0x01, 0x3B, 0x00, 0x00 是 Mobile 5 Series
0x00, 0x3B, 0x00, 0x00 是 5 Series
0x18, 0x3A, 0x00, 0x00 是 ICH10
0x16, 0x29, 0x00, 0x00 是 ICH9R
0x15, 0x28, 0x00, 0x00 是 ICH8M
0x11, 0x28, 0x00, 0x00 是 ICH8M-E
0xBD, 0x27, 0x00, 0x00 是 ICH7M DH
0xB9, 0x27, 0x00, 0x00 是 ICH7M
0x70, 0x26, 0x00, 0x00 是 ICH6 ESB

<2> 引導加載顯示卡驅動 (02/04)
適用情況:
可以在不使用任何第三方驅動,達到加載系統原生驅動。




            Device (PEGP)
            {
                Name (_ADR, 0x00010000)
                Device (GFX0)
                {
                    Name (_ADR, Zero)
                    Name (_SUN, One)
                    Method (_DSM, 4, NotSerialized)
                    {
                        Store (Package (0x18)
                            {
                                "AAPL,slot-name",
                                Buffer (0x07)
                                {
                                    "Slot-1"
                                },

                                "device_type",
                                Buffer (0x0C)
                                {
                                    "NVDA,Parent"
                                },

                                "model",
                                Buffer (0x17)
                                {
                                    "NVIDIA Geforce 9800 GT"
                                },

                                "NVCAP",
                                Buffer (0x14)
                                {
                                    /* 0000 */    0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00,
                                    /* 0008 */    0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
                                    /* 0010 */    0x00, 0x00, 0x00, 0x00
                                },

                                "rom-revision",
                                Buffer (0x06)
                                {
                                    "3173a"
                                },

                                "VRAM,totalsize",
                                Buffer (0x04)
                                {
                                    0x00, 0x00, 0x00, 0x20
                                },

                                "@0,compatible",
                                Buffer (0x0B)
                                {
                                    "NVDA,NVMac"
                                },

                                "@0,device_type",
                                Buffer (0x08)
                                {
                                    "display"
                                },

                                "@0,name",
                                Buffer (0x0F)
                                {
                                    "NVDA,Display-A"
                                },

                                "@1,compatible",
                                Buffer (0x0B)
                                {
                                    "NVDA,NVMac"
                                },

                                "@1,device_type",
                                Buffer (0x08)
                                {
                                    "display"
                                },

                                "@1,name",
                                Buffer (0x0F)
                                {
                                    "NVDA,Display-B"
                                }
                            }, Local0)
                        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                        Return (Local0)
                    }
                }
            }


關於 NVCAP 需要兩個小工具:
(1) NVFlash (Win) 用來取出顯示卡原始資料
(2) NVCAP Maker (Mac) 用來查詢 NVCAP 值

請先到 Win 下使用 NVFlash,
會出現 DOS 介面,輸入指令 nvflash -b nvidia.rom
會在同資料夾理出現 nvidia.rom 這個檔案。

之後,開啓 Mac
使用 NVCAP Maker 1.4 開啓 nvidia.rom
就能得到一串數字,04000000000003000c0000000000000700000000
然後兩兩分開 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00,
0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
0x00, 0x00, 0x00, 0x00 即可。

<3> 引導加載音效卡驅動 (02/04)
適用情況:
可以在不使用 HDAEnable.kext 情況下,達到加載系統原生驅動。



                Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x04)
                        {
                            "layout-id",
                            Buffer (0x04)
                            {
                                0x78, 0x03, 0x00, 0x00
                            },

                            "PinConfigurations",
                            Buffer (Zero) {}
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }


附件:
NVCAP Maker 1.4 NVCAP Maker 1.4.zip (351.39 KB, 下载次数: 1107)
NVFlash 檔案過大,請自行上 Google 搜索 NVFlash for Windows
未完待續...
回复

使用道具 举报

扬子龙 发表于 2009-11-27 19:56 | 显示全部楼层
支持一下!
回复

使用道具 举报

kingwaq 发表于 2009-11-27 20:16 | 显示全部楼层
本帖最后由 kingwaq 于 2009-12-1 22:58 编辑

期待更详细的解说。
紫米你何不把你用的dsdt发上来,让我等研究一下呢?
回复

使用道具 举报

zwt 发表于 2009-11-27 20:40 | 显示全部楼层
我的就是不在讨论范围内的  NVIDIA 晶片組
回复

使用道具 举报

bobma 发表于 2009-11-27 21:02 | 显示全部楼层
这个要支持打气,虽然我的也是Nvida,但是触类旁通嘛
回复

使用道具 举报

威廉第三 发表于 2009-11-27 21:08 | 显示全部楼层
有些我觉得没有什么意义,比如为dsdt添加smbus的代码,虽然让相关的kext运行了,但是其实没有作用,典型的画蛇添足,其它的修改我自己也在用,另外部分笔记本的DSDT里自带了PEGP,其内部往往有LCD、VGA、TV等device,这些device是导致部分NV显卡笔记本无法开启qe,ci的根源,需要删掉他们,否则无论怎么更换驱动方法都没有办法得到qe,ci,期待进一步教程
回复

使用道具 举报

uuunreal 发表于 2009-11-27 21:11 | 显示全部楼层
期待进一步的分析
回复

使用道具 举报

zdjsxl 发表于 2009-11-27 23:37 | 显示全部楼层
好帖,收藏了,谢谢楼主!
回复

使用道具 举报

shsysqx 发表于 2009-11-30 05:02 | 显示全部楼层
本帖最后由 shsysqx 于 2009-11-30 05:03 编辑

很全面的介绍了,辛苦了楼主。

有两点不是太明白:

1. 如何提前判断自己的硬件配置是否能被MAC的原生驱动支持呢

2.得到自己的的DSDT.aml后,要想修改某个环节的参数而让MAC认识“它”驱动支持上,

   修改的数值依据是来自哪里呢,换句话说怎么才知道什么值和参数才是正确的呢。
回复

使用道具 举报

bbear 发表于 2009-11-30 08:41 | 显示全部楼层
留名存档,支持紫米
回复

使用道具 举报

zuofu 发表于 2009-11-30 09:08 | 显示全部楼层
嗯,我的主板是GA-965P-DS3,好好学学。。。
回复

使用道具 举报

redhatxc 发表于 2009-11-30 10:16 | 显示全部楼层
技术帖 学习了 :loveliness:
回复

使用道具 举报

Samens 发表于 2009-11-30 10:24 | 显示全部楼层
没看懂  看下一步解释
回复

使用道具 举报

bobma 发表于 2009-11-30 12:46 | 显示全部楼层
PS2K, PS2M是苹果没有的,
问个初级问题,苹果笔记本的键盘和触控板不用PS2接口吗?也用USB接口还是苹果特殊接口?
回复

使用道具 举报

紫米  楼主| 发表于 2009-11-30 13:01 | 显示全部楼层
本帖最后由 紫米 于 2009-11-30 13:03 编辑
PS2K, PS2M是苹果没有的,
问个初级问题,苹果笔记本的键盘和触控板不用PS2接口吗?也用USB接口还是苹果特 ...
bobma 发表于 2009/11/30 12:46 PM


蘋果主機都沒有 PS/2 接口,
就算是 Mac Pro 的主機也沒有,
已經都使用 USB 的接口,
所以,如果要使用 PS/2 接口的鍵盤滑鼠需要動一些手腳,

觸控板如果是使用 "大廠的" 晶片,似乎是可以原生驅動。
它使用的接口應該不是 PS/2 才對。(甚少研究)
之前用 AspireOne 裝蘋果,觸控板是可正常使用。
回复

使用道具 举报

紫米  楼主| 发表于 2009-11-30 14:13 | 显示全部楼层
很全面的介绍了,辛苦了楼主。

有两点不是太明白:

1. 如何提前判断自己的硬件配置是否能被MAC的原生 ...
shsysqx 发表于 2009/11/30 05:02 AM


1. 基本蘋果的驅動庫裡集合了多數裝置的驅動,
只要是蘋果機用過的晶片組都有機會使用原生驅動,
只要你用的不是過於冷門的晶片組都有機會用的上原生驅動。
如:Sis、VIA、早期的 NVIDIA

2. 這個問題,在之後的更新的資料會說明,
這裡就先不做說明。
回复

使用道具 举报

bobma 发表于 2009-11-30 22:50 | 显示全部楼层
IORegistryExplore上有很多疑问,紫米腾出手来是不是会解说下

第一张截的时候不明白,现在倒有点看明白了,是正在运行的程序吧。
屏幕快照 2009-11-30 下午10.18.52.png

第二张是不是苹果有的设备没有找到对应项
屏幕快照 2009-11-30 下午10.19.06.png

第三张是不是有些dsdt描述的设备没有被驱动,最后一个好像驱动了
屏幕快照 2009-11-30 下午10.19.35.png

第四张是不是驱动程序找不到目标
屏幕快照 2009-11-30 下午10.19.55.png

怕纯图片太单调,加点猜测调剂,一笑啦。
回复

使用道具 举报

lllddd 发表于 2009-11-30 23:17 | 显示全部楼层
很好的教程,有用,谢谢了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋手机版联系我们

Copyright © 2005-2025 PCBeta. All rights reserved.

Powered by Discuz!  CDN加速及安全服务由「快御」提供

请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。

远景在线 ( 苏ICP备17027154号 )|远景论坛 |Win11论坛 |Win10论坛 |Win8论坛 |Win7论坛 |WP论坛 |Office论坛

GMT+8, 2025-2-23 10:59

快速回复 返回顶部 返回列表