Contribute
Register

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

Status
Not open for further replies.
Update

So I was messing with some IFR variables, I managed to brick the bios.

Recovery was interesting, I made a FAT (not fat32) drive with the 2.5.1 exe, the 2.1.0 bios exe renamed BIOS_IMG.rcv as well as the setup rom file from 2.2.1.


following the standard procedure, unplug batt- cmos batt- hold power to clear nvram- replug - plug in usb then hold escape/ctrl and plug AC did not work.

However on second attempt I placed placed the flash drive in (left plug) BEFORE reconnecting the battery (i connected rtc battery first followed by main battery)

As soon as the battery connector went in it booted right up to an error about defaulting BIOS. (no keys pressed or held, no AC plugged in)

I attempted to flash bios from the F12 boot menu, however it did not work with the slightly unbricked bios.

Then I powered off, held escape/control, plugged in power cable (with usb in left slot) and loaded the BIOS recovery mode.

This allowed me to downgrade all the way back to the factory shipped 2.1.0 from 2.5.1

One tidbit which may or may not mattered was the battery connector only went in about half way the second time, so when it finally booted the front LED was flashing orange/white, and the laptop did not recognize the battery (even though it booted without power plug) so it refused to do a BIOS recovery, I shut down pushed the battery connector in the rest of the way and rebooted into BIOS recovery.

Perhaps the battery giving power but not info was what jogged it to boot. Regardless it took a good hour of mucking about to get it to boot.

To be clear I had 3 bios revisions on the recovery drive, stock 2.5.1.exe, the 2.1.0 exe renamed BIOS_IMG.rcv and the 2.2.1 ROM file. BIOS recovery console did not let me select a file, it chose 2.1.0 which means the proper fix must entail having the BIOS executable renamed to BIOS_IMG.rcv for the ctrl/esc recovery to work. It may also allow others to downgrade.

Im now going to update to 2.2.1 (same bios as my other device I dont want to brick) and start playing with IFR again.

Any input would be appreciated
This is awesome man! Thanks for finding out how to unbrick it and downgrade it! :clap: Glad you got your system back up and running.
 
This is awesome man! Thanks for finding out how to unbrick it and downgrade it! :clap: Glad you got your system back up and running.

I was not kidding when I said I'm open to bricking one of these boys. I also have the kaby lake 13 if you want to talk clover config PM me, I'm still working on getting power management perfect (idle cpu clock 600-700mhz, <.10w) other than that and SD/usbC hotplug they've been running like a dream.
 
Despite limiting charging to 90%, my battery is already dying after just one year and ~200 cycles. Such a shame.

Sorry to hear that, it sounds like you're not alone in your battery woes. I'm still at 170 cycles, but am using a lower power USB-C charger (29W) to reduce charge stress, and full charging cycles only every 4 weeks. So far it's on 12% wear.

Update

However on second attempt I placed placed the flash drive in (left plug) BEFORE reconnecting the battery (i connected rtc battery first followed by main battery)

As soon as the battery connector went in it booted right up to an error about defaulting BIOS. (no keys pressed or held, no AC plugged in)

I attempted to flash bios from the F12 boot menu, however it did not work with the slightly unbricked bios.

Then I powered off, held escape/control, plugged in power cable (with usb in left slot) and loaded the BIOS recovery mode.

This allowed me to downgrade all the way back to the factory shipped 2.1.0 from 2.5.1

One tidbit which may or may not mattered was the battery connector only went in about half way the second time, so when it finally booted the front LED was flashing orange/white, and the laptop did not recognize the battery (even though it booted without power plug) so it refused to do a BIOS recovery, I shut down pushed the battery connector in the rest of the way and rebooted into BIOS recovery.

Perhaps the battery giving power but not info was what jogged it to boot. Regardless it took a good hour of mucking about to get it to boot.

To be clear I had 3 bios revisions on the recovery drive, stock 2.5.1.exe, the 2.1.0 exe renamed BIOS_IMG.rcv and the 2.2.1 ROM file. BIOS recovery console did not let me select a file, it chose 2.1.0 which means the proper fix must entail having the BIOS executable renamed to BIOS_IMG.rcv for the ctrl/esc recovery to work. It may also allow others to downgrade.

Im now going to update to 2.2.1 (same bios as my other device I dont want to brick) and start playing with IFR again.

Any input would be appreciated

Nice one! You've essentially validated two important points; (i) it's possible to bios downgrade on 2.5.1 (ii) no FPFs were set on v2.4+. The orange/white light is a misnomer though; it doesnt mean the battery isnt plugged in properly, rather that the nvram is in an unbootable state. For next time - the trick here is to remove the CMOS battery AND laptop battery, press power for more than 30sec, keep batteries unplugged THEN plug in the charger. BIOS goes through a self-clean and boots to recovery.
 
Nice one! You've essentially validated two important points; (i) it's possible to bios downgrade on 2.5.1 (ii) no FPFs were set on v2.4+. The orange/white light is a misnomer though; it doesnt mean the battery isnt plugged in properly, rather that the nvram is in an unbootable state. For next time - the trick here is to remove the CMOS battery AND laptop battery, press power for more than 30sec, keep batteries unplugged THEN plug in the charger. BIOS goes through a self-clean and boots to recovery.

I like your idea of using a low watt usb c charger to extend battery life.

Did you have to do anything to make it accept a 29 watt charger? I thought it was locked to 45w+

The white/orange flash was definitely due to the battery, it was a more rapid flash than the brick state and it continued flashing after successful boot on battery power in bios setup/f12 bios update/clover bootloader. It was not until AC was plugged in or battery fully in that it went solid.

As soon as I partially inserted the battery cable it booted to the bios error (no ac, no button presses). When I tried to update bios via f12 it said battery level could not be read so it would not allow update, once I pushed the jumper the rest of the way it would allow it however it just rebooted when I clicked flash. It was not until I did the ctrl/esc/power BIOS recovery that it flashed the 2.1.0 firmware.

The guide should be updated to note that if anyone is to attempt BIOS recovery the drive should be formatted to FAT (fat32 may work) and most importantly the BIOS file must be renamed from XPS9360xxx.exe to BIOS_IMG.rcv

Update:
I just noticed this in my EFI partition courtesy of the "Backup bios to hard drive" option in bios. Notice it too has a .rcv filetype and BIOS_XX name scheme.
HiwkFtl.png



The timestamps are impossible (drive was installed march 2nd) I suspect it just appeared after bios flashing, otherwise the bios recovery console might have chosen that over the 2.1.0 bios on the flashdrive. It is not on my second identical XPS I've been using as a control to evaluate modifications. Those who wish to downgrade should first disable that option and be sure the bios backup is not on their EFI partition (or any other fat* file system on the internal ssd) before attempting.
 
Last edited:
I like your idea of using a low watt usb c charger to extend battery life.

Did you have to do anything to make it accept a 29 watt charger? I thought it was locked to 45w+

29W is the bare minimum.
Tried a 27W one and it didn't charge at all.

With 29W charger, when you draw a lot of power (e.g. iPad charging from port at 2.0A + CAD work) the performances degrade and you have to unplug/replug.

I've been charging with 29W charger for more than one year, limiting max charge to 90%, and the battery is degraded, jumps from 50% to 5% suddenly.
I tried to squeeze all the power left by using the laptop till hardware shutdown*, and I used it for another two hours on 1%. That means that the BMS is not estimating the wear correctly. This is due to poor BMS logic, planned obsolescence or low quality battery cells with excessively high impedance due to wear.

100-0 recalibration does not work.
The BMS is internal to the battery pack, and I am not aware of any method to force a full re-learning.

*no actual shutdown happened: when voltage goes below 6.6v/2=3.3v CPU is locked at 0.4GHz.

Low Voltage Cutoff XPS9360.png
 
Correct. Flawed BMS logic is why I give the battery a full charge / discharge once every 4 weeks. Every dell I've owned uses similar logic and I've found that a combination of low current (as opposed to power) chargers and monthly charge cycles preserve battery lifetime best. I have a 6yo XPS 15 still at 75% capacity, and it's on a centos server running 24/7 plugged into a nest which powers on /off on demand.

The good news is that your battery is probably in better shape than the current capacity suggests, and probably needs a full recalibration cycle.

I haven't seen any performance degradation on 29W, but I've played a bit with the charger IFR settings, and tbh don't really draw a lot of power from the USB ports apart from the odd WiFi adapter or (quick-charge) oneplus.
 
The white/orange flash was definitely due to the battery, it was a more rapid flash than the brick state and it continued flashing after successful boot on battery power in bios setup/f12 bios update/clover bootloader. It was not until AC was plugged in or battery fully in that it went solid.

As soon as I partially inserted the battery cable it booted to the bios error (no ac, no button presses). When I tried to update bios via f12 it said battery level could not be read so it would not allow update, once I pushed the jumper the rest of the way it would allow it however it just rebooted when I clicked flash. It was not until I did the ctrl/esc/power BIOS recovery that it flashed the 2.1.0 firmware.

The guide should be updated to note that if anyone is to attempt BIOS recovery the drive should be formatted to FAT (fat32 may work) and most importantly the BIOS file must be renamed from XPS9360xxx.exe to BIOS_IMG.rcv

If that's the case then there are at least two race conditions that set this issue. Another way to create a white / orange flash is to enable xtu, boot into windows and create a new XMP profile for the LPDDR3. Laptop will shut down and refuse to boot, displaying the white /orange sequence. Performing the steps I've outlined above successfully clears nvram and laptop starts up again (without any of the necessary IFR settings to undervolt, boot macos etc).

If you're interested in experimenting with IFR and Bios flashing I could do with some help. I need to create a condition that allows modified Bios to be flashed by FPT without verified boot or boot guard. I've completed most of the steps but need to find a way to unlock the flash descriptor and most of the existing ways (pinmod, SPI, Bios) don't work on this machine due to a change in WSON chip and new board schematics...
 
My Audio is not working for some reason. I tried doing a fresh install of Sierra 10.12.6, clover v.4411, updated the Lilu.kext and IntelGraphicsFixup.kext, Put the CloverHDA and CodecCommander kext files from original post and still nothing. I'm on BIOS version 2.5.1. Not sure if I need an updated version of those two or not. Problem reporting files attached. I can confirm that audio does work in Windows.
A separate issue I'm also having trouble playing .mkv video files. I've tried multiple video players like VLC and MPV. Video doesn't move.
 

Attachments

  • Problem Reporting Files.rmntna.zip
    4.6 MB · Views: 102
If that's the case then there are at least two race conditions that set this issue. Another way to create a white / orange flash is to enable xtu, boot into windows and create a new XMP profile for the LPDDR3. Laptop will shut down and refuse to boot, displaying the white /orange sequence. Performing the steps I've outlined above successfully clears nvram and laptop starts up again (without any of the necessary IFR settings to undervolt, boot macos etc).

If you're interested in experimenting with IFR and Bios flashing I could do with some help. I need to create a condition that allows modified Bios to be flashed by FPT without verified boot or boot guard. I've completed most of the steps but need to find a way to unlock the flash descriptor and most of the existing ways (pinmod, SPI, Bios) don't work on this machine due to a change in WSON chip and new board schematics...

The white orange flash in unbootable state was roughly at a 1-2 second pause interval, whereas the white orange flash booted from the the partially inserted battery was very rapid with almost no pause between flashes.

What is FPT? I assume the BIOS recovery somehow checks the signature of the renamed EXE before flashing. Maybe it just checks for integerity, id guess it also verifies with a specific Dell key. Maybe if you recompiled the bios exe with a modified ROM file with correct integrity checksum, got the bios into a unbootable state, the BIOS recovery might accept the BIOS_IMG.rcv based solely on the file integrity and not the dell signature. Sounds like a bit of a stretch but whatever state I got it in allowed me to flash a supposedly undowngradeable bios which is interesting because whatever signature it was supposed to look for to prevent downgrade it did not.

These variables from IFR.txt may be useful to you
Demo Board, Form ID: 0x27F0
Serial Port Console Redirection, Form ID: 0x27F5
Security Configuration, Form ID: 0x276F
Setting: BIOS Lock, Variable: 0x894
ME State, Variable: 0x2
AMT BIOS Features, Variable: 0x68F
ME Unconfig on RTC Clear, Variable: 0x1402
Me FW Image Re-Flash, Variable: 0x67A
Firmware Update Configuration, Form ID: 0x2790

Also I found someone currently attempting to modify the kabylake xps bios
https://www.win-raid.com/t3012f16-Help-with-BIOS-mod-for-Dell-XPS-Kaby-Lake.html
EDIT: I now notice that someone is you lol

When I bricked the bios I changed all the USB C variables, and both the active trip points down 1 step each, enabled XTU/WDT and disabled CFG lock. Im not sure which variable bricked it (I was foolish to have changed so many at once).

I am very interested in playing with more IFR variables. I just upped the CPU/GPU undervolt to -.1 volt each (0x64)
It runs stable, with almost no performance increase compared to .-05. However it seems to cause the wifi card to be unrecognized after prolonged sleep, and I think it degraded the bluetooth quality. I was using a bluetooth speaker I've used with it before last night and the range was terrible. I also was playing a bit with clover so I will have to test it compared to it's sister XPS and set it back to -.05 to know for certain.



The variables I'm most interested in playing with are

Memory Voltage, Variable: 0x6AA
DIMM profile, Variable: 0x7B7
Option: Custom profile, Value: 0x1
Option: XMP profile 2, Value: 0x3
Active Trip Point 1, Variable: 0x2AD

I really want to make the fan turn on sooner, the default value says trip points are about 55 and 71 degrees celcius but intel power gadget will report 70 degrees with zero fan response. If I'm really multitasking it idles around 60+ with the whole bottom plate hot and the fan silent which is unacceptable. Under benchmarking the CPU hits 99 but the fans keep the bottom cool, which means the rest of the hardware cool.
Try to find out which thermal zone directly refers to the processor as described above. A low value for passive should avoid fan activity but may slow down your machine if it exceeds the trip point's limit. The throttling is done by the kernel itself, the maximum throttling variable is not used in case of the passive limit is reached. Increase the active trip points values (if supported) to additionally avoid fan activity.

My primary goal is to increase hardware lifespan by reducing heat. I also want to get the SDcard slot working.

Im considering changing the second thermal trip point again but if its a guaranteed brick I dont want to push my luck. The IFR.txt declares the various trip point values so it seems built in.

What do you think?
 
Last edited:
Status
Not open for further replies.
Back
Top