Zerocat Chipflasher
v0.4.3 (board-edition-1)
Flash free firmware to BIOS chips, kick the Manageability Engine.
|
Zerocat’s Chipflasher is designed for flashing BIOS chips reversely, that is: Power is applied to the chip, thus sending currents into the sysboard backwards.
Note that the power traces around the BIOS chip surely are not designed for the currents that some sysboards (X60, T60) will draw. If we power the BIOS chip, some target sysboards will draw much more current that would probably be needed to flash successfully. Therefor, we need kind of current limiting circuit. Examples: X60, T60
The only current limit 'control' we do have right now, is:
The Polyfuse seems to get hot for currents above its hold current, thus already limiting the current. Higher currents make the device to shut down the board after a while, thus leaving a small time window where we can take action (i.e. T60).
This time window could be used multiple times if we allow the fuse to cool down in between. This is very annoying and makes that flashing procedure slow as we are flashing sector by sector, but note the main goal should be not to damage_ the target sysboard!
Unfortunately, the chip’s supply voltage of a T60 doesn't reach its minimal value of 2.7V with supply currents below 2 Ampères – bigger currents would probably destroy the board and doesn't seem to help anyway.
Therefore, we won't be able to flash a T60 safely within specs by driving power backwards into the sysboard :-(
However, when using a combination of an LD1117-3.3 (800mA) voltage regulator, 1000µF power capacitor and a Polyfuse RXEF075, we can flash and read the T60 in one go with a chip supply voltage around 2.5V, which is not too bad!
We should be able to boot coreboot and then flash a second time from user space, within specs.
The power shunt in board-dev.sch allows us to monitor the overall return current.
If not otherwise noted, the CE# pull-up is adjusted to its maximal value (245Ohms).
As we are using USB ports as unclassified devices, we are not allowed to draw more than 100mA per port (200mA in total) if we want to stay within official USB specs. Thus the chipflasher needs to be self-powered through an external power supply for targets that take more current.
However, if we don't care about official USB specs, using two USB ports with a non-standard Y-USB-Cable works just fine as well on a ThinkPad X60.
This docking station seems to have very robust USB-Ports which can deliver up to 2.2Amps before a crowbar protection gets active. Then they are dead until you reboot after a while.
Zerocat’s note on JavaScript licenses: All JavaScript files of this page are free software. Generated files (dynsections.js, menu.js, menudata.js) carry doxygen’s GNU GPLv2 license header. File jquery.js is minified code but points to corresponding source files, which in turn provide their own license infos. In case the GNU LibreJS Browser Extension complains about these scripts being non-free – please whitelist them manually and reload the page.