Merhabalar. Lenovo B50-80'le Yaklaşık 1 yıldır Hackintosh kullanıyordum. Ne yazıkki cihazım BIOS Modlarken Hayata veda etti. Bu Nedenle acil cihaz ararken ProBook 4540s modelini buldum. Rehabman'ın Reposunu bulasaya kadar tam bir hackintosh canavarı bir cihaz olduğunu bilmiyordum. Herşey çalışıyor ve sorunsuz.
HP Probook için Kurulum Sonrası Paketi | osxinfo.net: Hackintosh Türkiye Destek Platformu
(Kurulum için ilk bu paketi kurun sisteme)
Kurulum için ilk olarak bu kurulum paketini kullanmıştım. Clover Ses Ethernet bütün driverleri kuruyor ve sorunsuz çalışıyor fakat Dikkat edeceğimiz nokta başka bir cihazda düzenlenmiş DSDT dosyasını yüklüyor Sisteme.
HDMI Ses Ve Wifi çalışmadı Bu DSDT İle ile.
Bunun üzerine Kendi DSDT Dosyamı düzenlemeye karar verdim. Gereken yamaları yaptım.
HDMI Ses sorununu çözdüm ve Fan Patch Yaptım Ve Fan hız ayarları yaptım.
Fan Hızını Görmek için FakeSMC Paketindeki Kextleri tamamen kurmak gerekiyor.
HWMonitor ile sistemi izleyebilirsiniz.
Clover'dan Cihazın Kendi DSDT Dosyasını F4 Tuşu ile çıkardım.
EFI CLOVER ACPI ORIGIN Konumundan DSDT.aml dosyasını alıp masaüstüne atıyoruz.
Terminal'i açalım ve aşağıdaki kodları yazalım
Kod:
cd desktop
iasl -da -dl dsdt.aml
https://github.com/RehabMan/HP-ProBook-4x30s-DSDT-Patch/archive/master.zip
Bu dosyayı Masaüstüne Atalım ve açalım
Masaüzerinde oluşan DSDT.dsl dosyasını MaciASL İle açalım.
MaciASL Üzerinde Patch Sekmesini Açalım ve Open üzerinden Masaüstüne attığımız klasöre gidelim.
Patches Klasörüne gidelim
Aşağıda Verdiğim Dosyaları Yukarıda Gösterdiğim yöntemle DSDT Dosyasınıza Patchleyin.
4540s_IvyBridge.txt
03a_HDMI .txt (Eğer 1080p LCD Panel varsa 03b dosyasına kullanın.)
02b_EHCI_4x40s.txt
04a_FanPatch.txt
04c_FanSpeed.txt
11b_Radeon_OFF_DSDT.txt
09_USB3_4x40s_10_11.txt
Buraya kadar gerekli olan yamaları yapmış bulunuyoruz. İsteğe bağlı olarak Fan Hız ayarı yapmak ve sessiz fan isteyenler
04b_FanQuietMod.txt
veya Tam Tersi iyi soğutma isteyenler
04b_FanSmooth.txt yamasını uygulayabilirler.
Ben bu iki yamayıda tercih etmedim. Kendi ayarlarımı yaptım
Kod:
#Maintained by: RehabMan for: HP Probook 4x30s/4x40s
# 04b_FanQuietMod.txt
#
# Please Note: 04b_FanQuietMod.txt is a work-in-progress
# Eventually, it will be much more than a simple change
# to the FTAB!
#
#
# This fan patch provides enhanced fan control. It does so by tricking
# the system into thinking that the laptop is arbitrarily cool, such
# that it can override the default behavior and have complete control
# over the fan.
#
# This version, 04b_FanQuietMod.txt, is best used when you desire the
# fan to be always on. I'm using it to control my fan on my ProBook
# for which I have inserted a couple of #1N4001 diodes inline with the
# red/orange wire feeding power to the fan. This results in a fan system
# that is able to reach more low-RPM fan speeds than stock.
#
# More information on how this works is available at:
# http://www.tonymacx86.com/hp-probook/72043-new-fan-control-dsdt-silent-fan-higher-temps.html
#
# add fan readings and fan control
into device label SMCD remove_entry;
into definitionblock code_regex . insert
begin
Device (SMCD)\n
{\n
Name (_HID, "FAN00000") // _HID: Hardware ID\n
// ACPISensors.kext configuration\n
Name (TACH, Package()\n
{\n
"System Fan", "FAN0",\n
})\n
Name (TEMP, Package()\n
{\n
"CPU Heatsink", "TCPU",\n
"Ambient", "TAMB",\n
"Mainboard", "TSYS",\n
"CPU Proximity", "TCPP",\n
})\n
// Actual methods to implement fan/temp readings/control\n
Method (FAN0, 0, Serialized)\n
{\n
Store (\_SB.PCI0.LPCB.EC0.FRDC, Local0)\n
If (Local0) { Divide (Add(0x3C000, ShiftRight(Local0,1)), Local0,, Local0) }\n
If (LEqual (0x03C4, Local0)) { Return (Zero) }\n
Return (Local0)\n
}\n
Method (TCPU, 0, Serialized)\n
{\n
Acquire (\_SB.PCI0.LPCB.EC0.ECMX, 0xFFFF)\n
Store (1, \_SB.PCI0.LPCB.EC0.CRZN)\n
Store (\_SB.PCI0.LPCB.EC0.DTMP, Local0)\n
Release (\_SB.PCI0.LPCB.EC0.ECMX)\n
Return (Local0)\n
}\n
Method (TAMB, 0, Serialized)\n
{\n
Acquire (\_SB.PCI0.LPCB.EC0.ECMX, 0xFFFF)\n
Store (4, \_SB.PCI0.LPCB.EC0.CRZN)\n
Store (\_SB.PCI0.LPCB.EC0.TEMP, Local0)\n
Release (\_SB.PCI0.LPCB.EC0.ECMX)\n
Return (Local0)\n
}\n
// Fan Control Table (pairs of temp, fan control byte)\n
Name (FTAB, Buffer()\n
{\n
42, 255,\n
50, 128,\n
51, 124,\n
52, 122,\n
53, 120,\n
54, 116,\n
55, 112,\n
56, 110,\n
57, 108,\n
58, 105,\n
59, 102,\n
60, 100,\n
61, 98,\n
62, 94,\n
63, 90,\n
64, 87,\n
65, 85,\n
66, 82,\n
67, 80,\n
68, 78,\n
69, 74,\n
70, 70,\n
71, 66,\n
72, 64,\n
73, 62,\n
74, 60,\n
75, 57,\n
76, 55,\n
77, 52,\n
78, 50,\n
0xFF, 0\n
})\n
// Table to keep track of past temperatures (to track average)\n
Name (FHST, Buffer(16) { 0x0, 0, 0, 0, 0x0, 0, 0, 0, 0x0, 0, 0, 0, 0x0, 0, 0, 0 })\n
Name (FIDX, Zero) // current index in buffer above\n
Name (FNUM, Zero) // number of entries in above buffer to count in avg\n
Name (FSUM, Zero) // current sum of entries in buffer\n
// Keeps track of last fan speed set, and counter to set new one\n
Name (FLST, 0xFF) // last index for fan control\n
Name (FCNT, 0) // count of times it has been "wrong", 0 means no counter\n
Name (FCTU, 20) // timeout for changes (fan rpm going up)\n
Name (FCTD, 40) // timeout for changes (fan rpm going down)\n
\n
// Fan control for CPU -- expects to be evaluated 1-per second\n
Method (FCPU, 0, Serialized)\n
{\n
Acquire (\_SB.PCI0.LPCB.EC0.ECMX, 0xFFFF)\n
\n
// setup fake temperature (this is the key to controlling the fan!)\n
Store (1, \_SB.PCI0.LPCB.EC0.CRZN) // select CPU temp\n
Store (31, \_SB.PCI0.LPCB.EC0.TEMP) // write fake value there (31C)\n
\n
// get current temp into Local0 for eventual return\n
// Note: reading from DTMP here instead of TEMP because we wrote\n
// a fake temp to TEMP to trick the system into running the fan\n
// at a lower speed than it otherwise would.\n
Store (1, \_SB.PCI0.LPCB.EC0.CRZN) // select CPU temp\n
Store (\_SB.PCI0.LPCB.EC0.DTMP, Local0) // Local0 is current temp\n
\n
// calculate average temperature\n
Add (Local0, FSUM, Local1)\n
Store (FIDX, Local2)\n
Subtract (Local1, DerefOf (Index (FHST, Local2)), Local1)\n
Store (Local0, Index (FHST, Local2))\n
Store (Local1, FSUM) // Local1 is new sum\n
\n
// adjust current index into temp table\n
Increment (Local2)\n
if (LGreaterEqual (Local2, SizeOf(FHST))) { Store (0, Local2) }\n
Store (Local2, FIDX)\n
// adjust total items collected in temp table\n
Store (FNUM, Local2)\n
if (LNotEqual (Local2, SizeOf (FHST)))\n
{\n
Increment (Local2)\n
Store (Local2, FNUM)\n
}\n
\n
// Local1 is new sum, Local2 is number of entries in sum\n
Divide (Local1, Local2,, Local0) // Local0 is now average temp\n
\n
// table based search (use avg temperature to search)\n
if (LGreater (Local0, 255)) { Store (255, Local0) }\n
Store (Zero, Local2)\n
while (LGreater (Local0, DerefOf (Index (FTAB, Local2)))) { Add (Local2, 2, Local2) }\n
\n
// calculate difference between current and found index\n
if (LGreater (Local2, FLST))\n
{\n
Subtract(Local2, FLST, Local1)\n
Store(FCTU, Local4)\n
}\n
Else\n
{\n
Subtract(FLST, Local2, Local1)\n
Store(FCTD, Local4)\n
}\n
\n
// set new fan speed, if necessary\n
if (LEqual (Local1, 0))\n
{\n
// no difference, so leave current fan speed and reset count\n
Store (0, FCNT)\n
}\n
Else\n
{\n
// there is a difference, start/continue process of changing fan\n
Store (FCNT, Local3)\n
Increment (Local3)\n
Store (Local3, FCNT)\n
\n
// how long to wait depends on how big the difference\n
// 20 secs if diff is 2, 5 secs if diff is 4, etc.\n
Divide (ShiftLeft (Local4, 1), Local1,, Local1)\n
if (LGreaterEqual (Local3, Local1))\n
{\n
// timeout expired, so set new fan speed\n
Store (Local2, FLST)\n
Increment (Local2)\n
Store (DerefOf (Index (FTAB, Local2)), \_SB.PCI0.LPCB.EC0.FTGC)\n
Store (0, FCNT)\n
}\n
}\n
\n
Release (\_SB.PCI0.LPCB.EC0.ECMX)\n
return (Local0) // returns average temp\n
}\n
// for debugging fan control\n
Method (TCPP, 0, Serialized) // Average temp\n
{\n
Store (FNUM, Local0)\n
if (LNotEqual (Local0, 0))\n
{\n
Store (FSUM, Local1)\n
Divide (Local1, Local0,, Local0)\n
}\n
Return (Local0)\n
}\n
Method (TSYS, 0, Serialized) // fan counter\n
{\n
Return (FCNT)\n
}\n
}\n
end;
Bu Yamada 42 dereceye kadar Fan açmıyor. 50'de 2000 devir civarı sessiz bir şekilde çalışıyor. 60 Derece civarında 2600 devir civarında 65 ve üstünde 3500 - 5000 arası bir dönüş yapıyor. 
Yamaları yaptıktan sonra MaciASL üzerinden File Save AS Diyerek AML Formatında masaüzerine kaydedin ve DSDT Dosyamız hazır.
Artık Clover Patched'e atarak keyfinize bakabilirsiniz.
Config
Yamaları yaptıktan sonra MaciASL üzerinden File Save AS Diyerek AML Formatında masaüzerine kaydedin ve DSDT Dosyamız hazır.
Artık Clover Patched'e atarak keyfinize bakabilirsiniz.
Config
Kod:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ACPI</key>
<dict>
<key>#DropTables</key>
<array>
<dict>
<key>Signature</key>
<string>MCFG</string>
</dict>
<dict>
<key>Signature</key>
<string>DMAR</string>
</dict>
<dict>
<key>Signature</key>
<string>SSDT</string>
<key>TableId</key>
<string>CpuPm</string>
</dict>
<dict>
<key>Signature</key>
<string>SSDT</string>
<key>TableId</key>
<string>Cpu0Cst</string>
</dict>
<dict>
<key>Signature</key>
<string>SSDT</string>
<key>TableId</key>
<string>Cpu0Ist</string>
</dict>
<dict>
<key>Signature</key>
<string>SSDT</string>
<key>TableId</key>
<string>ApCst</string>
</dict>
<dict>
<key>Signature</key>
<string>SSDT</string>
<key>TableId</key>
<string>ApIst</string>
</dict>
</array>
<key>DSDT</key>
<dict>
<key>Fixes</key>
<dict>
<key>FixHPET</key>
<true/>
<key>FixHeaders</key>
<true/>
<key>FixIPIC</key>
<true/>
<key>FixRTC</key>
<true/>
<key>FixRegions</key>
<true/>
<key>FixTMR</key>
<true/>
</dict>
</dict>
<key>DropTables</key>
<array>
<dict>
<key>Signature</key>
<string>#MCFG</string>
</dict>
<dict>
<key>Signature</key>
<string>DMAR</string>
</dict>
</array>
<key>SSDT</key>
<dict>
<key>DropOem</key>
<false/>
<key>Generate</key>
<dict>
<key>APLF</key>
<false/>
<key>APSN</key>
<false/>
<key>CStates</key>
<false/>
<key>PStates</key>
<false/>
</dict>
</dict>
</dict>
<key>Boot</key>
<dict>
<key>Arguments</key>
<string>dart=0 kext-dev-mode=1 rootless=0</string>
<key>Debug</key>
<false/>
<key>DefaultVolume</key>
<string>Wantto</string>
<key>Legacy</key>
<string>LegacyBiosDefault</string>
<key>NeverHibernate</key>
<true/>
<key>Secure</key>
<false/>
<key>Timeout</key>
<integer>1</integer>
<key>XMPDetection</key>
<string>Yes</string>
</dict>
<key>CPU</key>
<dict>
<key>UseARTFrequency</key>
<false/>
</dict>
<key>Devices</key>
<dict>
<key>USB</key>
<dict>
<key>FixOwnership</key>
<false/>
<key>Inject</key>
<false/>
</dict>
</dict>
<key>GUI</key>
<dict>
<key>Custom</key>
<dict>
<key>Entries</key>
<array>
<dict>
<key>Disabled</key>
<false/>
<key>FullTitle</key>
<string>UEFI Internal</string>
<key>Hidden</key>
<string>Always</string>
<key>Ignore</key>
<false/>
<key>NoCaches</key>
<false/>
<key>Type</key>
<string>Other</string>
</dict>
</array>
</dict>
<key>Hide</key>
<array>
<string>Preboot</string>
</array>
<key>Mouse</key>
<dict>
<key>DoubleClick</key>
<integer>500</integer>
<key>Enabled</key>
<false/>
<key>Mirror</key>
<false/>
<key>Speed</key>
<integer>8</integer>
</dict>
<key>Scan</key>
<dict>
<key>Entries</key>
<true/>
<key>Legacy</key>
<false/>
<key>Linux</key>
<false/>
<key>Tool</key>
<true/>
</dict>
<key>ScreenResolution</key>
<string>1024x768</string>
<key>Theme</key>
<string>LightUp</string>
</dict>
<key>Graphics</key>
<dict>
<key>Inject</key>
<dict>
<key>ATI</key>
<false/>
<key>Intel</key>
<true/>
<key>NVidia</key>
<false/>
</dict>
<key>NvidiaSingle</key>
<false/>
</dict>
<key>KernelAndKextPatches</key>
<dict>
<key>AppleIntelCPUPM</key>
<true/>
<key>AppleRTC</key>
<true/>
<key>Debug</key>
<false/>
<key>DellSMBIOSPatch</key>
<false/>
<key>KernelCpu</key>
<false/>
<key>KernelLapic</key>
<false/>
<key>KernelPm</key>
<false/>
<key>KernelXCPM</key>
<false/>
<key>KextsToPatch</key>
<array>
<dict>
<key>Comment</key>
<string>HD4000 Boot Fix (10.12)</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>
AQAAdSU=
</data>
<key>MatchOS</key>
<string>10.12.x</string>
<key>Name</key>
<string>IOGraphicsFamily</string>
<key>Replace</key>
<data>
AQAA6yU=
</data>
</dict>
<dict>
<key>Comment</key>
<string>HDMI-video, 64MB BIOS, HD4000 0x01660004 #1 of 2</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>
BABmAQEDAQEAAAAC
</data>
<key>Name</key>
<string>com.apple.driver.AppleIntelFramebufferCapri</string>
<key>Replace</key>
<data>
BABmAQECBAIAAAAE
</data>
</dict>
<dict>
<key>Comment</key>
<string>HDMI-video, 64MB BIOS, HD4000 0x01660004 #2 of 2</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>
MAIAAAAAAAABAAAAQAAAAAAAAAABAAAAQAAAAAAAAAAB
AAAAQAAAAAAAAAAAAAAA
</data>
<key>Name</key>
<string>com.apple.driver.AppleIntelFramebufferCapri</string>
<key>Replace</key>
<data>
MAIAAAIFAAAABAAABwQAAAMEAAAABAAAgQAAAAQGAAAA
BAAAgQAAAAAAAAAAAgAR
</data>
</dict>
<dict>
<key>Comment</key>
<string>HDMI-video 0406 only, 64MB BIOS, HD4000 0x01660004 #1 of 2</string>
<key>Disabled</key>
<true/>
<key>Find</key>
<data>
BABmAQEDAQEAAAAC
</data>
<key>Name</key>
<string>com.apple.driver.AppleIntelFramebufferCapri</string>
<key>Replace</key>
<data>
BABmAQECAgIAAAAE
</data>
</dict>
<dict>
<key>Comment</key>
<string>HDMI-video 0406 only, 64MB BIOS, HD4000 0x01660004 #2 of 2</string>
<key>Disabled</key>
<true/>
<key>Find</key>
<data>
MAIAAAAAAAABAAAAQAAAAAAAAAABAAAAQAAAAAAAAAAB
AAAAQAAAAAAAAAAAAAAA
</data>
<key>Name</key>
<string>com.apple.driver.AppleIntelFramebufferCapri</string>
<key>Replace</key>
<data>
MAIAAAQGAAAABAAAgQAAAAAAAAABAAAAQAAAAAAAAAAB
AAAAQAAAAAAAAAAAAgAR
</data>
</dict>
<dict>
<key>Comment</key>
<string>HDMI-audio HD4000 0x01660003/0004, port 0406 (order dependency HDMI-video 0x01660004 above)</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>
BAYAAAAEAACBAAAA
</data>
<key>Name</key>
<string>com.apple.driver.AppleIntelFramebufferCapri</string>
<key>Replace</key>
<data>
BAYAAAAIAAAGAAAA
</data>
</dict>
</array>
</dict>
<key>RtVariables</key>
<dict>
<key>BooterConfig</key>
<string>0x28</string>
<key>CsrActiveConfig</key>
<string>0x67</string>
</dict>
<key>SMBIOS</key>
<dict>
<key>ProductName</key>
<string>MacBookPro9,2</string>
<key>Trust</key>
<true/>
</dict>
<key>SystemParameters</key>
<dict>
<key>InjectKexts</key>
<string>Yes</string>
<key>InjectSystemID</key>
<true/>
</dict>
</dict>
</plist>
An İtibariyle Çalışanlar
-HD4000
-Güç Yönetimi
-Ses
-Ethernet
-Parlaklık
-Klavyedeki Hotkeyler(Parça değiştirme tuşu dahil)
-SD Kart okuyucu
Vb.
Çalışmayan
-Kamera
-Parmak izi okuyucu
1080P Panel takma:
HP ProBook 4540S Full HD MOD | osxinfo.net: Hackintosh Türkiye Destek Platformu
1080P Modlu Clover:
Not: BIOS Modu UEFI Native olmalıdır. CSM modunda Clover 1024*768 çözünürlük veriyor ve görüntü bozuk geliyor. 768p ekranda sıkıntı çıkarıyordu UEFI Native fakat 1080P'de sıkıntı yaşamadım.
-Dual-Link LVDS Öntanımlı
-Single Ve Dual Link LVDS İçin iki farklı DSDT Dosyası düzenlendi
DSDT-D(1080P) Dosyası dual, DSDT-S(768p) Single LVDS Destekli
PrintScreen Tuşu F13 olarak SSDT dosyası ile düzenlendi.
HDMI Ses 1080P için düzenlendi.
Son düzenleme:
- BootLoader
- Opencore 0.68
- Anakart Modeli
- ASUS H81M-PLUS
- İşlemci Modeli
- Intel Xeon E3 1220 v3(Haswell) @ 3.5GHz(All Core OC)
- Grafik Kartı
- Asus AMD R7 265 2 GB
- Ses Kartı Modeli
- Realtek ALC887
- Ağ Aygıtları
- Realtek RTL8111 && Broadcom BCM94360CS2(Fenvi FV-HB1200)
- Disk ve RAM
- 120 GB HP S600 SATA && 1 TB SEAGATE HDD, 16 GB DDR3 1600 MHz