Jump to content

syscl

Coders
  • Content Count

    290
  • Joined

  • Last visited

  • Days Won

    9

Reputation Activity

  1. Like
    syscl got a reaction from PMheart in Clover Problems and Solutions   
    For those who experience Dell SMBIOS truncate in SMBIOS Table Type 1(Broadwell, Skylake, ...), here's the solution:
     
    Remap SmBios Table Type 1 standard GUID from EB9D2D31-2D88-11D3-9A16-0090273FC14D to EB9D2D35-2D88-11D3-9A16-0090273FC14D Kexts patch to make AppleSMBIOS and AppleACPIPlatform to read table in new location Notice:
    Since SmBios Table Type 2 hasn't been affected, thus boot.efi hasn't been affected(lucky part) Since SmBios Table Type 1 GUID is the same on all computers even on Apple, thus, Apple has to follow the same definition from UEFI, that's why we can simply change GUID without any worries  
    So how about the solution?
     
    We can manually patch AppleSMBIOS and AppleACPIPlatform then use a hacked CLOVERX64.efi to fix issues on Dell's laptop. But this solution is not elegant. Because:
    The patched CLOVERX64.efi can not easily sync with the latest code This method may be applied on other platforms, other computers as well, thus not be applicable in practice  Need to add kext patch manually  
    Thus my goal is to implement this fix in Clover as an option(like many other patches: AsusAICPUPM, AppleRTC...). And, yes, minor change in Clover source code to achieve consistency.
     
    Here's the new option I made for Clover(Dell SMBIOS Patch)

     
    Here's the new key(boolean) value in Clover config.plist
    <key>KernelAndKextPatches</key> <dict> <key>DellSMBIOSPatch</key> <false/> </dict> Here's the source code I've changed
    Clover.zip
     
    Here's the compiled CLOVERX64.efi(based on latest r3998 @Sherlock's fix version from sourceforge)
    CLOVERX64.efi.zip
     
    Here's the prove after applying this patch on XPS 13 9350(Iris 540 model)

     
    Notice: This method can be applied in any computers without problems(in theory). But I recommend you use this method only when you encounter SMBIOS Table Type 1 truncate issue.
     
    Credit: David Passmore who provided the clue for the fix. Thank's for your good idea!
    Credit: @Sherlock who help me refine RC.Script bugs such that I have time to implement David Passmore's workaround into Clover
    Credit: my friends(like Hongyi, @Mirone) who give me courage not to give up 
    Credit: syscl who implement this method into Clover
    Credit: Clover, a great project
     
    Thanks everyone, have a great day
    syscl
  2. Like
    syscl got a reaction from webhappyboy070 in [GUIDE] Fix Skylake HDMI/DP Output   
    Well it's been a while I search to fix the issue below

    Note, there's no HDMI / DisplayPort Output in the screenshot above, even though you correct the port 0105, port 0204, port 0306 in AppleIntelSKLGraphicsFramebuffer.kext correctly.
     
     
    The problem lies in the AppleHDA(assume you are familiar with the basic concept to patch the AppleHDA and you already have a working AppleHDA), then what we have to do is the following
    Uncompress the layoutXXX.xml.zlib Open layoutXXX.xml you just uncompress Add PublishHDMI_DP as a Boolean type in Root/PathMapRef, value is True, like the below picture
    Save and compress the file back to layoutXXX.xml.zlib Copy to the place resource/ under your dummyHDA Reboot to see change  
    As a proof, please see the screenshot below

     
    Note: if you cite my work, please don't forget to add credit to syscl/me, since it took me time to figure out the solution. Thus your credit will make me feel my work do help others! Thank you!
     
    ​Good luck,
    syscl
  3. Like
    syscl got a reaction from Sherlocks in Enable IOPCIFamily to set tolerance latency for PCI devices   
    Hello, recently I am trying to figure out what cause the data lose during sleep on XPS 13 9350. Thus a lot friends help me and they lent their new MacBookPro for me to dump some information from their laptops.

    By comparing the ioreg from their laptops, I found some properties that we miss to inject for our computers. One property I noticed is reg-ltrovr.

    This property lies in Device(RP01), Device(RP02), Device(RP03), Device(RP04), ... Device(RP13), ... When we inject "reg-ltrovr" as _DSM method, IOPCIFamily.kext will set latency tolerance offset for each of the latency tolerance devices. This could fix some potential issues(still need to explore more evidence).Here's the patch I wrote for my XPS 13 9350, you can tune it if you have more than 13 RP0X devices
    #Created by syscl #syscl_ltrovr #Inject reg-ltrovr for IOPCIFamily::setLatencyTolerance setting ltrOffset for PCI devices successfully (c) syscl #Tune it if you need #RP01 #Remove _DSM just in case into method label _DSM parent_adr 0x001C0000 remove_entry; into method label XDSM parent_adr 0x001C0000 remove_entry; #Now inject property: setLantencyTolerance for RP01 credit syscl into device name_adr 0x001C0000 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; #RP02 into method label _DSM parent_adr 0x001C0001 remove_entry; into method label XDSM parent_adr 0x001C0001 remove_entry; #Now inject property: setLantencyTolerance for RP02 credit syscl into device name_adr 0x001C0001 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; #RP03 into method label _DSM parent_adr 0x001C0002 remove_entry; into method label XDSM parent_adr 0x001C0002 remove_entry; #Now inject property: setLantencyTolerance for RP03 credit syscl into device name_adr 0x001C0002 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; #RP04 into method label _DSM parent_adr 0x001C0003 remove_entry; into method label XDSM parent_adr 0x001C0003 remove_entry; #Now inject property: setLantencyTolerance for RP04 credit syscl into device name_adr 0x001C0003 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; #RP05 into method label _DSM parent_adr 0x001C0004 remove_entry; into method label XDSM parent_adr 0x001C0004 remove_entry; #Now inject property: setLantencyTolerance for RP05 credit syscl into device name_adr 0x001C0004 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; #RP06 into method label _DSM parent_adr 0x001C0005 remove_entry; into method label XDSM parent_adr 0x001C0005 remove_entry; #Now inject property: setLantencyTolerance for RP06 credit syscl into device name_adr 0x001C0005 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; #RP07 into method label _DSM parent_adr 0x001C0006 remove_entry; into method label XDSM parent_adr 0x001C0006 remove_entry; #Now inject property: setLantencyTolerance for RP07 credit syscl into device name_adr 0x001C0006 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; #RP08 into method label _DSM parent_adr 0x001C0007 remove_entry; into method label XDSM parent_adr 0x001C0007 remove_entry; #Now inject property: setLantencyTolerance for RP08 credit syscl into device name_adr 0x001C0007 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; #RP09 into method label _DSM parent_adr 0x001D0000 remove_entry; into method label XDSM parent_adr 0x001D0000 remove_entry; #Now inject property: setLantencyTolerance for RP09 credit syscl into device name_adr 0x001D0000 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; #RP10 into method label _DSM parent_adr 0x001D0001 remove_entry; into method label XDSM parent_adr 0x001D0001 remove_entry; #Now inject property: setLantencyTolerance for RP10 credit syscl into device name_adr 0x001D0001 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; #RP11 into method label _DSM parent_adr 0x001D0002 remove_entry; into method label XDSM parent_adr 0x001D0002 remove_entry; #Now inject property: setLantencyTolerance for RP11 credit syscl into device name_adr 0x001D0002 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; #RP12 into method label _DSM parent_adr 0x001D0003 remove_entry; into method label XDSM parent_adr 0x001D0003 remove_entry; #Now inject property: setLantencyTolerance for RP12 credit syscl into device name_adr 0x001D0003 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; #RP13 into method label _DSM parent_adr 0x001D0004 remove_entry; into method label XDSM parent_adr 0x001D0004 remove_entry; #Now inject property: setLantencyTolerance for RP13 credit syscl into device name_adr 0x001D0004 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; Once you finished inject this property successfully, ioreg will give the following result


    Good luck,

    syscl
  4. Like
    syscl got a reaction from PMheart in Clover Problems and Solutions   
    For those who experience Dell SMBIOS truncate in SMBIOS Table Type 1(Broadwell, Skylake, ...), here's the solution:
     
    Remap SmBios Table Type 1 standard GUID from EB9D2D31-2D88-11D3-9A16-0090273FC14D to EB9D2D35-2D88-11D3-9A16-0090273FC14D Kexts patch to make AppleSMBIOS and AppleACPIPlatform to read table in new location Notice:
    Since SmBios Table Type 2 hasn't been affected, thus boot.efi hasn't been affected(lucky part) Since SmBios Table Type 1 GUID is the same on all computers even on Apple, thus, Apple has to follow the same definition from UEFI, that's why we can simply change GUID without any worries  
    So how about the solution?
     
    We can manually patch AppleSMBIOS and AppleACPIPlatform then use a hacked CLOVERX64.efi to fix issues on Dell's laptop. But this solution is not elegant. Because:
    The patched CLOVERX64.efi can not easily sync with the latest code This method may be applied on other platforms, other computers as well, thus not be applicable in practice  Need to add kext patch manually  
    Thus my goal is to implement this fix in Clover as an option(like many other patches: AsusAICPUPM, AppleRTC...). And, yes, minor change in Clover source code to achieve consistency.
     
    Here's the new option I made for Clover(Dell SMBIOS Patch)

     
    Here's the new key(boolean) value in Clover config.plist
    <key>KernelAndKextPatches</key> <dict> <key>DellSMBIOSPatch</key> <false/> </dict> Here's the source code I've changed
    Clover.zip
     
    Here's the compiled CLOVERX64.efi(based on latest r3998 @Sherlock's fix version from sourceforge)
    CLOVERX64.efi.zip
     
    Here's the prove after applying this patch on XPS 13 9350(Iris 540 model)

     
    Notice: This method can be applied in any computers without problems(in theory). But I recommend you use this method only when you encounter SMBIOS Table Type 1 truncate issue.
     
    Credit: David Passmore who provided the clue for the fix. Thank's for your good idea!
    Credit: @Sherlock who help me refine RC.Script bugs such that I have time to implement David Passmore's workaround into Clover
    Credit: my friends(like Hongyi, @Mirone) who give me courage not to give up 
    Credit: syscl who implement this method into Clover
    Credit: Clover, a great project
     
    Thanks everyone, have a great day
    syscl
  5. Like
    syscl got a reaction from PMheart in Clover Problems and Solutions   
    For those who experience Dell SMBIOS truncate in SMBIOS Table Type 1(Broadwell, Skylake, ...), here's the solution:
     
    Remap SmBios Table Type 1 standard GUID from EB9D2D31-2D88-11D3-9A16-0090273FC14D to EB9D2D35-2D88-11D3-9A16-0090273FC14D Kexts patch to make AppleSMBIOS and AppleACPIPlatform to read table in new location Notice:
    Since SmBios Table Type 2 hasn't been affected, thus boot.efi hasn't been affected(lucky part) Since SmBios Table Type 1 GUID is the same on all computers even on Apple, thus, Apple has to follow the same definition from UEFI, that's why we can simply change GUID without any worries  
    So how about the solution?
     
    We can manually patch AppleSMBIOS and AppleACPIPlatform then use a hacked CLOVERX64.efi to fix issues on Dell's laptop. But this solution is not elegant. Because:
    The patched CLOVERX64.efi can not easily sync with the latest code This method may be applied on other platforms, other computers as well, thus not be applicable in practice  Need to add kext patch manually  
    Thus my goal is to implement this fix in Clover as an option(like many other patches: AsusAICPUPM, AppleRTC...). And, yes, minor change in Clover source code to achieve consistency.
     
    Here's the new option I made for Clover(Dell SMBIOS Patch)

     
    Here's the new key(boolean) value in Clover config.plist
    <key>KernelAndKextPatches</key> <dict> <key>DellSMBIOSPatch</key> <false/> </dict> Here's the source code I've changed
    Clover.zip
     
    Here's the compiled CLOVERX64.efi(based on latest r3998 @Sherlock's fix version from sourceforge)
    CLOVERX64.efi.zip
     
    Here's the prove after applying this patch on XPS 13 9350(Iris 540 model)

     
    Notice: This method can be applied in any computers without problems(in theory). But I recommend you use this method only when you encounter SMBIOS Table Type 1 truncate issue.
     
    Credit: David Passmore who provided the clue for the fix. Thank's for your good idea!
    Credit: @Sherlock who help me refine RC.Script bugs such that I have time to implement David Passmore's workaround into Clover
    Credit: my friends(like Hongyi, @Mirone) who give me courage not to give up 
    Credit: syscl who implement this method into Clover
    Credit: Clover, a great project
     
    Thanks everyone, have a great day
    syscl
  6. Like
    syscl got a reaction from PMheart in Clover Problems and Solutions   
    For those who experience Dell SMBIOS truncate in SMBIOS Table Type 1(Broadwell, Skylake, ...), here's the solution:
     
    Remap SmBios Table Type 1 standard GUID from EB9D2D31-2D88-11D3-9A16-0090273FC14D to EB9D2D35-2D88-11D3-9A16-0090273FC14D Kexts patch to make AppleSMBIOS and AppleACPIPlatform to read table in new location Notice:
    Since SmBios Table Type 2 hasn't been affected, thus boot.efi hasn't been affected(lucky part) Since SmBios Table Type 1 GUID is the same on all computers even on Apple, thus, Apple has to follow the same definition from UEFI, that's why we can simply change GUID without any worries  
    So how about the solution?
     
    We can manually patch AppleSMBIOS and AppleACPIPlatform then use a hacked CLOVERX64.efi to fix issues on Dell's laptop. But this solution is not elegant. Because:
    The patched CLOVERX64.efi can not easily sync with the latest code This method may be applied on other platforms, other computers as well, thus not be applicable in practice  Need to add kext patch manually  
    Thus my goal is to implement this fix in Clover as an option(like many other patches: AsusAICPUPM, AppleRTC...). And, yes, minor change in Clover source code to achieve consistency.
     
    Here's the new option I made for Clover(Dell SMBIOS Patch)

     
    Here's the new key(boolean) value in Clover config.plist
    <key>KernelAndKextPatches</key> <dict> <key>DellSMBIOSPatch</key> <false/> </dict> Here's the source code I've changed
    Clover.zip
     
    Here's the compiled CLOVERX64.efi(based on latest r3998 @Sherlock's fix version from sourceforge)
    CLOVERX64.efi.zip
     
    Here's the prove after applying this patch on XPS 13 9350(Iris 540 model)

     
    Notice: This method can be applied in any computers without problems(in theory). But I recommend you use this method only when you encounter SMBIOS Table Type 1 truncate issue.
     
    Credit: David Passmore who provided the clue for the fix. Thank's for your good idea!
    Credit: @Sherlock who help me refine RC.Script bugs such that I have time to implement David Passmore's workaround into Clover
    Credit: my friends(like Hongyi, @Mirone) who give me courage not to give up 
    Credit: syscl who implement this method into Clover
    Credit: Clover, a great project
     
    Thanks everyone, have a great day
    syscl
  7. Like
    syscl reacted to Sherlocks in Clover General discussion   
    Hello everyone using EmuVariableUefi-64.efi
     
    i want to test rc script.
     
    sometimes tluck script shown fail case. 
    http://www.insanelymac.com/forum/topic/284656-clover-general-discussion/?p=2361248
     
    FrodoKenny and syscl's script are no problem for me. their script always success 100%. 
    but there are no features(tluck script has legacy, some features) in their script.
    so, i did combine their's script and improve visual log in terminal. i did hard test nvram for searching fail case. no problem now in 1.8
     
     
    please test and report.
     
    thanks in advance
    80.save_nvram_plist.local-Sherlocks.zip
  8. Like
    syscl reacted to Sherlocks in Enable IOPCIFamily to set tolerance latency for PCI devices   
    good
     
    i checked skylake mbp13,1's  ioreg
    like you said, there is reg-ltrovr
     
    i applied this in my laptop

     
    thank you
     
    add.
    i remove "reg-ltrovr"
    because
    after wakeup, wifi device load is slow. also cause system unstable. i exprienced force reboot.
  9. Like
    syscl reacted to Sherlocks in Clover General discussion   
    Thank you. I will debug more and test in my laptop. I will give you. 
     
    나의 LG-F410S 의 Tapatalk에서 보냄
  10. Like
    syscl got a reaction from pico joe in Get system log from 10.12+ much much easier(by just a simply click)   
    @smolderas @BreBo, thanks for your tips, I've added the suggestion, please try v1.2 in my GitHub.
     
    Wish you all enjoy!
     
    syscl
  11. Like
    syscl got a reaction from Benjudas in [Guide] Fix issue of "Disk not ejected properly"   
    Overview
    On OS X/Mac OS X, some people may suffer from the issue that the external disk was not ejected properly after sleep. This problem dates back to the period of the coming of Mavericks, even on a real Mac!

     
     
    Overview of the tools/solutions





    AFAIK, there's two solutions to fix this problem till now: 
    Install Jettison from Mac App Store. Use sleepwatcher to unmount the external devices before system go to sleep.
    But for me, install Jettison is not free of charge, and this application will place icon on the right corner of the statue bar once get installed, which is not a good solution from my point of view. 

    The latter one is open source and free of charge, which means I can know clearly what this application/daemon has done and add as many functions I want to it. With the help of sleepwatcher, there's various script to unmount/mount disk upon sleep, but none of it is so easy to read and some require sleep time delay settings, that's really strange! That's the reason why I started to create my "own" version of script to fix this issue. I optimized the whole progress as well as the installation progress. No more wake/sleep delay time settings! No more complicated command line, no more wake script, just one sleep script for unmount the external devices, once you resume from sleep, all the external devices will mount by system spontaneously. After following this guide step-by-step, no more "Disk not ejected properly" error will occur upon sleep. 
     
    Feel free to change whatever you want if you do not satisfy with my script: https://github.com/syscl/Fix-usb-sleep
     
    How to use?
    Download the latest fixUSB.sh by entering the following command in a terminal window: git clone https://github.com/syscl/Fix-usb-sleep Note: If it was the first you execute command "git", please install it by the tips from OS X online(Click "Install"), and then run the above command line again.
     
     
    This will download the fixUSB.sh to your current folder (./) and the next step is to change the permissions of the file(add +x) so that it can be run: chmod +x ~/Fix-usb-sleep/fixUSB.sh Run the fixUSB.sh in a terminal window by: cd ./Fix-usb-sleep ./fixusb.sh If all this procedures have done correctly, you will see the following message in the terminal window

    Hope you all enjoy this script and all feedbacks are welcome! Post issue on https://github.com/syscl/Fix-usb-sleep
     
    Credit:
    Bernhard Baehr (bernhard.baehr@gmx.de): without his great sleepwatcher, this project/script will not be created.
     
  12. Like
    syscl got a reaction from Benjudas in [Guide] Fix issue of "Disk not ejected properly"   
    Overview
    On OS X/Mac OS X, some people may suffer from the issue that the external disk was not ejected properly after sleep. This problem dates back to the period of the coming of Mavericks, even on a real Mac!

     
     
    Overview of the tools/solutions





    AFAIK, there's two solutions to fix this problem till now: 
    Install Jettison from Mac App Store. Use sleepwatcher to unmount the external devices before system go to sleep.
    But for me, install Jettison is not free of charge, and this application will place icon on the right corner of the statue bar once get installed, which is not a good solution from my point of view. 

    The latter one is open source and free of charge, which means I can know clearly what this application/daemon has done and add as many functions I want to it. With the help of sleepwatcher, there's various script to unmount/mount disk upon sleep, but none of it is so easy to read and some require sleep time delay settings, that's really strange! That's the reason why I started to create my "own" version of script to fix this issue. I optimized the whole progress as well as the installation progress. No more wake/sleep delay time settings! No more complicated command line, no more wake script, just one sleep script for unmount the external devices, once you resume from sleep, all the external devices will mount by system spontaneously. After following this guide step-by-step, no more "Disk not ejected properly" error will occur upon sleep. 
     
    Feel free to change whatever you want if you do not satisfy with my script: https://github.com/syscl/Fix-usb-sleep
     
    How to use?
    Download the latest fixUSB.sh by entering the following command in a terminal window: git clone https://github.com/syscl/Fix-usb-sleep Note: If it was the first you execute command "git", please install it by the tips from OS X online(Click "Install"), and then run the above command line again.
     
     
    This will download the fixUSB.sh to your current folder (./) and the next step is to change the permissions of the file(add +x) so that it can be run: chmod +x ~/Fix-usb-sleep/fixUSB.sh Run the fixUSB.sh in a terminal window by: cd ./Fix-usb-sleep ./fixusb.sh If all this procedures have done correctly, you will see the following message in the terminal window

    Hope you all enjoy this script and all feedbacks are welcome! Post issue on https://github.com/syscl/Fix-usb-sleep
     
    Credit:
    Bernhard Baehr (bernhard.baehr@gmx.de): without his great sleepwatcher, this project/script will not be created.
     
  13. Like
    syscl got a reaction from jsl in Patch for using NVMe under macOS Sierra is ready.   
    10.11.x, try this one
    Comment: Preferred Block Size 0x10 -> 0x01 (c) Pike R. Alpha implement by syscl for 10.11.x Name: IONVMeFamily MatchOS: 10.11.x find: <f6c11075 6b> replace: <f6c10175 6b> Through Clover config.plist the raw format will be
    <dict> <key>Comment</key> <string>Preferred Block Size 0x10 -> 0x01 (c) Pike R. Alpha implement by syscl for 10.11.x</string> <key>Disabled</key> <true/> <key>Find</key> <data> 9sEQdWs= </data> <key>MatchOS</key> <string>10.11.x</string> <key>Name</key> <string>IONVMeFamily</string> <key>Replace</key> <data> 9sEBdWs= </data> </dict> syscl
  14. Like
    syscl got a reaction from Benjudas in [Guide] Fix issue of "Disk not ejected properly"   
    Overview
    On OS X/Mac OS X, some people may suffer from the issue that the external disk was not ejected properly after sleep. This problem dates back to the period of the coming of Mavericks, even on a real Mac!

     
     
    Overview of the tools/solutions





    AFAIK, there's two solutions to fix this problem till now: 
    Install Jettison from Mac App Store. Use sleepwatcher to unmount the external devices before system go to sleep.
    But for me, install Jettison is not free of charge, and this application will place icon on the right corner of the statue bar once get installed, which is not a good solution from my point of view. 

    The latter one is open source and free of charge, which means I can know clearly what this application/daemon has done and add as many functions I want to it. With the help of sleepwatcher, there's various script to unmount/mount disk upon sleep, but none of it is so easy to read and some require sleep time delay settings, that's really strange! That's the reason why I started to create my "own" version of script to fix this issue. I optimized the whole progress as well as the installation progress. No more wake/sleep delay time settings! No more complicated command line, no more wake script, just one sleep script for unmount the external devices, once you resume from sleep, all the external devices will mount by system spontaneously. After following this guide step-by-step, no more "Disk not ejected properly" error will occur upon sleep. 
     
    Feel free to change whatever you want if you do not satisfy with my script: https://github.com/syscl/Fix-usb-sleep
     
    How to use?
    Download the latest fixUSB.sh by entering the following command in a terminal window: git clone https://github.com/syscl/Fix-usb-sleep Note: If it was the first you execute command "git", please install it by the tips from OS X online(Click "Install"), and then run the above command line again.
     
     
    This will download the fixUSB.sh to your current folder (./) and the next step is to change the permissions of the file(add +x) so that it can be run: chmod +x ~/Fix-usb-sleep/fixUSB.sh Run the fixUSB.sh in a terminal window by: cd ./Fix-usb-sleep ./fixusb.sh If all this procedures have done correctly, you will see the following message in the terminal window

    Hope you all enjoy this script and all feedbacks are welcome! Post issue on https://github.com/syscl/Fix-usb-sleep
     
    Credit:
    Bernhard Baehr (bernhard.baehr@gmx.de): without his great sleepwatcher, this project/script will not be created.
     
  15. Like
    syscl got a reaction from Allan in Enable IOPCIFamily to set tolerance latency for PCI devices   
    Hi @Allan, this patch can be applied to other platform as well. I saw MacBookAir6,2 has this property as well[see evidence here].
     
    8 RP0x is OK, I just added more RP0X devices for more general cases. You can just apply it and see if this patch work or not.
     
    Thank you,
    syscl
  16. Like
    syscl got a reaction from tns1111 in [GUIDE] Dell XPS 15 (9550) Mojave 10.14 / 10.15 Quick Installation   
    If you shutdown XPS(Skylake) instead of putting it into sleep, I think your data will be safe. I want sleep to be fully functional, thus I want to figure out the issue.
     
    Anyway, booting from solid state disk is pretty fast.
     
    syscl
  17. Like
    syscl got a reaction from Sherlocks in Enable IOPCIFamily to set tolerance latency for PCI devices   
    Hello, recently I am trying to figure out what cause the data lose during sleep on XPS 13 9350. Thus a lot friends help me and they lent their new MacBookPro for me to dump some information from their laptops.

    By comparing the ioreg from their laptops, I found some properties that we miss to inject for our computers. One property I noticed is reg-ltrovr.

    This property lies in Device(RP01), Device(RP02), Device(RP03), Device(RP04), ... Device(RP13), ... When we inject "reg-ltrovr" as _DSM method, IOPCIFamily.kext will set latency tolerance offset for each of the latency tolerance devices. This could fix some potential issues(still need to explore more evidence).Here's the patch I wrote for my XPS 13 9350, you can tune it if you have more than 13 RP0X devices
    #Created by syscl #syscl_ltrovr #Inject reg-ltrovr for IOPCIFamily::setLatencyTolerance setting ltrOffset for PCI devices successfully (c) syscl #Tune it if you need #RP01 #Remove _DSM just in case into method label _DSM parent_adr 0x001C0000 remove_entry; into method label XDSM parent_adr 0x001C0000 remove_entry; #Now inject property: setLantencyTolerance for RP01 credit syscl into device name_adr 0x001C0000 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; #RP02 into method label _DSM parent_adr 0x001C0001 remove_entry; into method label XDSM parent_adr 0x001C0001 remove_entry; #Now inject property: setLantencyTolerance for RP02 credit syscl into device name_adr 0x001C0001 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; #RP03 into method label _DSM parent_adr 0x001C0002 remove_entry; into method label XDSM parent_adr 0x001C0002 remove_entry; #Now inject property: setLantencyTolerance for RP03 credit syscl into device name_adr 0x001C0002 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; #RP04 into method label _DSM parent_adr 0x001C0003 remove_entry; into method label XDSM parent_adr 0x001C0003 remove_entry; #Now inject property: setLantencyTolerance for RP04 credit syscl into device name_adr 0x001C0003 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; #RP05 into method label _DSM parent_adr 0x001C0004 remove_entry; into method label XDSM parent_adr 0x001C0004 remove_entry; #Now inject property: setLantencyTolerance for RP05 credit syscl into device name_adr 0x001C0004 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; #RP06 into method label _DSM parent_adr 0x001C0005 remove_entry; into method label XDSM parent_adr 0x001C0005 remove_entry; #Now inject property: setLantencyTolerance for RP06 credit syscl into device name_adr 0x001C0005 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; #RP07 into method label _DSM parent_adr 0x001C0006 remove_entry; into method label XDSM parent_adr 0x001C0006 remove_entry; #Now inject property: setLantencyTolerance for RP07 credit syscl into device name_adr 0x001C0006 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; #RP08 into method label _DSM parent_adr 0x001C0007 remove_entry; into method label XDSM parent_adr 0x001C0007 remove_entry; #Now inject property: setLantencyTolerance for RP08 credit syscl into device name_adr 0x001C0007 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; #RP09 into method label _DSM parent_adr 0x001D0000 remove_entry; into method label XDSM parent_adr 0x001D0000 remove_entry; #Now inject property: setLantencyTolerance for RP09 credit syscl into device name_adr 0x001D0000 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; #RP10 into method label _DSM parent_adr 0x001D0001 remove_entry; into method label XDSM parent_adr 0x001D0001 remove_entry; #Now inject property: setLantencyTolerance for RP10 credit syscl into device name_adr 0x001D0001 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; #RP11 into method label _DSM parent_adr 0x001D0002 remove_entry; into method label XDSM parent_adr 0x001D0002 remove_entry; #Now inject property: setLantencyTolerance for RP11 credit syscl into device name_adr 0x001D0002 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; #RP12 into method label _DSM parent_adr 0x001D0003 remove_entry; into method label XDSM parent_adr 0x001D0003 remove_entry; #Now inject property: setLantencyTolerance for RP12 credit syscl into device name_adr 0x001D0003 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; #RP13 into method label _DSM parent_adr 0x001D0004 remove_entry; into method label XDSM parent_adr 0x001D0004 remove_entry; #Now inject property: setLantencyTolerance for RP13 credit syscl into device name_adr 0x001D0004 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; Once you finished inject this property successfully, ioreg will give the following result


    Good luck,

    syscl
  18. Like
    syscl got a reaction from Mirone in [GUIDE] Fix Skylake HDMI/DP Output   
    @Mirone as well, we actually need PublishHDMI_DP for XPS 13 Skylake/Kabylake as well.
     
    Here's the screenshot from real MacBook9,1:

     
    Notice there's no Intel(HDMI) device as well. 
     
    @thiscodedbox plugged in HDMI on XPS 13 9350, here's his screenshot


     
    This further confirmed my method can successfully power up HDMI on XPS 13 Skylake. 
     
    Wish this could help for those who have laptops with only USB-C but no HDMI/DP ports.
     
    syscl
    Hi @Mirone, I know can confirm this method work as expect. See screenshot above
     
    All the best,
    syscl
  19. Like
    syscl got a reaction from Nomad347 in [GUIDE] Dell XPS 15 (9550) Mojave 10.14 / 10.15 Quick Installation   
    Hi @All,
     
    About data corruption on XPS Skylake series, I want to clarify something we(@darkhandz, @gujiangjiang @shixuev5 @lzt7star ...) discussed here in GitHub[in Chinese].
     
    4 brief conclusions:
    data corruption has nothing to do with HWP(syscl and @darkhandz have experienced data corruption even with GenerateC/PState) data corruption has nothing to do with specific hard disks, because Toshiba XG3, Hynix PC300 have same issue  data corruption seems to be triggered when we put macOS into sleep, but data corruption will not always happen when we put computer to sleep data corruption has nothing to do with system version, both El Captain and Sierra have the data corruption issue @darkhandz has captured some important screenshots after data corruption indicating AppleFSCompression error. But Pike didn't think this log is sufficient to pinpoint the issue. Some suggestion from Pike can be referred here[see posts part]
     
    We need more information, so guys don't hesitate to upload or share your experiences once the data corrupt. Thank you!
     
    syscl
  20. Like
    syscl got a reaction from gujiangjiang in Enable IOPCIFamily to set tolerance latency for PCI devices   
    Give me one second, I will refine it. You can inject it through SSDT as well. I've tested SSDT method to inject as well. 
     
    Edited: refine, the patches in #0 can be applied in more general cases now. 
     
    syscl
  21. Like
    syscl got a reaction from Sherlocks in Enable IOPCIFamily to set tolerance latency for PCI devices   
    Hello, recently I am trying to figure out what cause the data lose during sleep on XPS 13 9350. Thus a lot friends help me and they lent their new MacBookPro for me to dump some information from their laptops.

    By comparing the ioreg from their laptops, I found some properties that we miss to inject for our computers. One property I noticed is reg-ltrovr.

    This property lies in Device(RP01), Device(RP02), Device(RP03), Device(RP04), ... Device(RP13), ... When we inject "reg-ltrovr" as _DSM method, IOPCIFamily.kext will set latency tolerance offset for each of the latency tolerance devices. This could fix some potential issues(still need to explore more evidence).Here's the patch I wrote for my XPS 13 9350, you can tune it if you have more than 13 RP0X devices
    #Created by syscl #syscl_ltrovr #Inject reg-ltrovr for IOPCIFamily::setLatencyTolerance setting ltrOffset for PCI devices successfully (c) syscl #Tune it if you need #RP01 #Remove _DSM just in case into method label _DSM parent_adr 0x001C0000 remove_entry; into method label XDSM parent_adr 0x001C0000 remove_entry; #Now inject property: setLantencyTolerance for RP01 credit syscl into device name_adr 0x001C0000 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; #RP02 into method label _DSM parent_adr 0x001C0001 remove_entry; into method label XDSM parent_adr 0x001C0001 remove_entry; #Now inject property: setLantencyTolerance for RP02 credit syscl into device name_adr 0x001C0001 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; #RP03 into method label _DSM parent_adr 0x001C0002 remove_entry; into method label XDSM parent_adr 0x001C0002 remove_entry; #Now inject property: setLantencyTolerance for RP03 credit syscl into device name_adr 0x001C0002 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; #RP04 into method label _DSM parent_adr 0x001C0003 remove_entry; into method label XDSM parent_adr 0x001C0003 remove_entry; #Now inject property: setLantencyTolerance for RP04 credit syscl into device name_adr 0x001C0003 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; #RP05 into method label _DSM parent_adr 0x001C0004 remove_entry; into method label XDSM parent_adr 0x001C0004 remove_entry; #Now inject property: setLantencyTolerance for RP05 credit syscl into device name_adr 0x001C0004 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; #RP06 into method label _DSM parent_adr 0x001C0005 remove_entry; into method label XDSM parent_adr 0x001C0005 remove_entry; #Now inject property: setLantencyTolerance for RP06 credit syscl into device name_adr 0x001C0005 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; #RP07 into method label _DSM parent_adr 0x001C0006 remove_entry; into method label XDSM parent_adr 0x001C0006 remove_entry; #Now inject property: setLantencyTolerance for RP07 credit syscl into device name_adr 0x001C0006 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; #RP08 into method label _DSM parent_adr 0x001C0007 remove_entry; into method label XDSM parent_adr 0x001C0007 remove_entry; #Now inject property: setLantencyTolerance for RP08 credit syscl into device name_adr 0x001C0007 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; #RP09 into method label _DSM parent_adr 0x001D0000 remove_entry; into method label XDSM parent_adr 0x001D0000 remove_entry; #Now inject property: setLantencyTolerance for RP09 credit syscl into device name_adr 0x001D0000 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; #RP10 into method label _DSM parent_adr 0x001D0001 remove_entry; into method label XDSM parent_adr 0x001D0001 remove_entry; #Now inject property: setLantencyTolerance for RP10 credit syscl into device name_adr 0x001D0001 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; #RP11 into method label _DSM parent_adr 0x001D0002 remove_entry; into method label XDSM parent_adr 0x001D0002 remove_entry; #Now inject property: setLantencyTolerance for RP11 credit syscl into device name_adr 0x001D0002 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; #RP12 into method label _DSM parent_adr 0x001D0003 remove_entry; into method label XDSM parent_adr 0x001D0003 remove_entry; #Now inject property: setLantencyTolerance for RP12 credit syscl into device name_adr 0x001D0003 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; #RP13 into method label _DSM parent_adr 0x001D0004 remove_entry; into method label XDSM parent_adr 0x001D0004 remove_entry; #Now inject property: setLantencyTolerance for RP13 credit syscl into device name_adr 0x001D0004 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero))\n {\n Return (Buffer (One)\n {\n 0x03\n })\n }\n Return (Package (0x02)\n {\n "reg-ltrovr", \n Buffer (0x08)\n {\n 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n }\n })\n }\n end; Once you finished inject this property successfully, ioreg will give the following result


    Good luck,

    syscl
  22. Like
    syscl reacted to Sherlocks in Clover Problems and Solutions   
    @Slice
     
    i spent many times for debug. Cleared now.

     
    here is compared files.
     
    you can see compared files. and you will have to fix properly to work clover.
     
    i checked all files.latest edk 2 files can use except fix file.
     
    thank you
     
     
    add. first rc script update please. this
     
    rcscript new.zip
     
    i tested last week. Made by syscl
     
    maybe you will build new clover version for 10.12.4 dp1. hope include rc script once.
     
    and i will test tluck script for week. and report back
    clover fix.zip
  23. Like
    syscl got a reaction from Nomad347 in [GUIDE] Dell XPS 15 (9550) Mojave 10.14 / 10.15 Quick Installation   
    Hi @All,
     
    About data corruption on XPS Skylake series, I want to clarify something we(@darkhandz, @gujiangjiang @shixuev5 @lzt7star ...) discussed here in GitHub[in Chinese].
     
    4 brief conclusions:
    data corruption has nothing to do with HWP(syscl and @darkhandz have experienced data corruption even with GenerateC/PState) data corruption has nothing to do with specific hard disks, because Toshiba XG3, Hynix PC300 have same issue  data corruption seems to be triggered when we put macOS into sleep, but data corruption will not always happen when we put computer to sleep data corruption has nothing to do with system version, both El Captain and Sierra have the data corruption issue @darkhandz has captured some important screenshots after data corruption indicating AppleFSCompression error. But Pike didn't think this log is sufficient to pinpoint the issue. Some suggestion from Pike can be referred here[see posts part]
     
    We need more information, so guys don't hesitate to upload or share your experiences once the data corrupt. Thank you!
     
    syscl
  24. Like
    syscl got a reaction from Nomad347 in [GUIDE] Dell XPS 15 (9550) Mojave 10.14 / 10.15 Quick Installation   
    Hi @All,
     
    About data corruption on XPS Skylake series, I want to clarify something we(@darkhandz, @gujiangjiang @shixuev5 @lzt7star ...) discussed here in GitHub[in Chinese].
     
    4 brief conclusions:
    data corruption has nothing to do with HWP(syscl and @darkhandz have experienced data corruption even with GenerateC/PState) data corruption has nothing to do with specific hard disks, because Toshiba XG3, Hynix PC300 have same issue  data corruption seems to be triggered when we put macOS into sleep, but data corruption will not always happen when we put computer to sleep data corruption has nothing to do with system version, both El Captain and Sierra have the data corruption issue @darkhandz has captured some important screenshots after data corruption indicating AppleFSCompression error. But Pike didn't think this log is sufficient to pinpoint the issue. Some suggestion from Pike can be referred here[see posts part]
     
    We need more information, so guys don't hesitate to upload or share your experiences once the data corrupt. Thank you!
     
    syscl
  25. Like
    syscl got a reaction from Nomad347 in [GUIDE] Dell XPS 15 (9550) Mojave 10.14 / 10.15 Quick Installation   
    Hi @All,
     
    About data corruption on XPS Skylake series, I want to clarify something we(@darkhandz, @gujiangjiang @shixuev5 @lzt7star ...) discussed here in GitHub[in Chinese].
     
    4 brief conclusions:
    data corruption has nothing to do with HWP(syscl and @darkhandz have experienced data corruption even with GenerateC/PState) data corruption has nothing to do with specific hard disks, because Toshiba XG3, Hynix PC300 have same issue  data corruption seems to be triggered when we put macOS into sleep, but data corruption will not always happen when we put computer to sleep data corruption has nothing to do with system version, both El Captain and Sierra have the data corruption issue @darkhandz has captured some important screenshots after data corruption indicating AppleFSCompression error. But Pike didn't think this log is sufficient to pinpoint the issue. Some suggestion from Pike can be referred here[see posts part]
     
    We need more information, so guys don't hesitate to upload or share your experiences once the data corrupt. Thank you!
     
    syscl
×