Jump to content
Hervé

Dell Latitude E6220 with i5-2520M, HD3000 and 1366x768 LCD - Mavericks/Yosemite/El Capitan/Sierra/High Sierra

Recommended Posts

Last update: 13 Aug 2019

 

E6220.jpg E6220_sides.jpg

Specifications:

  • BIOS A13 with HDD set to AHCI mode.
  • Intel QM67 (6 Series/C200) Express chipset
  • Intel dual-core Sandy Bridge i5-2520M 2.50GHz CPU (Turbo boost to 3.0GHz (2 cores) or 3.2GHz (1 core))
  • Integrated Intel HD3000 graphics (650MHz/1.3GHz) with 12.5" 1366x768 WLED LCD
  • 4Go DDR3-1333 RAM
  • Intel 82579LM Gigabit Ethernet (PCI ven id 0x8086, dev id 0x1502)
  • IDT 92HD90 (Codec 76E7) High Def audio (PCI ven id 0x8086, dev id 0x1c20)
  • O2 Micro SD card reader (PCI ven id 0x1217, dev id 0x8231)
  • Internal-USB Broadcom-based DW375 Bluetooth 3.0 module (PCI ven id 0x413c, dev id 0x8187)
  • Internal-USB Sunplus Innovation Technology webcam (PCI ven id 0x1bcf, dev id 0x2804)
  • Backlit keyboard
  • 2 x USB 2.0 ports
  • 1 x combo eSATA/USB2.0 port
  • 1 x VGA output
  • 1 x HDMI output
  • 1 x headset jack port
  • 1 x 34mm ExpressCard slot

 

E6220:~ admin$ lspci -nn

pcilib: 0000:00:02.0 64-bit device address ignored.

00:00.0 Host bridge [0600]: Intel Corporation 2nd Generation Core Processor Family DRAM Controller [8086:0104] (rev 09)

00:02.0 VGA compatible controller [0300]: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0126] (rev 09)

00:16.0 Communication controller [0780]: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 [8086:1c3a] (rev 04)

00:16.3 Serial controller [0700]: Intel Corporation 6 Series/C200 Series Chipset Family KT Controller [8086:1c3d] (rev 04)

00:19.0 Ethernet controller [0200]: Intel Corporation 82579LM Gigabit Network Connection [8086:1502] (rev 04)

00:1a.0 USB controller [0c03]: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 [8086:1c2d] (rev 04)

00:1b.0 Audio device [0403]: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller [8086:1c20] (rev 04)

00:1c.0 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 [8086:1c10] (rev b4)

00:1c.1 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 2 [8086:1c12] (rev b4)

00:1c.2 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 3 [8086:1c14] (rev b4)

00:1c.5 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 6 [8086:1c1a] (rev b4)

00:1d.0 USB controller [0c03]: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 [8086:1c26] (rev 04)

00:1f.0 ISA bridge [0601]: Intel Corporation QM67 Express Chipset Family LPC Controller [8086:1c4f] (rev 04)

00:1f.2 SATA controller [0106]: Intel Corporation 6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller [8086:1c03] (rev 04)

00:1f.3 SMBus [0c05]: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller [8086:1c22] (rev 04)

01:00.0 Network controller [0280]: Broadcom Corporation BCM4311 802.11b/g WLAN [14e4:4311] (rev 01)

02:00.0 Network controller [0280]: Intel Corporation Centrino Advanced-N 6205 [8086:0082] (rev 34)

09:00.0 SD Host controller [0805]: O2 Micro, Inc. Unknown device [1217:8221] (rev 05)

09:00.1 Mass storage controller [0180]: O2 Micro, Inc. Unknown device [1217:8231] (rev 03)

E6220:~ admin$ 

 

For recommended BIOS settings, see here.

 

 

Target OS X release:

  • Mavericks 10.9.5

Installation fully successful with myHack v3.3.1 and attached E6220 bootpack on a 7mm SATA-III SSD partitioned GUID and formatted Mac OS X (journaled). :excl: NB: only thin/7mm HDD/SSD 2.5" drives fit in, regular 9.5mm drives do not. mSATA modules require a dedicated adapter.

 

E6220_Mav.jpg

E6220_10.9.5.jpg E6220_P-States.jpg

E6220_VGA_video.jpg E6220_SpeedStep.jpg

E6220_HDMI_Video.jpg E6220_HDMI_audio.jpg

E6226_HD3000.jpg

E6220_USB.jpg

E6220_Ethernet.jpg

 

Working:

  • full QE/CI with HD3000 graphics OOB
  • VGA output (with patched AppleIntelSNBGraphicsFB kext)
  • HDMI output OOB
  • full audio, including HDMI (with patched AppleHDA + AppleIntelSNBGraphicsFB kexts. VoodooHDA v2.8.7 & AppleHDADisabler work too w/o HDMI audio)
  • built-in Gigabit Ethernet (with AppleIntelE1000e kext)
  • bluetooth OOB (on/off supported with patched BroadcomBluetoothHostControllerUSBTransport PlugIn of IOBluetoothFamily kext)
  • native SpeedStep (with patched AppleIntelCPUPowerManagement kext, generated SSDT,  tuned Kozlek's FakeSMC (SMC keys=1.69f4 (or 1.68f98)/SMC compatible=smc-huronriver) and MBP8,1 SMBios profile)
  • Turbo boost to x32 3.2GHz (getting CPU multipliers x8/10/12/14/16/21/22/25 + Turbo multipliers x26/27/28/29/30/31/32)
  • system sleeps Ok through lid closure, power button, Fn-F1, Apple menu->Sleep and energy savings settings with hibernation mode set to 0 (sleep to RAM) and /var/vm/sleepimage file deleted. Wakes Ok through lid opening and power button.
  • wireless with any compatible card (2 x 1/2 size mini-PCIe slots + 1 x full-size mini PCIe slots available))
  • battery management & monitoring (with ACPIBatteryManager or VoodooBattery or SmartBatteryManager kext)
  • SD card reader (with DSDT patch for compatibility with Apple's default device 14e4:16bc)
  • integrated Webcam OOB
  • keyboard backlight control OOB (for backlit models)
  • left combo/USB2.0 + right USB2.0 ports OOB
  • ExpressCard slot OOB

 

Not working

  • Nothing

 

Not tested:

  • SmartCard reader

 

GeekBench v2.4.3 (32bit) gives a near-6100 rating:

E6220_GB32.jpg

 

Once system is installed, you may update Chameleon to a recent release such as r2395, r2401, r2468 or r2679. Enoch branch is a suitable alternative too.

 

Everything in the pack below:

  • E6220_i5-2520M_HD3000_Mav-Pack.zip
  • E6220_i5-2520M_HD3000_Mav-Pack_#2.zip
  • E6220_i5-2520M_HD3000_Mav-Pack_#3.zip
  • E6220_i5-2520M_HD3000_Mav-Pack_#4.zip
  • E6220_i5-2520M_HD3000_Mav-Pack_#5.zip

 

:!:   :!:   :!:  Other E6220 laptops fitted with a different CPU will require a different (and suitable) SSDT table than provided in the above pack (can be looked up on the web or created with SSDT generator tool -> See RampageDev's blog for detailed guide).  In such cases and in order to avoid CPU power management-related kernel panics (KP), NullCPUPowerManagement kext is probably required until the CPU-specific SSDT is generated. The kext just needs to be added to /Extra/Extensions followed by myHack->myFix (quick).

 

 

- - - - - - - - - -

Edit #1: 13 May 2015

  • Revised bootpack #2 with updated DSDT + patched AppleHDA kext to support HDMI audio

 

- - - - - - - - - -

Edit #2: 16 May 2015

  • Revised bootpack #3 with patched BroadcomBluetoothHostControllerUSBTransport PlugIn kext to support DW375 enabling/disabling

 

- - - - - - - - - -

Edit #3: 12 Apr 2016

  • Revised bootpack #4 with updated _PRW methods settings for DSDT devices EHCx/GLAN/HDEF in order to fix occasional/intermittent issues when waking laptop

 

- - - - - - - - - -

Edit #4: 28 Jul 2016

Revised bootpack #5 with updated DSDT devices to improve compatibility with MacBookPro8,1 and remove the need for VoodooSDHC kext which causes issues with sleep/wake.

  • wireless: renamed RP05.PXSX to RP05.ARPT
  • SD card reader: renamed RP06.PXSX to RP06.SDXC + added compatibility with Apple's own pci14e4,16bc
  • lid: renamed LID to LID0

 

- - - - - - - - - -

Edit #5: 13 Aug 2019

  • Added link to recommended BIOS settings
  • Like 1

Share this post


Link to post
Share on other sites

Last update: 28 Jul 2016
 
Target OS X release:

  • Yosemite 10.10.x

Installation fully successful with usual manual procedure and attached E6220 bootpack on a 7mm SATA-III SSD partitioned GUID and formatted Mac OS X (journaled).
 
E6220_Yos.jpg
E6220_Yos_10.10.3.jpg E6220_Yos_SpeedStep.jpg
E6220_Yos_VGA_output.jpg DW375_BT_On-Off.jpg
E6220_Yos_HDMI_output.jpg E6220_HDMI_audio.jpg

Working:

  • full QE/CI with HD3000 graphics OOB
  • VGA output (with patched AppleIntelSNBGraphicsFB kext)
  • HDMI output OOB
  • full audio, including HDMI (with patched AppleHDA kext in /S/L/E. VoodooHDA v2.8.7 & AppleHDADisabler work too from /S/L/E w/o HDMI audio)
  • built-in Gigabit Ethernet (with AppleIntelE1000 kext)
  • bluetooth OOB (on/off supported with patched BroadcomBluetoothHostControllerUSBTransport PlugIn of IOBluetoothFamily kext)
  • native SpeedStep at CPU multipliers x8/10/12/14/16/21/22/25 (with patched AppleIntelCPUPowerManagement kext, generated SSDT,  tuned Kozlek's FakeSMC (SMC keys=1.69f4 (or 1.68f98)/SMC compatible=smc-huronriver) and MBP8,1 SMBios profile)
  • Turbo boost to x32 3.2GHz at Turbo multipliers x26/27/28/29/30/31/32
  • system sleeps Ok through lid closure, power button, Fn-F1, Apple menu->Sleep and energy savings settings with hibernation mode set to 0 (sleep to RAM) and /var/vm/sleepimage file deleted. Wakes Ok through lid opening and power button
  • wireless with any compatible card (having an unsupported Intel N-6205 in half-size WLAN port, I added a DW1390 in the full-size WWAN slot)
  • battery management & monitoring (with ACPIBatteryManager or VoodooBattery or SmartBatteryManager kext)
  • SD card reader (with DSDT patch for compatibility with Apple's default device 14e4:16bc)
  • integrated Webcam OOB
  • keyboard backlight control OOB (for backlit models)
  • left combo eSATA/USB2.0 + right USB2.0 ports OOB
  • ExpressCard slot OOB

 

Not working

  • Nothing

 

Not tested:

  • SmartCard reader

 

USB installer creation procedure:

  • Mount InstallESD.dmg found in Install OS X Yosemite.app/Contents/SharedSupport
  • Then mount BaseSystem.dmg (hidden file)
open /Volumes/OS\ X\ Install\ ESD/BaseSystem.dmg
  • Use Disk Utility to restore the contents of BaseSystem.dmg on a USB key (or HDD partition) formatted Mac OS extended (journaled).
  • Remove link for Packages in folder System/Installation of your USB key
rm /Volumes/OS\ X\ Base\ System\ 1/System/Installation/Packages
  • Copy folder Packages located in InstallESD.dmg to folder System/Installation of your USB key
cp -R /Volumes/OS\ X\ Install\ ESD/Packages /Volumes/OS\ X\ Base\ System\ 1/System/Installation
  • Copy the 2 hidden files (BaseSystem.dmg & Basesystem.chunklist) of InstallESD.dmg to the root of your USB key
cp /Volumes/OS\ X\ Install\ ESD/BaseSystem.* /Volumes/OS\ X\ Base\ System\ 1
  • Copy the patched AICPUPM kext available below to /System/Library/Extensions of the USB installer to avoid Sandy/Ivy Bridge CPU-related KP (due to BIOS-locked MSR) or use NullCPUPowerManagement:
  • Repair kexts permissions
sudo chmod -R 755 /Volumes/OS\ X\ Base\ System\ 1/System/Library/Extensions
sudo chown -R 0:0 /Volumes/OS\ X\ Base\ System\ 1/System/Library/Extensions

To boot with Chameleon (you can safely use versions r2395, r2401 or r2468):

  • Download the appropriate package off InsanelyMac's repo and install Chameleon on the USB installer partition called "OS X Base System"
  • Create a folder "Kernels" under /System/Library of the USB installer and place a copy of the vanilla kernel there as "kernel"
  • Create a folder "Extra" at root of your USB installer using the following pack:
  • Copy the kexts from the pack to /System/Library/Extensions, repair permissions and rebuild kext cache
sudo chmod -R 755 /Volumes/OS\ X\ Base\ System\ 1/System/Library/Extensions
sudo chown -Rf 0:0 /Volumes/OS\ X\ Base\ System\ 1/System/Library/Extensions
sudo touch /Volumes/OS\ X\ Base\ System\ 1/System/Library/Extensions
sudo /Volumes/OS\ X\ Base\ System\ 1/usr/sbin/kextcache -Boot -U /Volumes/OS\ X\ Base\ System\ 1 -K /Volumes/OS\ X\ Base\ System\ 1/System/Library/Kernels/kernel

With Chameleon, it's critical to rebuild the cache with above commands if you use the FileNVRAM.dylib module or the installer/Yosemite installation will be unbootable without cache. Ok without the module though. Reinstate the module to boot with cache. Bear that in mind any time you add or modify kexts in Yosemite.
 
 
Yosemite installation procedure:

  • Boot your USB installer and proceed with installation (if prompted for Bluetooth keyboard and mouse, just press [space])
  • Upon completion, reboot your freshly made Yosemite installation via your USB installer and complete 1st boot system configuration
  • Install Chameleon bootloader on Yosemite partition
  • Copy the patched AICPUPM kext to /S/L/E
  • If applicable, patch the BroadcomBluetoothHostControllerUSBTransport kext of /S/L/E/IOBluetoothFamily PlugIns to gain enabling/disabling of DW375 BlueTooth through Finder bar icon
  • Copy the Extra folder of your USB installer to your Yosemite partition
  • From Terminal, repair kext permissions and rebuild cache
sudo chmod -R 755 /S*/L*/E*
sudo chown -R 0:0 /S*/L*/E*
sudo touch /S*/L*/E*
sudo kextcache -Boot -U /
  • From Terminal, adjust Sleep mode
sudo pmset hibernatemode 0
sudo rm -f /var/vm/sleepimage

 
:!:    :!:    :!: Again, E6220 laptops fitted with a CPU other than an i5-2520M will require a different and suitable SSDT table than provided in the above pack (can be looked up on the web or created with SSDT generator tool -> See RampageDev's blog for detailed guide).
 
 
- - - - - - - - - -
Edit #1: 14 May 2015

  • Added patched AppleSNBGraphicsFB kext to support VGA output

- - - - - - - - - -
Edit #2: 17 May 2015

  • Added patched BroadcomBluetoothHostControllerUSBTransport PlugIn kext to support DW375 enabling/disabling + revised patched AppleHDA to support HDMI audio

- - - - - - - - - -
Edit #3: 12 Apr 2016

  • Updated bootpack #3 with revised _PRW methods settings for DSDT devices EHCx/GLAN/HDEF in order to fix occasional/intermittent issues when waking laptop

- - - - - - - - - -
Edit #4: 28 Jul 2016

  • Revised bootpack #4 with updated DSDT devices to improve compatibility with MacBookPro8,1 and remove the need for VoodooSDHC kext which causes issues with lid sleep.
    • wireless: renamed RP05.PXSX to RP05.ARPT
    • SD card reader: renamed RP06.PXSX to RP06.SDXC + added compatibility with Apple's own pci14e4,16bc
    • lid: renamed LID to LID0
  • Thread/post clean-up
  • Like 1

Share this post


Link to post
Share on other sites

Bluetooth patch

 
In the case of DW375, simply add the following entry to the Info plist of BroadcomBluetoothHostControllerUSBTransport plugin of IOBluetoothFamily kext:

<key>Dell DW375: PID 33159/0x8187, VID 16700/0x413C</key>
<dict>
        <key>CFBundleIdentifier</key>
        <string>com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport</string>
        <key>IOClass</key>
        <string>BroadcomBluetoothHostControllerUSBTransport</string>
        <key>IOProviderClass</key>
        <string>IOUSBInterface</string>
        <key>LMPLoggingEnabled</key>
        <true/>
        <key>IOProviderClass</key>
        <string>IOUSBDevice</string>
        <key>idProduct</key>
        <integer>33159</integer>
        <key>idVendor</key>
        <integer>16700</integer>
</dict>

:!:  :!:  :!: Always patch from the current version of the kext as Apple as a long tendency of modifying its Bluetooth/USB kexts at each release. Previous kext versions are usually not compatible, so you cannot usually port a previous patch from an earlier OS X version. :!:  :!:  :!:

  • Like 3

Share this post


Link to post
Share on other sites

Further to new study, the patch for SNB framebuffer kext was further refined to support DVI output off docking stations such as port replicator E-Port K07A002 (tested Ok) or E-Port Plus K09A001 (tested Ok).

K07A002.jpg K09A001.jpg

 

Full details available here.

 

For Mavericks 10.9.5, use this: 10.9.5_new-patch_AppleIntelSNBGraphicsFB.kext.zip

For Yosemite 10.10.5, use this: 10.10.5_newly_patched_AppleIntelSNBGraphicsFB.kext.zip

 

NB: The USB3.0 ports of those docking stations/port replicators work OOB but only at USB2.0 speed on the E6220 since this laptop has no built-in XHCI controller.

  • Like 2

Share this post


Link to post
Share on other sites

I've spent some additional time on the E6220 and the E-Port replicator K07A002 trying to work out multiple external displays. At 1st, things looked hopeful and promising, but I never reached the targeted goal. Even though OS X did report 3 x displays (LCD + VGA + DVI), only one external display worked, never both...

E6220_triple_displays.jpg

 

No problem getting 2 x external displays with LID closed though. That works perfectly.

E6220_dual_external_displays.jpg

 

Then I found that SandyBridge graphics do not support 3 independant displays, only 2, so that figured!
 
I slightly updated my SNB FB kext's patch to reflect port numbers and connector types as reported in IOReg:
FB@0 -> LVDS, port #0, connector-type 0200 0000
FB@1 -> HDMI, port #5, connector-type 0008 0000
FB@2 -> VGA, port #8, connector-type 0004 0000 or 0001 0000 or 0010 0000 or 1000 0000
FB@3 -> DVI, port #7, connector-type 0004 0000
 

01 02 04 00 10 07 00 00 10 07 00 00   // vanilla: nb of connectors -> "04"
05 03 00 00 02 00 00 00 30 00 00 00   // vanilla: laptop's own LCD display
02 05 00 00 00 08 00 00 05 00 00 00   // patched: HDMI, display port #5 (built-in port)
06 02 00 00 00 04 00 00 08 00 00 00   // patched: VGA, display port #8 (built-in + docking-station port)
04 06 00 00 00 04 00 00 07 00 00 00   // patched: DVI, display port #7 (docking-station port)

10.10.5_Patched_AppleIntelSNBGraphicsFB.kext.zip

 

E6220_HD3000_FB0.jpg E6220_HD3000_FB1.jpg

E6220_HD3000_FB2.jpg E6220_HD3000_FB3.jpg

Share this post


Link to post
Share on other sites

'played a little further to get the DP port of my E-Port Replicator K07A002 to work.

 

I don't have a DP-capable display so I used a DP-to-HDMI adapter to connect to my HD TV. Output display + HDMI audio through DP port was then obtained when setting port number to 6 in any of the display output lines. For instance:

02 05 00 00 00 08 00 00 06 00 00 00

or

04 06 00 00 00 04 00 00 06 00 00 00

We can therefore deduct that DP output is available through port #6.

 

With that revised config I retain direct HDMI output through the E6220 built-in HDMI port but no HDMI audio, except through DP port (!). In terms of FB and connector type details, IOReg shows:

FB@2 -> DP, port #6, connector-type 0004 0000

 

'seems to go to the detriment of VGA output though...

  • Like 1

Share this post


Link to post
Share on other sites

Last update: 01 Nov 2016
 
Target OS X release:

  • El Capitan 10.11.x

This is an Enoch-based installation using the well-known/well-documented vanilla manual method detailed below:
 
E6220_EC.jpg
E6220_EC_10.11.4.jpg E6220_SpeedStep.jpg
E6220_BlueTooth.jpg E6220_USB.jpg
 
Working:

  • full QE/CI with HD3000 graphics OOB
  • HDMI output OOB
  • DVI + DP output OOB through port replicator E-Port K07A002
  • VGA output (with patched AppleIntelSNBGraphicsFB kext)
  • full audio, including jack microphone input and headset output (with patched AppleHDA kext)
  • HDMI audio (with patched AppleHDA + AppleIntelSNBGraphicsFB kexts)
  • built-in Gigabit Ethernet (with AppleIntelE1000e kext v3.1.0)
  • bluetooth OOB (on/off supported with patched BroadcomBluetoothHostControllerUSBTransport PlugIn of IOBluetoothFamily kext)
  • native SpeedStep at CPU multipliers x8/10/12/14/16/21/22/25 (with patched AppleIntelCPUPowerManagement kext, generated SSDT,  tuned Kozlek's FakeSMC (SMC keys=1.69f4 (or 1.68f98)/SMC compatible=smc-huronriver) and MBP8,1 SMBios profile)
  • Turbo boost to x32 3.2GHz at Turbo multipliers x26/27/28/29/30/31/32
  • system sleeps Ok through lid closure, power button, Fn-F1, Apple menu->Sleep and energy savings settings with hibernation mode set to 0 (sleep to RAM) and /var/vm/sleepimage file deleted. Wakes Ok through lid opening and power button
  • wireless with any compatible card
  • battery management and monitoring (with ACPIBatteryManager kext v1.60.5)
  • SD card reader (with DSDT patch for compatibility with Apple's default device 14e4:16bc)
  • integrated webcam OOB
  • keyboard backlight control OOB (for backlit models)
  • left combo eSATA/USB2.0 + right USB2.0 ports OOB
  • ExpressCard slot OOB

 

Not Working:

  • N/A

 

Not tested:

  • SmartCard reader

 

1) 10.11 USB installer creation

  • Double click on InstallESD.dmg found in Install OS X El Capitan.app/Contents/SharedSupport to mount the dmg image
  • Then mount BaseSystem.dmg (hidden file)
open /Volumes/OS\ X\ Install\ ESD/BaseSystem.dmg
  • Use Disk Utility to restore the contents of BaseSystem.dmg on a USB key (or HDD partition) formatted Mac OS extended (journaled).
  • Remove link for Packages in folder System/Installation of your USB key
rm /Volumes/OS\ X\ Base\ System\ 1/System/Installation/Packages
  • Copy folder Packages located in InstallESD.dmg to folder System/Installation of your USB key
cp -R /Volumes/OS\ X\ Install\ ESD/Packages /Volumes/OS\ X\ Base\ System\ 1/System/Installation
  • Copy the 2 hidden files (BaseSystem.dmg & Basesystem.chunklist) of InstallESD.dmg to the root of your USB key
cp /Volumes/OS\ X\ Install\ ESD/BaseSystem.* /Volumes/OS\ X\ Base\ System\ 1
  • Install Enoch r2795 (latest at time of writing) on the USB installer with all default settings
  • Copy the above Enoch r2795 installer package to the root of the USB installer
  • Copy the following (unzipped/extracted) E6220 bootpack to the root of the USB installer
  • Create a folder called Kernels under /System/Library (normally, it won't exist at that stage)
  • Copy the appropriate El Capitan vanilla kernel to /System/Library/Kernels. Copies of the kernels are available here.

 

2) 10.11 installation

  • Boot the 10.11 USB installer (it may take a little time to kick in) with -f -v boot flags
  • At OS X installer main screen, open up Disk Utility in Utilities menu
  • If applicable, partition your target disk in GPT/GUID scheme
  • Create your target 10.11 partition and format it as OS X Extended (Journaled)
  • Close Disk Utility and proceed with OS X 10.11 installation as usual

 

3) Post-installation fine-tuning

  • Reboot the 10.11 USB installer (it may take a little time to kick in)
  • At OS X installer main screen, open up Terminal in Utilities menu
  • Verify CoreStorage installation disk mode
diskutil list
  • If CoreStorage activated for Fusion drive, revert to legacy mode
diskutil corestorage revert <device> (for example: /dev/disk1)
  • Identify your freshly made 10.11 partition name
df
  • Copy the Extra folder from the USB installer to your identified 10.11 disk partition
cp -R /Extra /Volumes/<your fresly made 10.11 partition name> (for example: cp -R /Extra /Volumes/OSX_disk)
  • Reboot the 10.11 USB installer, press a key at delay bar (or F8) to interrupt boor process and select your freshly made 10.11 disk partition. You'll then be booting El Capitan for the 1st time
  • Complete the 1st boot installation finalisation
  • Once at the 10.11 desktop, run the Enoch r2795 package from your USB installer to install Enoch on your HDD; it should be installed on the 1st partition of the disk
  • Eject the 10.11 USB installer and put it aside
  • :excl: Disable hibernation (can be done later, but should be done): open up Terminal and type the following commands
sudo pmset hibernatemode 0
sudo pmset hibernatefile /dev/null
sudo rm -f /var/vm/sleepimage
  • Reboot your finalised El Capitan installation

 

After reboot, enabled audio and optimise prelinked kernel:

  • copy all kexts from /Extra/Extensions to /Library/Extensions (ignore and acknowledge the permissions-related error messages)
  • copy patched AppleHDA from /Extra/Extensions/Copy_to_SLE to /System/Library/Extensions
  • repair kexts permissions and rebuild cache:
sudo chmod -Rf 755 /S*/L*/E*
sudo chown -Rf 0:0 /S*/L*/E*
sudo chmod -Rf 755 /L*/E*
sudo chown -Rf 0:0 /L*/E*
sudo touch -f /S*/L*/E*
sudo touch -f /L*/E*
sudo kextcache -Boot -U /
  • Edit /Extra/kernel.plist and set KernelBooter_kexts parameter to No
<key>KernelBooter_kexts</key>
<string>No</string>
  • Boot time will be faster in that configuration mode where add-on kexts are cached from /L/E, not injected from /E/E.

 

NB: After any kexts modification, whether to /S/L/E or to /L/E, you must repair permissions and rebuild cache as detailed above.

 
:!:   :!:  :!: Again, E6220 laptops fitted with a CPU other than an i5-2520M will require a different and suitable SSDT table than provided in the above pack (can be looked up on the web or created with SSDT generator tool -> See RampageDev's blog for detailed guide).
 
 
- - - - - - - - - -
Edit #1: 12 Apr 2016

  • Updated pack #2: fixes some incorrect settings in _PRW methods of DSDT devices EHCx/GLAN/HDEF that could prevent proper wake.

 

- - - - - - - - - -
Edit #2: 28 Jul 2016

  • Revised bootpack #3 with updated DSDT devices to improve compatibility with MacBookPro8,1 and remove the need for VoodooSDHC kext which causes issues with lid sleep and wake in general.
    • wireless: renamed RP05.PXSX to RP05.ARPT
    • SD card reader: renamed RP06.PXSX to RP06.SDXC + added compatibility with Apple's own pci14e4,16bc
    • lid: renamed LID to LID0

 

- - - - - - - - - -
Edit #3: 01 Nov 2016

  • Revised bootpack #4:
    • replaced older VoodooPS2Controller v1.8.9 which caused KP from 10.11.4 onwards by Dr Hurt's Release 4 which works perfectly in El Capitan
    • ported DW375 Bluetooth module + DW5550/HP hs2430/F5521gw WWAN module patches to FakeSMC (avoids patching vanilla kexts)
    • added AppleHDA_IDT_92HD90 + patched AppleHDA v274.12 kexts (latter to be copied to /S/L/E)
    • added Patched_AppleRTC_v2.0 + patched AICPUPM up'ed to v918.0.0 + patched IOGraphicsFamily up'ed to v92.4.1 (all to take precedence over vanilla kexts in /S/L/E)
    • added the correct USBInjector kext tuned to MBP8,1 SMBIOS profile
  • Like 1

Share this post


Link to post
Share on other sites

Target macOS release:

  • Sierra 10.12.x

 

This is an Enoch-based installation using the well-known/well-documented vanilla manual method detailed below:
 
E6220_Sie.jpg

E6220_EC_10.12.1.jpg E6220_SpeedStep.jpg

E6220_Bluetooth.jpg E6220_USB.jpg

 
Working:

  • full QE/CI with HD3000 graphics OOB
  • HDMI output OOB
  • DVI + DP output OOB through port replicator E-Port K07A002
  • VGA output (with patched AppleIntelSNBGraphicsFB kext)
  • full audio, including jack microphone input and headset output (with patched AppleHDA kext)
  • HDMI audio (with patched AppleHDA + AppleIntelSNBGraphicsFB kexts)
  • built-in Gigabit Ethernet (with AppleIntelE1000e kext v3.1.0)
  • bluetooth OOB (on/off supported with BroadcomBluetoothHostControllerUSBTransport patch injected to FakeSMC)
  • native SpeedStep at CPU multipliers x8/10/12/14/16/21/22/25 (with patched AppleIntelCPUPowerManagement kext, generated SSDT,  tuned Kozlek's FakeSMC (SMC keys=1.69f4 (or 1.68f98)/SMC compatible=smc-huronriver) and MBP8,1 SMBios profile)
  • Turbo boost to x32 3.2GHz at Turbo multipliers x26/27/28/29/30/31/32
  • system sleeps Ok through lid closure, power button, Fn-F1, Apple menu->Sleep and energy savings settings with hibernation mode set to 0 (sleep to RAM) and /var/vm/sleepimage file deleted. Wakes Ok through lid opening and power button
  • wireless with any compatible card
  • battery management and monitoring (with ACPIBatteryManager kext v1.60.5)
  • SD card reader (with DSDT patch for compatibility with Apple's default device 14e4:16bc)
  • integrated webcam OOB
  • keyboard backlight control OOB (for backlit models)
  • left combo eSATA/USB2.0 + right USB2.0 ports OOB
  • ExpressCard slot OOB

 

Not Working:

  • N/A

 

Not tested:

  • SmartCard reader

 

 

1) 10.12 USB installer creation

  • Double click on InstallESD.dmg found in Install macOS Sierra.app/Contents/SharedSupport to mount the dmg image
  • Then mount BaseSystem.dmg (hidden file)
open /Volumes/OS\ X\ Install\ ESD/BaseSystem.dmg
  • Use Disk Utility to restore the contents of BaseSystem.dmg on a USB key (or HDD partition) formatted Mac OS extended (journaled).
  • Remove link for Packages in folder System/Installation of your USB key
rm /Volumes/OS\ X\ Base\ System\ 1/System/Installation/Packages
  • Copy folder Packages located in InstallESD.dmg to folder System/Installation of your USB key
cp -R /Volumes/OS\ X\ Install\ ESD/Packages /Volumes/OS\ X\ Base\ System\ 1/System/Installation
  • Copy the 2 hidden files (BaseSystem.dmg & Basesystem.chunklist) of InstallESD.dmg to the root of your USB key
cp /Volumes/OS\ X\ Install\ ESD/BaseSystem.* /Volumes/OS\ X\ Base\ System\ 1
  • Install Enoch r2839 (latest at time of writing) with default settings on the USB installer
  • Copy the above Enoch r2839 installer package to the root of the USB installer
  • Copy the following (unzipped/extracted) E6220 bootpack to the root of the USB installer
  • Create a folder called Kernels under /System/Library (normally, it won't exist at that stage)
  • Copy the appropriate Sierra vanilla kernel to /System/Library/Kernels. Copies of the kernels are available here.

 

2) 10.12 installation

  • Boot the 10.12 USB installer (it may take a little time to kick in) with -f -v boot flags
  • At macOS installer main screen, open up Disk Utility in Utilities menu
  • If applicable, partition your target disk in GPT/GUID scheme
  • Create your target 10.12 partition and format it as OS X Extended (Journaled)
  • Close Disk Utility and proceed with OS X 10.12 installation as usual

 

3) Post-installation fine-tuning

  • Reboot the 10.12 USB installer (it may take a little time to kick in)
  • At macOS installer main screen, open up Terminal in Utilities menu
  • Verify CoreStorage installation disk mode:
diskutil list
  • If CoreStorage activated for Fusion drive, revert to legacy mode:
diskutil corestorage revert <device> (for example: /dev/disk1)
  • Identify your freshly made 10.12 partition name:
df
  • Copy the Extra folder from the USB installer to your identified 10.12 disk partition:
cp -R /Extra /Volumes/<your fresly made 10.12 partition name> (for example: cp -R /Extra /Volumes/OSX_disk)
  • Reboot the 10.12 USB installer, press a key at delay bar (or F8) to interrupt boor process and select your freshly made 10.12 disk partition. You'll then be booting Sierra for the 1st time
  • Complete the 1st boot installation finalisation
  • Once at the 10.12 desktop, run the Enoch r2839 package from your USB installer to install Enoch on your HDD; it should be installed on the 1st partition of the disk
  • Eject the 10.12 USB installer and put it aside
  • :excl: Disable hibernation (can be done later, but should be done): open up Terminal and type the following commands:
sudo pmset hibernatemode 0
sudo pmset hibernatefile /dev/null
sudo rm -f /var/vm/sleepimage
  • Copy the appropriate Sierra patched AICPUPM kext to /System/Library/Extensions. Copies of the kext are available here
  • copy all kexts from /Extra/Extensions to /Library/Extensions (ignore and acknowledge the permissions-related error messages)
  • copy patched AppleHDA from /Extra/Extensions/Copy_to_SLE to /System/Library/Extensions
  • repair kexts permissions and rebuild cache (if you end up with "Error 77..." message, repeat the touch + kextcache commands):
sudo chmod -Rf 755 /S*/L*/E*
sudo chown -Rf 0:0 /S*/L*/E*
sudo chmod -Rf 755 /L*/E*
sudo chown -Rf 0:0 /L*/E*
sudo touch -f /S*/L*/E*
sudo touch -f /L*/E*
sudo kextcache -Boot -U /
  • Edit /Extra/kernel.plist and set KernelBooter_kexts parameter to No:
<key>KernelBooter_kexts</key>
<string>No</string>
  • If your E6220 is fitted with a different CPU than the i5-2520M, download Pike R Alpha's SSDT generator tool and generate your own CPU-specific SSDT. Copy the resulting SSDT.aml file to /Extra folder (it's normally prompted by the tool)
  • Reboot your finalised Sierra installation

 

Please note that:

  • Loading injected kexts from /E/E with boot option KernelBooter_kexts=Yes is slower than loading cached kexts placed in /S/L/E or /L/E.
  • After any kexts modification, whether to /S/L/E or to /L/E, repair permissions and rebuild cache as detailed above.
  • At each Sierra version update:
    • type option KernelBooter_kexts=Yes at 1st reboot to boot with NullCPUPM from /E/E or you'll encounter CPU PM-related KP
    • once new Sierra version installation has completed, replace vanilla AICPUPM in /S/L/E by the corresponding patched version, repair kexts permissions and rebuild cache
  • In Sierra, the AppleHDA binary patch for codec IDT 92HD90 consists of:
    • replace 8419D411 by 00000000 (2 x instances)
    • replace 8A19D411 by 00000000 (2 x instances)
    • replace 8B19D411 by E7761D11 (2 x instances)

 

:!:    :!:   :!:   Other E6220 laptops fitted with a different CPU will require a different (and suitable) SSDT table than provided in the above pack (can be looked up on the web or created with Pike R Alpha's SSDT generator tool).  In such cases and in order to avoid CPU power management-related kernel panics (KP), NullCPUPowerManagement kext (available in folder RemovedExtensions of bootpack) is required until the CPU-specific SSDT is generated. The kext just needs to be added to /Library/Extensions followed by permissions repair/cache rebuild.

  • Like 3

Share this post


Link to post
Share on other sites

Further to additional tests with forum member MikeGiff, the following SNB framebuffer patch supports direct DP output (tested out of docking station to DP screen):

03 04 00 00 00 04 00 00 06 00 00 00

The tests were validated with combinations of dual-screens setups:

  1. built-in LCD + DP
  2. built-in LCD + DVI
  3. DVI + DP
01 02 04 00 10 07 00 00 10 07 00 00   // vanilla: nb of connectors -> "04"
05 03 00 00 02 00 00 00 30 00 00 00   // vanilla: laptop's own LCD display
02 05 00 00 00 08 00 00 05 00 00 00   // patched: HDMI, display port #5 (built-in port)
03 04 00 00 00 04 00 00 06 00 00 00   // patched: DP, display port #6 (docking-station port)
04 06 00 00 00 04 00 00 07 00 00 00   // patched: DVI, display port #7 (docking-station port)
  • Like 1

Share this post


Link to post
Share on other sites

Last update: 17 Aug 2019

 

Target macOS release:

  • High Sierra 10.13.x

 

This is a Clover-based installation using the well-known/well-documented vanilla manual method detailed below:
 

E6220_i5-2520M_HD3000_HighSierra.jpg

 

E6220_HiSie_10.13.6.jpg     E6220_HiSie_SpeedStep.jpg

 

E6220_HiSie_PCI.jpg

 

E6220_HiSie_USB.jpg

 

VGA:

E6220_HiSie_VGA.jpg

 

HDMI:

E6220_HiSie_HDMI.jpg

 

 

E6220_HiSe_HDMI-audio.jpg 

 


Working:

  • full QE/CI with HD3000 graphics OOB
  • HDMI output OOB
  • DVI + DP output OOB through port replicator E-Port K07A002
  • VGA output (with AppleIntelSNBGraphicsFB kext patch)
  • full audio, including jack microphone input and headset output (with AppleALC kext and layout-id 12)
  • HDMI audio (with AppleIntelSNBGraphicsFB kext patch)
  • built-in Gigabit Ethernet (with AppleIntelE1000e or IntelMausiEthernet kext)
  • DW375 bluetooth OOB (on/off supported with Broadcom Controller Transport patch injected to FakeSMC kext)
  • native SpeedStep at CPU multipliers x8/10/12/14/16/21/22/25 (with AICPUPM patch + generated CPUPM SSDT)
  • Turbo boost to x32 3.2GHz at Turbo multipliers x26/27/28/29/30/31/32
  • system sleeps Ok through lid closure, power button, Fn-F1, Apple menu->Sleep and energy savings settings with hibernation mode set to 0 (sleep to RAM) and /var/vm/sleepimage file deleted. Wakes Ok through lid opening and power button
  • wireless & bluetooth with any compatible card
  • battery management and monitoring (with ACPIBatteryManager kext)
  • SD card reader (with DSDT patch for compatibility with Apple's default device 14e4:16bc)
  • integrated webcam OOB
  • keyboard backlight control OOB (for backlit models)
  • left combo eSATA/USB2.0 + right USB2.0 ports OOB
  • ExpressCard slot OOB

 

Not Working:

  • N/A

 

Not tested:

  • SmartCard reader

 

 

GeekBench v2.4.3 (32bit) gives a good 6300+ rating:

 

 

 

1) 10.13 USB installer creation

  • Using a USB key of 8GB minimum, create a High Sierra USB installer through the following Terminal command:
sudo <path>/Install\ macOS\ High\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/<USB key>
  • where:
    • <path> = location of High Sierra installation package (eg: /Applications if freshly downloaded)
    • <USB key> = name of formatted USB volume (eg: USB_8GB)

 

The process will take several minutes. Once completed:

  • install Clover bootloader on the USB installer with the following customised settings:
    • Install Clover in the ESP
    • Boot Sectors -> Install boot0af in MBR
    • Clover for BIOS (legacy) booting -> Clover EFI 64-bits SATA
    • BIOS Drivers, 64 bit -> FSInject-64 / ApfsDriverLoader-64 / AppleImageLoader-64
    • BIOS Drivers, 64 bit -> GrubEXFAT-64 / GrubNTFS-64
  • once Clover is installed, launch Clover Configurator app and mount the freshly created EFI partition of the USB installer
  • open this EFI partition and transfer the files & folders from the E6220 High Sierra Clover pack below to the EFI/Clover folder

 

2) 10.13 installation

  • boot the High Sierra USB installer
  • at the Clover main menu, select the "Install macOS High Sierra" partition (but don't press [ENTER])
  • press [SPACE], select -v verbose option in the menu, then choose to boot with the selected options
  • proceed with installation, creating & formatting the target High Sierra installation through Disk Utility as/if required
  • on 1st reboot, boot off the USB installer and select the freshly created "macOS install from <target High Sierra partition>"
  • repeat this until this partition is no longer offered and only the target High Sierra partition is left to boot

 

3) Post-Installation tuning

  • Once the target High Sierra partition has booted, complete the 1st boot configuration finalisation
  • Once at the desktop, install Clover bootloader on the High Sierra partition/disk with the customised settings listed above
  • Once Clover is installed, launch Clover Configurator app and mount the freshly created EFI partition of the High Sierra partition/disk
  • Open this EFI partition and transfer the files & folders from the above E6220 High Sierra Clover pack to the EFI/Clover folder
  • You may then reboot and verify that High Sierra boots off your disk through Clover
  • After that reboot, finalise post-installation tuning actions such as disabling hibernation, allowing all apps download from anywhere, changing all serial numbers, etc.

 

    Please note that:

    • Clover config of the pack contains enabled HDMI-audio + VGA output + DVI output patches
    • Clover config of the pack contains disabled 384MB-to-1GB and 512MB-to-2GB VRAM patches. To be enabled if desired
    • Caching add-on kexts from /L/E is faster than injecting them from E/C/k/O
    • After any kexts modification, whether to /S/L/E or to /L/E, repair permissions and rebuild cache

     

    :!:    :!:   :!:   Other E6220 laptops fitted with a different CPU will require a different (and suitable) SSDT table than provided in the above pack (can be looked up on the web or created with Pike R Alpha's SSDT generator tool). In such cases and in order to avoid CPU power management-related kernel panics (KP), NullCPUPowerManagement kext is recommended to be used temporarily until the CPU-specific SSDT is generated. The kext just needs to be added to /Library/Extensions followed by permissions repair/cache rebuild.

     

     

    - - - - - - - - - -

    Edit #1: 17 Aug 2019

    • Revised bootpack #2:
      • repatched DSDT (from freshly extracted A14 BIOS) and added support for Fn-UP/Fn-DOWN brightness keys
      • Hackintool-generated USBPorts kext to replace USBInjectall

     

    Share this post


    Link to post
    Share on other sites
    Guest
    This topic is now closed to further replies.

    ×
    ×
    • Create New...