To salvage a server with a broken BIOS, I am attempting to in-situ program a chip via SPI using a Raspberry Pi 3B: the used setup

After connecting my clip and wiring it up (and measuring all the leads to ensure I have the correct pinout), I have the problem that all dumped files are different, as well as flashrom not always recognising the chip correctly. This happens at higher and lower clocks (I have tried 32-64-128-256-512 kHz, 10, 9, 8, 7 mHz).

The Flashrom Wiki has a page for common problems and solutions, where they mention using parallel capacitors or series resistors. While googling I found pages of electronics courses which explained you may sum the capacitances of parallel capacitors, but not how to connect them. I suspect there might be other ways to improve the connection as well.

How could I add or remove components in order to get consistent reads with this?

  • \$\begingroup\$ You may want to include a question in your post. \$\endgroup\$ – Blair Fonville Jul 28 '18 at 7:27
  • \$\begingroup\$ Have you isolated the I/O pins from the original motherboard? Also what is powering it? \$\endgroup\$ – Oldfart Jul 28 '18 at 8:47
  • \$\begingroup\$ @Oldfart the Pi is powering it currently. It can supply around 50mA. I haven't isolated the I/O pins because I think that requires desoldering the chip and I'm a beginner without the necessary tools. I have ordered a simple soldering station though. \$\endgroup\$ – Zsub Jul 28 '18 at 9:22

If you leave the chip in place you will encounter major problems.

  1. You have to supply power to the chip, but the powers supply is likely to be connected to all devices with the same supply voltage. e.g. if you connect the (3V3?) supply you will supply all 3V3 chips on the board. You have no idea what that will do to the board, as it will only be partly powered.

  2. The I/O pins will be connected to existing chips. If they are powered they will try to drive against your signals. If they are un-powered you have no idea what the behavior is of the ports.

There is no use trying to read the chip in-situ. You have to isolate the input pins. The MISO should not be a problem. If you don't care if the rest of the board survives, you can just pump in enough current till the supply voltage is correct.

  • \$\begingroup\$ I just came across another page on the flashrom wiki detailing that in situ might be challenging. However, while measuring the current draw and dumping the contents at 10MHz, I have got ten identical dumps. At least the md5sum of all dumps is identical. The current draw was around 270 mA, so a lot higher than recommended unfortunately \$\endgroup\$ – Zsub Jul 28 '18 at 11:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.