本帖最后由 MemacX 于 2013-7-8 08:57 编辑
笔记本的硬件:
CPU: Intel i3 3110M 2.4GHz (2C4T) ------------------------------------>加载IOPlatformPluginFamily.kext可降频。
RAM: Kingston DDR3 1600MHz 4G*2 (hynix)
VGA: Intel HD 4000(350-1000MHz)-------------------------------------->驱动加载在DSDT里
硬盘: EZLINK Achilles 240G SSD----------------------------------------->可透过MultiBeast5.3.0来开启Trim
芯片: Intel® HM76 Chipset
音效: Realtek ALC269@Intel 7 Series Panther Point PCH------->加载AppleHDA.kext,耳机和扬声器可自动辨识,Mic经测试正常,不会与扬声器干扰。
有线网路: Realtek RTL8168/8111 PCI-E Adapter------------------>加载RealtekRTL81xx.kext
无线网路: Atheros AR9485 Wireless Network Adapter----------->目前无解
键盘: PS/2 with ASUS ATK hotkey。----------------------------------->加载IOWMIFamily.kext,仍需dsdt
触控板: ELAN PS/2 Port Smart-Pad------------------------------------->v3,两指完美,无法三指。
视讯: 30万画素 USB摄像头 - ------------------------------------------------->免驱
蓝芽: AR3012/读卡器: Realtek USB 2.0 Card Reader------------->无解,但USB接口都有侦测到。利用VM Windows的方式,将接口指向Windows即可正常使用。
其他常见的功能:
1. 背光调整: 10.8.3后仅需修改DSDT即可加载原生的AppleBacklight.kext。小太阳正常。
2. 完美睡眠: 仅能透过电源唤醒或打开萤幕,与Windows相同。(睡眠与唤醒约需三秒)
3. 盒盖可直接睡眠: 需DSDT
4. 完美仿冒的AppleHDA.kext: 目前功能均正常,唤醒后亦正常。
5. USB3.0接口可正常识别2.0的装置,亦不会降速,唤醒亦正常。(加载GenericUSBXHCI.kext)
请对照入座!
缺什么自己挑著用吧
以下是DSDT的代码:
1. 背光:
Scope (\_SB)
{
//省去
Device (PNLF)
{
Name (_HID, EisaId ("APP0002"))
Name (_CID, "backlight")
Name (_UID, 0x0A)
Name (_STA, 0x0B)
}
//省去
}
2. 解决睡眠时立即被EHC1自动唤醒:
在Device (EHC1)下的
Method (_PRW, 0, NotSerialized) { Return (GPRW (0x0D, 0x03)) } 后面加入: Method (_DSM, 4, NotSerialized) { Store (Package (0x13) { "device-id", Buffer (0x04) { 0x26, 0x1C, 0x00,0x00 }, "built-in", Buffer (One) { 0x00 }, "AAPL,clock-id", Buffer (One) { 0x01 }, "device_type", Buffer (0x05) { "EHCI" }, "AAPL,current-available", 0x0834, "AAPL,current-extra", 0x0898, "AAPL,current-extra-in-sleep", 0x0640, "AAPL,device-internal", 0x02, "AAPL,max-port-current-in-sleep", 0x0834, Buffer (One) { 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) }
3. DTGP参数的添加: 直接从Editor的Patch打入,或自己搜一下帖子。
4. 睡眠被XHC唤醒: 本人的机子无法使用DSDT的代码解决,但在"org.Chameleon.Boot.plist"加入:
<key>Kernel Flags</key> <string>-gux_defer_usb2</string>
并不会影响到USB3.0的辨识。
5. HD4000代码:
把代码加在: Scope (\_SB.PCI0.VGA) {… 后面,代码如下: Method (_DSM, 4, NotSerialized) { Store (Package (0x06) { "device-id", Buffer (0x04) { 0x66, 0x01, 0x00,0x00 }, "AAPL,ig-platform-id", Buffer (0x04) { 0x03, 0x00, 0x66,0x01 }, "hda-gfx", Buffer (0x0A) { "onboard-1" } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) }
6. AppleHDA 代码:
Device (HDEF) { Name (_ADR,0x001B0000) Method (_DSM, 4,NotSerialized) { Store (Package(0x0A) { "hda-gfx", Buffer(0x0A) { "onboard-1" }, "codec-id", Buffer(0x04) { 0x69, 0x02, 0xEC, 0x10 }, "layout-id", Unicode("V"), "device-type", Buffer(0x07) { "ALC269" }, "PinConfigurations", Buffer(Zero) {} }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf(Local0)) Return (Local0) } }
7. 内建网卡代码: 因为之前出现无线网卡先辨识的问题,造成我的App Store无法登入,乾脆直接内建就不会有麻烦了。
直接置换原始Device,改为Apple默认的Device。代码如下: Device (GIGE) { Name (_ADR,Zero) Name (_SUN, One) Method (_DSM, 4,NotSerialized) { Store(Package (0x0C) { "AAPL,slot-name", Buffer (0x09) { "Built in" }, "model", Buffer (0x17) { "Realtek RTL8168E/8111E" }, "codec-id", Buffer (0x04) { 0x68, 0x81, 0x00, 0x00 }, "built-in", Buffer (One) { 0x01 }, "device_type", Buffer (0x09) { "Ethernet" }, "name", Buffer (0x36) { "Realtek RTL8168E/8111E PCI-E Gigabit Ethernet Adapter" } },Local0) DTGP (Arg0,Arg1, Arg2, Arg3, RefOf (Local0)) Return(Local0) } }
8. 盒盖睡眠指令:
找到Device (LID),在后面改为 Method (_LID, 0,NotSerialized) { Store(^^PCI0.LPCB.HEC.RPIN (0x04, 0x06), LIDS) //LID register XOr (LIDS, One,Local0) If (Local0) //if LID is closed { Notify (SLPB,0x80) //Set system to sleep } Return (LIDS) }
红色的部份是保有你原机子的设定,而非改成和我的一样。
解决睡眠时间过长,Mac默认是完整写入到硬碟后才睡眠,这样第一慢,第二占宝贵的空间,包括Windows本身都有提供暂存内存的睡眠模式,Mac其实也有。
首先确认一下自己Mac的睡眠模式。
在终端机下输入: pmset -g | grep hibernatemode 理论上应该是: hibernatemode 3 而我的目标是让系统默认为0,就是暂存于内存的方式。 sudo pmset -a hibernatemode 0 最后,清掉睡眠占据的空间。 cd /var/vm sudo rm sleepimage 不放心的,自己Check一下。
|