I guessed which chip it was (with a little bit of help from leaked schematics for similar laptop models), bought the first programmer that I saw online that appeared to be compatible (anything with a CH341A in it, apparently) and ran `flashrom --programmer ch341a_spi -r bios.bin`.
Had there been any more than one possible type of chip and more than three of these similar looking chips on the [accessible part of the] motherboard, I'd probably still be sitting here trying to figure out what to do.
In any case, I'll try and add it to the blog post once I figure out how to do footnotes. :^)
I have tried to use a generic usb CH341A previously, and ended up seemingly frying the chip. By chance, would you happen to know the pin out on the ch341a, or something else that may be useful? I’ve stayed away from using it since, out of fear of frying a more expensive/important device.
The programmer that I bought was already wired up for 24 series and 25 series chips, so I assume the pinout matches whatever is in that respective datasheet.
The 25Q32BVSIG operates on 3.3V, so this particular programmer was compatible by default, but for 1.8V one would have to watch out indeed.
If I may guess, with a dongle supported by flashrom, soldering wires to the flash chip, and a lot of patience - because doing the same thing from say linux can run into permission problems: the firmware really doesn't want you to read the flash chip.
Luckily, it was the type of flash chip that I could use an external programmer and a test clip for. I haven't actually ever tried reading/writing through the internal programmer.
Had to reflash an SOIC i2c chip before and just soldered wires on. Some pins are easier where you have a via to solder to instead of the pin. Had to carefully lift the VCC pin to avoid turning on the whole board. Not all is lost if you break a pin: can carefully file down a bit of the plastic chip encapsulation to expose some pin to rebridge it once complete.
It's really nice to see how much cheaper ZIF sockets, test clips and programmers have gotten over the last few decades.
I was able to fix a laptop I bricked that way, note to self: never disable usb on a device with only usb input. the device had no bios clear pins. So I got a chip flasher and a soic clip and reflashed the firmware the hard way. luckily it worked "on board"
A process note. I did not really know what I was doing. and nothing was flashing correctly. Most of my problems ended up being with the cheap soic clip I had bought. After buying a nicer one it flashed first try. If anyone wants a recommendation, the nicer clip was from pomona electronics.
Most of my problems ended up being with the cheap soic clip I had bought. After buying a nicer one it flashed first try. If anyone wants a recommendation, the nicer clip was from pomona electronics.
I can +1 for that clip. Had similar issues pulling data off a flash chip. If `flashrom` could see it at all, each read would come back with a different `sha1` hash.
Spent _way_ too long fighting that before I had the "wonder if this cheap clip is the issue..." thought. The pomona clip is so much better made and holds on to the chip well.
Comments
I'd love a footnote explaining how you did this.
I guessed which chip it was (with a little bit of help from leaked schematics for similar laptop models), bought the first programmer that I saw online that appeared to be compatible (anything with a CH341A in it, apparently) and ran `flashrom --programmer ch341a_spi -r bios.bin`.
Had there been any more than one possible type of chip and more than three of these similar looking chips on the [accessible part of the] motherboard, I'd probably still be sitting here trying to figure out what to do.
In any case, I'll try and add it to the blog post once I figure out how to do footnotes. :^)
I have tried to use a generic usb CH341A previously, and ended up seemingly frying the chip. By chance, would you happen to know the pin out on the ch341a, or something else that may be useful? I’ve stayed away from using it since, out of fear of frying a more expensive/important device.
Different flash chips operate at different voltages. 1.8v, 3.3v are common.
Your programmer needs to operate at the same voltage as your target.
I assume if this programmer is designed as a dev tool, it probably has a jumper somewhere to set what voltage to operate at.
The programmer that I bought was already wired up for 24 series and 25 series chips, so I assume the pinout matches whatever is in that respective datasheet.
The 25Q32BVSIG operates on 3.3V, so this particular programmer was compatible by default, but for 1.8V one would have to watch out indeed.
If I may guess, with a dongle supported by flashrom, soldering wires to the flash chip, and a lot of patience - because doing the same thing from say linux can run into permission problems: the firmware really doesn't want you to read the flash chip.
Luckily, it was the type of flash chip that I could use an external programmer and a test clip for. I haven't actually ever tried reading/writing through the internal programmer.
Test clip? Fancy!
Had to reflash an SOIC i2c chip before and just soldered wires on. Some pins are easier where you have a via to solder to instead of the pin. Had to carefully lift the VCC pin to avoid turning on the whole board. Not all is lost if you break a pin: can carefully file down a bit of the plastic chip encapsulation to expose some pin to rebridge it once complete.
It's really nice to see how much cheaper ZIF sockets, test clips and programmers have gotten over the last few decades.
I was able to fix a laptop I bricked that way, note to self: never disable usb on a device with only usb input. the device had no bios clear pins. So I got a chip flasher and a soic clip and reflashed the firmware the hard way. luckily it worked "on board"
A process note. I did not really know what I was doing. and nothing was flashing correctly. Most of my problems ended up being with the cheap soic clip I had bought. After buying a nicer one it flashed first try. If anyone wants a recommendation, the nicer clip was from pomona electronics.
https://www.pomonaelectronics.com/products/test-clips/soic-c...
I can +1 for that clip. Had similar issues pulling data off a flash chip. If `flashrom` could see it at all, each read would come back with a different `sha1` hash.
Spent _way_ too long fighting that before I had the "wonder if this cheap clip is the issue..." thought. The pomona clip is so much better made and holds on to the chip well.