|
@@ -1749,6 +1749,26 @@ void InitEthernet()
|
|
|
if(cnt_pingDNS_Fail >= 3)
|
|
|
{
|
|
|
ShmStatusCodeData->InfoCode.InfoEvents.bits.InternetDisconnectViaEthernet=ON;
|
|
|
+ if((ShmSysConfigAndInfo->SysConfig.Eth0Interface.EthDhcpClient==0))
|
|
|
+ {
|
|
|
+ system("pgrep -f \"udhcpc -i eth0\" | xargs kill");
|
|
|
+ sprintf(tmpbuf, "/sbin/udhcpc -i eth0 -x hostname:CSU3_%s -s /root/dhcp_script/eth0.script > /dev/null &", ShmSysConfigAndInfo->SysConfig.SystemId);
|
|
|
+ system(tmpbuf);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ system("pgrep -f \"udhcpc -i eth0\" | xargs kill");
|
|
|
+ memset(tmpbuf,0,256);
|
|
|
+ sprintf(tmpbuf,"/sbin/ifconfig eth0 %s netmask %s up &",
|
|
|
+ ShmSysConfigAndInfo->SysConfig.Eth0Interface.EthIpAddress,
|
|
|
+ ShmSysConfigAndInfo->SysConfig.Eth0Interface.EthSubmaskAddress);
|
|
|
+ system(tmpbuf);
|
|
|
+ memset(tmpbuf,0,256);
|
|
|
+ sprintf(tmpbuf,"route add default gw %s eth0 &",
|
|
|
+ ShmSysConfigAndInfo->SysConfig.Eth0Interface.EthGatewayAddress);
|
|
|
+ system(tmpbuf);
|
|
|
+ }
|
|
|
+ cnt_pingDNS_Fail = 0;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
@@ -2975,6 +2995,13 @@ void checkTask()
|
|
|
{
|
|
|
if(ShmSysConfigAndInfo->SysInfo.OcppRunningVer == OCPP_RUNNING_VERSION_16)
|
|
|
{
|
|
|
+ if((time((time_t*)NULL) - ShmOCPP16Data->procDogTime) > 180)
|
|
|
+ {
|
|
|
+ DEBUG_WARN("OcppBackend watch dog timeout task restart.\n");
|
|
|
+ ShmOCPP16Data->procDogTime = time((time_t*)NULL);
|
|
|
+ system("pkill OcppBackend");
|
|
|
+ }
|
|
|
+
|
|
|
if(system("pidof -s OcppBackend > /dev/null") != 0)
|
|
|
{
|
|
|
DEBUG_INFO("OcppBackend not running, restart it.\n");
|
|
@@ -2983,6 +3010,13 @@ void checkTask()
|
|
|
}
|
|
|
else if(ShmSysConfigAndInfo->SysInfo.OcppRunningVer == OCPP_RUNNING_VERSION_20)
|
|
|
{
|
|
|
+ if((time((time_t*)NULL) - ShmOCPP20Data->procDogTime) > 180)
|
|
|
+ {
|
|
|
+ DEBUG_WARN("OcppBackend20 watch dog timeout task restart.\n");
|
|
|
+ ShmOCPP16Data->procDogTime = time((time_t*)NULL);
|
|
|
+ system("pkill OcppBackend20");
|
|
|
+ }
|
|
|
+
|
|
|
if(system("pidof -s OcppBackend20 > /dev/null") != 0)
|
|
|
{
|
|
|
DEBUG_INFO("OcppBackend20 not running, restart it.\n");
|