surface-uefi-firmware icon indicating copy to clipboard operation
surface-uefi-firmware copied to clipboard

is the new firmware 2022 downgradeable ?!

Open aramo9696 opened this issue 3 years ago • 20 comments

my surface book 2 has updated to the latest firmware 392.72.768 i would like to downgrade to unlock undervolt since its been locked for whatever reason.

aramo9696 avatar May 19 '22 21:05 aramo9696

Theoretically yes (you can add a flag to skip the version checks), but I'd try to downgrade all firmware parts as I don't know whether there could be incompatibilities if you run firmware versions from different updates.

qzed avatar May 19 '22 21:05 qzed

Theoretically yes (you can add a flag to skip the version checks), but I'd try to downgrade all firmware parts as I don't know whether there could be incompatibilities if you run firmware versions from different updates.

mate i am a noob when it comes to this especially Linux is there any way you can help me please

aramo9696 avatar May 19 '22 21:05 aramo9696

Theoretically yes (you can add a flag to skip the version checks), but I'd try to downgrade all firmware parts as I don't know whether there could be incompatibilities if you run firmware versions from different updates.

i dont mind downgrading all parts to be honest i just want to downgrade to able to undevolt this surface book 2

aramo9696 avatar May 19 '22 21:05 aramo9696

also getting this error when i try to downgrade ** (msiextract:18060): CRITICAL *: 23:12:19.283: libmsi_query_fetch: assertion 'LIBMSI_IS_QUERY (query)' failed ./repack.sh: 162: cd: can't cd to out/SurfaceBook2/ a@a-Surface-Book-2:~/Downloads/surface-uefi-firmware-master$ ./repack.sh -m cab -f ../SurfaceBook2_Win10_18362_21.101.14869.0.msi -o out ==> Found Model: SurfaceBook2 ==> Unpacking driver package

** (msiextract:18075): WARNING **: 23:12:25.293: open file failed for ../SurfaceBook2_Win10_18362_21.101.14869.0.msi

** (msiextract:18075): CRITICAL **: 23:12:25.293: libmsi_query_new: assertion 'LIBMSI_IS_DATABASE (database)' failed

** (msiextract:18075): CRITICAL **: 23:12:25.293: libmsi_query_execute: assertion 'LIBMSI_IS_QUERY (query)' failed

** (msiextract:18075): CRITICAL **: 23:12:25.293: libmsi_query_fetch: assertion 'LIBMSI_IS_QUERY (query)' failed

** (msiextract:18075): CRITICAL **: 23:12:25.293: libmsi_query_new: assertion 'LIBMSI_IS_DATABASE (database)' failed

** (msiextract:18075): CRITICAL **: 23:12:25.293: libmsi_query_execute: assertion 'LIBMSI_IS_QUERY (query)' failed

** (msiextract:18075): CRITICAL **: 23:12:25.293: libmsi_query_fetch: assertion 'LIBMSI_IS_QUERY (query)' failed

** (msiextract:18075): CRITICAL **: 23:12:25.293: libmsi_query_new: assertion 'LIBMSI_IS_DATABASE (database)' failed

** (msiextract:18075): CRITICAL **: 23:12:25.293: libmsi_query_execute: assertion 'LIBMSI_IS_QUERY (query)' failed

** (msiextract:18075): CRITICAL **: 23:12:25.293: libmsi_query_fetch: assertion 'LIBMSI_IS_QUERY (query)' failed

** (msiextract:18075): CRITICAL **: 23:12:25.293: libmsi_query_new: assertion 'LIBMSI_IS_DATABASE (database)' failed

** (msiextract:18075): CRITICAL **: 23:12:25.293: libmsi_query_execute: assertion 'LIBMSI_IS_QUERY (query)' failed

** (msiextract:18075): CRITICAL *: 23:12:25.293: libmsi_query_fetch: assertion 'LIBMSI_IS_QUERY (query)' failed ./repack.sh: 162: cd: can't cd to out/SurfaceBook2/ a@a-Surface-Book-2:~/Downloads/surface-uefi-firmware-master$

aramo9696 avatar May 19 '22 22:05 aramo9696

Seems like msiextract fails for some reason... Seems like it has trouble opening the file. I assume the path is correct?

qzed avatar May 19 '22 22:05 qzed

yup the path is right.. ive tried different type of firmware's nothing always giving me errors

aramo9696 avatar May 19 '22 22:05 aramo9696

a@a-Surface-Book-2:~/Downloads/surface-uefi-firmware-master$ fwupdmgr install'/home/a/Downloads/surface-uefi-firmware-master/out/SurfaceBook2/SurfaceBook2_SurfaceUEFI_390.3192.768.0.cab' Command not found

Use fwupdmgr --help for help a@a-Surface-Book-2:~/Downloads/surface-uefi-firmware-master$ fwupdmgr install'/home/a/Downloads/surface-uefi-firmware-master/out/SurfaceBook2/SurfaceBook2_SurfaceUEFI_390.3192.768.0.cab' Command not found a@a-Surface-Book-2:~/Downloads/surface-uefi-firmware-master$ fwupdmgr install'/home/a/Downloads/surface-uefi-firmware-master/out/SurfaceBook2/SurfaceBook2_SurfaceUEFI_390.3192.768.0.cab' Command not found

Use fwupdmgr --help for help a@a-Surface-Book-2:~/Downloads/surface-uefi-firmware-master$ fwupdmgr install'/home/a/Downloads/surface-uefi-firmware-master/out/SurfaceBook2/SurfaceBook2_SurfaceUEFI_390.3192.768.0.cab' Command not found

Use fwupdmgr --help for help a@a-Surface-Book-2:~/Downloads/surface-uefi-firmware-master$

Use fwupdmgr --help for help a@a-Surface-Book-2:~/Downloads/surface-uefi-firmware-master$

aramo9696 avatar May 19 '22 22:05 aramo9696

it doesnt even let me install the update ;(

aramo9696 avatar May 19 '22 22:05 aramo9696

I'm not sure if that's an artifact from pasting this here, but you might be missing a space between the command fwupdmgr install and the file.

qzed avatar May 19 '22 22:05 qzed

So I just tried the repack script on Arch Linux and there it seems to work.

./repack.sh -m cab -f ./SurfaceBook2_Win10_18362_21.101.14869.0.msi -o out
 ==> Found Model: SurfaceBook2
 ==> Unpacking driver package
 ==> Repacking surfacesam firmware
 ==> Repacking surfaceuefi firmware
 ==> Repacking SurfaceTouch_0 firmware
 ==> Repacking surfaceme firmware
 ==> Repacking SurfaceTouch firmware
 ==> Repacking SurfaceISH firmware

qzed avatar May 19 '22 23:05 qzed

Maybe it's related to a specific msiextract version...

qzed avatar May 19 '22 23:05 qzed

Having the same issues mate done a fresh install of pop os to see if things change but nothing at all same results I’m giving up hope… do what do you recommend?

aramo9696 avatar May 20 '22 17:05 aramo9696

You could maybe try with a Docker container. No idea why msiextract fails...

qzed avatar May 20 '22 17:05 qzed

You could maybe try with a Docker container. No idea why msiextract fails... How do I that sorry I’m new to this whole Linux stuff

aramo9696 avatar May 20 '22 17:05 aramo9696

You could maybe try with a Docker container. No idea why msiextract fails...

sorry i dont want to confuse you but now im trying install the firmware via terminal with the command fwupdmgr install and it keeps giving me the error 'Use fwupdmgr --help for help'

aramo9696 avatar May 20 '22 19:05 aramo9696

sorry i dont want to confuse you but now im trying install the firmware via terminal with the command fwupdmgr install and it keeps giving me the error 'Use fwupdmgr --help for help'

Ah, that won't work via Docker... So

sudo fwupdmgr install '/home/a/Downloads/surface-uefi-firmware-master/out/SurfaceBook2/SurfaceBook2_SurfaceUEFI_390.3192.768.0.cab'

does not work?

qzed avatar May 20 '22 19:05 qzed

In case you're still having issues with msiextract. The following should allow you to build the .cab files:

Install docker and copy everything you need into one directory (for example the one of the repack script). From that directory then run

docker run --name fedora --interactive -v "$PWD":/build --tty library/fedora bash

This will launch an interactive docker session where the directory you launched it from is mapped as /build. Therefore run

cd build

and make sure you have all the files you need in that directory (e.g. via ls -al). Now update and install dependencies via

dnf update
dnf install msitools gcab dos2unix

Then you're able to try things out via

./repack.sh -m cab -f ./SurfaceBook2_Win10_18362_21.101.14869.0.msi -o out

or whatever .msi file you want to use. You can't flash the result from the container, so you'll have to exit it via exit. After that you should be able to run

fwupdmgr install ./out/<whatever-file-here>

to flash the firmware.

You may then want to remove the container via docker rm fedora.

qzed avatar May 20 '22 19:05 qzed

im doing it on ubuntu now fresh install. following this guide https://www.reddit.com/r/Surface/comments/ofbytw/guide_how_to_reenable_undervolting_on_your_sb2/ now just having the issue in installing the firmware which keeps giving me that message i sent on here. by the way thanks for the replies and the help

aramo9696 avatar May 20 '22 19:05 aramo9696

are you sure it can be downgraded from the latest firmware?

aramo9696 avatar May 20 '22 19:05 aramo9696

The error you get is

Command not found

Use fwupdmgr --help for help

right? That means that something with the subcommand you provided to fwupdmgr is wrong. According to https://manpages.ubuntu.com/manpages/impish/man1/fwupdmgr.1.html that should have the install command. So unless you get a different error there's no reason to think that downgrading isn't possible.

qzed avatar May 20 '22 20:05 qzed