使用经过

在前段时间我购买了一台工控机做软路由,J4125处理器,当时也是为了尝鲜,买了4口I225的2.5G网卡的版本。也正是这个2.5G网卡折腾的够呛。

安装VMware esxi

首先很多系统没有2.5G网卡驱动,包括ESXI需要自己封装驱动才可以安装,驱动下载地址:Community Networking Driver for ESXi,封装驱动的帖子很多这里不赘述了。

也有作者发布整合好的驱动镜像,可以到该作者的网站看一下,更新挺快的https://sysin.org/blog/vmware/

停电后不能启动!

在esxi上装好Openwrt,用起来一切正常。直到有一次家里停了电,esxi没有启动起来,接上显示器提示No compatible network adapter found
在这里插入图片描述登录查看网卡确实找不到任何网卡

在这里插入图片描述

问题现象

后来经过了不断的重启发现,长按电源键强行关机,再按钮开机就能识别网卡。
这个工控机是有硬件的上电自启,上电强行自启,在卖家那找了资料,可以改变跳线的位置关闭上电自启

更改跳线帽位置可关闭上电自启经过测试 关闭硬件的上电自启,接上电源等3-5秒再按电源键开机基本都能识别到驱动,个人分析是网卡上电还没启动完成就开启系统造成无法识别,不知该算主板的锅还是2.5G网卡的锅。
后来测试在bios上电自启,和在启动界面等一段时间都不能识别网卡,必须上电后等几秒再手动按开机键才行。

解决方案一

作为软路由塞在弱电箱,掉电还得手动开启不太现实。找了stc一个单片机,用开发小助手生成了2个延时函数,因为usb是上电后就有电压输出,所以接到usb的正负极给单片机供电,上电10秒后拉低P3^0引脚电平,实现开机效果
在这里插入图片描述
焊接引脚
单片机的程序写的很随意需要的可以拿去用

#include <stc15.h>
#include <intrins.h>

//时钟频率6M

sbit pwrsw=P3^0;



void delay10s(void)   //误差 0us
{
    unsigned char a,b,c;
    for(c=165;c>0;c--)
        for(b=100;b>0;b--)
            for(a=150;a>0;a--);
    _nop_();  //if Keil,require use intrins.h
    _nop_();  //if Keil,require use intrins.h
}

void delay1s(void)   //误差 0us
{
    unsigned char a,b,c;
    for(c=23;c>0;c--)
        for(b=152;b>0;b--)
            for(a=70;a>0;a--);
}


void main()
	{
		pwrsw=1;		
		delay10s();
		pwrsw=0;
		delay1s();
		pwrsw=1;	
		while(1)
		{
			pwrsw=1;	
		}
		


	}	

解决方案二

更新主机BIOS,固件下载地址:https://download.csdn.net/download/wo325866145/91057484

首先确认主机型号,我这台型号为MW-GMLK-2.5G-4L,型号不对千万别刷,否则变砖。
在这里插入图片描述
制作好启动U盘后,使用U盘引导启动。按照说明进行刷写操作
在这里插入图片描述
刷写过程约10分钟,中途不要断电或强行重启
在这里插入图片描述

总结

解决方案二 可以算从根源解决问题,但需要机器和固件一一对应,如果找不到商家,或者商家不能提供最新固件就没办法了,并且刷BIOS有变砖风险。

解决方案一 虽然显笨拙,再找不到适用的固件或在其他型号上遇到同样问题,方案一都能解决,适用性更好,不刷写固件至少不会把机器刷成砖。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐