Jump to content

Catalina on Dell Latitude E6410 (Nvidia Graphics) With Working Sleep


deeveedee
 Share

306 posts in this topic

Recommended Posts

EDIT: After further research, I don't think this is a problem that needs to be solved for a hackintosh.  Leaving this for historical purposes.

 

I've discovered an "issue" with Catalina.  I'm not sure what this means, but inspection of IORegistryExplorer reveals that IOHWControl does not load for GFX0 in Catalina, but it is loaded in Mojave (see attached screen shots).  I observed this when first installing Mojave (after running High Sierra) and found that the solution was to inject Nvidia via CLOVER (previously injected Nvidia via DSDT edit).  Since CLOVER is now injecting Nvidia, that's clearly not the solution for Catalina.

 

I welcome experimentation and problem solving by others to figure this out (and to figure out if this is actually an issue).  If anyone has a real MBP6,2 running Catalina, it would be good to know if IOHWControl is loaded on a real MPB6,2 running Catalina.  It does seem to me that CPU and GPU temps in Catalina are a few degrees higher than in Mojave, but not enough for me to know if I'm just seeing things.

 

GFX0-Catalina.png

GFX0-Mojave.png

Edited by tonyx86
Link to comment
Share on other sites

EDIT: After further research, I don't think this is a problem that needs to be solved for a hackintosh.  Leaving this for historical purposes.

 

The solution to the missing IOHWControl is to install AppleHWSensor.kext from a DosDude patched Mojave installation (in /System/Library/Extensions) into Catalina's /Library/Extensions.  The Info.plist of AppleHWSensor.kext must be modified, so that version 10.14 is changed to version 10.15.  You can use the AppleHWSensor.kext attached to this post or edit your own.

AppleHWSensor.kext.zip

Edited by tonyx86
Link to comment
Share on other sites

I'm not familiar with the different Latitude E6410 options, so forgive what might be a dumb question: Is your laptop a Dell Latitude E6410 with BIOS A17 and Nvidia 3100M graphics?

Link to comment
Share on other sites

On 1/16/2020 at 10:50 AM, james487 said:

hello I have a problem with the display, I have a size 1024X768 and the battery goes down quickly. Can you help me? thank you

I recently change my 9 cell battery after using it for almost 10 years on my Latitude (1920x1080p display) so I ask you

how much time do you have this machine?

Link to comment
Share on other sites

Hi!

First off, I want to say that this is incredible work you've done here. I never thought I'd see the day where sleep was working on my E6410, but here we are!

It should be noted that, in order to get Catalina to install properly, I had to:

  • temporarily remove the modular bay HDD
  • install HFSPlus.efi with Clover
  • remove AirportBrcmFixup.kext and replace it with a modified IO80211Family.kext in /EFI/Clover/kexts/Other (as I have an older Atheros card rather than a Broadcom card)

Of course, I didn't try any of this before trying to create the installer with a different USB drive, which may have been the only problem...

Also, I do have some questions:

  • Would it be possible to place the kexts from E6410-Catalina.zip/LE in /EFI/Clover/kexts/Other instead of the boot drive's /Library/Extensions, and/or block LegacyUSB*.kext and SIPManager.kext via Clover rather than deleting them entirely? Just for the sake of having a completely "vanilla" OS.
  • Out of curiosity, would it be possible to use Clover in UEFI mode rather than Legacy mode? Not that there would be any real advantage, I'd imagine.
  • Would it be possible to replace Clover with OpenCore, for the sake of future-proofing?
  • Why do you suggest swapping Command and Option in System Settings? As far as I can tell, they're where they're supposed to be (Command is Super, Option is Alt).

Thanks again for the spectacular work you've done. My E6410 is so much better than my MacBookPro4,1...

Link to comment
Share on other sites

@unilock Glad you found this.  You can learn more about how sleep was solved and why I'm not using UEFI here.  I did not have to do anything different from the install steps in my first post (and I have a second drive in the aux bay), so I'm not sure why the difference, but I'm glad you figured it out for your system.  It could be that I have always had Command and Option keys backwards on all my hacks :)  

 

I like minimal kexts in EFI so that I can multi-boot my system.  Kexts unique to each macOS are in /L/E (for my installs).  I'm sure there are multiple ways according to personal preference.  I haven't tried OpenCore.

 

I'm not sure I understand your "vanilla" comment - LegacyUSB and SipManager are added by the DosDude patcher - they're not part of vanilla macOS.  I think it's more vanilla to remove them, but that again might be personal preference.

 

Agree about the E6410.  I think this E6410 is actually better than a real MBP6,2 from what I've read.  Keep us posted on your progress.

  • Thanks 1
Link to comment
Share on other sites

On 1/16/2020 at 5:39 PM, tonyx86 said:

 I'm not familiar with the different Latitude E6410 options, so forgive what might be a dumb question: Is your laptop a Dell Latitude E6410 with BIOS A17 and Nvidia 3100M graphics?

Yes my dell latitude is e6410 bios a17 and nvdia 3100m , I have a i5 m560

Link to comment
Share on other sites

@james487 If you have configured your BIOS as I have specified in Post #1 and you have performed a clean install (not an upgrade from a previous macOS install), I'm not sure what else to recommend for your battery issue (other than replacing the battery).

 

For the video, I'm not a Clover expert, but have you tried changing the video dimensions in the Clover config.plist?  If you're using Clover Configurator, change "Screen Resolution" on the GUI configuration page to match your display.

 

If you are still stuck and want more help, please use BlackDragon's problem reporting tool and post your debug files with your next request for help.

Link to comment
Share on other sites

13 hours ago, tonyx86 said:

@unilock Glad you found this.  You can learn more about how sleep was solved and why I'm not using UEFI here.  I did not have to do anything different from the install steps in my first post (and I have a second drive in the aux bay), so I'm not sure why the difference, but I'm glad you figured it out for your system.

 

I'm pretty sure only the USB drive I was originally trying to use was at fault, but in the case that it wasn't, perhaps my instructions could help someone else facing a similar problem.

From reading that thread, I've gathered that Clover isn't recognized by the computer when in UEFI mode. That's odd... I tried to boot Clover myself by manually adding the .efi file as a boot entry within the BIOS, with no luck (after selection, the screen would go black for a bit, then go back to the boot device menu). I also tried to boot rEFInd in the same manner, to no avail -- which I find very strange. I had rEFInd booting on this laptop before (albeit from the internal HDD); why wouldn't it be working now...?

 

13 hours ago, tonyx86 said:

I like minimal kexts in EFI so that I can multi-boot my system.  Kexts unique to each macOS are in /L/E (for my installs).  I'm sure there are multiple ways according to personal preference.  I haven't tried OpenCore.

 

I believe that's what the version specific folders in /EFI/CLOVER/kexts are for  ;)

I might try OpenCore myself on a second HDD, in that case. Perhaps it could solve the UEFI issue? (I doubt it)

 

14 hours ago, tonyx86 said:

I'm not sure I understand your "vanilla" comment - LegacyUSB and SipManager are added by the DosDude patcher - they're not part of vanilla macOS.  I think it's more vanilla to remove them, but that again might be personal preference.

 

I suppose, by "vanilla", I mean that it might be more "authentic" to not manually add/remove kexts to/from the macOS partition, and rather let the bootloader manage all of that. Though, following this line of logic, it would be better to let Clover handle the kexts from Catalina Patcher, rather having them installed directly to /Library/Extensions. I suppose it doesn't really matter, in the end.

 

From my own testing, I can confirm that at least one USB port on the E/Port Replicator dock works! I haven't tested any of the other ports...

Additionally, I've been experiencing an issue on my E6410 as of late. Occasionally, the screen will go entirely white, and the only way to move on from this is to hard-reboot the laptop. It seems to be spontaneous. Any idea of what might be going on?

Link to comment
Share on other sites

I've never experience that "white screen" behavior.  If you performed a clean install (not an upgrade to an install using a different methodology), I'm not sure what that could be.  Are you able to view the GPU temp with HWMonitor?  If so - too hot?  You'll see in my Mojave Thread that I replaced the CPU/GPU thermal pad with a copper shim.

 

I should mention that I learned "on the job" after I purchased the Latitude E6410 on Ebay in June 2019.  It sounds like you know much more about this stuff than I do.  The only thing I have going for me is that I'm not constrained by paradigms (sometimes better to be naive), so I try stuff that others already "know" won't work.  Probably why I solved the sleep problem 9 years after the Latitude E6410 was released.  

Link to comment
Share on other sites

Reading the dialog above, I was wondering if I know why UEFI will be a better option for boot with Clover (or Opencore) instead legacy, but I agree: it is so much odd these not working situations.

 

About dockstation replicator, I have one since macOS Sierra in this notebook and came with it since 2011 purchase. The ports works flawlessly.

 

Just to mention I prefeer to run kexts from bootloader just to update them with more easyly not changing permissions by installed it or removed in my macOSs (11.15 and 10.9) without entering the "vanilla questions".

 

Last thing, thank you all for mantaining this post alive and updated.
 

Edited by vbmota
Link to comment
Share on other sites

On 1/19/2020 at 10:37 AM, tonyx86 said:

I've never experience that "white screen" behavior.  If you performed a clean install (not an upgrade to an install using a different methodology), I'm not sure what that could be.  Are you able to view the GPU temp with HWMonitor?  If so - too hot?

According to HWMonitor, my GPU temperature seems to average around 60° with a peak of 70°, which I think is normal.

I've been keeping a log of issues I've been running into while using the machine:

  • Can't turn off Bluetooth
  • Random white screens, leading to a "soft" reboot (related to Wi-Fi? WWAN card? 2nd HDD being a piece of {censored}?)
  • Wi-Fi takes a few minutes to turn on after boot (likely due to using Atheros vs. Broadcom)
  • Closing the lid does not put the laptop to sleep
  • Selecting "sleep" in the menu bar causes the screen, fans, and disks to power off, but the laptop never enters sleep mode and the power light remains a steady blue (no blinking). Attempts to wake the computer from this state are futile; the only way to continue is to reboot the device

I should mention that I have a WWAN card installed in my laptop. However, it's disabled in the BIOS, so I don't think it would be an issue... right?

Also, I'm not able to use the disk in the modular bay drive; it claims it's "not recognized", and when I try to "initialize" it, it fails out claiming to be "unable to format the last block of the device". I'd think it was a problem with the modular bay drive itself, as it was quite cheap, but I'm able to access the same disk just fine when booting from a live Linux image. Any ideas?

Attached are some logs which I thought might be helpful, as well as my EFI (I've changed a notable amount of things). I tried to grab a log of what happens when I get a white screen, but the messages that would have appeared shortly before the phenomenon aren't to be found in "log show"...

Note that I'm using AppleALC with layout-id=11 rather than VoodooHDA (personal preference).

 

EDIT: Also attached is a collection of hardware information gathered by Linux's various ls* commands.
To respond to the latter half of your reply, I actually have no idea what I'm doing.

 

EDIT2: From this thread, I'm pretty certain the white screen issue is related to me using the Atheros kext from High Sierra on Catalina. Who would've guessed that using outdated kexts would cause instability...

I guess I should look into buying a Broadcom Wi-Fi card.

bootlog.txt

EFI.zip

wifi.log

ls.zip

Edited by unilock
Link to comment
Share on other sites

 

@unilockCan use BlackDragon's problem reporting tool (Google it) and post the output?

 

While you're getting the full problem reporting output from BlackDragon's tool, here are a couple of things I noticed:

  • I have never tested with all kexts in CLOVER/kexts/Other.  Have you tried the kext installation that I suggested?
  • The BRCM kexts are still installed even though you have an Atheros card.  Have you tried removing the BRCM kexts?
  • You are using AppleALC.kext.  This did not work for me.  Use VoodooHDA.

 

My suggestion would be to start by following the exact steps that I describe in Post #1 of this thread to establish a working baseline and so that we can be consistent with our approach.  Then start tweaking that if necessary to customize for your own system.

Edited by tonyx86
Link to comment
Share on other sites

@tonyx86

 

Attached is the output from black.dragon74's tool.

 

I originally followed your guide verbatim (including installing the specified kexts to /L/E), the only change being that I installed AirPortAtheros40.kext in place of AirportBrcmFixup.kext. The other Broadcom kexts are required for the DW375 Bluetooth module to work; I don't believe they, alone, would be messing up Wi-Fi by loading incorrect drivers. Hell, even on official systems, IO80211Family.kext contains plugin kexts for every supported Broadcom chipset.

 

On that topic, it seems that dosdude1's macOS Catalina Patcher automatically installs the Legacy Wi-Fi Patch (among other patches), which includes installing AirPortAtheros40.kext to /S/L/E/IO80211Family.kext/Contents/PlugIns/. Note that I did make sure that only "Patch Updater" and "Legacy Video Card Patch" were selected in the "macOS Post Install" menu. Though, this is likely related to the "Auto-apply Post Install Patches" option being enabled by default in macOS Catalina Patcher. Perhaps this is the source of the majority of my issues -- I'll try a fresh install without that option checked before anything else.

 

I did mention that I was using AppleALC instead of VoodooHDA. It works fine for me with layout-id=11. Of course, for the sake of establishing a baseline, I'll exclude it from my next attempt at installing macOS.

 

As an aside, the resolution of my E6410's LCD is 1280x800 rather than 1440x900.

debug_20095.zip

Link to comment
Share on other sites

@unilock I also had installed AppleALC with layout-id=11 (if you inspect the DSDT that I included in the EFI attached to Post #1, you'll see that this layout-id is already in Device HDEF in the DSDT).  Another problem was my reason for switching to VoodooHDA (a problem experienced by others and described in my Mojave thread).  It's possible that AppleALC.kext has been fixed since I tried it.  After we get your system working with an agreed baseline, we can try AppleALC.  I would prefer it as well.

 

EDIT: I would recommend that you remove the Atheros Wi-Fi module and kext as we establish your working baseline.

 

Edited by tonyx86
Link to comment
Share on other sites

@tonyx86

It's possible that AppleALC was working for me only because I had the "Legacy Audio Patch" from macOS Catalina Patcher installed at the time.

 

Anyway, I've just finished reinstalling macOS, this time with "Auto-apply Post Install Patches" disabled, and making sure I followed your guide exactly.

Unfortunately, I had to go run some errands before I could test any further than getting to the desktop. Wi-Fi doesn't work, as expected; I'm stuck with Ethernet for now, and probably until I get a Wi-Fi card that's actually supported.

I'll be able to report back with my findings in about an hour.

Link to comment
Share on other sites

@tonyx86

It does appear that everything is working as intended after a reinstall. I'd like to suggest that you add disabling "Auto-apply Post Install Patches" and rebuilding kextcache after adding kexts to /L/E to your guide, as these are (ostensibly) necessary steps. Disabling Patch Updater's automatic scan for updates might also be a good idea, in order to get rid of the prompt to install unnecessary patches on every boot.

Though, I'm still facing a few issues:

  • Can't turn Bluetooth off via macOS (I suppose I could tie it to the physical network switch)
    EDIT: According to RehabMan, power control comes only with officially supported Broadcom Bluetooth. I guess using the physical switch is the only option.
  • Can't access modular bay HDD (it works with every other OS, as well as when the HDD is placed in an external enclosure...)

Of course, Wi-Fi still doesn't work, but that's expected.

I'm going to try moving the appropriate kexts from /L/E to C/k/O; wish me luck.

EDIT: Yep, everything's still working, including sound with AppleALC (all I did was add the kext to C/k/O). By the way, BrcmFirmwareRepo and BrcmPatchRAM3 are unnecessary; only BrcmBluetoothInjector is needed to get Bluetooth working.

Edited by unilock
Link to comment
Share on other sites

@unilockGlad to hear it.  Proper installation of the kexts in /L/E is definitely necessary - I'll add a note to make sure that they're properly installed.  Glad to hear that AppleALC is working - they must have fixed the problem.

 

I added a note to Post #1 about proper installation of kexts in /L/E and emphasized the need to select/install only the two Post Install options that I listed.

 

Glad this worked for you.  The solution represents a lot of hours of work.

 

EDIT: I can turn Bluetooth on and off from within macOS Catalina.  In System Preferences, I have selected the option "Show bluetooth in menu bar."  From the menu bar, I can turn bluetooth on and off.  Let's revisit this after you have a supported Brcm Wi-Fi module with the same Brcm kexts installed.  I'd suggest that you leave your system exactly as I described in Post #1 until we confirm that everything is working properly for you.  Without identically configured systems, we are introducing variables in the test process that make debugging unnecessarily difficult.

 

EDIT #2: There is discussion in my Mojave Thread about the aux drive bay.  Read through to find the relevant posts.  It may be that there are differences in E6410 models or in drive bay hardware.

 

EDIT #3: Read this to see how to install the BRCM kexts.  Note that the kexts are location-dependent (depends on whether you install in /L/E or /E/C/k/O).  This is one reason why the kext location matters and why I'm suggesting we stick to the same install methodology until all problems are resolved.

Edited by tonyx86
  • Thanks 1
Link to comment
Share on other sites

I have updated the following kexts in /Library/Extensions with the latest versions listed below.  I have not yet added these to the baseline in Post #1, as I am still testing.

  • Lilu.kext 1.4.1
  • AirportBrcmFixup.kext 2.0.5
  • BrcmFirmwareRepo.kext 2.5.1
  • BrcmBluetoothInjector.kext 2.5.1
  • BrcmPatchRAM3.kext 2.5.1

Proper installation of the kexts requires a kext install tool or PROPER manual installation (my preference).  Manual installation can be achieved as follows:

  1. Open finder to /Library/Extensions
  2. Delete Lilu.kext, AirportBrcmFixup.kext, BrcmFirmwareRepo.kext, BrcmBluetoothInjector.kext, BrcmPatchRAM3.kext
  3. Copy the updated kexts to /Library/Extensions from the attached zip file
  4. Open terminal, cd /Library/Extensions and run the following
    1. sudo chown -R root:wheel *.kext
    2. sudo chmod -R 755 *.kext
    3. sudo kextcache -i /
  5. The output of 'sudo kextcache -i /' should show that all kexts are allowed.  If not, you have the wrong ownership or permissions for one or more kexts.  Repeat Step #4 if not all kexts are allowed.
  6. Reboot your HackBookPro and test bluetooth.  In my case, I needed to reboot a second time in order to be able to turn Bluetooth on and off from the bluetooth icon in the menu bar.

 

 

NOTE: If you are NOT installing kexts in /Library/Extensions according to my methodology in Post #1, you must read the Brcm installation notes for proper installation of the kexts.  To maintain a consistent baseline that permits repeatable results and simplifies debugging, I will assume that your installation matches my installation in Post #1.

 

 

 

Updated Kexts.zip

Edited by tonyx86
Link to comment
Share on other sites

@tonyx86

It seems we have different Bluetooth devices. I'm guessing you're able to turn Bluetooth on/off because your (almost officially supported!) WLAN card has BT4.0 baked in, while I'm stuck with whatever Bluetooth module is embedded in the E6410.

Apparently, that's the Dell DW375. Only BrcmBluetoothInjector.kext is required to get this module working, ostensibly; BrcmFirmware*.kext and Brcm*PatchRAM*.kext are unnecessary. I'm guessing this is not the case for your BCM94352HMB.

As an aside, I ordered a BCM94360HMB, so I'll soon be able to enjoy fully-functional wireless ability again!

 

On the topic of the modular bay HDD, I read through the Mojave thread, and saw that removing the CD/DVD drive from the BIOS' boot options was recommended. Unfortunately, this didn't help; I get I/O errors on the disk when booting, and I'm still "unable to format the last block of the device".

On a related note, I think I'm finally at the bottom of the white screen issue! You see, it recently popped up again today, despite my setup almost exactly matching yours. However, the previous night, I was able to use the laptop for several hours without running into a white screen. Then I realized: I hadn't had the modular bay HDD plugged in that night, while today, I did. The next step will be confirming that I get a white screen with the modular bay HDD plugged in, and that I don't get a white screen when it's not plugged in. But I digress.

It's unlikely there's any difference in the hardware of the modular bay HDD caddy, as I've popped mine open, and it's almost completely just a direct connection from the full-size SATA port of the caddy to the smaller, internal SATA port of the laptop. Differences in the hardware of our E6410s, however, I doubt, though I'm not entirely sure on that front.

 

Anyway, I've been trying to find a way to get the GPU working without installing dosdude1's complete LegacyGPU patch (you know how I am with getting the bootloader to do all the heavy lifting). According to the Internet, the GeForce NVS 3100M is a Fermi GPU, and as such requires a specific kext to be installed/injected (I don't remember the name off the top of my head) as well as CoreDisplay.framework to be downgraded to the version from High Sierra(?).

However, I'm aware that dosdude1's LegacyGPU patch includes certain fixes, such as the transparency fix, that wouldn't be present in only installing the previously mentioned kext and downgrading CoreDisplay. Perhaps it's best to just leave the GPU setup as-is for now.

 

Also -- I'm not sure whether this is a known issue or not, but closing the laptop lid in order to put the device to sleep does not work. In fact, nothing happens when the lid is closed; the display doesn't even turn off. Clicking on "Sleep" from the menubar is a real hassle, you know?

Link to comment
Share on other sites

@unilock Sounds like you may have an aux bay hardware issue.  I haven't seen the problem, so I don't know for sure.

 

Fn-F1 should sleep your laptop.  Then close the lid.  Opening the lid should wake your laptop.

 

Lid-polling is also mentioned in the Mojave thread as the generally accepted way to solve sleep on lid close.  It's not a priority for me, so I don't plan to address it.  When you develop the lid-sleep solution, please post here.  

 

There are others who have achieved the Nvidia legacy installation.  As one option, Google "Full Acceleration for Intel HD 3000 and older NVIDIA Graphics in macOS Catalina" if you want an alternative.  There's also a thread in InsanelyMac if you search.

 

EDIT: You mentioned that you have a WWAN card that is installed but disabled in BIOS.  Have you tried removing it completely just to see if it has any affect?  Also, have you completely removed your Atheros card?  After you install your new Brcm card, please be sure to post your updated Black.Dragon files with an problem reports.

Edited by tonyx86
  • Thanks 1
Link to comment
Share on other sites

@tonyx86

I definitely have a problem with the aux bay -- likely the HDD caddy itself, as the stock optical drive works fine in macOS. Of course, the HDD caddy works fine in Linux... it's a mystery.

 

54 minutes ago, tonyx86 said:

Fn-F1 should sleep your laptop.  Then close the lid.  Opening the lid should wake your laptop.

Oh, yep, you're right. I was looking for Shift+Command+Eject earlier, but couldn't figure out how to press the Eject button. Thanks for pointing that out; that's a good alternative for now.

I'll try to look into getting lid-polling to work properly, but my knowledge of ACPI is minuscule, so it might take a while.

 

Searching for "Full Acceleration for Intel HD 3000 and older NVIDIA Graphics in macOS Catalina" points me to Legacy Video Patch by chris1111 and co. Unfortunately, this solution also requires modifying system files, rather than letting Clover do everything via injections, just as dosdude1 and co.'s LegacyGPU patch does. It's dawning on me that there's probably not going to be any way to get our ancient Fermi GPUs working without touching something in /System. Alas.

 

Thanks again for the guidance here. I really do appreciate it.

 

EDIT: As a side note, I successfully replaced FakeSMC with VirtualSMC, but switched back for the extra sensors provided by FakeSMC.

Edited by unilock
Link to comment
Share on other sites

Lid sleep can be your contribution to this effort.  As you figure it out, think about the countless hours that have gone into making this solution available and the countless hours that have gone before this thread to make the hackintosh possible.  I know how many hours it took me on this one laptop and there are others (legends in the hackintosh world) who deserve most of the credit.

 

You're welcome.

Link to comment
Share on other sites

On 1/24/2020 at 7:49 PM, unilock said:

As an aside, I ordered a BCM94360HMB, so I'll soon be able to enjoy fully-functional wireless ability again!

 

I just noticed that you ordered a Brcm module different from the one I'm using.  There were reasons I selected Broadcom BCM 94352HMB after a bit of research and I'm sure there are others that will work, too.  Let us know how the 94360 works for you.

Link to comment
Share on other sites

 Share

×
×
  • Create New...