I had some more time to investigate further and I figured out more of the values in the FRU.
Enclosure Family | Magic (ASCII) (offset: 0x133) | Checksum (byte) (offset: 0x143) |
MD12XX | MD-DEVILS | 0xDA |
MD32XX | HOGS_SAS | 0xE8 |
SC2XX | SC-SURLY | 0xFD |
PS6210 | EQ-PIRATES | 0x84 |
Additionally, the int32 at offset 0x2FC is a counter of how many times the FRU has been written to.
i used this info to flash my 3200 to accept the 1200 emm. steps i took:
put the md1200 EMM in the 3200, using the serial cable connect with 38400 8N1
in a serial console, run "fru_read 2", copy the output to a file, remove the memory addresses and ascii text (leaving just the hex)
copy the hex to an editor; i used imhex from
GitHub - WerWolv/ImHex: A Hex Editor for Reverse Engineers, Programmers and people who value their retinas when working at 3 AM.
change 0x133-13b to 4D 44 2D 44 45 56 49 4C 53 (changes HOGS_SAS to MD-DEVILS)
change the checksum at 0x143 to DA
i didnt remove the trailing zero's. i did at first, and it said the file was invalid.
save the file in imhex
use a terminal prog with xmodem transfer, i used tera term
enter "fru_download 2", then send the file (teraterm is File>Transfer>XMODEM>Send within 60 seconds
On my backplane, the fru in 2 and 5 were the same, so i uploaded it to both, but i think i saw somewhere in the thread that when you upload it to one it writes it to both. i just sent it to both anyway.
reboot the enclosure after complete, and the backplane is now a MD1200.
i tried changing the "MD3200" to "MD1200" in the hex file, but it would not update the FRU, so i left it as is. my final file i used looked like this: