超微X11SSM野路子BMC降级记录
最近入手了一块超微X11SSM准备装一台新软路由 这板子的PCIE通道分配是8+8+4+4 非常适合软路由这个用途
两个x8一个插BCM57810和猫棒接外网 另一个插CX4121接内网 还剩两个x4后期可以加别的 完美
然后在倒腾CX4121的时候掉坑了 买了张华为的SP333 到手点不亮 网卡灯亮 但开机卡 BlInitializeLibrary failed 0xc00000bb 不进系统
起初怀疑兼容性问题 尝试更新BIOS 但更新BIOS又要更新BMC 不然刷不进去 于是更新了BMC
更新完发现 原本很全面的汉化变得英语夹中文 而且设置中文还无法保存
启动后发现网卡涛声依旧 不启动 后确认是卡的问题 找卖家对线更换了一张 但更换来的并没有好到哪里去 在一次重启后突然找不到了
最后退掉了SP333 加钱买了CX4121C(戴尔) 就没有再遇到过任何奇怪的问题
但被升级上去的BMC却无法回退到原本的版本 降级到1.64后就无法继续降级了 刷不进去 然后就有了这篇野路子降级记录
(非教程 不建议模仿 可能存在未知问题)
X11SSM这板子 最后一版汉化全面的BMC是1.58 后面一版过渡版本是1.63 这版开始汉化就变得英语夹中文 一旦升级1.64就无法正常回退以下的版本了
不正常的方法也不是没有 观察了一下 超微的BMC更新包大小是32M的 且没有后段大范围空着的情况 猜测应该是完整的文件
于是死马当活马医 拿出编程器和夹子准备开干
但夹上就遇到了问题 不插电状态 编程器认不到FLASH芯片 这一般是电路设计导致的 可以尝试上电待机状态读取
但BMC比较特殊 一上电就立即开始工作了 所以需要将主板的BMC跳线跳到关闭上 不让BMC工作
这样操作后就可以认到FLASH芯片了(如果这样还不行就需要用热风枪吹下芯片用测试架读写后再吹回去了)
剩下就是常规的三板斧流程
备份原芯片内容 读取并校验读出的内容 保存好(备份这个习惯一定要有 不然会干成砖头
然后擦除芯片 把官网下载到的1.63的文件写入进去并校验写入内容正确
(官网只会提供最新的文件 所以这里推荐一个好用的网站 可以下载到各种超微主板的旧版文件 Supermicro BIOS/IPMI File Listing
写入后上电正常开机 BMC似乎在工作了 但官网的文件里并没有BMC自身的MAC地址之类的信息 所以连不上网
有两个办法 一个是修改文件 搜索原BMC中的MAC地址等信息存放的位置
这里找到在01FC0000这个位置开始有一段记录了信息的数据 且前后部分全部都是0 基本可以确定 这就是需要的数据

然后打开官网下载到的1.63的文件 跳转到同一个位置 发现是一段乱码 长度差不多 但结构和读出来的一样 上下都是0

尝试把读出的这段信息覆盖在这个位置 然后保存刷回机器

刷回后一次成功 BMC可以联网了 进去看版本也是1.63 看来操作的没问题
然后在BMC里降级1.58 也顺利降级成功 再进去各种信息也是正常的 终于是降回去了 熟悉的中文也回来了
还有第二个办法 进系统后写入MAC地址(需要Linux下操作 这板子很奇怪 在Win下用ipmitool会报错No hostname specified!
(未实操 参考X12主板用别人的BMC授权教程中的方法
ipmitool lan print 1 查看当前MAC地址
ipmitool lan set 1 macaddr <MAC地址> 设置MAC地址 按照主板上的贴纸去设置