I'm thinking about using Flashrom as a last resort to fix my BIOS - it's for a laptop which I know you say is absolutely a terrible idea, but this looks like the only way I can flash a new BIOS without needing to reboot.
Here's a long-winded explanation:
I bought this laptop secondhand, a Lenovo V510-15ikb, knowing it didn't quite work. But I didn't realise quite how perplexing it would be.
First, the touchpad and keyboard don't work. The caps lock key lights up when it turns on, but then as soon as the Lenovo logo appears, it turns off, and the keyboard doesn't respond at all.
So, using a usb keyboard and mouse, I formatted the laptop, and put a fresh copy of Windows 10 on it. But then, when it went to restart, it just stopped on the blue restart screen. Everything still worked, I could move the mouse, and it looked like the hard drive was reading something, but four hours later, still no restart. So, I use the power button to restart. This leads to a series of problems, where the laptop won't consistently boot. But after a few attempts, I can get into Windows.
Now, from inside Windows, everything seems fine, the system loads
quickly, wifi connects. But when I run windows update, it freezes
- the system works, but update itself just freezes. When I run
Lenovo system update, it stops at 97%. Firefox won't load, but
Chrome will. And I can't restart the system. Again, it gets to
the blue restart screen, the mouse still moves, but it never
restarts. I don't know for sure, but it seems like it can't
communicate with the motherboard correctly to actually restart.
So, I boot into BIOS. There's a newer version available, and from
the BIOS itself, I can restart the system. So I boot back into
Windows, and run Win64 - from part of the Lenovo BIOS update .exe
which is supposed to flash the BIOS. But to do that, it needs to
reboot the system, so it tries and it fails.
So, in windows, I try to run Phoenix UEFI Winflash, which tells me "Please select the correct BIOS image". I'm using bios.cap from 2WCN42WW from here: https://pcsupport.lenovo.com/no/en/products/laptops-and-netbooks/lenovo-v-series-laptops/v510-15ikb/...
So, I figure maybe I can do it from the command prompt, so I use the Windows 10 USB stick and get to the command prompt, run win64.bat, and it still needs to reboot. Which doesn't happen. I also try accessing UEFI from here, which freezes the system.
So, I figure maybe I can do it from FreeDOS. I make a FreeDOS boot USB, run win64.bat and am told the software can't be run from DOS.
So, I use the DOS version, phlash16, and I turn the .cap file
into a .bin using UEFITool, and phlash16 runs and looks like it's
going to work... but then I get the message, "platform signature
not found in the interface."
So, I figure maybe I can do it from Linux. I install Ubuntu using wubi, and try to boot into it, but after a hefty amount of time on a black screen, I get a bluescreen of death. I try to boot linux from USB, but same problem.
I instead install Ubuntu to a USB, and can boot from it - but I
see a large list of ACPI errors. I try to flash the bios using
fwupdate, but it can't seem to communicate with /dev/sda2 which is
where my efi is supposedly. Plus, I still can't reboot.
So, I check event viewer from Windows to see what's happening when I'm rebooting, and I get this error message:
: The embedded controller (EC) did not respond within the specified timeout period. This may indicate that there is an error in the EC hardware or firmware or that the BIOS is accessing the EC incorrectly. You should check with your computer manufacturer for an upgraded BIOS. In some situations, this error may cause the computer to function incorrectly.
So I need a solution to update the BIOS without needing to reboot, which brings me to you.
Is there anything you can recommend, before I try Flashrom?
Thanks for reading this far and I really look forward to hearing from you,