Based on the info from your post (especially "the touchpad and keyboard don't work") it really seems that something is wrong with the EC firmware, it may be corrupted. If my guess is correct, even if you would manually reflash your BIOS chip, maybe using a SOIC8 test clip together with some cheap flashrom-supported programmer like USB CH341A (external hardware flashing method if the internal one doesn't work), with a known good BIOS image - it wouldn't help you. However, if you'd somehow succeed flashing using a vendor's BIOS updating utility, it will update your EC firmware as well and the problem will be solved.
Here's how an embedded controller EC could be flashed using a flashrom and flashrom-supported programmer like CH341A or Bus Pirate, through a keyboard connector - http://dangerousprototypes.com/docs/Flashing_KB9012_with_Bus_Pirate . You need to check if your motherboard's EC is supported by flashrom, i.e. KB9012 is supported. If your EC isn't supported, you would need to either add its' support to flashrom, or get a proprietary programmer that supports it. If my info is correct, your laptop has IT8886HE EC. It doesn't seem to be supported by flashrom, but perhaps such a support can be added: it seems that this IT* shares a similar flashing algorithm to the older IT*.
On Tue, Oct 22, 2019 at 11:40 AM Russell Morgan russelljmorgan@gmail.com wrote:
Good morning,
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-se......
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,
Russell
flashrom mailing list -- flashrom@flashrom.org To unsubscribe send an email to flashrom-leave@flashrom.org