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
Does not work on Thinkpad T450s #5
Comments
Where did you extract the Setup section (a.k.a. the PE32Section.bin file)? It seems that the firmware's Setup section is not named after "Setup" so the program didn't find the corresponding section. |
I use the BIOS_Backup_TooKit.EXE to extract the bios rom from my laptop as LENOVO-JBET73WW(1.37).rom. |
Well the Setup section of this firmware is named after "PlatformHiiAdvancedDxe" as shown in this pic. This special build only changes the matching name so that it could find the name for setup section in this firmware. You may try if it would work. But as I don't know if there is any different implementation in this firmware and it's pretty easy to brick the PC, USE IT AT YOUR OWN RISK!!! |
@datasone |
Well you could first try to use this build to print out all the variables in the firmware, and you may try to find out where the setup variables reside in. After that it is possible to tweak the program to find the corresponding variable and modify the value, but as the variable itself would be selected by guessing, and altering values in the wrong variable will be extremely dangerous, I only recommend to continue while you are capable to unbrick it (which may require removing the CMOS battery to reset BIOS settings or even using the programmer to reflash firmware image). |
|
And this is another build which allows you to specify the variable name and make testing more convenient. Both three
And if you want to set value then it's very easy to change that "read" to the value, e.g. |
Is this any help to the issue?
|
|
Thanks for your tips, I am now beginning to understand what you said.
|
The name BiosSetup is just my guess, there is no way to decide if it is correct, and usually in other firmwares it is named after "Setup" or "Custom". Here may be some misunderstandings so I'll explain how your problem (or this issue) arised. In normal firmwares, the names of the UEFI variable storing BIOS settings is Setup or Custom. Normally, this program finds variables in such a name and modifies it. And as this UEFI variable stores all the BIOS settings, the program only modifies the value at the required offset to only have the desired settings changed. But in your laptop's firmware, there isn't a variable in such a name, so the program cannot find the BIOS settings variable. And the For the compile problems, did you read the Build Notes? I think there shouldn't be explicit calling automake-1.15. As for the "no make rules" problem, it was caused by wrong location of |
Thank you very much for your explanation, and I am now understanding my situation. |
Yes that's right, and good luck :) |
Hi, @datasone , I'm sorry it took so long to reply as I am busy catching up the working schedule delayed by the lockdown. |
Well the offset should still be the VarOffset, i.e. 0x7A. |
You may try this build which bypasses the var name size check (as those in your laptop's firmware are all 1024) and see if the variable can be successfully obtained. |
The only other thing I could think of is that there may be some unprintable character padding in the names. If you'd like to, you can try this which would print out the hex value of the variable name, so it could be confirmed that we are matching the right variable name. |
Well, I have no idea about what causes the program failed to find the variable for now. The variable size has been ignored and the variable name seems normal. Maybe there are some special implementations in the firmware that prevents normally obtaining the variable (In my memory it was the second Thinkpad generation which uses an UEFI firmware). |
I had followed the guide with my T450s, but it didn't work.
I wonder if you can fix the problem?
The attach is the bios and cfg extraction from the bios
Bios.zip
There is no output when I use setup_var as well as setup_var2 and setup_var_3
The text was updated successfully, but these errors were encountered: