Closed hdamico closed 3 years ago
Hi @hdamico Atm BIOS update is only possible from Windows setup (...my actual setup is a dual booting MBXP) Atm my current version for BIOS is (old) 1.28 I'm collecting newer versions for BIOS but not installing them yet since there are clues about a limitation for PLx performances or a lock for CPU voltages...
Btw, what are your current BIOS version? If your current version is newer than 1.28, could you, please, upload here your DSDT full dumping? It could be very useful for managing hypothetical DSDT fixes made by HUAWEI... a quick how-to could be found in Dortania's ACPI guide!
You could look at the instructions for updating from linux: https://github.com/nekr0z/linux-on-huawei-matebook-13-2019#bios-updates
I might consider setting up a live-usb drive with the tools installed.
You could look at the instructions for updating from linux: https://github.com/nekr0z/linux-on-huawei-matebook-13-2019#bios-updates
I might consider setting up a live-usb drive with the tools installed.
Great idea! Will do, thank you @mcoolidge
Hi @hdamico Atm BIOS update is only possible from Windows setup (...my actual setup is a dual booting MBXP) Atm my current version for BIOS is (old) 1.28 I'm collecting newer versions for BIOS but not installing them yet since there are clues about a limitation for PLx performances or a lock for CPU voltages...
Btw, what are your current BIOS version? If your current version is newer than 1.28, could you, please, upload here your DSDT full dumping? It could be very useful for managing hypothetical DSDT fixes made by HUAWEI... a quick how-to could be found in Dortania's ACPI guide!
Hi @profzei ! I also have 1.28 version, do you recommend me to update it to the last build?
I also have 1.28 version, do you recommend me to update it to the last build?
All my hotpatches are based on DSDT from BIOS v. 1.28 HUAWEI never released changelog for its BIOS updates so it's difficult to recommend updating or not updating... as I said, there are clues about a limitation for PLx performances or a lock for CPU voltages (sources are some old posts on Reddit r/MatebookXPro)...
What I can say is I'm not in a hurry to update now! But if you want to update your MBXP then I renew my invitation for a full DSDT dumping! XDXDXD
Hi profzei,
Here's my BIOS v1.3 DSDT dump, in case if it will be any help. DSDT-BIOS v1.3.zip
Thanks for all of your work.
You could look at the instructions for updating from linux: https://github.com/nekr0z/linux-on-huawei-matebook-13-2019#bios-updates I might consider setting up a live-usb drive with the tools installed.
Great idea! Will do, thank you @mcoolidge
I've just updated to the 1.33 version. I had to adapt these instructions since some commands / files are different with the latest Bios update files. Let me save you some time :
Please find attached a zip with the bios.cab file inside : bios.cab.zip
FYI, I've used a Fedora live USB. Under Fedora, type in the following command : fwupdmgr install bios.cab --allow-older
Two reboots will be required. VERY IMPORTANT : during these two boot phases HOLD THE F12 KEY to select the "Linux Firmware Update" boot entry. The first time, nothing will be displayed, the second time, there will be a Huawei bios update screen.
@profzei : After updating to 1.33, I don't notice any particular change. Here are some thoughts :
For the few who found a way to unlock CFG/0xE2 MSR : you have to re-enable both AppleCpuPmCfgLock and AppleXcpmCfgLock in config.plist before updating, because 0xE2 unlocking is reverted after each bios update. So you have to unlock again, and only then you can disable these two settings again.
Regarding undervolting : I will try to check if it has been disabled, but anyway the 0xE2 trick can also be used to unlock undervolting on more recent Matebooks, so I would not be too worried about this (cf. https://www.reddit.com/r/MatebookXPro/comments/iih4q9/undervolting_on_all_huawei_devices_even_matebook/ )
About the "limitation for PLx performances" : I don't know what this means. But if you know how to check I can perform some tests.
@baanb Thank you very much! I will check the "diff" between 1.28 and 1.30 versions
@ldan93 Thank you very much for your detailed guide and your feedback!
When you use voltageshift info
command, you can see, for example, PL1 15W PL2 44W
which are the Power Limit
for our machine respectively for Long term
and Short term
as time CPU load period...
@ldan93 Could you provide, please, your DSDT from 1.33 BIOS version?
@baanb I just checked... there is no difference between version 1.28 and version 1.30... same revision, same checksum, all the code is perfectly identical... mah !?
@profzei
Regarding the CFG lock : my previous guess was wrong, it is still unlocked after updating. Anyway, you're never too cautious... Well actually, never-mind, the update DID lock the CFG as I previously said.
Please find a dump of my DSDT with 1.33 version. I had some trouble to get something with OpenCore (DSDT.aml), so I also put the output that I got from a Clover USB key (ACPI_origin_clover) : DSDT_1-33.zip
This is the output of ./voltageshift info :
Undervolting is still effective, and it reports "PL1: 15W PL2: 44W"
@profzei Just out of curiosity : did you spot any significant change in the DSDT with bios 1.33 ?
@ldan93 Sorry! You are right... I forgot to share my findings...
There is only 1 difference... the rest is exactly the same!
A new method called _QBF
so it is called/related to EC0
... I report in the following its code:
Method (_QBF, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
ADBG ("EC batt hot and Level")
WMEN = 0x02B3
Notify (AMW0, 0xA0) // Device-Specific
}
Here (in Reddit) a guy reported better temperature for Matebook when plugged in... I don't know if it is a "real" or a "placebo" opinion...
Honestly I never had a too hot machine when plugged in... but many users in Reddit reported a such behaviour...
Honestly I'm thinking to try to write the related hotpatch and see if there are any improvements...
@ldan93 I added a new SSDT-BIOS.aml
for implementing new _QBF,0,N
method. See Changelog... now I'm in testing phase... XDXD!
Nice ! Is the new SSDT-BIOS compatible with systems updated to 1.33 ? Wouldn't this addition be redundant with the new bios ?
@ldan93 Yeah! In your case, there is no benefit since you already have _QBF
method in your DSDT... a possible benefit could be only for people who didn't update to 1.33 (like me!)
@ldan93 Yeah! In your case, there is no benefit since you already have
_QBF
method in your DSDT... a possible benefit could be only for people who didn't update to 1.33 (like me!)
So is it safe to update to 1.33? I am using the laptop for work, so I dont want to take a risk.
@hdamico Honestly I don't know... I'm testing the new method with my environment which is based on BIOS v. 1.28... if, in this way, all is ok, why should I update? I'm very "conservative" i.e. if something should go wrong I only need to disable SSDT-BIOS.aml
(reverting back to a functional state) but if I update to 1.33 I can never go back to 1.28 since bios is locked against this chance by HUAWEI
Alright then, if there is no significant improvment on this version I won't update it. I guess we can close this issue.
Hi Profzei,
There is a new bios (1.36) on Huawei's website.
I've applied the update : I haven't noticed any chance. People on reddit reports that it doesn't lock undervolting / overclocking. voltageshift info
prints the same power limits as before.
Warning : updating bios resets custom EFI entries of your bootloader. OpenCore versions 0.6.6+ register as a UEFI application, so its boot entry will be wiped by the update. To restore the boot entry you have to follow this procedure : https://gist.github.com/fewtarius/99e24d7f5afa13cf26ecbe33b864a657
Please find attached BIOS 1.36 and an SSDT Dump (if you're still interested in checking if there are any differences...) : MateBook_X_Pro_BIOS_1.36.zip
@ldan93 Thank you for SSDT dump! I'll check it asap... atm I think I could release a new update (with some refinements) probably about one week after OpenCore v. 0.6.9 (I'm skipping 0.6.8 one...)
@ldan93 I compared DSDT
from 1.36 with the one from 1.33 version: they are identical... same length, same revision, same checksum... maybe something could be different in related SSDTs?
@ldan93
Have you updated your bios to newest v. 1.37? If yes, could you share DSDT dump
, please? Could you also share all SSDT dumps
?
Now, I should be more present... also for testing your work for battery thresholds implementation...
Hi @profzei I haven't updated yet, but I will do it this week I think. I will then share all the DSDT / SSDT dumps :)
Here's the dump : Dump_1.37.zip
Let me know if you have everything you need.
Nothing special to report after updating...
Edit : ./voltageshift info
still reports the same values (15/44w) and undervolting is still effective
Warning : updating bios resets custom EFI entries of your bootloader. OpenCore versions 0.6.6+ register as a UEFI application, so its boot entry will be wiped by the update. To restore the boot entry you have to follow this procedure : https://gist.github.com/fewtarius/99e24d7f5afa13cf26ecbe33b864a657
I'm interested in updating bios and this page no longer exists, does anyone remember the procedure?
@piexil Here you go : http://web.archive.org/web/20210427173859/https://gist.github.com/fewtarius/99e24d7f5afa13cf26ecbe33b864a657
If you have Windows installed, profzei wrote a more user-friendly guide : https://github.com/profzei/Matebook-X-Pro-2018/wiki/Adding-OpenCore-entry-to-UEFI-Boot
@profzei Did you spot any significant change with bios 1.37 ?
@ldan93 There is no ACPI
change in Bios v. 1.37
Please, could you check if in Bios v. 1.37 Huawei had added to SecureBoot submenu an option to import Key or it is the usual Enabled
/Disabled
submenu?
I'm asking this since I'm digging in enabling BIOS Secure Boot for OpenCore with no success and I suspect the issue is our Bios i.e. the lacking for importing custom/user keys in UEFI Boot...
If I'm right we'll not be able to dual boot Windows 11 long with OpenCore...
It's the same old menu, there isn't an option to import new Secure Boot certificates... I've tried to check with UEFITools if there was a hidden setting similar to the CFG-lock one, but I didn't find anything...
From what I understand, Windows 11 will require a secure boot capable computer. But whether it must actually be enabled is still unclear. Right now with preview builds, secure boot must be enabled to install Windows 11 but it can be disabled afterwards (from what I've read on Reddit). But of course there is a high risk that Microsoft change their policy with official builds...
If secure boot becomes mandatory, I hope the OpenCore community will find a workaround to dual boot Windows 11. Some major Linux distributions reached a deal with Microsoft to be able to use Secure Boot on systems that can't import custom certificates : they are allowed to sign their bootloaders with Microsoft's certificate (which is most of the time the only one installed in the firmware). I don't know if this solution could apply to OpenCore.
@ldan93
I implemented a workaround for enabling BIOS Secure Boot for OpenCore
as reported in Changelog... I'll write a guide for the next week since it is a bit tricky but it's currently working fine with OpenCore
v. 0.7.2 which I'll release next week or maybe I'll wait for v. 0.7.3 since I see very few changes...
Then I'll like to work on SMCYoga.kext
for finishing your work on battery thresholds...
Hello, I am wondering how to update BIOS within Mac OS since the uploaded file is a .exe file. Thanks in advance!