Jump to content
PayPal donations: [email protected] ×

Dell Latitude E6440 with i5-4300M, HD4600 and 1600x900 LCD - Mavericks/Yosemite/El Capitan/Sierra


Hervé

Recommended Posts

  • Administrators

I had missed an important DSDT patch in Method _INI that is necessary to activate USB3.0 capability...

* Before:

       Method (_INI, 0, NotSerialized)        {
            Store (0x07D0, OSYS)
            If (CondRefOf (\_OSI, Local0))
            {
[...]
                If (_OSI ("Windows 2006"))
                {
                    Store (0x07D6, OSYS)
                }
[...]

* After:

       Method (_INI, 0, NotSerialized)        {
            Store (0x07D0, OSYS)
            If (CondRefOf (\_OSI, Local0))
            {
[...]
                If (LOr (_OSI ("Darwin"), _OSI ("Windows 2006")))   /* Simulates Win Vista mode in OS X */
                {
                    Store (0x07D6, OSYS)
                }
[...]

`

USB3.0 XHCI controller cannot be activated in I/O without this patch and will not register in IOReg @14!

 

The patch applies to all OS X versions.

 

E6440_XHCI_lspci.jpg

E6440_XHCI_IOReg.jpg E6440_XHCI_SysProfiler.jpg

 

All ports working at USB3.0/USB2.0 speed afterwards with USBInjector. No generic XHCI kext required. The ports work OOB, so to speak, with the right injector.

 

Link to comment
Share on other sites

  • 6 months later...
  • Administrators

Finally got round to implement the HPET fix in DSDT to avoid loss of USB functionality rather than systematically remove the HPET kext. It's a simple matter of removing the IRQs as detailed by Slice (and others) for instance:

 

Before:

               Device (HPET)
               {
[...]
                    Name (BUF0, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadWrite,
                            0xFED00000,         // Address Base
                            0x00000400,         // Address Length
                            _Y0F)
                    })
[...]

After:

               Device (HPET)
               {
[...]
                    Name (BUF0, ResourceTemplate ()
                    {
                        IRQNoFlags ()           // Excludes IRQs 0, 8 and 11 to prevent loss of USB ports
                            {0,8,11}
                        Memory32Fixed (ReadWrite,
                            0xFED00000,         // Address Base
                            0x00000400,         // Address Length
                            _Y0F)
                    })
[...]
  • Like 1
Link to comment
Share on other sites

  • 5 months later...
  • Administrators

Last update: -
 
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:
 
E6440_i5-4300M_HD4600_10.11.6.png
E6440_EC.png E6440_SpeedStep.png
E6440_HDMI-video.png E6440_HDMI-audio.png
E6440_SysProfiler_iGPU.png
E6440_SysProfiler_USB.png
 
Working:

  • full QE/CI with HD4600 graphics (with DSDT patch for Azul FB #12)
  • HDMI output with patched AppleIntelFramebufferAzul kext
  • DVI output through port replicator E-Port K07A002 with patched AppleIntelFramebufferAzul kext
  • full audio, including jack microphone input and headset output (with patched AppleHDA kext)
  • HDMI audio (with patched AppleIntelFrameBufferAzul kext)
  • built-in Gigabit Ethernet (with AppleIntelE1000e kext)
  • native speedstep (with tuned Kozlek's FakeSMC (SMC keys=2.13f9/SMC compatible=smc-huronriver) and MBA11,1 SMBIOS profile)
  • Turbo boost to x33 3.3GHz (getting CPU multipliers x8/12/26 + Turbo multipliers x27/28/29/30/31/32/33)
  • sleep & wake (with DSDT patch for EHCx/XHC/HDEF/GLAN _PRW; sleeps Ok on Energy Savings settings/Fn-F1/Apple menu option/power button/lid closure; wakes Ok through lid opening/power button
  • wireless with any compatible card
  • battery management and monitoring (with ACPIBatteryManager kext)
  • SD card reader (with DSDT patch for compatibility with Apple's default reader)
  • integrated webcam OOB
  • keyboard backlight control OOB (for backlit models)
  • all USB3.0 ports (with DSDT EHCx/XHC/Darwin patch + FakePCIID_XHCIMux & USB injector kexts)
  • Express card slot OOB

Not Working:

  • VGA output unsupported

Not tested:

  • SmartCard reader
  • fingerprint scanner

 

 

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 r2848 (latest at time of writing) on the USB installer with all default settings
  • Copy the above Enoch r2848 installer package to the root of the USB installer
  • Copy the following (unzipped/extracted) E6440 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 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 (i.e. presence of a logical disk), 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 r2848 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
  • 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 (ignore and acknowledge the permissions-related error messages)
  • 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 (this will suspend kext injection from /E/E and speedup boot time)
<key>KernelBooter_kexts</key>
<string>No</string>
  • If your E6440 is fitted with a different CPU than the i5-4300M, 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 El Capitan 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. But it's a useful recovery method if add-on kexts placed in /L/E or kernel cache get screwed! As such, keep /E/E untouched.
  • After any kexts modification, whether to /S/L/E or to /L/E, repair permissions and rebuild cache as detailed above.

 

:!:     :!:     :!:  Other E6440 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).

  • Like 2
Link to comment
Share on other sites

  • Administrators

Last update: -
 

Target macOS release:

  • Sierra 10.12.x

 

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

 

E6440_i5-4300M_HD4600_Sierra.png

E6440_10.12.3.png E6440_SpeedStep.png

 

Working:

  • full QE/CI with HD4600 graphics (with DSDT patch for Azul FB #12)
  • HDMI output (with patched AppleIntelFrameBufferAzul kext)
  • full audio, including jack microphone input and headset output (with patched AppleHDA kext)
  • HDMI audio (with patched AppleIntelFrameBufferAzul kext)
  • built-in Gigabit Ethernet (with AppleIntelE1000e kext)
  • native speedstep (with tuned Kozlek's FakeSMC (SMC keys=2.13f9/SMC compatible=smc-huronriver) and MBP11,1 SMBIOS profile)
  • Turbo boost to x33 3.3GHz (getting CPU multipliers x8/17/26 + Turbo multipliers x27/28/29/30/31/32/33)
  • sleep & wake (with DSDT patch for EHCx/XHC/HDEF/GLAN _PRW; sleeps Ok on Energy Savings settings/Apple menu option/power button/lid closure; wakes Ok through lid opening/power button
  • wireless with any compatible card
  • battery management and monitoring (with ACPIBatteryManager kext v1.70.2)
  • SD card reader (with DSDT patch for compatibility with Apple's default reader)
  • integrated webcam OOB
  • keyboard backlight control OOB (for backlit models)
  • All USB3.0 ports (with DSDT EHCx/XHC/Darwin patch + FakePCIID_XHCIMux & USB injector kexts)
  • Express card slot OOB

 

Not Working:

  • VGA output unsupported
  • DVI output no longer available off port replicator through previous Azul FB patches

 

Not tested:

  • SmartCard reader
  • fingerprint scanner

 

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 r2848 (latest at time of writing ) on the USB installer with all default settings
  • Copy the above Enoch r2848 installer package to the root of the USB installer
  • Copy the following (unzipped/extracted) E6440 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 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 macOS 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 (i.e. presence of a logical disk), 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 r2848 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 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 (ignore and acknowledge the permissions-related error messages)
  • 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>
  • If your E6440 is fitted with a different CPU than the i5-5300M, 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.
  • In Sierra, the AppleHDA binary patch for codec ALC292 consists of:
    • replace 8419D411 by 9202EC10 (2 x instances)
    • replace 8508EC10 by 00000000 (2 x instances)
    • replace 8408EC10 by 00000000 (2 x instances)

 

:!:      :!:      :!:  Other E6440 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).

  • Like 5
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...