FAQ - kvic-z/SsdPmEnabler GitHub Wiki
- How to reduce battery drain during sleep
- How to get the best experience out of replacement SSDs
- Why are MacBookAir6,2 and MacBookPro11,1 not supported
- Is my Mac less secure with 'SIP disabled'
Frequently Asked Questions
This is a supplemental FAQ to ssdpmEnabler and using 3rd-party NVMe SSDs in Mac laptops.
1. How to reduce battery drain during sleep?
When your Mac laptops sleep, unfortunately 3rd-party NVMe SSDs are not put to sleep holding back the whole machines from entering very low-power sleep mode. The workaround is to enter Hibernation (which Apple calls it 'Standby' mode) early, cutting off almost all components from power rails. So the idea is to enter Hibernation/Standby early after sleep long enough to preserve maximum power.
Tuning 'sleep long enough' is quite personal, a trade off of power consumptions, convenience and SSD wear & tear. It depends on individual usage. For example, I assume a book author will spend more time pondering in front of his laptop at idle. Perhaps after 25mins, he/she decides 'Oh sheet. That's it for this writing session. I need a chill.'
How often you enter Hibernation/Standby also determines how frequently the full contents of RAM are written to the SSD. You want to avoid unnecessary wear & tear even though today's SSDs come with good enough endurance for most users.
Hence, finding a right delay is a simple min-max problem. I wouldn't worry much if your pick is sub-optimal. Anything between 20mins and 60mins should be fine and work well. Personally we use (if I recall correctly):
sudo pmset -a standbydelayhigh 1500
sudo pmset -a standbydelaylow 1500
1500 in seconds means 25mins. The above two lines tell your Mac to enter Hibernation/Standby after sleeping for 25mins regardless of levels of remaining battery charge. This results in near 0-pct battery drain during overnight sleep.
2. How to get the best experience out of replacement SSDs?
With the exception of MacBookPro11,4 and MacBookPro11,5, the rest of the pack comes with an on-board SSD connection that only supports up to four lanes of PCIe Gen 2 (abbreviated as PCIe 2.0 X4). The practical read/write throughput limits are around 1500MB/s. Hence, 3rd-party SSDs with max read/write throughput around 2000MB/s (or above) are more than sufficient. Higher performance models will only drain your battery faster without added benefit. For and only for MacBookPro11,4 and MacBookPro11,5, SSDs with max throughput around 3000MB/s (or above) are recommended.
NVMe SSDs drain your battery in THREE situations: during sleep, at idle and during read/write operations.
- To reduce battery drain during sleep, read Q1 above. It is a generic solution, with or without ssdmEnabler installed.
- To reduce battery drain at idle, install ssdpmEnabler.
- To reduce battery drain during read/write operations, pick a SSD model that's power efficient by design.
What's a power efficient model? The short answer is to avoid any SSDs marketed as "high performance." The longer answer is to check out this table. There is a high correlation between power consumption at idle (represented by idle current draw in the table) and during read/write operations. In general, a model with lower power consumption at idle with ssdpmEnabler installed also means lower power consumption during read/write operations. For more technical users, don't forget to check out SSDs reviews available online. Personally I found Tomshardware's review on SSDs surprisingly well done.
With above THREE situations covered, you'll have a better if not the best experience possible with a 3rd-party SSD. Much larger capacity. Significantly higher performance (than Apple originals). If you've picked the wrong SSD, don't panic. The other TWO may be sufficient to keep you in good shape. As a matter of fact, your SSDs spend majority of time at idle or asleep for most people.
3. Why are MacBookAir6,2 and MacBookPro11,1 not supported?
With much user input, in particular lots of tests by BoPI, both Mac models cannot cope with 3rd-party NVMe SSDs in lower power modes. I believe the issue lies in Apple's firmware. The right combination of skills and hardware is scarce resource. As of today (in 2021), realistically it's not expected someone might be able to figure out a fix. So picking one of the more power efficient models out of box certainly helps mitigating battery drains.
4. Is my Mac less secure with 'SIP disabled'?
Misinformation related to 'disabled SIP' creates fear, uncertainty and doubt among some users. After following the Guide and having installed ssdpmEnabler and rebooted your system, type csrutil status
in Terminal, you should see similar output like the following:
$ csrutil status
System Integrity Protection status: unknown (Custom Configuration).
Configuration:
Apple Internal: disabled
Kext Signing: disabled
Filesystem Protections: enabled
Debugging Restrictions: enabled
DTrace Restrictions: enabled
NVRAM Protections: enabled
BaseSystem Verification: enabled
SIP was created with the purpose of protecting system files from malicious changes. SIP evolved. It is not all or nothing. Since Sierra, SIP consists of several fine and granular protections covering different aspects of macOS system. For running ssdpmEnabler, we only have to care what's disabled to make it possbile. We're only disabling 'kext signing' which means allowing unsigned kext to run. Rest of the SIP protections (forget 'Apple Internal' for a moment) are still in place.
How big a risk then a malicious kext is loaded and run? To install an unsigned kext, you need root password to kick start. So here we still have safeguard. For Big Sur and later, there is one more. Read on.
Since Big Sur, even with 'kext signing' disabled, users will be asked explicitly by the system to grant permission (in System Preferences > Security & Privacy > General) to load the unsigned and installed kext. If you do not click and grant the permission, the system will not load and run the unsigned kext even thought it has been installed. This is additional safeguard against malicious kexts.
'Apple Internal' when disabled seems to imply 'Apple internal only' builds of software can update macOS system. When we try to disable any of the SIP protections, 'Apple Internal' is always part of the disabled. Practically this item may only matter to Apple developer employees.
Unfortunately you also can't re-enable 'kext signing' after installed ssdpmEnabler. Kext signing requires to remain disabled in order to load and run ssdpmEnabler.