Contribute
Register

[Guide] Dell XPS 13 9360 on MacOS Sierra 10.12.x - LTS (Long-Term Support) Guide

Status
Not open for further replies.
Thanks for the detailed help, it is much appreciated. However after having applied all options the charger freeze issue still persists, so we're back to square one. I suspect it's an EC register now, especially seeing that in non-UEFI modes the charger works fine.

I also have a further couple of questions based on your feedback...

- the ioreg shows Dell SMBIOS truncation (fix available in new Clover)
I'm using the latest Clover svn (4035) - is there something i need to additionally apply?

- Chrome is hooking your USB ports (read FAQ for how to disable)
I'm not sure I understand this - which FAQ should I look at?

- USB is not implemented correctly (wrong UsbConnector values)
I had a feeling this was the case, however both USB ports do work so far. I haven't yet tried the USB-C, so maybe that's why. Does this also mean that any 9360 users who have followed this post have the wrong UsbConnector values as well, or is this specific to my config?

Thanks again

The Dell truncation bug is a serious problem, and if you look at your ioreg with legacy boot, you will notice the problem is not present.

There is a specific option you must enable for the fix in UEFI... Look at the Clover change logs. Hint: It is the only Clover config.plist setting with 'Dell' in the name.

The laptop FAQ:
http://www.tonymacx86.com/el-capita...faq-read-first-laptop-frequent-questions.html

USB guide:
https://www.tonymacx86.com/threads/guide-creating-a-custom-ssdt-for-usbinjectall-kext.211311/
 
Thank you for all your support!

The charger issue is very strange and serious and I hope you'll find a proper solution soon.
Regarding USB injection, I know it's not done with SSDT, but ports are working and v8 files give you a very stable system (with maybe the exception of charger freeze, still to verify if the fault is on the users' side) with no data corruption and more than decent battery life.
I prefer to move slowly, as a LTS guide requires.
I've ben using v8 files for weeks, so any change in this config has to be thoroughly tested before making hazardous changes, especially given the fact that this laptop is plagued with sleep data corruption in some deep-sleep configurations.

Let's solve this charger freeze issue, then we can improve USB injection and power management in a safe way.

My aim is to keep your laptop operational at all times, so let's iron out these serious issues as soon as we can!
 
Thank you for all your support!

The charger issue is very strange and serious and I hope you'll find a proper solution soon.
Regarding USB injection, I know it's not done with SSDT, but ports are working and v8 files give you a very stable system (with maybe the exception of charger freeze, still to verify if the fault is on the users' side) with no data corruption and more than decent battery life.
I prefer to move slowly, as a LTS guide requires.
I've ben using v8 files for weeks, so any change in this config has to be thoroughly tested before making hazardous changes, especially given the fact that this laptop is plagued with sleep data corruption in some deep-sleep configurations.

Let's solve this charger freeze issue, then we can improve USB injection and power management in a safe way.

My aim is to keep your laptop operational at all times, so let's iron out these serious issues as soon as we can!

IMO at the very least, the 1st update/change you should implement in your guide and files is what @RehabMan suggested about sorting the way SSDTs are loaded.
- SSDTs are being loaded in the wrong order (below is from your Clover bootlog)
(as per ACPI patching guide, you must use SortedOrder to load SSDTs in the correct order)


Code:
        <key>SortedOrder</key>
        <array>
            <string>SSDT.aml</string>
            <string>SSDT-0.aml</string>
            <string>SSDT-1.aml</string>
            <string>SSDT-2.aml</string>
            <string>SSDT-3.aml</string>
            <string>SSDT-4.aml</string>
            <string>SSDT-5.aml</string>
            <string>SSDT-6.aml</string>
            <string>SSDT-7.aml</string>
            <string>SSDT-8.aml</string>
            <string>SSDT-9.aml</string>
            <string>SSDT-10.aml</string>
            <string>SSDT-11.aml</string>
            <string>SSDT-12.aml</string>
            <string>SSDT-13.aml</string>
            <string>SSDT-pr.aml</string>
            <string>SSDT-TB.aml</string>
            <string>SSDT-NVMe-Pcc.aml</string>
            <string>SSDT-ALC256.aml</string>
        </array>

I'm not sure if it matters what order the others are in or not.

I'll test out the other suggestions he mentioned and report back.
 
Last edited:
I've made all of the recommendations as suggested by @RehabMan . Still no working laptop on plug/unplug charger, but just wanted to double check all the proposed recommendations, including the USB fixes, are working ok?
 

Attachments

  • Rehabman_Recommendations.zip
    5.6 MB · Views: 102
Hey existing users! Is sleep working as it supposed to be? No crashes or bugs? It is kinda buggy with my current system and I just ordered a 9360 so just curious!
 
Wrong fix.
Correct:
Code:
If (LEqual (PM6H, One))
{
    CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, ECRW)  // _RW_: Read-Write Status
    Store (Zero, ECRW)
}
If (PM0H)
{
    CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, F0LN)  // _LEN: Length
    Store (Zero, F0LN)
}



It is probably a bad idea to provide patched ACPI. People will believe they can take the lazy way and use your ACPI files...

@RehabMan
I'm having a problem with this particular error fix I'm trying to change it keep reversing itself back to the way it was before I made the change. Here 's how I do it and this is my own DSDT.dsl.
1. I open DSDT.dsl file with MacIASL v. 1.31 with ACPI 6.1
2. Compile it with 3 errors.
3. I fix the errors as you suggested above and other fix as @bosma88 recommended.
4. Compiled with no error.
5. Save As > ACPI Machine Language Binary, put .aml extension to DSDT file and save.
6. Open DSDT.aml file that I just made change and save to make sure they are as they should be. Every changes that I made are fine the way they should be accept the fix above that you corrected somehow it reversed itself back to the way it was before I make the change. I try to make that change so many times and the result are the same it reverse itself back every time.
Any idea?
 
I've made all of the recommendations as suggested by @RehabMan . Still no working laptop on plug/unplug charger, but just wanted to double check all the proposed recommendations, including the USB fixes, are working ok?

USB fixes are wrong. SSDT-UIAC-ALL-a2af.aml is for 200-series (and you didn't customize it for your ports anyway). As a result, USB3 is not working at all.
See guide: https://www.tonymacx86.com/threads/guide-creating-a-custom-ssdt-for-usbinjectall-kext.211311/

LittleSnitch is still installed. Avoid 3rd party system software until your system is stable.

Kexts are still not installed correctly. Kext injection is only for installer/recovery...

Also, no need for these patches in config.plist/ACPI/DSDT/Patches:
change XHC1 to XHC
change XHCI to XHC
change EHC2 to EH02
change EHC1 to EH01

I would suggest simulating Windows instead of Linux (best way is to use _OSI->XOSI patch and SSDT-XOSI.aml).

I couldn't compare ACPI/origin/DSDT.aml with ACPI/patched/DSDT.aml because origin/DSDT.aml is not native (it is patched). Next time, please provide "Problem Reporting" files as requested.

All that said, it is looking more and more like there is a memory map issue, and using Clover legacy may be the best way to solve it until another solution is found. But still good to eliminate all other problems prior to that...
 
6. Open DSDT.aml file that I just made change and save to make sure they are as they should be. Every changes that I made are fine the way they should be accept the fix above that you corrected somehow it reversed itself back to the way it was before I make the change. I try to make that change so many times and the result are the same it reverse itself back every time.
Any idea?

It is not changing. The problem is in the iasl disassembler, not your DSDT.aml.
 
jkbuha, have you tried going back to Windows? I'm getting similar behavior in Windows 10 now, where if the laptop is on battery power it just freezes. Fresh install helped until I installed the Intel HD 620 drivers, upon which the behavior came right back. I even tried reflashing 1.3.2 BIOS, and using setup_var to revert back to 32MB DVMT, all with no luck. I'm at wit's end at this point...
 
Status
Not open for further replies.
Back
Top