Micky1979 Posted November 24, 2016 Share Posted November 24, 2016 For example, post #420: http://www.insanelymac.com/forum/topic/312803-patch-for-using-nvme-under-macos-sierra-is-ready/page-21?do=findComment&comment=2307585 configSample.plist has: Find: <89b3f802 0000c1e0 0c050010 00008983> Replace: <89b3f002 0000c1e0 09050010 00008983> Should be... Find: <89b3f802 0000c1e0 0c050010 00008983> Replace: <89b3f802 0000c1e0 09050010 00008983> I didn't read every post after that to see if it was ever corrected. But the same wrong patch also appears in other posts... I had a doubt, but the code snippet from the disassembling I done at the time, was showing me only the idea to do that or leaving it as is, since its working well. I mean just removing removing patch #1. Link to comment Share on other sites More sharing options...
RehabMan Posted November 24, 2016 Share Posted November 24, 2016 I mean just removing removing patch #1. That would be wrong. You should really take a close look at diffs between patched/un-patched disassembly. Removing patch #1 instead of substituting in the correct patch would result in a partially patched kext... definitely not as Pike intended. Link to comment Share on other sites More sharing options...
Micky1979 Posted November 24, 2016 Share Posted November 24, 2016 definitely not as Pike intended. was reporting the correct preferred block size. From this the doubt. Link to comment Share on other sites More sharing options...
dlwp Posted November 24, 2016 Share Posted November 24, 2016 hi all My build: ASrock Z170 Extreme 7+, 32GB Ram, GTX 980Ti, Wifi/BT (Mac compatible) card running Sierra 10.12.1. Everything works including Messages. Just occasional KP's with AppleIGB.kext when warm booting only(strange but haven't had time to really nail that down). I have a m.2 NVMe 950Pro 256GB running the last 2-3 weeks without any problems on a new build. Installed using Rehabman's recommended Kext patch method(worked the very first time). Thanks to all the efforts and hours to Rehabman, Mork, Piker et al. -spent doing the hard work! Problem: I just received my 960Pro 1TB and 512Gb and can't boot when mounted. Booting from 950PRO, It goes into a boot loop.. sometimes AppleIGB, sometimes Brcm..(BT kext) causing the KP's. If I take them out and everything boots and run's normal.. so I think its just erroneous conflict with the SSD not being recognized? Do the 960Pro have a different" IOPCIClassMatch" and how to find it without being able to boot with them installed? Hope somebody (Rehabman?) can help.. otherwise I have two very expensive chewing gum size pieces of silicon.. thanks! Link to comment Share on other sites More sharing options...
RehabMan Posted November 24, 2016 Share Posted November 24, 2016 was reporting the correct preferred block size. From this the doubt. Most of the patches are there, except two lines... It obviously works... until you create the conditions that lead to running the un-patched code. hi all My build: ASrock Z170 Extreme 7+, 32GB Ram, GTX 980Ti, Wifi/BT (Mac compatible) card running Sierra 10.12.1. Everything works including Messages. Just occasional KP's with AppleIGB.kext when warm booting only(strange but haven't had time to really nail that down). I have a m.2 NVMe 950Pro 256GB running the last 2-3 weeks without any problems on a new build. Installed using Rehabman's recommended Kext patch method(worked the very first time). Thanks to all the efforts and hours to Rehabman, Mork, Piker et al. -spent doing the hard work! Problem: I just received my 960Pro 1TB and 512Gb and can't boot when mounted. Booting from 950PRO, It goes into a boot loop.. sometimes AppleIGB, sometimes Brcm..(BT kext) causing the KP's. If I take them out and everything boots and run's normal.. so I think its just erroneous conflict with the SSD not being recognized? Do the 960Pro have a different" IOPCIClassMatch" and how to find it without being able to boot with them installed? Hope somebody (Rehabman?) can help.. otherwise I have two very expensive chewing gum size pieces of silicon.. thanks! Are you using the "class-code" spoof? If so, did you apply it to both the 950 *and* 960? Link to comment Share on other sites More sharing options...
dlwp Posted November 24, 2016 Share Posted November 24, 2016 Are you using the "class-code" spoof? If so, did you apply it to both the 950 *and* 960? ah.. I'm a noob, but I thought that was built in to the original kext patch..? I did recheck the patched kext and MD5 checks out, it was for the 10.12.0 (was working in 10.12.1 16B25657) so I updated it.. but no change. where would I do the spoof? It is also possible to use config.plist/Devices/Arbitrary to inject the bogus class-code. In Clover you can press F2 to get preboot.log (in EFI/Clover/misc/preboot.log). This is how to determine the required PciAddr data. For example on my NUC6i7KYK: do you mean this? I did the spoofing here.. in the config list. so I'll try tomorrow to find the code using the description you made in post 569 Link to comment Share on other sites More sharing options...
RehabMan Posted November 24, 2016 Share Posted November 24, 2016 ah.. I'm a noob, but I thought that was built in to the original kext patch..? No .. read my post at insanelymac (linked from README). It is a separate (a bit advanced) step. I did recheck the patched kext and MD5 checks out, it was for the 10.12.0 (was working in 10.12.1 16B25657) so I updated it.. but no change. where would I do the spoof? Need data... Attach ioreg as ZIP: Please, use the IORegistryExplorer v2.1. Provide output (in Terminal): kextstat|grep -y acpiplat kextstat|grep -y appleintelcpu kextstat|grep -y applelpc kextstat|grep -y applehda Attach EFI/Clover folder as ZIP (press F4 at main Clover screen before collecting). Please eliminate 'themes' directory. Provide only EFI/Clover, not the entire EFI folder. Attach output of (in Terminal): sudo touch /System/Library/Extensions && sudo kextcache -u / Compress all files as ZIP. Do not use external links. Attach all files using site attachments only. 1 Link to comment Share on other sites More sharing options...
dlwp Posted November 24, 2016 Share Posted November 24, 2016 will do tomorrow.. I'm in Europe so its almost bedtime for me. I assume I do this while booted into the 950Pro. without the 960's installed? thanks! Link to comment Share on other sites More sharing options...
RehabMan Posted November 24, 2016 Share Posted November 24, 2016 will do tomorrow.. I'm in Europe so its almost bedtime for me. I assume I do this while booted into the 950Pro. without the 960's installed? thanks! 960 must be installed. If you can't boot, show photo and provide data with just 950. I wonder if the 960 uses a different block size? Link to comment Share on other sites More sharing options...
dlwp Posted November 24, 2016 Share Posted November 24, 2016 960 must be installed. If you can't boot, show photo and provide data with just 950. I wonder if the 960 uses a different block size? here's what I have from today: 2 kinds of KP's KP1 KP2 and here's the 960 Specs: no mention of blocksize but it does have a new controller(internal) https://www.dropbox.com/s/7zrsuepdelbsu37/Samsung_SSD960PRO_Spezifikationen.jpg?dl=0 can't seem to upload images.. so I'll just link them for now.. Link to comment Share on other sites More sharing options...
RehabMan Posted November 24, 2016 Share Posted November 24, 2016 here's what I have from today: 2 kinds of KP's https://www.dropbox.com/s/h4bv7ml0jo596xs/IMG_9823.jpg?dl=0 https://www.dropbox.com/s/fv0jyhg5joud9ij/IMG_9827.jpg?dl=0 and here's the 960 Specs: no mention of blocksize but it does have a new controller(internal) https://www.dropbox.com/s/7zrsuepdelbsu37/Samsung_SSD960PRO_Spezifikationen.jpg?dl=0 can't seem to upload images.. so I'll just link them for now.. Need all data requested. Please provide in single post. It is possible the 960 does not use 512 byte block size. In which case, you would need to inject a different class code (or match on PCI ID) for each, with appropriately patched (or un-patched) kext for each 950/960 with respective block sizes. Vanilla IONVMeFamily.kext assumes 4096 byte block size. Patched HackrNMVmeFamily.kext assumes 512 (Pike's patches). A system with both installed, would need two patched kexts (all class names would need to be renamed, such that they are independent) with separate matching criteria, so the correct driver is selected. Probably best to test each independently first, so you know what is required for each. Link to comment Share on other sites More sharing options...
dlwp Posted November 24, 2016 Share Posted November 24, 2016 yes.. unfortunately, from Tom's Hardware: "The 960 EVO delivers more random performance than the 950 Pro, Samsung's only shipping retail consumer SSD. Peak performance for the 960 EVO comes in the largest capacity size, and users get up to 380,000 read IOPS and 360,000 write IOPS (4KB block sizes). That makes the 960 EVO second only to the 960 Pro in performance for (announced) consumer SSDs." ..maybe I sell the 950 and get another 960 to make everything simpler to maintain (I originally wanted that but the 960's were backordered several times..) Link to comment Share on other sites More sharing options...
RehabMan Posted November 25, 2016 Share Posted November 25, 2016 yes.. unfortunately, from Tom's Hardware: "The 960 EVO delivers more random performance than the 950 Pro, Samsung's only shipping retail consumer SSD. Peak performance for the 960 EVO comes in the largest capacity size, and users get up to 380,000 read IOPS and 360,000 write IOPS (4KB block sizes). That makes the 960 EVO second only to the 960 Pro in performance for (announced) consumer SSDs." ..maybe I sell the 950 and get another 960 to make everything simpler to maintain (I originally wanted that but the 960's were backordered several times..) If it is true (960 == 4k block size), it would mean it could work with vanilla IONVMeFamily.kext. Link to comment Share on other sites More sharing options...
DoZe Posted November 25, 2016 Share Posted November 25, 2016 Can you post your IORegistryExplorer 2.1 output ? If it showed the same as mine, that means we are the unlucky ones--hardware incompatibility issue ! 1 Link to comment Share on other sites More sharing options...
jsl Posted November 25, 2016 Share Posted November 25, 2016 Can you post your IORegistryExplorer 2.1 output ? If it showed the same as mine, that means we are the unlucky ones--hardware incompatibility issue ! Please upload your output (saved it as ....) as mine at Post#564 Link to comment Share on other sites More sharing options...
DoZe Posted November 25, 2016 Share Posted November 25, 2016 Please upload your output (saved it as ....) as mine at Post#564 io21output.zip 1 Link to comment Share on other sites More sharing options...
jsl Posted November 25, 2016 Share Posted November 25, 2016 Please upload your output (saved it as ....) as mine at Post#564 I double check yours and compared with mine: the situation is almost the same ! We are unlucky at present because it's due to hardware incompatibility instead of something wrong about our hardware or software. The HackrNVMeFamily-10_12_1.kext was partially loaded only without fully activated our M2 devices. WE need waiting for new IONVMeFamily.kext plus proper patching in the future, otherwise no way to use it at Mac OS X at present. Link to comment Share on other sites More sharing options...
dlwp Posted November 25, 2016 Share Posted November 25, 2016 No .. read my post at insanelymac (linked from README). It is a separate (a bit advanced) step. Need data... Attach ioreg as ZIP: Please, use the IORegistryExplorer v2.1. Provide output (in Terminal): kextstat|grep -y acpiplat kextstat|grep -y appleintelcpu kextstat|grep -y applelpc kextstat|grep -y applehda Attach EFI/Clover folder as ZIP (press F4 at main Clover screen before collecting). Please eliminate 'themes' directory. Provide only EFI/Clover, not the entire EFI folder. Attach output of (in Terminal): sudo touch /System/Library/Extensions && sudo kextcache -u / Compress all files as ZIP. Do not use external links. Attach all files using site attachments only. ok..here it is.. I managed to boot into a virgin 10.12.1 installation pre-nvme kext install. so I have all 3 installed M2_1(960PRO-512GB), M2_2(950PRO-256GB) and M2_3 (960PRO-1TB). In Sytem Info, it even shows 3X Apple SSD controller started but nothing else. IOREG too.. Clover install is from the original boot disk with hackrnvme installed... if it is possible to use vanilla, can you walk me through it to get the 960's going? would seem easier to use vanilla kext over long term..the 950 I can sell.. thanks! Rehabman_REQs.zip Link to comment Share on other sites More sharing options...
RehabMan Posted November 25, 2016 Share Posted November 25, 2016 ok..here it is.. I managed to boot into a virgin 10.12.1 installation pre-nvme kext install. so I have all 3 installed M2_1(960PRO-512GB), M2_2(950PRO-256GB) and M2_3 (960PRO-1TB). In Sytem Info, it even shows 3X Apple SSD controller started but nothing else. IOREG too.. Clover install is from the original boot disk with hackrnvme installed... if it is possible to use vanilla, can you walk me through it to get the 960's going? would seem easier to use vanilla kext over long term..the 950 I can sell.. thanks! It is going to involve looking at the debug traces from IONVMeFamily to determine what kind of patches will be required. From what you show, it seems the 960 not working with unmodified IONVMeFamily. And what you said earlier, not working with Pike's patches either. Link to comment Share on other sites More sharing options...
DoZe Posted November 25, 2016 Share Posted November 25, 2016 I double check yours and compared with mine: the situation is almost the same ! We are unlucky at present because it's due to hardware incompatibility instead of something wrong about our hardware or software. The HackrNVMeFamily-10_12_1.kext was partially loaded only without fully activated our M2 devices. WE need waiting for new IONVMeFamily.kext plus proper patching in the future, otherwise no way to use it at Mac OS X at present. Yes :O/ i hope the problem don't come from the firmware of the M2 controller i don't know why, but i have an idea, perhaps i'm totally wrong, but i think it's like certain usb key who only support certain system file like FAT32. it's possible ? Do you know the LBA size of your M2 ? And do you have The controller datasheet ? https://vendev.org/pci/ven_14a4/ Link to comment Share on other sites More sharing options...
dlwp Posted November 25, 2016 Share Posted November 25, 2016 It is going to involve looking at the debug traces from IONVMeFamily to determine what kind of patches will be required.From what you show, it seems the 960 not working with unmodified IONVMeFamily.And what you said earlier, not working with Pike's patches either. So... What do I need to do to get the debug traces..? Link to comment Share on other sites More sharing options...
jsl Posted November 26, 2016 Share Posted November 26, 2016 Yes :O/ i hope the problem don't come from the firmware of the M2 controller i don't know why, but i have an idea, perhaps i'm totally wrong, but i think it's like certain usb key who only support certain system file like FAT32. it's possible ? Do you know the LBA size of your M2 ? And do you have The controller datasheet ? https://vendev.org/pci/ven_14a4/ I am not sure about LBA size of my M2 SSD which's Plextor M8Pe series (Plextor PX-256M8PeG). Its Controller is Marvell 88SS1093 and NAND Flash is Toshiba 15nm Toggle MLC. The original Vendor ID 0x14A4 belong to GVC/BCM Advanced Research It maybe merged by Lite-On Technology Corporation later. And Plextor is currently owned by Lite-On IT Corp. / Plextor too. Plextor M8PeG_EN_0808.pdf 1 Link to comment Share on other sites More sharing options...
davidm71 Posted November 26, 2016 Share Posted November 26, 2016 I am not sure about LBA size of my M2 SSD which's Plextor M8Pe series (Plextor PX-256M8PeG). Its Controller is Marvell 88SS1093 and NAND Flash is Toshiba 15nm Toggle MLC. The original Vendor ID 0x14A4 belong to GVC/BCM Advanced Research It maybe merged by Lite-On Technology Corporation later. And Plextor is currently owned by Lite-On IT Corp. / Plextor too. Are you guys reporting the Plextor NVME drive is not hackable to work with Sierra? I just ordered a Plextor M8Pe PX-512M8PeY. Was on sale for like $200. Great deal on Newegg. May just dedicate it to Windows if not Hackable. Thanks Link to comment Share on other sites More sharing options...
jsl Posted November 27, 2016 Share Posted November 27, 2016 Are you guys reporting the Plextor NVME drive is not hackable to work with Sierra? I just ordered a Plextor M8Pe PX-512M8PeY. Was on sale for like $200. Great deal on Newegg. May just dedicate it to Windows if not Hackable. Thanks You may try it by yourself at first, because your MB is Gigabyte which seems more close to Apple's than mine (Asus).If the hardware compatibility is due to Marvell controller 88SS1903, it will not work as mine. Link to comment Share on other sites More sharing options...
magnifico Posted November 28, 2016 Share Posted November 28, 2016 @ Racer hello , it did step by step what you have written to the post 569, created the SSDT and edited info.plist in kext hack, but unfortunately it does not work, I also eliminated the kext vanilla, but I always know kp ..not where I'm wrong, very honest, do you want to see my SSDT and ioreg? looks very patiently, thanks Link to comment Share on other sites More sharing options...
Recommended Posts