Jump to content

Patch for using NVMe under macOS Sierra is ready.


1,382 posts in this topic

Recommended Posts

Im getting mad guys, The Pc still not recognize the disk for disk utility formatting in the installer.. Can u help me ? :) 

PCIROOT(0)#PCI(1D00)#PCI(0000)

ACPI(_SB_)#ACPI(PCI0)#ACPI(RP09)#ACPI(PXSX)

----

\_SB.PCI0.RP09.PXSX

Link to comment
Share on other sites

Why are you using Clover to boot an Ubuntu USB?

I booted into Ununtu. Installed smartmontools. Installed NVMe-cli. Followed the instructions and the same message: permission denied.

 

Anyway, I have it working. I just added the code lines in config.plist. No need for other procedures. Is that normal?

Link to comment
Share on other sites

I booted into Ununtu. Installed smartmontools. Installed NVMe-cli. Followed the instructions and the same message: permission denied.

Usually indicates lack of 'sudo'...

But you really have to check everything you're doing (correct device path, no volumes mounted on it, sudo, etc.)

 

I'm curious only because it would be nice to know about an NVMe SSD that can change to 4k...

But reading the reviews on the WD-black NVMe shows that performance is not where it should be... So, probably better choice is the Toshiba/OCZ or maybe next gen Samsung will include native 4k support.

 

Anyway, I have it working. I just added the code lines in config.plist. No need for other procedures. Is that normal?

Although you can use KextsToPatch, I would not recommend it.

So far, the patches required have changed with each version, which makes doing an update super tricky (not impossible, but you need to know what the new patches are before the update, and you need to know how to properly use KextsToPatch including MatchOS or MatchBuild).

The HackrNMVeFamily technique lets you use an old patched kext with the new version until the new kext can be generated.

Link to comment
Share on other sites

Usually indicates lack of 'sudo'...

But you really have to check everything you're doing (correct device path, no volumes mounted on it, sudo, etc.)

 

I'm curious only because it would be nice to know about an NVMe SSD that can change to 4k...

But reading the reviews on the WD-black NVMe shows that performance is not where it should be... So, probably better choice is the Toshiba/OCZ or maybe next gen Samsung will include native 4k support.

 

 

Although you can use KextsToPatch, I would not recommend it.

So far, the patches required have changed with each version, which makes doing an update super tricky (not impossible, but you need to know what the new patches are before the update, and you need to know how to properly use KextsToPatch including MatchOS or MatchBuild).

The HackrNMVeFamily technique lets you use an old patched kext with the new version until the new kext can be generated.

I used sudo, believe me. I repeated the whole process from scratch a few times. I will try next week again, as I am traveling this weekend.

 

I couldn't get the HackrNVMeFamily patch working. I had the route. I build the aml file. Y make the kext with your program. But it does not work. Again, I will try next week.

 

Personally, I miss a ELI5 (explain like I'm 5) tutorial, as I don't fully understand the whole process. Maybe a YouTube video.

 

I am interested in lba4kb as well, so I will keep working on it.

 

Again, thank you very much.

Link to comment
Share on other sites

I couldn't get the HackrNVMeFamily patch working. I had the route. I build the aml file. Y make the kext with your program. But it does not work. Again, I will try next week.

Lots of potential mistakes to be made:

- forgetting --spoof when creating the kext

- not injecting or installing the kext properly

- forgetting the _DSM->XDSM patch

- not building the SSDT correctly

- forgetting to put the SSDT in ACPI/patched

- forgetting to add the SSDT to config.plist/ACPI/SortedOrder (if you're using SortedOrder)

- getting the ACPI path wrong

- other coding errors in the SSDT

- other Clover ACPI "Fixes" that can conflict

 

Unfortunately, this stuff is not for five year olds.

Link to comment
Share on other sites

Lots of potential mistakes to be made:

- forgetting --spoof when creating the kext

- not injecting or installing the kext properly

- forgetting the _DSM->XDSM patch

- not building the SSDT correctly

- forgetting to put the SSDT in ACPI/patched

- forgetting to add the SSDT to config.plist/ACPI/SortedOrder (if you're using SortedOrder)

- getting the ACPI path wrong

- other coding errors in the SSDT

- other Clover ACPI "Fixes" that can conflict

 

Unfortunately, this stuff is not for five year olds.

Sounds rocket science, but most of the people can do it. As an engineer I feel frustrated to not understand it fully.

 

I will try again. I will try all again: lba 4K, your method. Don't broke anything.

 

Thanks one more time!

Link to comment
Share on other sites

Is that patch for update, called 2017-002 security update for 11.6 at appstore?

 

No idea.  After I applied the update, it never showed in my update history... (App Store bug, I guess).

That's why I named this plist after the build#.

 

Correct use of patch_nvme.sh is with only './patch_nvme.sh --spoof'.  No need to specify the plist as it will be determined automatically (as is written in my guide).

Cant boot with hacknvme family kext in l e and without clover patches attachicon.gifArchivio.zip

 

You need to verify NVMe ACPI path: _SB.PCI0.RP09.PXSX

And you have _DSM->XDSM patch disabled.

No HackrNVMeFamily in EFI/Clover/kexts.  Make sure you generate it with --spoof.

Link to comment
Share on other sites

No idea.  After I applied the update, it never showed in my update history... (App Store bug, I guess).

That's why I named this plist after the build#.

 

Correct use of patch_nvme.sh is with only './patch_nvme.sh --spoof'.  No need to specify the plist as it will be determined automatically (as is written in my guide).

 

Thank you!

Yes, they call it 2017-002 security update. Autodetection with --spoof works fine, great improvement. 

Link to comment
Share on other sites

Can someone help me ? My NVME always stays as external. I must be wrong about something.

 

 

The Board Is X99 Designare EX

 

If you implement the class-code spoof with HackrNVMeFamily, you won't have that issue...

Link to comment
Share on other sites

I tried, but there was a kernel panic. I tried the coexist patch, but I must be missing the path of the pci. My pci path on windows is:

 
PCIROOT (0) #PCI (0200) #PCI (0000) #PCI (0800) # PCI (0000)
ACPI (_SB _) # ACPI (PCI0) #ACPI (BR2A) #ACPI (H000) #PCI (0800) #PCI (0000)
Link to comment
Share on other sites

 

I tried, but there was a kernel panic. I tried the coexist patch, but I must be missing the path of the pci. My pci path on windows is:

 
PCIROOT (0) #PCI (0200) #PCI (0000) #PCI (0800) # PCI (0000)
ACPI (_SB _) # ACPI (PCI0) #ACPI (BR2A) #ACPI (H000) #PCI (0800) #PCI (0000)

 

 

You are doing very strange things in your SSDT for the NVMe.

Link to comment
Share on other sites

Please Help-me to fix this.

 

Obs:. Sorry for my bad english.

 

Suggest you read the guide carefully, and stick only to what is written... (you have some additions in your SSDT that are not part of the guide... and wrong).

  • Like 1
Link to comment
Share on other sites

Hello! I need some help. My mackintosh runs on Kingston HyperX Pci-Ex disk (not NVME) and now i'm trying to upgrade to Plextor PX-256M8PeY. I've tried to created patched kext following this guide but i get kernel panic at boot with this kext placed in /EFI/Clover/10.12 folder and Plextor SSD plugged in. I've read in the article that Plextor needs some other patching but i can't understand how to do it propertly. Where should i start with my problem?

Link to comment
Share on other sites

Hello! I need some help. My mackintosh runs on Kingston HyperX Pci-Ex disk (not NVME) and now i'm trying to upgrade to Plextor PX-256M8PeY. I've tried to created patched kext following this guide but i get kernel panic at boot with this kext placed in /EFI/Clover/10.12 folder and Plextor SSD plugged in. I've read in the article that Plextor needs some other patching but i can't understand how to do it propertly. Where should i start with my problem?

 

You cannot use HackrNVMeFamily during installation without doing the class-code spoof.

And you should really check if the Plextor can be changed to 4k LBA (see link from patch-nvme README into this thread...)

Link to comment
Share on other sites

Have been having a few issues trying to get my Samsung 960 EVO 250gb visible in 10.12.5. Running on a GA-Z170X-UD3 board on a regular SATA SSD for now.

 

Tried Pikers Clover config patch and get a panic attached with output attached below.

 

Tried the HackrNVMeFamily patch with and without the --spoof argument and it just reboots at the Apple Logo with no error text. Double checked BIOS settings. Don't have any DSDT patches, and a relatively vanilla config.plist.

 

Here's my config.plist:

<?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>DSDT</key>
		<dict>
			<key>Debug</key>
			<false/>
			<key>DropOEM_DSM</key>
			<false/>
			<key>Fixes</key>
			<dict>
				<key>AddDTGP_0001</key>
				<false/>
				<key>AddHDMI_8000000</key>
				<false/>
				<key>AddIMEI_80000</key>
				<false/>
				<key>AddMCHC_0008</key>
				<false/>
				<key>AddPNLF_1000000</key>
				<false/>
				<key>DeleteUnused_400000</key>
				<false/>
				<key>FIX_ACST_4000000</key>
				<false/>
				<key>FIX_ADP1_800000</key>
				<false/>
				<key>FIX_INTELGFX_100000</key>
				<false/>
				<key>FIX_RTC_20000</key>
				<false/>
				<key>FIX_S3D_2000000</key>
				<false/>
				<key>FakeLPC_0020</key>
				<false/>
				<key>FiX_TMR_40000</key>
				<false/>
				<key>FiX_WAK_200000</key>
				<false/>
				<key>FixAirport_4000</key>
				<false/>
				<key>FixDarwin_0002</key>
				<false/>
				<key>FixDisplay_0100</key>
				<false/>
				<key>FixFirewire_0800</key>
				<false/>
				<key>FixHDA_8000</key>
				<false/>
				<key>FixHPET_0010</key>
				<false/>
				<key>FixIDE_0200</key>
				<false/>
				<key>FixIPIC_0040</key>
				<false/>
				<key>FixLAN_2000</key>
				<false/>
				<key>FixRegions_10000000</key>
				<false/>
				<key>FixSATA_0400</key>
				<false/>
				<key>FixSBUS_0080</key>
				<false/>
				<key>FixShutdown_0004</key>
				<false/>
				<key>FixUSB_1000</key>
				<false/>
				<key>NewWay_80000000</key>
				<false/>
			</dict>
			<key>Name</key>
			<string>DSDT.aml</string>
			<key>Patches</key>
			<array>
				<dict>
					<key>Comment</key>
					<string>Rename HDAS to HDEF</string>
					<key>Find</key>
					<data>
					SERBUw==
					</data>
					<key>Replace</key>
					<data>
					SERFRg==
					</data>
				</dict>
			</array>
			<key>ReuseFFFF</key>
			<false/>
		</dict>
		<key>HaltEnabler</key>
		<false/>
		<key>SSDT</key>
		<dict>
			<key>DropOem</key>
			<false/>
			<key>Generate</key>
			<dict>
				<key>CStates</key>
				<false/>
				<key>PStates</key>
				<false/>
			</dict>
		</dict>
	</dict>
	<key>Boot</key>
	<dict>
		<key>Arguments</key>
		<string>dart=0</string>
		<key>DefaultVolume</key>
		<string>Sierra</string>
		<key>Legacy</key>
		<string>PBR</string>
		<key>Log</key>
		<true/>
		<key>Secure</key>
		<false/>
		<key>Timeout</key>
		<integer>3</integer>
		<key>XMPDetection</key>
		<string>NO</string>
	</dict>
	<key>Devices</key>
	<dict>
		<key>Audio</key>
		<dict>
			<key>Inject</key>
			<string>1</string>
		</dict>
		<key>FakeID</key>
		<dict>
			<key>ATI</key>
			<string>0x0</string>
			<key>IMEI</key>
			<string>0x0</string>
			<key>IntelGFX</key>
			<string>0x0</string>
			<key>LAN</key>
			<string>0x0</string>
			<key>NVidia</key>
			<string>0x0</string>
			<key>SATA</key>
			<string>0x0</string>
			<key>WIFI</key>
			<string>0x0</string>
			<key>XHCI</key>
			<string>0x0</string>
		</dict>
		<key>USB</key>
		<dict>
			<key>FixOwnership</key>
			<false/>
			<key>Inject</key>
			<false/>
		</dict>
		<key>UseIntelHDMI</key>
		<false/>
	</dict>
	<key>DisableDrivers</key>
	<array>
		<string>Nothing</string>
	</array>
	<key>GUI</key>
	<dict>
		<key>Hide</key>
		<array>
			<string>Windows</string>
			<string>\EFI\BOOT\BOOTX64.EFI</string>
		</array>
		<key>Language</key>
		<string>en:0</string>
		<key>Mouse</key>
		<dict>
			<key>Enabled</key>
			<true/>
			<key>Speed</key>
			<integer>8</integer>
		</dict>
		<key>Scan</key>
		<dict>
			<key>Entries</key>
			<true/>
			<key>Legacy</key>
			<string>First</string>
			<key>Tool</key>
			<true/>
		</dict>
		<key>ScreenResolution</key>
		<string>1920x1080</string>
		<key>Theme</key>
		<string>embedded</string>
	</dict>
	<key>Graphics</key>
	<dict>
		<key>Inject</key>
		<dict>
			<key>ATI</key>
			<false/>
			<key>Intel</key>
			<true/>
			<key>NVidia</key>
			<false/>
		</dict>
	</dict>
	<key>KernelAndKextPatches</key>
	<dict>
		<key>#FakeCPUID</key>
		<string>0x010676</string>
		<key>AppleRTC</key>
		<true/>
		<key>AsusAICPUPM</key>
		<true/>
		<key>KernelCpu</key>
		<false/>
		<key>KernelHaswellE</key>
		<false/>
		<key>KernelLapic</key>
		<false/>
		<key>KernelPm</key>
		<true/>
		<key>KextsToPatch</key>
		<array>
			<dict>
				<key>Comment</key>
				<string>t1-10.12-AppleHDA/Realtek ALC...</string>
				<key>Find</key>
				<data>
				ihnUEQ==
				</data>
				<key>Name</key>
				<string>AppleHDA</string>
				<key>Replace</key>
				<data>
				AAAAAA==
				</data>
			</dict>
			<dict>
				<key>Comment</key>
				<string>t1-10.9-10.12-AppleHDA/Realtek ALC1150</string>
				<key>Find</key>
				<data>
				ixnUEQ==
				</data>
				<key>Name</key>
				<string>AppleHDA</string>
				<key>Replace</key>
				<data>
				AAnsEA==
				</data>
			</dict>
			<dict>
				<key>Comment</key>
				<string>t1-AppleHDA/Resources/xml>zml</string>
				<key>Find</key>
				<data>
				eG1sLnps
				</data>
				<key>Name</key>
				<string>AppleHDA</string>
				<key>Replace</key>
				<data>
				em1sLnps
				</data>
			</dict>
			<dict>
				<key>Comment</key>
				<string>External icons patch</string>
				<key>Find</key>
				<data>
				RXh0ZXJuYWw=
				</data>
				<key>Name</key>
				<string>AppleAHCIPort</string>
				<key>Replace</key>
				<data>
				SW50ZXJuYWw=
				</data>
			</dict>
		</array>
	</dict>
	<key>RtVariables</key>
	<dict>
		<key>BooterConfig</key>
		<string>0x28</string>
		<key>CsrActiveConfig</key>
		<string>0x3</string>
	</dict>
	<key>SMBIOS</key>
	<dict>
		<key>BiosReleaseDate</key>
		<string>09/03/2013</string>
		<key>BiosVendor</key>
		<string>Apple Inc.</string>
		<key>BiosVersion</key>
		<string>IM142.88Z.0118.B00.1309031249</string>
		<key>Board-ID</key>
		<string>Mac-27ADBB7B4CEE8E61</string>
		<key>BoardManufacturer</key>
		<string>Apple Inc.</string>
		<key>BoardType</key>
		<integer>10</integer>
		<key>ChassisAssetTag</key>
		<string>iMac-Aluminum</string>
		<key>ChassisManufacturer</key>
		<string>Apple Inc.</string>
		<key>ChassisType</key>
		<string>13</string>
		<key>Family</key>
		<string>iMac</string>
		<key>Manufacturer</key>
		<string>Apple Inc.</string>
		<key>Mobile</key>
		<false/>
		<key>ProductName</key>
		<string>iMac14,2</string>
		<key>SerialNumber</key>
		<string>C02ND17MFLHH</string>
		<key>Trust</key>
		<false/>
		<key>Version</key>
		<string>1.0</string>
	</dict>
	<key>SystemParameters</key>
	<dict>
		<key>InjectKexts</key>
		<string>YES</string>
		<key>InjectSystemID</key>
		<true/>
	</dict>
</dict>
</plist>

post-1420735-0-99125200-1496194583_thumb.jpg

post-1420735-0-03580400-1496194785_thumb.jpg

Link to comment
Share on other sites

 Share

×
×
  • Create New...