So, in my last post I had sucessfully removed a flash memory chip from my X8SIL-F. The next step was to attach the ‘emulator’ to the motherboard, and attach the connector to another flash chip. This requires lots of t
iny little soldering, which is quite annoying to do. I was ultimately successful, though it took a good 6 hours to accomplish.
- Attach some small wires to the socket. These will eventually be connected to the flash chip. I used bits of the conductor from some stranded speaker wire I had. Lacking any sort of third hard, I just hot glue
d the wires and the socket to my desk. You don’t actually need to connect all the pins, it’s safe to just connect the outer three on each side. (Look at the datasheet for the pinout).
- Bend the legs up, reinforce them with hot glue.
- Solder the flash chip on
You’ll end up with something that looks like this
If you solder somewhat carefully and don’t cover up the pins on the top you can still fit a Pomona clip on top. This makes it easy to program.
- Solder the ‘emulator’ onto the motherboard. This looks terrible, but works. I needed magnification to find all the tiny solder bridges I created.
- Program the new memory chip with the standard firmware, attach to header.
- Moment of truth! Power on the board. If you’ve done everything correctly, the IPMI controler should boot up. The ‘IPMI Health Indicator’ (that green circle in the previous image) should start flashing, and the controller should pull a DHCP leasse.
If your controller doesn’t work, make sure you haven’t created any solder bridges. Also make sure that everything is properly attached.
After all this, I now have the ability to flash whatever firmware I want and not have to worry about bricking the controller. I can just remove the chip and reflash it if something doesn’t work. Ultimately, I’m hoping to find a hidden serial port (the bootloader and kernel are both configured to output things on a serial port, I just don’t know where it is) which would let me program things in circut.
Of course, getting the ‘SDK’ to compile properly, and emit a usable flash image is a whole other story… one I’m still working on