I have corrected the Siemens spelling and also included the text name of 
the product.  This brings ipmitool to the same level as ipmiutil for 
reporting the mc information.

cvs diff -up include/ipmitool/ipmi.h lib/ipmi_strings.c lib/ipmi_mc.c
Index: include/ipmitool/ipmi.h
===================================================================
RCS file: /cvsroot/ipmitool/ipmitool/include/ipmitool/ipmi.h,v
retrieving revision 1.26
diff -u -p -r1.26 ipmi.h
--- include/ipmitool/ipmi.h     29 Aug 2007 05:52:15 -0000      1.26
+++ include/ipmitool/ipmi.h     13 Nov 2007 08:28:13 -0000
@@ -240,16 +240,32 @@ struct ipmi_rs {
 /* These values are IANA numbers */
 typedef enum IPMI_OEM {
     IPMI_OEM_UNKNOWN    = 0,
+    IPMI_OEM_HP         = 11,
     IPMI_OEM_SUN        = 42,
     IPMI_OEM_NOKIA      = 94,
+    IPMI_OEM_HITACHI_116 = 116,
+    IPMI_OEM_NEC        = 119,
+    IPMI_OEM_TOSHIBA    = 186,
     IPMI_OEM_INTEL      = 343,
+    IPMI_OEM_TATUNG     = 373,
+    IPMI_OEM_HITACHI_399 = 399,
+    IPMI_OEM_DELL       = 674,
+    IPMI_OEM_NSC        = 822,
+    IPMI_OEM_LMC        = 2168,
     IPMI_OEM_RADISYS    = 4337,
+    IPMI_OEM_MAGNUM     = 5593,
     IPMI_OEM_TYAN       = 6653,
     IPMI_OEM_NEWISYS    = 9237,
+    IPMI_OEM_FUJITSU_SIEMENS = 10368,
+    IPMI_OEM_AVOCENT = 10418,
+    IPMI_OEM_PEPPERCON = 10437,
     IPMI_OEM_SUPERMICRO = 10876,
+    IPMI_OEM_OSA = 11102,
     IPMI_OEM_GOOGLE       = 11129,
     IPMI_OEM_PICMG      = 12634,
+    IPMI_OEM_RARITAN    = 13742,
     IPMI_OEM_KONTRON    = 15000,
+    IPMI_OEM_AMI        = 20974,
 } IPMI_OEM;

 extern const struct valstr completion_code_vals[];
Index: lib/ipmi_strings.c
===================================================================
RCS file: /cvsroot/ipmitool/ipmitool/lib/ipmi_strings.c,v
retrieving revision 1.25
diff -u -p -r1.25 ipmi_strings.c
--- lib/ipmi_strings.c  1 Oct 2007 13:59:00 -0000       1.25
+++ lib/ipmi_strings.c  13 Nov 2007 08:28:13 -0000
@@ -39,8 +39,10 @@
 const struct valstr ipmi_oem_info[] = {

    { IPMI_OEM_UNKNOWN,    "Unknown" },
+   { IPMI_OEM_HP,        "Hewlett-Packard" },
    { IPMI_OEM_SUN,        "Sun Microsystems" },
    { IPMI_OEM_INTEL,      "Intel Corporation" },
+   { IPMI_OEM_LMC,         "LMC" },
    { IPMI_OEM_RADISYS,    "RadiSys Corporation" },
    { IPMI_OEM_TYAN,       "Tyan Computer Corporation" },
    { IPMI_OEM_NEWISYS,    "Newisys" },
@@ -49,6 +51,35 @@ const struct valstr ipmi_oem_info[] = {
    { IPMI_OEM_KONTRON,    "Kontron" },
    { IPMI_OEM_NOKIA,      "Nokia" },
    { IPMI_OEM_PICMG,      "PICMG" },
+   { IPMI_OEM_PEPPERCON,  "Peppercon AG" },
+   { IPMI_OEM_DELL,        "DELL Inc" },
+   { IPMI_OEM_NEC,         "NEC" },
+   { IPMI_OEM_MAGNUM,      "Magnum Technologies" },
+   { IPMI_OEM_FUJITSU_SIEMENS,     "Fujitsu Siemens" },
+   { IPMI_OEM_TATUNG,      "Tatung" },
+   { IPMI_OEM_AMI,         "AMI" },
+   { IPMI_OEM_RARITAN,     "Raritan" },
+   { IPMI_OEM_AVOCENT,     "Avocent" },
+   { IPMI_OEM_OSA,         "OSA" },
+   { IPMI_OEM_TOSHIBA,     "Toshiba" },
+   { IPMI_OEM_HITACHI_116,         "Hitachi" },
+   { IPMI_OEM_HITACHI_399,         "Hitachi" },
+   { 0xffff , NULL },
+};
+
+const struct valstr ipmi_intel_product_info[] = {
+   { 0x000C,"TSRLT2" },
+   { 0x001B,"TIGPR2U" },
+   { 0x0022,"TIGI2U" },
+   { 0x0026,"Bridgeport" },
+   { 0x0028,"S5000PAL" },
+   { 0x0029,"S5000PSL" },
+   { 0x0100,"Tiger4" },
+   { 0x0103,"McCarran" },
+   { 0x0800,"ZT5504" },
+   { 0x0808,"MPCBL0001" },
+   { 0x0811,"TIGW1U" },
+   { 0x4311,"NSI2U" },
    { 0xffff , NULL },
 };

Index: lib/ipmi_mc.c
===================================================================
RCS file: /cvsroot/ipmitool/ipmitool/lib/ipmi_mc.c,v
retrieving revision 1.14
diff -u -p -r1.14 ipmi_mc.c
--- lib/ipmi_mc.c       26 Apr 2007 13:22:40 -0000      1.14
+++ lib/ipmi_mc.c       13 Nov 2007 08:28:13 -0000
@@ -315,6 +315,7 @@ ipmi_mc_get_deviceid(struct ipmi_intf *
        struct ipmi_rq req;
        struct ipm_devid_rsp *devid;
        int i;
+       char *product=NULL;

        memset(&req, 0, sizeof(req));
        req.msg.netfn = IPMI_NETFN_APP;
@@ -349,9 +350,21 @@ ipmi_mc_get_deviceid(struct ipmi_intf *
             val2str( (long)IPM_DEV_MANUFACTURER_ID(devid->manufacturer_id),
             ipmi_oem_info) );

+       switch (IPM_DEV_MANUFACTURER_ID(devid->manufacturer_id))
+       {
+       case IPMI_OEM_INTEL:
+               product=val2str(
+                       (devid->product_id[1]<<8)+devid->product_id[0],
+                       ipmi_intel_product_info);
+               break;
+       }
        printf("Product ID                : %u (0x%02x%02x)\n",
                buf2short((uint8_t *)(devid->product_id)),
                devid->product_id[1], devid->product_id[0]);
+       if (product!=NULL) {
+           printf("Product Name              : %s\n",
+               product);
+       }
        printf("Device Available          : %s\n",
                (devid->fw_rev1 & IPM_DEV_FWREV1_AVAIL_MASK) ?
                "no" : "yes");



-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Ipmitool-devel mailing list
Ipmitool-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ipmitool-devel

Reply via email to