Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

is the new firmware 2022 downgradeable ?! #25

Open
aramo9696 opened this issue May 19, 2022 · 20 comments
Open

is the new firmware 2022 downgradeable ?! #25

aramo9696 opened this issue May 19, 2022 · 20 comments

Comments

@aramo9696
Copy link

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.

@qzed
Copy link
Member

qzed commented May 19, 2022

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.

@aramo9696
Copy link
Author

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
Copy link
Author

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
Copy link
Author

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$

@qzed
Copy link
Member

qzed commented May 19, 2022

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

@aramo9696
Copy link
Author

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

@aramo9696
Copy link
Author

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
Copy link
Author

it doesnt even let me install the update ;(

@qzed
Copy link
Member

qzed commented May 19, 2022

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
Copy link
Member

qzed commented May 19, 2022

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
Copy link
Member

qzed commented May 19, 2022

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

@aramo9696
Copy link
Author

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?

@qzed
Copy link
Member

qzed commented May 20, 2022

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

@aramo9696
Copy link
Author

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
Copy link
Author

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'

@qzed
Copy link
Member

qzed commented May 20, 2022

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
Copy link
Member

qzed commented May 20, 2022

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.

@aramo9696
Copy link
Author

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
Copy link
Author

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

@qzed
Copy link
Member

qzed commented May 20, 2022

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants