This is a little akward, and eventually a pipe to file will probably make its way into the syntax compiler. It works though, and should make dumping almost any I2C/SPI storage device pretty easy.
Confirmed working “dump” command. I have eeprom.bin now on my lap-desk and looking at it in GHex. I wonder if it even has checksums. Seems like not. But editing it is not the goal. I just wanted to check if there is some data not 0xFFFFFFFFFFFFFFFF in the middle til the end.
There is name of ups /model /manufacture date and serial number in strings and baterry/acu model and some gibberish. I use GHex gui hex editor on Linux.
I could send it to you no problem. What would be funny to edit name so not Smart UPS 750i but something like “haxxed by BP5” just to check if there are checksums. Because name is what is displayed when it boots up. Changing model could be problematic if somethin relies on it. But S/N to some 1337LEETMODEL01 could be fun. Bexause its possible
Is there any point in having a repo of eeprom dumps? I assume it’s against github TOS. Is it even legal? Maybe hosted somewhere with the right to repair laws?
I use the bus pirate to learn about new chips when designing my own boards. Lots of people use it to repair stuff though.
Sometimes just knowing what a value should be at a location is enough. blinkenlabs repaired, I believe, a bench PSU by editing an incorrect calibration value the eeprom with the bus pirate. Programming a few bytes saved a machine, which is pretty cool. I only deal in open source though and don’t want to host a ROMs site or whatever.
I think I will figure it out. I mean how to write. So WRITE OP code then data, address etc. But MCU is bricked so I cant verify if it actually did something after fiddling with bits. I have another working unit that I want to dump in second phase. And flash it to the brick. Should resurect it 80% chance.
Anyway this product is EOL so i guess APC company doesnt care anymore.
But still waiting fot SMPS plank because unfortunetely MCU talks 12V.
I could do a bindiff tomorrow. I need to take apart a bit working unit. Also I believe you mentioned in DM that there are spaces instead of null bytes between strings. I think its because of how its shown on the display. Some marquee (I know only html4 word for that😅) effect with name and model on bootup.
And of course, don’t forget to send the write disable command, when done (or power cycle the chip). Else, the safety net of requiring an explicit write-enable command is lost.