I want to try flashing #Coreboot on my home PC motherboard!
https://github.com/Dasharo/dasharo-issues/issues/226#issuecomment-1312324453
I want to try flashing #Coreboot on my home PC motherboard!
https://github.com/Dasharo/dasharo-issues/issues/226#issuecomment-1312324453
For just $14, I got this USB flash programmer with a test clip which should be suitable for the SOIC flash chip on my motherboard.
https://www.amazon.com/gp/aw/d/B07V2M5MVH
#coreboot #electronics #hacking
@codewiz The best parts about the CH341A is that it requires no additional software config other than flashrom and powered by USB so it can conveniently fit in your laptop bag without an additional power supply.
@thomzane There's a 1.8V level shifter included with my kit.
But thank you very much for the warning! I'll verify that the Vcc pin is really1.8 volts before connecting the clip.
@codewiz Warning!!! The cheapest black PCB model of the CH341A is reported by several people to have a wrong voltage. Might be fine and might not. There is a hacky fix posted here: https://www.eevblog.com/forum/repair/ch341a-serial-memory-programmer-power-supply-fix/
I have received reports that the green PCB turquoise version do not have this issue.
@thomzane I'm following this guide, btw:
https://docs.dasharo.com/variants/msi_z690/recovery/#intro
This is the firmware flash on my motherboard. So small! I couldn't read the part number without the aid of my phone's macro lens.
It's a Winbond 256Mbit SPI flash in a WSON8 package:
https://www.winbond.com/hq/about-winbond/company-profile/vision/index.html
Out of inexperience with modern components, I didn't realize that the SOIC8 clip included with my flash programmer kit wouldn't fit a WSON8 chip.
SOIC = Small Outline Integrated Circuit
WSON = Very-Very-thin Small Outline No-lead package
So I need one of these WSON8 8x6mm test probes:
https://www.amazon.com/junee-WSON8-Probe-Write-Burning/dp/B0BKP819W9
The seller is in China, but for $9 I could get it as early as Tuesday...
All right, let's see if it's true!
#electronics #coreboot
While waiting for the last piece of my recovery kit to arrive, I guess I will update the original MSI firmware to the latest version, then dump it with flashrom to a USB stick as a backup.
Something went wrong after the MSI firmware update: I stared at a blank screen for several minutes, then forced a reboot.
Afterwards, the bios settings got reset to defaults, and Linux would no longer boot because Secure Boot got re-enabled. It took me a while to find the setting to disable it again. Thank you, MSI.
Thank you for the advice, much appreciated. It's true that I don't have much experience, but one of my housemates is a seasoned EE, and I will ask him to verify my setup before potentially frying the motherboard.
@codewiz, maybe I'm too careful, but I would suggest that you get some scrap boards and decent‑ish tools, and learn how to remove chips and replace them with sockets. Yes, takes more time and it's more expensive, but in the long run you'll be better of doing it this way, especially if you don't have experience with this sort of things.
2/2
@codewiz, I've learned it the hard-way that you always need spare parts when you are about to attempt in-circuit-programming, because you never know when something goes wrong, especially if you do it for the first time.
Those clip-on programmers need to account for all sorts of extra components around your memory, that's why people have problems. More complex programmers can account for the extra components without frying everything.
1/?
I also have some prior experience using a larger flash that could be firmly grabbed by a SOIC clip:
https://www.codewiz.org/wikiedit/CorebootX230
I also have some prior experience using a larger flash that could be firmly grabbed by a SOIC clip:
https://www.codewiz.org/wikiedit/CorebootX230
@codewiz for some reason, this toot reminded me that Cloudflare is giving out Yubikeys at a promotional price
@walter @codewiz Do you have a suggestion for more complex programmers?
I typically use the CH341A by dropping chips directly into the top of the device. The D8 and D16 boards have BIOS chips that can be removed easily.
At work we use J-Link probes to load code directly into the internal ram of ARM microcontrollers via JTAG / SWD.
We can also write to an external boot flash by loading a small program in ram that receives data via SWD and manages the erase / write sequence over SPI.
It's fast, but the JLink software is proprietary and their USB dongle is ridiculously overpriced.
If there's anything better, I would like to know.
@thomzane @walter #electronics #embedded #firmware #coreboot
By the way, today I was able to read and write back a 16MByte QSPI flash using the CH341A.
It worked, but it was extremely slow. I think this programmer only supports single lane SPI.
@codewiz @walter Leah Rowe (of Libreboot) was ranting on IRC about the stm32 as a chip programmer. Here is the repo: https://github.com/dword1511/stm32-vserprog You need a ft232h to flash that repo onto the stm32. I have been meaning to try it as it seems to be the most free method with regard to software freedom, but it has a higher barrier to entry for people not familiar with solder and odd boards.
Looks perfect, but where can I buy one of these pre-assembled and tested?
@thomzane @walter
Also, I will need an adapter for these JTAG/SWD micro connectors. Not sure about the voltage...
@thomzane @walter
@walter @thomzane Good advice!
For the Thinkpad X230, I had to hook up an external PSU because half motherboard was drawing power through the +3.3V pin of the SPI flash.
For the MSI PRO Z690-A, nobody mentioned having to supply external power, but I'll double check the voltage before proceeding.
@thomzane there's no one‑size‑fits‑all memory programmer, but when it comes to reliability, it's more about the USB2 ports than the programmer. Not every port out there can output 5×0.5 Watts, especially on laptops.
So keep your laptop plugged in, or start only when you have at least 50% battery, or both. Or use an external hub, an extra power‑supply (battery?) for the programmer, or measure a port and see how it behaves in low power or current limiting mode.
Update: I got the WSON8 probe, and I tried it fits the flash chip on my motherboard...
...but now I got cold feet 😰
The pins are so small, and the probe cannot grab the chip so you have to hold it in place with a steady hand for the entire read / write operation.
I guess I'll ask a friend who modifies modern PCBs to help me.
Bobinas P4G is a social network. It runs on GNU social, version 2.0.1-beta0, available under the GNU Affero General Public License.
All Bobinas P4G content and data are available under the Creative Commons Attribution 3.0 license.