summaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff-webhosting.net>2017-06-10 14:18:40 +0200
committerJörg Frings-Fürst <debian@jff-webhosting.net>2017-06-10 14:18:40 +0200
commit0c2e4332184de75bab22ba4a95e5bc5aa1833a96 (patch)
tree786a4147878f597f7653dfa7b1c392bfb62ef2e7 /util
parent715160edeb4dfc4335f8def440806ad0d5307fec (diff)
parentfbb73ab679d399bd4f2b5943b0c6f3bf7ab2fe84 (diff)
Merge tag 'upstream/3.0.5' into feature/upstream
Upstream version 3.0.5
Diffstat (limited to 'util')
-rw-r--r--util/ialarms.c2
-rw-r--r--util/icmd.c2
-rw-r--r--util/iconfig.c2
-rw-r--r--util/idcmi.c2
-rw-r--r--util/ievents.c2
-rw-r--r--util/ifirewall.c2
-rw-r--r--util/ifru.c2
-rw-r--r--util/ifruset.c2
-rw-r--r--util/igetevent.c2
-rw-r--r--util/ihealth.c9
-rw-r--r--util/ilan.c2
-rw-r--r--util/ipicmg.c2
-rw-r--r--util/ipmiutil.c2
-rw-r--r--util/ireset.c2
-rw-r--r--util/isel.c2
-rw-r--r--util/iseltime.c2
-rw-r--r--util/isensor.c6
-rw-r--r--util/iserial.c2
-rw-r--r--util/isol.c4
-rw-r--r--util/itsol.c2
-rw-r--r--util/iuser.c2
-rw-r--r--util/iwdt.c2
-rw-r--r--util/oem_asus.c2
-rw-r--r--util/oem_dell.c2
-rw-r--r--util/oem_fujitsu.c2
-rw-r--r--util/oem_hp.c2
-rw-r--r--util/oem_intel.c2
-rw-r--r--util/oem_kontron.c2
-rw-r--r--util/oem_lenovo.c2
-rw-r--r--util/oem_newisys.c2
-rw-r--r--util/oem_quanta.c2
-rw-r--r--util/oem_sun.c2
-rw-r--r--util/oem_supermicro.c16
-rw-r--r--util/oem_supermicro.h2
34 files changed, 51 insertions, 44 deletions
diff --git a/util/ialarms.c b/util/ialarms.c
index 7260356..7c1ae56 100644
--- a/util/ialarms.c
+++ b/util/ialarms.c
@@ -75,7 +75,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
/*
* Global variables
*/
-static char * progver = "3.04";
+static char * progver = "3.05";
static char * progname = "ialarms";
static char fdebug = 0;
static char fbmctam = 0;
diff --git a/util/icmd.c b/util/icmd.c
index ec467e7..90d63a7 100644
--- a/util/icmd.c
+++ b/util/icmd.c
@@ -78,7 +78,7 @@ extern void ipmi_lan_set_timeout(int ipmito, int tries, int pingto);
/*
* Global variables
*/
-static char * progver = "3.04";
+static char * progver = "3.05";
static char * progname = "icmd";
static char fdebug = 0;
static char fquiet = 0;
diff --git a/util/iconfig.c b/util/iconfig.c
index f7b9972..bd5d74b 100644
--- a/util/iconfig.c
+++ b/util/iconfig.c
@@ -172,7 +172,7 @@ typedef struct
/*
* Global variables
*/
-static char * progver = "3.04";
+static char * progver = "3.05";
static char * progname = "iconfig";
static char fdebug = 0;
static char fipmilan = 0;
diff --git a/util/idcmi.c b/util/idcmi.c
index 0cce3c0..e521606 100644
--- a/util/idcmi.c
+++ b/util/idcmi.c
@@ -62,7 +62,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "idcmi.h"
static char * progname = "idcmi";
-static char * progver = "3.04";
+static char * progver = "3.05";
extern char fdebug; /*from ipmicmd.c*/
static uchar g_bus = PUBLIC_BUS;
static uchar g_sa = BMC_SA;
diff --git a/util/ievents.c b/util/ievents.c
index 10b665b..83ddcd8 100644
--- a/util/ievents.c
+++ b/util/ievents.c
@@ -76,7 +76,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#define SELprintf printf
#define SMS_SA 0x41
#define SMI_SA 0x21
-static char *progver = "3.04";
+static char *progver = "3.05";
static char *progname = "ievents";
static char fsensdesc = 0; /* 1= get extended sensor descriptions*/
static char fcanonical = 0; /* 1= show canonical, delimited output*/
diff --git a/util/ifirewall.c b/util/ifirewall.c
index 719d2b8..66454c9 100644
--- a/util/ifirewall.c
+++ b/util/ifirewall.c
@@ -64,7 +64,7 @@
/* global variables */
static char * progname = "ifirewall";
-static char * progver = "3.04";
+static char * progver = "3.05";
static char fdebug = 0;
static uchar g_bus = PUBLIC_BUS;
static uchar g_sa = BMC_SA;
diff --git a/util/ifru.c b/util/ifru.c
index c91fab2..2a0e496 100644
--- a/util/ifru.c
+++ b/util/ifru.c
@@ -116,7 +116,7 @@ extern int ipmi_kontronoem_main(void * intf, int argc, char ** argv);
#endif
static char *progname = "ifru";
-static char *progver = "3.04";
+static char *progver = "3.05";
static int vend_id = 0;
static int prod_id = 0;
static char fdebug = 0;
diff --git a/util/ifruset.c b/util/ifruset.c
index d24b089..47cb077 100644
--- a/util/ifruset.c
+++ b/util/ifruset.c
@@ -106,7 +106,7 @@ extern void fmt_time(time_t etime, char *buf, int bufsz); /*see ievents.c*/
#define IPROD_OEM 7
static char *progname = "ifruset";
-static char *progver = "3.04";
+static char *progver = "3.05";
static char fdebug = 0;
static char fpicmg = 0;
static char fonlybase = 0;
diff --git a/util/igetevent.c b/util/igetevent.c
index 40c5e4a..110de4d 100644
--- a/util/igetevent.c
+++ b/util/igetevent.c
@@ -169,7 +169,7 @@ extern void free_sdr_cache(uchar *pret); /*see isensor.c*/
* Global variables
*/
static char * progname = "igetevent";
-static char * progver = "3.04";
+static char * progver = "3.05";
static char fdebug = 0;
static char fipmilan = 0;
static char frunonce = 0;
diff --git a/util/ihealth.c b/util/ihealth.c
index 974fa95..0ba6a79 100644
--- a/util/ihealth.c
+++ b/util/ihealth.c
@@ -82,7 +82,7 @@ extern int oem_supermicro_get_firmware_str(char *pstr, int sz); /*oem_supermicro
* Global variables
*/
static char * progname = "ihealth";
-static char * progver = "3.04";
+static char * progver = "3.05";
static char fdebug = 0;
static char fipmilan = 0;
static char fcanonical = 0;
@@ -421,9 +421,12 @@ static int get_power_state(uchar *rdata, int rlen)
uchar ccode;
int ret;
- ret = ipmi_cmdraw( GET_POWER_STATE, NETFN_APP,
- g_sa, g_bus, g_lun,
+ ret = ipmi_cmdraw( GET_POWER_STATE, NETFN_APP, g_sa, g_bus, g_lun,
+ idata,0, rdata,&rlen,&ccode, fdebug);
+ if (ret == 0 && ccode == 193) { /*0xB7, usu. SuperMicro, retry */
+ ret = ipmi_cmdraw( GET_POWER_STATE, NETFN_APP, g_sa, g_bus, g_lun,
idata,0, rdata,&rlen,&ccode, fdebug);
+ }
if (ret == 0 && ccode != 0) ret = ccode;
return(ret);
} /*end get_power_state()*/
diff --git a/util/ilan.c b/util/ilan.c
index 6f63fe5..b73dec4 100644
--- a/util/ilan.c
+++ b/util/ilan.c
@@ -306,7 +306,7 @@ extern char *get_sensor_type_desc (uchar stype); /*from ievents.c */
* Global variables
*/
static char * progname = "ilan";
-static char * progver = "3.04";
+static char * progver = "3.05";
static char fdebug = 0;
static char fipmilan = 0;
static char fIPMI10 = 0; /* =1 if IPMI v1.0 or less */
diff --git a/util/ipicmg.c b/util/ipicmg.c
index e463424..42cc33c 100644
--- a/util/ipicmg.c
+++ b/util/ipicmg.c
@@ -81,7 +81,7 @@
/* Global data */
static char * progname = "ipicmg";
-static char * progver = "3.04";
+static char * progver = "3.05";
static char fdebug = 0;
static char fset_mc = 0;
static uint8_t g_bus = PUBLIC_BUS;
diff --git a/util/ipmiutil.c b/util/ipmiutil.c
index ffddc86..53e1e64 100644
--- a/util/ipmiutil.c
+++ b/util/ipmiutil.c
@@ -57,7 +57,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "ipmiutil.h"
static char *progname = "ipmiutil";
-static char *progver = "3.04";
+static char *progver = "3.05";
// static char fdebug = 0;
/*int ipmiutil(int argc, char **argv); */
diff --git a/util/ireset.c b/util/ireset.c
index 3584cb1..cf71404 100644
--- a/util/ireset.c
+++ b/util/ireset.c
@@ -108,7 +108,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
/*
* Global variables
*/
-static char * progver = "3.04";
+static char * progver = "3.05";
static char * progname = "ireset";
static uchar ipmi_maj;
static uchar ipmi_min;
diff --git a/util/isel.c b/util/isel.c
index 9045d62..64cf946 100644
--- a/util/isel.c
+++ b/util/isel.c
@@ -162,7 +162,7 @@ typedef struct
#define RDATA_OFFSET 13 //byte offset to the record event data
static char *progname = "isel";
-static char *progver = "3.04";
+static char *progver = "3.05";
#ifdef WIN32
#define IDXFILE "sel.idx"
static char idxfile[80] = IDXFILE;
diff --git a/util/iseltime.c b/util/iseltime.c
index 2f5c7e1..1b16008 100644
--- a/util/iseltime.c
+++ b/util/iseltime.c
@@ -78,7 +78,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
/*
* Global variables
*/
-static char * progver = "3.04";
+static char * progver = "3.05";
static char * progname = "iseltime";
static char fdebug = 0;
static char fset = 0;
diff --git a/util/isensor.c b/util/isensor.c
index 69d901f..1f772bd 100644
--- a/util/isensor.c
+++ b/util/isensor.c
@@ -161,7 +161,7 @@ extern int decode_sensor_fujitsu(uchar *sdr,uchar *reading,char *pstring,
extern int decode_sensor_sun(uchar *sdr,uchar *reading,char *pstring,
int slen); /*see oem_sun.c*/
extern int decode_sensor_supermicro(uchar *sdr,uchar *reading,char *pstring,
- int slen, int fsimple); /*see oem_supermicro.c*/
+ int slen, int fsimple, char fdbg); /*see oem_supermicro.c*/
extern int decode_sensor_quanta(uchar *sdr,uchar *reading,char *pstring,
int slen); /*see oem_quanta.c*/
extern int decode_sensor_dell(uchar *sdr,uchar *reading,char *pstring,
@@ -255,7 +255,7 @@ char *decode_entity_id(int id) {
* Global Data
************************/
static char *progname = "isensor";
-static char *progver = "3.04";
+static char *progver = "3.05";
#ifdef WIN32
static char savefile[] = "%ipmiutildir%\\thresholds.cmd";
#else
@@ -1952,7 +1952,7 @@ int decode_oem_sensor(uchar *sdr,uchar *reading,char *pstring,int slen)
case VENDOR_MAGNUM:
case VENDOR_SUPERMICRO:
case VENDOR_SUPERMICROX:
- rv = decode_sensor_supermicro(sdr, reading, pstring, slen, fsimple);
+ rv = decode_sensor_supermicro(sdr,reading,pstring,slen,fsimple,fdebug);
break;
case VENDOR_QUANTA:
rv = decode_sensor_quanta(sdr, reading, pstring, slen);
diff --git a/util/iserial.c b/util/iserial.c
index a087614..e183e5c 100644
--- a/util/iserial.c
+++ b/util/iserial.c
@@ -155,7 +155,7 @@ typedef struct
/*
* Global variables
*/
-static char * progver = "3.04";
+static char * progver = "3.05";
static char * progname = "iserial";
static int vend_id = 0;
static int prod_id = 0;
diff --git a/util/isol.c b/util/isol.c
index fab0994..f99b094 100644
--- a/util/isol.c
+++ b/util/isol.c
@@ -165,7 +165,7 @@ void dbglog( char *pattn, ... ); /*local prototype*/
/*
* Global variables
*/
-static char * progver = "3.04";
+static char * progver = "3.05";
static char * progname = "isol";
static char fdebug = 0;
static char fpicmg = 0;
@@ -1249,7 +1249,9 @@ main(int argc, char **argv)
case VENDOR_DELL: /*Dell == 0x0002A2*/
max_bmc_data = MAX_DELL_DATA; /*shorter max data*/
break;
+ case VENDOR_SUPERMICROX:
case VENDOR_SUPERMICRO:
+ if (!fprivset) parse_lan_options('V',"4",0); /*requires admin priv*/
case VENDOR_LMC:
case VENDOR_PEPPERCON: /* 0x0028C5 Peppercon/Raritan*/
sol_timeout = 10; /* shorter 10 sec SOL keepalive timeout */
diff --git a/util/itsol.c b/util/itsol.c
index 6997ffe..b3f0940 100644
--- a/util/itsol.c
+++ b/util/itsol.c
@@ -98,7 +98,7 @@ int gettimeofday(struct timeval *tv, struct timezone *tz);
extern int verbose;
extern char fdebug; /*from ipmicmd.c*/
static char * progname = "itsol";
-static char * progver = "3.04";
+static char * progver = "3.05";
static uchar g_bus = PUBLIC_BUS;
static uchar g_sa = BMC_SA;
static uchar g_lun = BMC_LUN;
diff --git a/util/iuser.c b/util/iuser.c
index e6a7b29..43ebf6e 100644
--- a/util/iuser.c
+++ b/util/iuser.c
@@ -57,7 +57,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
/* global variables */
static char * progname = "iuser";
-static char * progver = "3.04";
+static char * progver = "3.05";
static char fdebug = 0;
static char fcanonical = 0;
static char bdelim = '|';
diff --git a/util/iwdt.c b/util/iwdt.c
index 13253b3..3ebe39b 100644
--- a/util/iwdt.c
+++ b/util/iwdt.c
@@ -100,7 +100,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
/*
* Global variables
*/
-static char * progver = "3.04";
+static char * progver = "3.05";
static char * progname = "iwdt";
static char fdebug = 0;
static char fdontlog = 0;
diff --git a/util/oem_asus.c b/util/oem_asus.c
index cd5c01e..1abd020 100644
--- a/util/oem_asus.c
+++ b/util/oem_asus.c
@@ -61,7 +61,7 @@ extern char fdebug; /*ipmicmd.c*/
void set_loglevel(int level); /*prototype */
static char * progname = "iasusoem";
-static char * progver = "3.04";
+static char * progver = "3.05";
static int verbose = 0;
static uchar g_bus = PUBLIC_BUS;
static uchar g_sa = BMC_SA;
diff --git a/util/oem_dell.c b/util/oem_dell.c
index 4f9a7ab..836c9ab 100644
--- a/util/oem_dell.c
+++ b/util/oem_dell.c
@@ -132,7 +132,7 @@ char NIC_Selection_Mode_String_12g[] [50] = {
"shared with failover all loms"
};
-static char * progver = "3.04";
+static char * progver = "3.05";
static char * progname = "idelloem";
static int verbose = 0;
static char fdebug = 0;
diff --git a/util/oem_fujitsu.c b/util/oem_fujitsu.c
index 9a4783a..e5c914e 100644
--- a/util/oem_fujitsu.c
+++ b/util/oem_fujitsu.c
@@ -52,7 +52,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
/* extern void get_mfgid(int *vend, int *prod); * from ipmicmd.h*/
/* extern int get_lan_options(); * from ipmicmd.h */
-static char * progver = "3.04";
+static char * progver = "3.05";
static char * progname = "ifujitsuoem";
static char fdebug = 0;
static char freadok = 1;
diff --git a/util/oem_hp.c b/util/oem_hp.c
index 081ea6f..83dfaca 100644
--- a/util/oem_hp.c
+++ b/util/oem_hp.c
@@ -44,7 +44,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "ievents.h"
#include "isensor.h"
-static char * progver = "3.04";
+static char * progver = "3.05";
static char * progname = "ihpoem";
static char *redund_str(uchar b)
diff --git a/util/oem_intel.c b/util/oem_intel.c
index bf21ec5..997d604 100644
--- a/util/oem_intel.c
+++ b/util/oem_intel.c
@@ -83,7 +83,7 @@ extern char fdebug; /*ipmicmd.c*/
/*
* Global variables
*/
-static char * progver = "3.04";
+static char * progver = "3.05";
static char * progname = "iinteloem";
static char fRelayBits = 0;
static uchar g_bus = PUBLIC_BUS;
diff --git a/util/oem_kontron.c b/util/oem_kontron.c
index b8fedf7..ec0546f 100644
--- a/util/oem_kontron.c
+++ b/util/oem_kontron.c
@@ -73,7 +73,7 @@ typedef uint32_t socklen_t;
#define FRU_TYPE_COMPONENT 0x01
#define FRU_TYPE_BASEBOARD 0x07
-static char * progver = "3.04";
+static char * progver = "3.05";
static char * progname = "ikontronoem";
const struct valstr ktc5520_post[] = { /*from EAS*/
{ 0x0003, "Start POST Init" },
diff --git a/util/oem_lenovo.c b/util/oem_lenovo.c
index dc15a5d..0f4af57 100644
--- a/util/oem_lenovo.c
+++ b/util/oem_lenovo.c
@@ -61,7 +61,7 @@ extern uchar bitnum(ushort value); /*isensor.c*/
extern char fdebug; /*ipmicmd.c*/
void set_loglevel(int level); /*prototype */
-static char * progver = "3.04";
+static char * progver = "3.05";
static char * progname = "ilenovooem";
static int verbose = 0;
static uchar g_bus = PUBLIC_BUS;
diff --git a/util/oem_newisys.c b/util/oem_newisys.c
index 6b21e1b..ada0f73 100644
--- a/util/oem_newisys.c
+++ b/util/oem_newisys.c
@@ -43,7 +43,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "ipmicmd.h"
#include "ievents.h"
-static char * progver = "3.04";
+static char * progver = "3.05";
static char * progname = "inewisysoem";
static char fdebug = 0;
static uchar g_bus = PUBLIC_BUS;
diff --git a/util/oem_quanta.c b/util/oem_quanta.c
index a6cfd6a..efaeb5f 100644
--- a/util/oem_quanta.c
+++ b/util/oem_quanta.c
@@ -45,7 +45,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
extern int decode_sensor_intel_nm(uchar *sdr,uchar *reading,
char *pstring,int slen); /*oem_intel.c*/
-static char * progver = "3.04";
+static char * progver = "3.05";
static char * progname = "iquantaoem";
static char fdbg = 0;
diff --git a/util/oem_sun.c b/util/oem_sun.c
index 8aa211b..c45f6ee 100644
--- a/util/oem_sun.c
+++ b/util/oem_sun.c
@@ -109,7 +109,7 @@ static const struct valstr sunoem_led_mode_optvals[] = {
/* global variables */
static char * progname = "isunoem";
-static char * progver = "3.04";
+static char * progver = "3.05";
static char fdebug = 0;
static uchar g_bus = PUBLIC_BUS;
static uchar g_sa = BMC_SA;
diff --git a/util/oem_supermicro.c b/util/oem_supermicro.c
index a480b7f..d733213 100644
--- a/util/oem_supermicro.c
+++ b/util/oem_supermicro.c
@@ -68,7 +68,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
void set_loglevel(int level); /*prototype */
extern char fsm_debug; /*mem_if.c*/
-static char * progver = "3.04";
+static char * progver = "3.05";
static char * progname = "ismcoem";
static int verbose = 0;
static char fdebug = 0;
@@ -415,7 +415,7 @@ int decode_threshold_supermicro(uchar rval, uchar *thresh)
* pstring = contains the sensor reading interpretation string (if rv==0)
*/
int decode_sensor_supermicro(uchar *sdr,uchar *reading,char *pstring, int slen,
- int fsimple)
+ int fsimple, char fdbg)
{
int i, rv = -1;
uchar stype, etype, snum;
@@ -428,23 +428,25 @@ int decode_sensor_supermicro(uchar *sdr,uchar *reading,char *pstring, int slen,
if (sdr == NULL || reading == NULL) return(rv);
if (pstring == NULL || slen == 0) return(rv);
+ fdebug = fdbg;
bval = (reading[2] & 0x3f);
snum = sdr[7]; /*sdr01->sens_num*/
stype = sdr[12]; /*sensor_type*/
etype = sdr[13]; /*sdr01->ev_type*/
/* sdr[3] rec_type is 0x01 for Full, 0x02 for Compact */
if ((sdr[3] == 0x01) && (etype == 0x01)) { /* full threshold sensor */
- if (bval == 0) return(-1); /* OK, treat it normally */
- /*cannot rely upon the sensor reading[2], so get thresholds and compare*/
+ /*if Temp sensor, bits==0 would show BelowCrit, so handle normally */
+ if ((stype == 0x01) && (bval == 0)) return(-1);
+ /*Cannot rely upon the sensor reading[2], so get thresholds and compare*/
rv = GetSensorThresholds(snum,&thresh[0]);
if (rv != 0) return(rv);
i = decode_threshold_supermicro(reading[0],thresh);
if (fdebug)
- printf("decode_sensor_supermicro: snum=%x rdg=%x:%x thresh=%x:%x:%x:%x:%x:%x:%x i=%d rv=%d\n",
- snum,reading[0],reading[2], thresh[0], thresh[1], thresh[2], thresh[3],
+ printf("decode_sensor_supermicro: snum=%x stype=%x rdg=%x:%x thresh=%x:%x:%x:%x:%x:%x:%x i=%d rv=%d\n",
+ snum,stype,reading[0],reading[2], thresh[0], thresh[1], thresh[2], thresh[3],
thresh[4], thresh[5], thresh[6], i,rv);
switch(i) {
- case 0: pstr = "OK*"; break;
+ case 0: pstr = "OK"; break;
case 1: pstr = "Warn-lo"; break;
case 2: pstr = "Crit-lo"; break;
case 3: pstr = "BelowCrit"; break;
diff --git a/util/oem_supermicro.h b/util/oem_supermicro.h
index c8f9147..7237f3c 100644
--- a/util/oem_supermicro.h
+++ b/util/oem_supermicro.h
@@ -48,7 +48,7 @@ int oem_supermicro_get_lan_port(uchar *val);
int oem_supermicro_set_lan_port(uchar val);
char *oem_supermicro_lan_port_string(uchar val);
-int decode_sensor_supermicro(uchar *sdr,uchar *reading,char *pstring, int slen, int fsimple);
+int decode_sensor_supermicro(uchar *sdr,uchar *reading,char *pstring, int slen, int fsimple, char fdbg);
int decode_mem_supermicro(int prod, uchar b2, uchar b3, char *desc, int *psz);
int decode_sel_supermicro(uchar *evt, char *outbuf, int outsz, char fdesc,
char fdebug);