Parcourir la source

ipmitool-1.8.18 ignore sensor.key.channelnumber

zhangbo il y a 3 ans
Parent
commit
3ad08fa016

+ 55 - 37
app/goahead-3.6.5/src/web_interface/src/dashboard.c

@@ -383,49 +383,67 @@ void buy(Webs *wp)
 
 void actionTest(Webs *wp)
 {
-    IPMI20_UDS_SESSION_T    UDSSession;
-    GetDevIDRes_T   DeviceID;
-
-    //Create session
-    LIBIPMI_CreateSession(&UDSSession, DEFAULT_TIMEOUT);
-    LIBIPMI_IPMC_GetDeviceID(&UDSSession, 0x8a, &DeviceID, DEFAULT_TIMEOUT);
-
-    //Close session
-    LIBIPMI_CloseSession(&UDSSession );
-
-
-    char *pStr;
-
-    cJSON * root =  cJSON_CreateObject();
-    cJSON * data =  cJSON_CreateObject();
-    cJSON_AddItemToObject(root, "data", data);//根节点下添加
-    cJSON_AddStringToObject(root, "msg", "");
-    cJSON_AddNumberToObject(root, "code", 200);
-   
-    cJSON_AddNumberToObject(data, "DeviceID", DeviceID.DeviceID);
-    cJSON_AddNumberToObject(data, "DevRevision", DeviceID.DevRevision);
-    cJSON_AddNumberToObject(data, "FirmwareRevision1", DeviceID.FirmwareRevision1);
-    cJSON_AddNumberToObject(data, "FirmwareRevision2", DeviceID.FirmwareRevision2);
-    cJSON_AddNumberToObject(data, "IPMIVersion", DeviceID.IPMIVersion);
-    cJSON_AddNumberToObject(data, "DevSupport", DeviceID.DevSupport);
-    cJSON_AddNumberToObject(data, "MfgID", DeviceID.MfgID[0]<<24 | DeviceID.MfgID[1]<<16 | DeviceID.MfgID[2]<<8 | DeviceID.MfgID[3]);
-    cJSON_AddNumberToObject(data, "ProdID", DeviceID.ProdID);
-    cJSON_AddNumberToObject(data, "AuxFirmwareRevision", DeviceID.AuxFirmwareRevision);
-
-    pStr = cJSON_PrintUnformatted(root);
-
-    printf("%s\n", pStr);
+     char    *name, *age;
+    name = websGetVar(wp, "name", NULL);
+    age = websGetVar(wp, "age", NULL);
+    logmsg(2, "name value is : %s", name );
+     logmsg(2, "age value is : %s", age );
     websSetStatus(wp, 200);
     websWriteHeaders(wp, -1, 0);
     websWriteEndHeaders(wp);
-    websWrite(wp,"%s", pStr);
+   
+    websWrite(wp, "Name %s", name);
+    websWrite(wp, "age %s", age); 
     websFlush(wp, 0);
     websDone(wp);
 
-    if(pStr)
-        wfree(pStr);
-    if(root)
-        cJSON_Delete(root);
+    if(name)
+        wfree(name);
+    if(age)
+        wfree(age);
+    // IPMI20_UDS_SESSION_T    UDSSession;
+    // GetDevIDRes_T   DeviceID;
+
+    // //Create session
+    // LIBIPMI_CreateSession(&UDSSession, DEFAULT_TIMEOUT);
+    // LIBIPMI_IPMC_GetDeviceID(&UDSSession, 0x8a, &DeviceID, DEFAULT_TIMEOUT);
+
+    // //Close session
+    // LIBIPMI_CloseSession(&UDSSession );
+
+
+    // char *pStr;
+
+    // cJSON * root =  cJSON_CreateObject();
+    // cJSON * data =  cJSON_CreateObject();
+    // cJSON_AddItemToObject(root, "data", data);//根节点下添加
+    // cJSON_AddStringToObject(root, "msg", "");
+    // cJSON_AddNumberToObject(root, "code", 200);
+   
+    // cJSON_AddNumberToObject(data, "DeviceID", DeviceID.DeviceID);
+    // cJSON_AddNumberToObject(data, "DevRevision", DeviceID.DevRevision);
+    // cJSON_AddNumberToObject(data, "FirmwareRevision1", DeviceID.FirmwareRevision1);
+    // cJSON_AddNumberToObject(data, "FirmwareRevision2", DeviceID.FirmwareRevision2);
+    // cJSON_AddNumberToObject(data, "IPMIVersion", DeviceID.IPMIVersion);
+    // cJSON_AddNumberToObject(data, "DevSupport", DeviceID.DevSupport);
+    // cJSON_AddNumberToObject(data, "MfgID", DeviceID.MfgID[0]<<24 | DeviceID.MfgID[1]<<16 | DeviceID.MfgID[2]<<8 | DeviceID.MfgID[3]);
+    // cJSON_AddNumberToObject(data, "ProdID", DeviceID.ProdID);
+    // cJSON_AddNumberToObject(data, "AuxFirmwareRevision", DeviceID.AuxFirmwareRevision);
+
+    // pStr = cJSON_PrintUnformatted(root);
+
+    // printf("%s\n", pStr);
+    // websSetStatus(wp, 200);
+    // websWriteHeaders(wp, -1, 0);
+    // websWriteEndHeaders(wp);
+    // websWrite(wp,"%s", pStr);
+    // websFlush(wp, 0);
+    // websDone(wp);
+
+    // if(pStr)
+    //     wfree(pStr);
+    // if(root)
+    //     cJSON_Delete(root);
 
     
 }

+ 26 - 5
app/ipmitool-1.8.18/lib/ipmi_sdr.c

@@ -465,6 +465,11 @@ ipmi_sdr_get_sensor_thresholds(struct ipmi_intf *intf, uint8_t sensor,
 	uint32_t save_addr;
 	uint32_t save_channel;
 
+	/***** jimbo modify ******/
+	//忽略Sensor Owner LUN的 bit[7:4] Channel Number位。
+	channel = intf->target_channel;
+	/******** end ************/
+
 	if ( BRIDGE_TO_SENSOR(intf, target, channel) ) {
 		bridged_request = 1;
 		save_addr = intf->target_addr;
@@ -509,6 +514,10 @@ ipmi_sdr_get_sensor_hysteresis(struct ipmi_intf *intf, uint8_t sensor,
 	uint32_t save_addr;
 	uint32_t save_channel;
 
+	/***** jimbo modify ******/
+	//忽略Sensor Owner LUN的 bit[7:4] Channel Number位。
+	channel = intf->target_channel;
+	/******** end ************/
 	if ( BRIDGE_TO_SENSOR(intf, target, channel) ) {
 		bridged_request = 1;
 		save_addr = intf->target_addr;
@@ -577,12 +586,16 @@ ipmi_sdr_get_sensor_reading_ipmb(struct ipmi_intf *intf, uint8_t sensor,
 	uint32_t save_addr;
 	uint32_t save_channel;
 
+	/***** jimbo modify ******/
+	//忽略Sensor Owner LUN的 bit[7:4] Channel Number位。
+	channel = intf->target_channel;
+	/******** end ************/
+
 	if ( BRIDGE_TO_SENSOR(intf, target, channel) ) {
-		lprintf(LOG_DEBUG,
-			"Bridge to Sensor "
-			"Intf my/%#x tgt/%#x:%#x Sdr tgt/%#x:%#x\n",
-			intf->my_addr, intf->target_addr, intf->target_channel,
-			target, channel);
+		// printf("Bridge to Sensor "
+		// 	"Intf my/%#x tgt/%#x:%#x Sdr tgt/%#x:%#x\n",
+		// 	intf->my_addr, intf->target_addr, intf->target_channel,
+		// 	target, channel);
 		bridged_request = 1;
 		save_addr = intf->target_addr;
 		intf->target_addr = target;
@@ -624,6 +637,10 @@ ipmi_sdr_get_sensor_event_status(struct ipmi_intf *intf, uint8_t sensor,
 	uint32_t save_addr;
 	uint32_t save_channel;
 
+	/***** jimbo modify ******/
+	//忽略Sensor Owner LUN的 bit[7:4] Channel Number位。
+	channel = intf->target_channel;
+	/******** end ************/
 	if ( BRIDGE_TO_SENSOR(intf, target, channel) ) {
 		bridged_request = 1;
 		save_addr = intf->target_addr;
@@ -666,6 +683,10 @@ ipmi_sdr_get_sensor_event_enable(struct ipmi_intf *intf, uint8_t sensor,
 	uint32_t save_addr;
 	uint32_t save_channel;
 
+	/***** jimbo modify ******/
+	//忽略Sensor Owner LUN的 bit[7:4] Channel Number位。
+	channel = intf->target_channel;
+	/******** end ************/
 	if ( BRIDGE_TO_SENSOR(intf, target, channel) ) {
 		bridged_request = 1;
 		save_addr = intf->target_addr;

+ 4 - 0
app/ipmitool-1.8.18/lib/ipmi_sensor.c

@@ -133,6 +133,10 @@ ipmi_sensor_set_sensor_thresholds(struct ipmi_intf *intf,
 	else
 		return NULL;
 
+	/***** jimbo modify ******/
+	//忽略Sensor Owner LUN的 bit[7:4] Channel Number位。
+	channel = intf->target_channel;
+	/******** end ************/
 	if (BRIDGE_TO_SENSOR(intf, target, channel)) {
 		bridged_request = 1;
 		save_addr = intf->target_addr;