Micky1979 Posted September 8, 2016 Share Posted September 8, 2016 Can you run NVMeP 2.2? NVMeP_2.2.zip Link to comment Share on other sites More sharing options...
SammlerG Posted September 8, 2016 Share Posted September 8, 2016 same KP at boot. Generated kext alone runs fine, with both kexts installed in S/L/E KP at boot. Link to comment Share on other sites More sharing options...
magnifico Posted September 8, 2016 Share Posted September 8, 2016 same KP at boot. Generated kext alone runs fine, with both kexts installed in S/L/E KP at boot. On sierra or el ? Why you istall in SLE and not folder clover 1 Link to comment Share on other sites More sharing options...
Micky1979 Posted September 8, 2016 Share Posted September 8, 2016 same KP at boot. Generated kext alone runs fine, with both kexts installed in S/L/E KP at boot. Vanilla is taking the precedence, but both are installed properly. Can you try to rename IONVMEFamilyBorg.kext to something other like "IOMyNVME.kext" and retry? First boot w/o cache please. Link to comment Share on other sites More sharing options...
magnifico Posted September 8, 2016 Share Posted September 8, 2016 Vanilla is taking the precedence, but both are installed properly. Can you try to rename IONVMEFamilyBorg.kext to something other like "IOMyNVME.kext" and retry? First boot w/o cache please. but why not put him in clover? Why you are using your kext in SLE? They can ever live together? Link to comment Share on other sites More sharing options...
SammlerG Posted September 8, 2016 Share Posted September 8, 2016 renamed the kext, boot without caches and tested install in clover/kexts/10.12 always KP at boot. When original kext is removed from S/L/E, Sierra boots without problems. Link to comment Share on other sites More sharing options...
magnifico Posted September 8, 2016 Share Posted September 8, 2016 renamed the kext, boot without caches and tested install in clover/kexts/10.12 always KP at boot. When original kext is removed from S/L/E, Sierra boots without problems. sudo nvram -c , try again please Link to comment Share on other sites More sharing options...
Micky1979 Posted September 8, 2016 Share Posted September 8, 2016 Vanilla is taking the precedence, but both are installed properly. Can you try to rename IONVMEFamilyBorg.kext to something other like "IOMyNVME.kext" and retry? First boot w/o cache please. renamed the kext, boot without caches and tested install in clover/kexts/10.12 always KP at boot. When original kext is removed from S/L/E, Sierra boots without problems. Try this NVMePtest, no controller patch, no fake identifier, IONVMEFamilyBorg.kext will be generated with Pike's patches + kext version increased only. now is not a duplicate kext... but is a newer kext.. NVMePtest.zip 1 Link to comment Share on other sites More sharing options...
RehabMan Posted September 8, 2016 Share Posted September 8, 2016 Vanilla is taking the precedence, but both are installed properly. Can you try to rename IONVMEFamilyBorg.kext to something other like "IOMyNVME.kext" and retry? First boot w/o cache please. The vanilla IONVMeFamily should fail probe, leaving the patched one to take over... If that is not working, set IOProbeScore (larger number than native kext). Link to comment Share on other sites More sharing options...
Micky1979 Posted September 8, 2016 Share Posted September 8, 2016 If that is not working, set IOProbeScore (larger number than native kext). thought of this, but what should be the vanilla value since is not set in Info.plist? The kernel programming is not clear about that and not sure what can be for this kind of devices. ...waiting @SammlerG... The vanilla IONVMeFamily should fail probe, leaving the patched one to take over... Yep, the idea is exactly this Link to comment Share on other sites More sharing options...
RehabMan Posted September 8, 2016 Share Posted September 8, 2016 thought of this, but what should be the vanilla value since is not set in Info.plist? The kernel programming is not clear about that and not sure what can be for this kind of devices. ...waiting @SammlerG... I forget the default... but it is probably low (like zero or 1000). Set large... 5000. Link to comment Share on other sites More sharing options...
Micky1979 Posted September 8, 2016 Share Posted September 8, 2016 Yeah, this way vanilla will be unloaded w/o spamming the log.. Link to comment Share on other sites More sharing options...
SammlerG Posted September 8, 2016 Share Posted September 8, 2016 NVMePtest v2.2 by Micky1979, program to patch IONVMeFamily.kext. Patches Author: Pike R.Alpha. Contributors: Mork vom Ork and RehabMan using optarg -s 0 (Sierra DP4): Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 01 (DP4)" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 02" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 03" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 04" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 05" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 06-07" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 08" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 09-10" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 11" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 12" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 13" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 14" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 15" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 16" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 17" Success patching binary! IOPCIClassMatch = 0x01080200&0xffffff00 Success patching Info.plist! Success creating /Users/test/IONVMeFamilyBorg.kext Success creating /Users/test/configSample.plist! NOTE: for EC kexts may need to adjust the InfoPlistPatch to match your device id. and off course if you install the kext, no need for the KextsToPatch! SUCCESS! IONVMeFamilyBorg.kext successfully generated using Sierra DP4 patches! installed in L/E and worked with Sierra latest PB and Sierra GM. Boot with kext in L/E is no problem now. tested NVMePtest and ... success! 1 Link to comment Share on other sites More sharing options...
RehabMan Posted September 8, 2016 Share Posted September 8, 2016 Yeah, this way vanilla will be unloaded w/o spamming the log.. I'm actually not sure about that... since it is possible probe can *change* the IOProbeScore, vanilla IONVMeFamily probe will still run. Link to comment Share on other sites More sharing options...
Micky1979 Posted September 8, 2016 Share Posted September 8, 2016 NVMePtest v2.2 by Micky1979, program to patch IONVMeFamily.kext. Patches Author: Pike R.Alpha. Contributors: Mork vom Ork and RehabMan using optarg -s 0 (Sierra DP4): Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 01 (DP4)" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 02" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 03" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 04" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 05" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 06-07" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 08" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 09-10" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 11" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 12" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 13" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 14" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 15" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 16" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 17" Success patching binary! IOPCIClassMatch = 0x01080200&0xffffff00 Success patching Info.plist! Success creating /Users/test/IONVMeFamilyBorg.kext Success creating /Users/test/configSample.plist! NOTE: for EC kexts may need to adjust the InfoPlistPatch to match your device id. and off course if you install the kext, no need for the KextsToPatch! SUCCESS! IONVMeFamilyBorg.kext successfully generated using Sierra DP4 patches! installed in L/E and worked with Sierra latest PB and Sierra GM. Boot with kext in L/E is no problem now. tested NVMePtest and ... success! Thanks to you for testing. I'm now convinced to switch to this method! I'm actually not sure about that... since it is possible probe can *change* the IOProbeScore, vanilla IONVMeFamily probe will still run. I mean that they should probably have their "kern_return_t IONVMEFamily_stop" function, I hope. Link to comment Share on other sites More sharing options...
RehabMan Posted September 8, 2016 Share Posted September 8, 2016 I mean that they should probably have their "kern_return_t IONVMEFamily_stop" function, I hope. I'm not sure I get what you're saying... should probe fail, start is never called. And stop is not called in the event start is never called or in the case that start fails. 2 Link to comment Share on other sites More sharing options...
magnifico Posted September 8, 2016 Share Posted September 8, 2016 Thanks to you for testing. I'm now convinced to switch to this method! New release ? Link to comment Share on other sites More sharing options...
Micky1979 Posted September 8, 2016 Share Posted September 8, 2016 I'm not sure I get what you're saying... should probe fail, start is never called. And stop is not called in the event start is never called or in the case that start fails. Ok you are right, but is the init() and attach() called? what I wanted to say is that no spam will be logged because no service is provided by the vanilla kext. And anyway I'm not even sure of this since an "old" driver for the same thing is found and initialized as well (that will do nothing) New release ? yes Link to comment Share on other sites More sharing options...
RehabMan Posted September 8, 2016 Share Posted September 8, 2016 Ok you are right, but is the init() and attach() called? what I wanted to say is that no spam will be logged because no service is provided by the vanilla kext. And anyway I'm not even sure of this since an "old" driver for the same thing is found and initialized as well (that will do nothing) yes init and attach are called before probe. Link to comment Share on other sites More sharing options...
magnifico Posted September 8, 2016 Share Posted September 8, 2016 yes There something you do not like me, I'm with 11.6 and 11.5 for a kext Last login: Mon Sep 5 13:19:15 on console Airdimagnifico:~ magnifico$ cd /Users/magnifico/Desktop/cartella\ senza\ titolo\ 4 Airdimagnifico:cartella senza titolo 4 magnifico$ /Users/magnifico/Desktop/cartella\ senza\ titolo\ 4/NVMeP NVMeP v2.2 by Micky1979, program to patch IONVMeFamily.kext. Patches Author: Pike R.Alpha. Contributors: Mork vom Ork and RehabMan Try using patch for Sierra DP4: **Error applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 01 (DP4)" **Error applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 02" **Error applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 03" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 04" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 05" **Error applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 06-07" **Error applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 08" **Error applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 09-10" **Error applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 11" **Error applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 12" **Error applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 13" **Error applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 14" **Error applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 15" **Error applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 16" **Error applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 17" Success applying Controller patch (idea of RehabMan)! Failed applying binary patches, nothing done. Try using patch for Sierra DP1/3: **Error applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 01 (DP1-DP3)" **Error applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 02" **Error applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 03" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 04" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 05" **Error applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 06-07" **Error applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 08" **Error applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 09-10" **Error applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 11" **Error applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 12" **Error applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 13" **Error applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 14" **Error applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 15" **Error applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 16" **Error applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 17" Success applying Controller patch (idea of RehabMan)! Failed applying binary patches, nothing done. Try using patch for El Capitan 10.11.6 (15G31): Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 01" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 02-03" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 04" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 05-06" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 07-08-09" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 10" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 11" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 12-13" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 14" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 15-16-17-18-19" **Error applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 20-21-22" **Error applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 23-50" Success applying Controller patch (idea of RehabMan)! Failed applying binary patches, nothing done. Try using patch for El Capitan 10.11.6 (Beta 4): Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 01" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 02-03" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 04" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 05-06" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 07-08-09" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 10" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 11" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 12-13" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 14" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 15-16-17-18-19" **Error applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 20-21-22-23 (Beta4)" **Error applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 24-51 (10.11.6 Beta4)" Success applying Controller patch (idea of RehabMan)! Failed applying binary patches, nothing done. Try using patch for El Capitan 10.11.5 (15F34): Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 01" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 01" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 04" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 05-06" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 07" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 08-09" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 10" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 11" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 12-13-14" Success applying patch with Comment "IONVMeFamily Pike R. Alpha Patch 15-16-17-18-19" Success applying Controller patch (idea of RehabMan)! Success patching binary! IOPCIClassMatch = 0x01080200&0xffffff00 Success patching Info.plist! Success creating /Users/magnifico/Desktop/cartella senza titolo 4/IONVMeFamilyBorg.kext Success creating /Users/magnifico/Desktop/cartella senza titolo 4/configSample.plist! NOTE: for EC kexts may need to adjust the InfoPlistPatch to match your device id. and off course if you install the kext, no need for the KextsToPatch! SUCCESS! IONVMeFamilyBorg.kext successfully generated using El Capitan 10.11.5 (15F34) patches! Airdimagnifico:cartella senza titolo 4 magnifico$ Link to comment Share on other sites More sharing options...
Micky1979 Posted September 8, 2016 Share Posted September 8, 2016 init and attach are called before probe. Ok. What I want to avoid is to see messages in kernel log that say that two driver are found but the newer is loaded. Cannot find a screen shot and cannot try my self since I have only my notebook with me now.. There something you do not like me, I'm with 11.6 and 11.5 for a kext It says that use patches created for 10.11.5 .. and is true.. and as far as I know are working well for 10.11.6 with Security update installed! And the kext used as base is the IONVMEFamily.kext you have in /System/Library/Extensions, unless you had specify otherwise with -k option. So is the same kext that comes with your operating system. Link to comment Share on other sites More sharing options...
RehabMan Posted September 8, 2016 Share Posted September 8, 2016 Ok. What I want to avoid is to see messages in kernel log that say that two driver are found but the newer is loaded. Cannot find a screen shot and cannot try my self since I have only my notebook with me now.. The way my patches work there is no such issue... - class name is renamed from AppleNVMeController -> HackrNVMeController (note same length) - bundle identifier/bundle name is changed to be unique Link to comment Share on other sites More sharing options...
magnifico Posted September 8, 2016 Share Posted September 8, 2016 It says that use patches created for 10.11.5 .. and is true.. and as far as I know are working well for 10.11.6 with Security update installed! And the kext used as base is the IONVMEFamily.kext you have in /System/Library/Extensions, unless you had specify otherwise with -k option. So is the same kext that comes with your operating system. and the kext that generated is also compatible for the 11.6 Link to comment Share on other sites More sharing options...
Micky1979 Posted September 8, 2016 Share Posted September 8, 2016 The way my patches work there is no such issue... - class name is renamed from AppleNVMeController -> HackrNVMeController (note same length) - bundle identifier/bundle name is changed to be unique Actual NVMeP do the same: // Controller patch UInt8 nvControllerBytesF[] = {0x00, 0x41, 0x70, 0x70, 0x6C, 0x65, 0x4E, 0x56, 0x4D, 0x65, 0x43, 0x6F, 0x6E, 0x74, 0x72, 0x6F, 0x6C, 0x6C, 0x65, 0x72, 0x00}; UInt8 nvControllerBytesR[] = {0x00, 0x42, 0x6F, 0x72, 0x67, 0x50, 0x4E, 0x56, 0x4D, 0x65, 0x43, 0x6F, 0x6E, 0x74, 0x72, 0x6F, 0x6C, 0x6C, 0x65, 0x72, 0x00}; (but not the test version I made here #290, that is not published yet). SummlerG, maybe can test your for couriosity (its kp never happen to me as well...). This log Is not an issue, is OSX that tell you something (but is totally deceived ). Try to install two FakeSMC.kext with different versions (same but editing one of it) and you probably will notice a message in kernel log for that. Link to comment Share on other sites More sharing options...
RehabMan Posted September 8, 2016 Share Posted September 8, 2016 Actual NVMeP do the same: // Controller patch UInt8 nvControllerBytesF[] = {0x00, 0x41, 0x70, 0x70, 0x6C, 0x65, 0x4E, 0x56, 0x4D, 0x65, 0x43, 0x6F, 0x6E, 0x74, 0x72, 0x6F, 0x6C, 0x6C, 0x65, 0x72, 0x00}; UInt8 nvControllerBytesR[] = {0x00, 0x42, 0x6F, 0x72, 0x67, 0x50, 0x4E, 0x56, 0x4D, 0x65, 0x43, 0x6F, 0x6E, 0x74, 0x72, 0x6F, 0x6C, 0x6C, 0x65, 0x72, 0x00}; Important also to change the bundle-id/bundle-name in the Info.plist Link to comment Share on other sites More sharing options...
Recommended Posts