FreeIPMI 1.0.1 - 01/20/11 ------------------------- Major Changes, Additions, and Features -------------------------------------- o Remove ipmimonitoring tool. Tool is now superseded by ipmi-sensors and the new --output-sensor-state option. o Support --output-event-state option for ipmi-sel to support SEL event interpretation. o All config-tools now support multi-channel configuration under verbose mode. o Re-architect libipmimonitoring to support all defined IPMI sensor types, OEM bitmasks, and OEM interpretations. o Add SEL monitoring support to libipmimonitoring. o Support new 'interpret' sub-library in libfreeipmi. o Support interpretation rules for sensors when no states/events occur. o Support interpretation rules for out of spec sensor states/events. o Support interpretation rules for OEM sensors and events. o Move all config files to /etc/freeipmi/. Support legacy config files for backwards compatibility. o Support serial keepalive in ipmiconsole to check if serial connection has remained alive across system reboots. o Create symlinks and manpage pointers for 'ipmi-power', 'ipmi-ping', 'rmcp-ping', 'ipmi-console', and 'ipmi-detect' to give some additional consistency to the tool naming. o Various documentation updates. o Update to support DCMI 1.1. o Update all licensing information to GPLv3. Tools - Detailed Enhancements/Changes/Fixes ------------------------------------------- o ipmi-sensors - Support --output-sensor-state option. - Support --sensor-state-config-file option. - Support --output-event-bitmask option. - Support Intel Node Manager sensors. - Some sensor states may now report 'N/A' if an invalid sensor event occurred. - Report 'N/A' instead of 'Unknown' is requested sensor does not exist on motherboard. - Support number input for --sensor-types and --exclude-sensor-types. - The "Unrecognized State" event string is now output as "Unrecognized Event = X" or "OEM Event = X" where X is the event bitmask. o ipmi-sel - Support --output-event-state option. - Support --event-state-config-file option. - Support --sensor-types option. - Support --exclude-sensor-types option. - Support --output-manufacturer-id option. - Support --date-range option. - Support --exclude-date-range option. - Alter OEM record output to align with columns by outputting "N/A" in appropriate fields and putting manufacturer ID in event output. o ipmi-dcmi - Support --set-asset-tag option. - Support --get-management-controller-identifier-string option. - Support --set-management-controller-identifier-string option. o ipmiconsole - Support --serial-keepalive option. - Rework 'intel20' workaround to not allow a non two-part authentication. o ipmipower - Rework 'intel20' workaround to not allow a non two-part authentication. o bmc-config - Support --lan-channel-number. - Support --serial-channel-number. - Support --sol-channel-number. - Support 'solchannelassumelanchannel' workaround. - Support IPv4 header parameter configuration under verbose mode. - Support RMCP port configuration under verbose mode. - Move Vlan configuration to output only on verbose. - Show verbose-only sections in --list. - Do not output section comments if key-pair specified on command line. - Allow checkout of sections/key-pairs if specified on command line, even if not available by default. - Support very-verbose output by specifying -vv. Move some output from verbose output to very verbose output. o ipmi-pef-config - Support --lan-channel-number. - Do not output section comments if key-pair specified on command line. - Allow checkout of sections/key-pairs if specified on command line, even if not available by default. - Support very-verbose output by specifying -vv. Move some output from verbose output to very verbose output. o ipmi-sensors-config - Do not output section comments if key-pair specified on command line. - Allow checkout of sections/key-pairs if specified on command line, even if not available by default. - Support very-verbose output by specifying -vv. Move some output from verbose output to very verbose output. o ipmi-chassis-config - Do not output section comments if key-pair specified on command line. - Allow checkout of sections/key-pairs if specified on command line, even if not available by default. - Support very-verbose output by specifying -vv. Move some output from verbose output to very verbose output. o ipmi-oem - Support Intel get/set-smtp-config. - Support basic Intel Node Manager OEM commands. o ipmimonitoring - Removed tool. Tool is now superseded by ipmi-sensors and the new --output-sensor-state option. - Legacy output support maintained via --ipmimonitoring-legacy-output option. o ipmi-locate - Do not output system defaults by default. - Support --defaults option. Libraries - Detailed Enhancements/Changes/Fixes ----------------------------------------------- o libfreeipmi - Support new 'interpret' sub-library. - Support new 'payload' sub-library and templates. Split off SOL Payload templates, functions, etc. into this section. - Support new 'oem' sub-library and templates. - Support OEM Intel Node Manager extensions. - 'sel-parse' library now does not require valid ipmi_ctx. Functions performing ipmi communication will simply error. - Rework 'intel20' workaround to not allow a non two-part authentication. - Add DCMI 1.1 support. - Split workaround flags for inband, IPMI 1.5, and IPMI 2.0 to save bits. - Improve SDR caching speed for many modern motherboards. - Support more IPMI templates. - Fix some API differences from spec. - Fix some template bugs/typos. - Rename number of macros for consistency to IPMI spec. o libipmimonitoring - Add SEL monitoring support to libipmimonitoring. - Re-architect to support all defined IPMI sensor types. - Re-architect to use 'interpret' sub-library. - Rename a number of functions to differentiate sensor vs. SEL functions. - Support percent (i.e. '%') units. - Support OEM bitmasks and bitmask strings. - Add bitmask type IPMI_MONITORING_SENSOR_BITMASK_TYPE_OEM. - Add ipmi_monitoring_read_sensor_bitmask_string(). - Remove ipmi_monitoring_sensor_bitmask_string(). - Through libfreeipmi 'interpret' sub-library, support OEM sensor interpretations. Initial OEM interpretations include: - Dell Poweredge R610/R710 - Supermicro X8DTH - Support IPMI_MONITORING_ERR_SENSOR_CONFIG_FILE_DOES_NOT_EXIST error code. - Remove unused IPMI_MONITORING_ERR_CONFIG_FILE_PARSE error code. - Split workaround flags for inband, IPMI 1.5, and IPMI 2.0 to save bits. o libipmiconsole - Support serial keepalive to check for loss of serial connection. - Support libipmiconsole.conf defaults file. - Support default thread_count of 4 if zero input for thread_count. Contributions ------------- o ganglia_ipmi_sensors.pl - Updated for new output format and options. - Support ability to monitor sensor state. - Support -T and -t options to allow option to monitor only sensor state or sensor readings. o ganglia_ipmimonitoring.pl - Removed. Superseded by ganglia_ipmi_sensors.pl. o nagios_ipmi_sensors.pl - New tool to replace nagios_ipmimonitoring.pl. o nagios_ipmimonitoring.pl - Removed. Superseded by nagios_ipmi_sensors.pl. FreeIPMI 0.8.12 - 10/28/10 -------------------------- o In bmc-config, workaround RMCP+ Privilege Level configuration bugs on HP DL145 servers. o Fix N/A output corner case in ipmi-sel. o Support Supermicro X8DTU-6+ motherboard OEM sensors. FreeIPMI 0.8.11 - 10/28/10 -------------------------- o Support Fujitsu iRMC S1 and iRMC S2 OEM extensions in ipmi-sensors and ipmi-sel. o Support --output-oem-event-string in ipmi-sel. o Other minor documentation/bug fixes. FreeIPMI 0.8.10 - 09/28/10 -------------------------- o Support many new Inventec OEM extensions in ipmi-oem. o Support many new Quanta OEM extensions in ipmi-oem. o Support many new Intel OEM extensions in ipmi-oem. o Support Intel s5500WB OEM extensions in ipmi-sel. o Support Intel Node Manager SEL events across Quanta S99Q, Inventec 5441, Inventec 5442, and Intel S5500WB motherboards. o Move some OEM extensions from Dell section to Inventec section in ipmi-oem. Were previously thought to be additions by Dell, but in fact are not. Backwards compatability supported. o Support 'assumeio' inband workaround globally. o Gracefully handle some errors in ipmi-sensors. o Fix in-band probing corner case. o Fix various parameter input checks in ipmi-oem. o Fix help output corner cases in ipmi-oem. o Other minor documentation/bug fixes. FreeIPMI 0.8.9 - 08/20/10 ------------------------- o In ipmi-sel and ipmimonitoring, workaround Supermicro H8QME SEL compliance issues in ipmi-sel. o In ipmi-sel, do not report error if SEL is empty. o Support Fujitsu 'get-sel-entry-long-text' in ipmi-oem. o Fix workaround flags bug in ipmimonitoring. o Revert 'Open Session Privilege Workaround' changes in 0.8.8, were unnecessary. o Fix daylight savings bug when configuring BMC times in bmc-device. o Support 'veryslowcommit' workaround for config tools to work around very slow BMCs. o Support --enable-rawdumps compile option. o Support SHA256 in IPMI 2.0. o Other minor bug fixes. FreeIPMI 0.8.8 - 07/20/10 ------------------------- o Support Supermicro 'get-bmc-services-status' and 'set-bmc-services-status' in ipmi-oem. o Support bmc-watchdog 'ignorestateflag' workaround around more issues. o Support Open Session Privilege Workaround around more related compliance issues. o Fix bmc-watchdog --version option. o Fix legacy workaround corner case in channel detection for Intel nodes. o Support Quanta reset-to-defaults command in ipmi-oem. o Modify ipmiconsole protocol to not deactivate SOL protocol is SOL is already deactivated. o Modify ipmiconsole protocol to not error out under several malformed packet scenarios. o Fix ipmiping/rmcpping command line parsing corner case. o Minor documentation updates. o Minor error message output fixes. o Support --without-random-device configure option for some embedded systems. FreeIPMI 0.8.7 - 06/17/10 ------------------------- o Support Supermicro X8DTG OEM sensors. o Support Supermicro X8DTG workarounds with 'integritycheckvalue' workaround flag. o Document workarounds for Intel S5500WBV/Penguin Relion 700 motherboard. o Map IPMI 2.0 "invalid role" error code to "privilege level cannot be obtained" for better usability. o Fix bmc-config Security Keys commit by making some required fields optional. o Fix bmc-watchdog init script return codes on Suse. o Support 'ignorestateflag' workaround in bmc-watchdog. o Fix ipmi-sensors corner case for sensors with percentage units. o Support 'slowcommit' workaround for config tools to work around slower BMCs. o Update documentation w/ Supermicro X8DTG issues. o Update documentation w/ inband troubleshooting. FreeIPMI 0.8.6 - 05/24/10 ------------------------- o Support Quanta S99Q/Dell FS12-TY OEM SEL events. o In ipmi-oem, support Quanta S99Q/Dell FS12-TY OEM commands. o Fix --key-pair parsing bug in all config tools. o Locally support sunbmc driver if bmc_intf.h header not found. o If Sunbmc driver is not supported, report "Device Not Supported" instead of "Internal Error". o Fix error output messages. o Fix Solaris install issue. o Other minor fixes. FreeIPMI 0.8.5 - 04/29/10 ------------------------- o Support Inventec 5442/Dell Xanadu III OEM events. o Workaround Quanta S99Q/Dell FS12-TY Node Busy errors. o Fix some library error checks limiting bmc-config Bad Password Threshold configuration. o Fix some library macro names based on actual OEM names. o Fix documentation typos. FreeIPMI 0.8.4 - 03/05/10 ------------------------- o Fix IPMI 2.0 sequence number wrap around corner case. o Fix ipmi-sensors --comma-separated-output corner case. o In ipmi-sensors, output multiple event strings w/ space delimiter in simple output. o In ipmi-oem, support Dell get-active-lom-status. o In ipmi-oem, support IBM get-led. o In ipmi-sel, fix possible --assume-system-event-records corner case. o Fix Posix portability issue w/ time functions. o Minor documentation updates. FreeIPMI 0.8.3 - 02/02/10 ------------------------- o Support Sun Microsystems OEM SEL events. o Fix Solaris 64 bit portability bugs. o In ipmi-oem, fix some Dell options and output given Dell docs (backwards compatability maintained on options). - Rename 'get-power-headroom-info' to 'get-power-head-room'. o Minor bug fixes. o Minor documentation updates. o Minor documentation fixes. FreeIPMI 0.8.2 - 01/05/10 ------------------------- o Add fixes to deal with OSes that will report ECONNRESET or ECONNREFUSED on failed UDP sends. o In ipmi-sensors, fix output corner case w/ device types and modifiers. o In ipmi-sel, tweak column size to fix output for common scenario. o In ipmi-sel, fix output corner case when --ignore-sdr-cache is specified. o In ipmi-dcmi, handle interpretation issue on --set-power-limit. o In ipmi-dcmi, fix various output bugs. o In ipmi-dcmi, add more detailed error messages. o In ipmi-dcmi, fix command line parsing of --activate-deactivate-power-limit. o Support --interpret-oem-data option in ipmi-dcmi. o In ipmi-oem, fix various Fujitsu ambiguities from the official documentation. o In ipmi-oem, fix various Dell options and output given Dell docs (backwards compatability maintained on options). - Rename 'product-name' to 'platform-model-name' for Dell get-system-info. - Dell get-power-info is now get-power-consumption-data - Dell reset-power-info is now reset-power-consumption-data - Dell get-power-supply-info is now power-supply-info - Include additional output in Dell power-supply-info. - Dell get-instantaneous-power-consumption-info is now get-instantaneous-power-consumption-data. - Support instance number for get-instantaneous-power-consumption-data. - Dell get-average-power-history and get-peak-power-history collapsed into get-power-consumption-statistics. - Support 'min' option for Dell get-power-consumption-statistics. o In ipmi-oem, support additional OEM commands - Dell get-chassis-identify-status - Dell get-system-info 'guid', 'chassis-service-tag', 'chassis-related-service-tag', and 'board-revision' inputs. o In ipmi-sensors, output Entity ID string with "Container Entity ID" and "FRU Entity ID" if string available. o Fix --eliminate corner case when elimination of nodes leads to 0 hosts specified. o Report proper error message when underlying crypt library is incompatible. o In ipmidetectd, support quick port reuse on server setup. o Fix hostrange parsing corner case. o Fix Cygwin portability bugs. o Fix minor output corner cases on sensor units. o Fix header file typing inconsistencies. o Fix header file documentation. o Various documentation updates and fixes. FreeIPMI 0.8.1 - 12/07/09 ------------------------- Tools - High Level Description of Changes ----------------------------------------- o Support ipmi-dcmi, Data Center Management Interface (often referred to as DCM or DCMI). o Make output of ipmi-sel, ipmi-sensors, and ipmimonitoring easier to read and consistent to each other. Under default output, sensors listed in ipmi-sensors and ipmimonitoring are identical. Legacy output is supported through the --legacy-output option. o Rename pef-config to ipmi-pef-config for naming consistency. o Make output of ipmi-chassis, bmc-info, bmc-device, and info output of ipmi-sel, ipmi-sensors, and ipmi-pef-config consistent to each other. o When querying active/inactive, allowed/unallowed, true/false, etc. status fields in ipmi-chassis, bmc-info, and bmc-device, output all fields instead of only the active/allowed/true/etc. fields. o Support exclusion equivalent options (such as --exclude-sensor-types) in various tools such as ipmi-sel, ipmi-sensors, and ipmimonitoring. o Support sensor unit percentages, rates, and modifiers (e.g. "% hit", "gigabyte per minute", "pounds / cu in") in most tools. o Support non-abbreviated units (e.g. "Amps" instead of "A") in most tools. o Output IANA Manufacturer Name when appropriate in most tools. o Support Entity ID based sensor naming through the --entity-sensor-names option in many tools. o Support OEM interpreted output through the --interpret-oem-data option in many tools. o "Library-ize" much of the functionality originally only included in tools. o Re-work libipmimonitoring to return sensor events for all sensors, not just non-threshold sensors. Resulted in an API change. o Removed many short options for more consistent command line "architecture" between tools and to ensure short options are more consistent between tools. Limit short options to only the most popular options. Short options have been removed from ipmipower, ipmiconsole, bmc-watchdog, ipmi-chassis, ipmimonitoring, ipmi-sel, and ipmi-raw. See details below for specific short options removed. o Various new options and features added to most tools. o Various minor feature enhancements. o Various bug fixes. o Various documentation updates. Tools - Detailed Enhancements/Changes/Fixes ------------------------------------------- o ipmi-dcmi - A new tool to support the data center managemen interface (often referred to as DCM or DCMI). o ipmi-sel - Alter output to make fields easier to read, consistent to other tools, and more consistent to IPMI (legacy output option supported). - Use short-message event strings instead of long ones for readability. - Make output of ipmi-chassis, bmc-info, bmc-device, and info output of ipmi-sel, ipmi-sensors, and ipmi-pef-config consistent to each other. - Support --verbose option to offer verbose and very verbose SEL event information. - Support --display and --display-range options. - Support --exclude-display and --exclude-display-range options. - Support --tail option. - Support --system-event-only and --oem-event-only options. - Support --non-abbreviated-units option to output no abbreviated units (e.g. "Amps" instead of "A"). - Support --entity-sensor-names option. - Support --no-sensor-type-output option. - Support --interpret-oem-data option. - Support Inventec 5441/Dell Xanadu2 OEM SEL records. - Support Dell Poweredge R610 OEM SEL records. - Support Dell Poweredge R710 OEM SEL records. - Support --comma-separated-output option. - Support --no-header-output option. - Rename --delete-all to --clear for consistency to IPMI spec. Backwards compatability maintained. - Output manufacturer name with "Manufacturer ID" if name available. - Support sensor unit percentages, rates and modifiers (e.g. "% hit", "gigabyte per minute", "pounds / cu in"). - Output allocation information with --info if available. - Output hex code more often if translation to string not available. - Output OEM hex codes in consistent format. - Re-work to use new libfreeipmi sel-parse sub library. - Remove legacy option to dump hex output to optional filename. - Removed the following short options (long options remain). - 'c' (--delete-all) - 'd' (--delete) - 'R' (--delete-range) - 'x' (--hex-dump) - Support additional options in FreeIPMI config file. o ipmi-sensors - Alter output to make fields easier to read, consistent to other tools, and more consistent to IPMI (legacy output option supported). - Make output of ipmi-chassis, bmc-info, bmc-device, and info output of ipmi-sel, ipmi-sensors, and ipmi-pef-config consistent to each other. - For consistency to other tools, outputs of "NA" are now "N/A". - Events are now surrounded by single quotes (') instead of square brackets ([]). - Sensors that can't be read or don't exist (i.e. "N/A", "Unknown") are now *not* surrounded by single quotes (') or square brackets ([]). - Software sensors output "N/A" instead of "Unknown" now. - Globally rename "Group" to "Sensor Type" for correctness to IPMI spec. Leads to rename of --groups option to --sensor-types and --list-groups to --list-sensor-types. Backwards compatability maintained. - Support --non-abbreviated-units option to output no abbreviated units (e.g. "Amps" instead of "A"). - Rename --sensors option to --record-ids. Maintain old options for backwards compatability. - Support --exclude-record-ids option. - Support --exclude-sensor-types option. - Support "all" and "none" inputs for sensor-types and record-ids options. - Support --comma-separated-output option. - Support --no-header-output option. - Support --shared-sensors option. - Support --entity-sensor-names option. - Support --no-sensor-type-output option. - Support --interpret-oem-data option. - Support Dell Poweredge R610 OEM sensors. - Support Dell Poweredge R710 OEM sensors. - Support Supermicro X8DTH OEM sensors. - Do not output Sensor Reading for discrete sensors under verbose mode (because the result is always "N/A"). - Do not output SDR event records type under verbose output, only in very verbose output. - Support sensor unit percentages, rates and modifiers (e.g. "% hit", "gigabyte per minute", "pounds / cu in"). - Output allocation information with --sdr-info if available. - Output Entity ID under verbose instead of very verbose mode. - Under very verbose output, "Sensor Status" is now "Sensor Event". - Under very verbose output, if multiple sensor states are triggered, always output a prefix of "Sensor Event". - Under very verbose output, always output a prefix of "Assertion Event Enabled" or "Deassertion Event Enabled" for assertion and deassertion event listings (changed from a single "Assertion Events Enabled" or "Deassertion Events Enabled"). - Under verbose output, do not output Nominal reading, Normal Min., or Normal Max. if SDR flags do not indicate the values are specified. - Under very verbose output, output Sensor Direction. - Under very verbose output, output Tolerance. - Under very verbose output, output Resolution. - Under very verbose output, output Accuracy. - Under very verbose output, output sensor sharing information. - Under very verbose output, output entity instance type. - Under very verbose output, output OEM bytes in generic device locator records. - Output record-type names in addition to record type hex code in very-verbose output. - Output device-type names and device-modifiers in addition to hex codes in very-verbose output. - Under very verbose output, default to abbreviated units. - Output linearization in hex in verbose outputs. - Output linearization name in verbose outputs. - Output analog data format in hex in verbose outputs. - Output analog data format name in verbose outputs. - Output manufacturer name with "Manufacturer ID" if name available. - Output Entity ID string with "Entity ID" if string available. - Output hex code of sensor type in addition to type name in very-verbose output. - Re-work to use new libfreeipmi sensor-read sub library. - Support additional options in FreeIPMI config file. o ipmimonitoring - Alter output to make fields easier to read, consistent to other tools, and more consistent to IPMI (legacy output option supported). - "Monitoring Status" is now listed as "Sensor State" for consistency to libipmimonitoring library definition. - Sensor events are now output for all sensors. Sensor readings are only output appropriately for non-discrete sensors. - Rename a number of config fields for overall FreeIPMI consistency, may break backwards compatability. - Globally rename "Group" to "Sensor Type" for correctness to IPMI spec. Leads to rename of --groups option to --sensor-types and --list-groups to --list-sensor-types. Backwards compatability maintained. - With default output, output same sensors as listed in ipmi-sensors, including some sensors that can't be interpreted. - Sensors that can't be read or don't exist (i.e. "N/A", "Unknown") are now *not* surrounded by single quotes ('). - A sensor event of "NONE" is now output instead of "OK" if no sensor events are indicated. - Support --exclude-record-ids option. - Support --exclude-sensor-types option. - Support "all" and "none" inputs for sensor-types and record-ids options. - Support --ignore-non-interpretable-sensors option. - Rename --sensors option to --record-ids. Maintain old options for backwards compatability. - Remove --regenerate-sdr-cache legacy option due to conflict with newer option. - Support --non-abbreviated-units option to output no abbreviated units (e.g. "Amps" instead of "A"). - Support --comma-separated-output option. - Support --no-header-output option. - Support --entity-sensor-names option. - Support --no-sensor-type-output option. - Support --interpret-oem-data option. - Support --shared-sensors option. - Utilize libipmimonitoring callback routines to make sensors output as they are read, rather than just at the end. This removes the impression that the tool "hangs" on start. - Fix inconsistency in output, header output of "Record_ID" now "Record ID". - Support additional options in FreeIPMI config file. - Removed the following short options (long options remain). - 'c' (legacy --cache-dir) o ipmi-fru - Output hex with 'h' suffix instead of '0x' prefix for consistency to other FreeIPMI tools. - Output manufacturer name with "Manufacturer ID" if name available. - Do not output string "Info Area", the text is redundant. - Very verbose support removed. - Language codes now output under verbose mode. Language code output as string instead of hex code. - Slightly alter Base/Extended Compatibility Code Mask output for common case. - Support --interpret-oem-data option. - Various output changes under error conditions. - Re-work to use new libfreeipmi fru-parse sub library. - Check for valid device ID inputs. - Support additional options in FreeIPMI config file. o ipmipower - Removed the following short options (long options remain). - 'R' (legacy --ipmi-version) - 'j' (--pulse) - 'm' (--soft) - 'g' (--on-if-off) - 'A' (--wait-until-off) - 'G' (--wait-until-on) - 't' (legacy --session-timeout) - 'y' (legacy --retransmission-timeout) - 'q' (--retransmission--wait-timeout) - 'b' (--retransmission-backoff-count) - 'i' (--ping-interval) - 'z' (--ping-timeout) - 'v' (--ping-packet-count) - 'w' (--ping-percent) - 'x' (--ping-consec-count) o ipmiconsole - Removed the following short options (long options remain). - 'c' (legacy --cipher-suite-id, 'I' support remains) o bmc-device - Make output of ipmi-chassis, bmc-info, bmc-device, and info output of ipmi-sel, ipmi-sensors, and ipmi-pef-config consistent to each other. - Indicate hex code output consistently with 'h' suffix instead of '0x' prefix. - Support --get-bmc-global-eanbles, --set-system-firmware-version, --set-system-name, --set-primary-operating-system-name, and --set-operating-system-name. o bmc-info - When querying active/inactive, allowed/unallowed, true/false, etc. status fields output all fields instead of only the active/allowed/true/etc. fields. - Make output of ipmi-chassis, bmc-info, bmc-device, and info output of ipmi-sel, ipmi-sensors, and ipmi-pef-config consistent to each other. - Output GUID by default. - Output system info by default. - Rename --guid to --get-device-guid. Legacy option still supported. - When outputting only the GUID, don't prefix "GUID : " in the output. - Support --get-system-info. - Support --get-channel-info. - Support --get-device-id. - Support --interpret-oem-data option. Do not automatically assume OEM data is correct and output by default. - Output manufacturer name with "Manufacturer ID" if name available. o ipmi-chassis - Make output of ipmi-chassis, bmc-info, bmc-device, and info output of ipmi-sel, ipmi-sensors, and ipmi-pef-config consistent to each other. - When querying active/inactive, allowed/unallowed, true/false, etc. status fields output all fields instead of only the active/allowed/true/etc. fields. - Output some text more consistently to IPMI specification. - Rename --get-status option to --get-chassis-status. Legacy option still supported. - Rename --get-capabilities option to --get-chassis-capabilities. Legacy option still supported. - Check interval input ranges. - Removed the following short options (long options remain). - 'c' (--get-chassis-capabilities) - 's' (--get-chassis-status) - 'O' (--chassis-control) - 'i' (--chassis-identify) - 'X' (legacy --set-power-restore-policy) - 'S' (legacy --set-power-cycle-interval) - 'R' (--get-system-restart-cause) - 'H' (--get-power-on-hours-counter) - 'G' (legacy --get-boot-flags) - 'L' (legacy --set-boot-flags) o ipmi-raw - Support --channel-number and --slave-address for command bridging. - Removed the following short options (long options remain). - 'f' (--file) o bmc-config - Collapse "Password20" field into "Password" field so "Password" supports both IPMI 1.5 and IPMI 2.0 length passwords. "Password20" still supported as legacy support. - Update to include new BMC Password Threshold configuration. - Support ability to report read only field error. - Support ability to report not supported field error. - Support additional options in FreeIPMI config file. o ipmi-chassis-config - Update to include new configurable boot options in IPMI errata. - Update to include new device instance selector in IPMI errata. - Support ability to report read only field error. - Support ability to report not supported field error. - Support additional options in FreeIPMI config file. o ipmi-sensors-config - Support sensor unit percentages, rates and modifiers (e.g. "% hit", "gigabyte per minute", "pounds / cu in"). - Support ability to report read only field error. - Support ability to report not supported field error. - Support additional options in FreeIPMI config file. o ipmi-pef-config/pef-config - Rename pef-config to ipmi-pef-config for consistency to other tools. Keep backwards compatability with symlinks and such. - Make output of ipmi-chassis, bmc-info, bmc-device, and info output of ipmi-sel, ipmi-sensors, and ipmi-pef-config consistent to each other. - Support workaround for Alert Policy config on Fujitsu motherboards. - Support ability to report read only field error. - Support ability to report not supported field error. - Support additional options in FreeIPMI config file. o ipmi-oem - Support common 'list' command to all OEM IDs. - If user does not input OEM ID, list OEM IDs and Commands. - If user does not input OEM command, list OEM commands for a particular OEM ID. - Add additional Dell OEM commands. - Add additional Inventec OEM commands. - Add additional Sun OEM commands. - Rename "get/set-nic-status" as "get/set-nic-mode" to meet vendor doc naming. Backwards compatability included. o bmc-watchdog - Removed the following short options. - 'h' (legacy -?) - 'H' (legacy -?) o Make init scripts LSB compliant. o Various documentation updates. Libraries --------- o libfreeipmi - Add new fru-parse sub library. - Add new sdr-parse sub library. - Add new sel-parse sub library. - Add new sensor-read sub library. - Add dcmi support. - The locate sub library now uses a context style API for consistency to the rest of libfreeipmi. - Re-architect all 'unassemble' functions to return 1 if packet fully and correctly parsed, 0 if not, and -1 on error. - Support SDR sensor sharing in sdr-cache library. - Collapse all BAD_COMPLETION_CODE variant errors into single BAD_COMPLETION_CODE error. - New 'ipmi_ctx_find_inband' call to find an inband device. - New freeipmi/template/ files to document fiid fields for fiid templates. - New error code IPMI_ERR_NOT_FOUND in libfreeipmi API sub library supported. - Add a number of 'errormsg' functions so common code of foo_strerror(foo_errnum(ctx)) can be condensed to foo_errormsg(ctx). - Add 'ipmb' raw functions. - Various API cleanup. - Return int instead of int8_t or int32_t consistently. - Pass unsigned int instead of uint32_t for buffer lengths. - Fix function naming inconsistencies. - Fix API inconsistencies. - Appropriately indicate const pointers in parameters. - Make buffers void * instead of uint8_t * consistently. - Various fixes to maintain consistency between sub library APIs. - Add IANA Enterprise Numbers definitions. - Add Entity IDs definitions. - Remove IPMI_ERR_LIBRARY_ERROR errnum. Use IPMI_ERR_INTERNAL_ERROR errnum instead. - IPMI_*CTX_ERR* renamed to IPMI_*ERR* for consistency throughout. - The fiid sub library now includes wrapper functions for a number of fiid library functions. - Suppot FIID_FIELD_MAKES_PACKET_SUFFICIENT fiid field flags and new functions. - Support ipmi_sensor_units_string utility function to support units, percentages, rates, and units modifiers (e.g. "% hit", "gigabyte per minute", "pounds / cu in"). - Properly handle int/unsigned int potential overflow conditions. - Fix several sensor units abbreviations. - More detailed KCS and SSIF debug output with header information. - Always output debug key fields (e.g. 'raw_data' from ipmi-raw) in byte array format instead of an integer even if the field length is < 64 bits. - Update various macros, fields, etc. for IPMI errata updates. - Support 'session_handle' in close session packets (IPMI errata 387). Results in API change for all close session packet calls. - Support 'device instance locator' in chassis boot configuration. Results in API change. - Support 'change_bits' flag in Set User Access. Results in API change. - Remove duplicate sensor number checks in sdr-cache sub library, which was invalid b/c of potential duplicate generator ids. - Collapse v1.5 and v2.0 "Get Authentication Capabilities" templates, functions, etc. into one. Results in API change. - Collapse v1.5 and v2.0 "Set User Password" templates, functions, etc. into one. Results in API change. o libipmimonitoring - Support callback functions in API to monitor sensors as they are read/analyzed instead of after all sensors have been read/analyzed. - Support new function ipmi_monitoring_read_sensor_bitmask() to read bitmask of each sensor. - Add IPMI_MONITORING_SENSOR_BITMASK_TYPE_THRESHOLD bitmask type. - Remove IPMI_MONITORING_SENSOR_READING_TYPE_UNSIGNED_INTEGER16_BITMASK sensor reading type. Every sensor technically has a bitmask, but not all sensors have a sensor reading. - Rename IPMI_MONITORING_SENSOR_READING_FLAGS_IGNORE_UNREADABLE_SENSORS to IPMI_MONITORING_SENSOR_READING_FLAGS_IGNORE_NON_INTERPRETABLE_SENSORS. Legacy macro still supported. - Add IPMI_MONITORING_SENSOR_READING_FLAGS_INTERPRET_OEM_DATA flag. - Add IPMI_MONITORING_SENSOR_READING_FLAGS_SHARED_SENSORS flag. - Rename a number of macros for overall FreeIPMI consistency, may break backwards compatability. - Globally rename "Group" to "Sensor Type" for correctness to IPMI spec. - Update various macros, fields, config, etc. for IPMI errata updates. - Variety of API functions reworked or renamed for new functionality. Will require recompile and rework in existing code. Contributions ------------- o Update Ganglia and Nagios plugins for changes in ipmi-sensors and ipmimonitoring. FreeIPMI 0.7.16 - 11/30/09 -------------------------- o In ipmi-oem, add additional Fujitsu OEM support. o Fix portability to kfreebsd. FreeIPMI 0.7.15 - 11/19/09 -------------------------- o Add "solstatus" workaround to ipmiconsole. o Support hex codes to event filter sensor type inputs in pef-config. o In ipmiconsole, handle corner cases surrounding non-default SOL ports more cleanly. o In ipmi-oem, support Fujitsu OEM commands. o Document workarounds for additional motherboards. FreeIPMI 0.7.14 - 10/16/09 -------------------------- o Fix consolidated-output corner cases. FreeIPMI 0.7.13 - 09/30/09 -------------------------- o Support --platform-event in bmc-device. o Support read/clear eeprom in ipmi-oem. o Fix corner case in system firmware progress error data2 output. o Fix documentation typos. FreeIPMI 0.7.12 - 09/08/09 -------------------------- o In bmc-config, fix SOL config corner case. Assume LAN channel if SOL channel cannot be read. o In bmc-config, configure Password before Enable_User by default for security. o Add SDR reading/loading workarounds for Fujitsu RX 100 motherboards. o Add --assume-system-event-records to ipmi-sel to workaround HP DL 380 G5 motherboards. o In bmc-config, add workarounds for Dell Poweredge servers. o In ipmi-oem, support additional Dell Poweredge OEM commands. o In ipmi-oem, support additional Supermicro OEM commands. o Document workarounds necessary for newer Supermicro motherboards. o Fix several error output corner cases. FreeIPMI 0.7.11 - 07/28/09 -------------------------- o In ipmi-fru, fix FRU output corner cases. o In ipmi-oem, support Dell poweredge, Dell Xanadu2, and new Inventec OEM commands. o In ipmi-sensors and ipmimonitoring, continue reading sensors after a "request parameter not supported" error. o In libfreeipmi, support Get System Information parameters command. o Support --without-encryption build option . o Do not require execute permissions on driver devices. o Fix portability for some embedded systems. FreeIPMI 0.7.10 - 06/16/09 -------------------------- o In all tools, properly deal with workaround flags when specifying different devices than what workaround flags are intended for. o In bmc-config, fix bug setting volatile vs. non-volatile settings. o Fix in-band probing priority ordering to fix issues with machines that support multiple drivers. o In ipmi-sensors and ipmimonitoring, continue reading sensors after a "command response cannot be provided" error. o Add additional workaround handling into Sun 2.0 workaround. o In ipmimonitoring, fix sunbmc driver interface bug. o In ipmiconsole, consider IPMICONSOLE_ERR_BMC_IMPLEMENTATION a non-fatal error. o Update workaround documentation with additional motherboards. FreeIPMI 0.7.9 - 05/15/09 ------------------------- o In bmc-config, fix diff check for "Password20" field. o In ipmi-fru, fix various output typoes and output errors. - Output "Product Name" instead of "Product Product Name". - Output "FRU Chassis Type" instead of "Chassis Type". - Output "Version" instead of "Version Type". - Fix invalid DC Output and DC Load voltage outputs. mV multiplier of 10 was previously not factored in. o In ipmi-chassis, fix chassis-identify parameter parsing bug. o In ipmi-chassis, fix output corner cases. o In ipmipower, support identify-on, identify-off, identify-status in interactive mode. o In ipmipower, fix closing session corner case bug. o Update ipmi-oem manpage with extra information. o Fix bmc-device --get-mca-auxiliary-log-status bug. o Fix debug output corner case in ipmi-oem. o Fix glibc 2.8 portability bug with ipmi-raw. o Fix freeipmi.conf comment typos. FreeIPMI 0.7.8 - 04/10/09 ------------------------- o Support and document Inventec 5441 workarounds. Most notably, added "opensesspriv" workaround to tools and OPEN_SESSION_PRIVILEGE workaround to libraries. o In ipmi-fru, do not fail on invalid chassis info area type, output that type is unknown and continue to parse area. o In bmc-info, output device ID, manufacturer ID, and product ID as integers, not hex. o Fix glibc 2.8 compile bug. FreeIPMI 0.7.7 - 04/03/09 ------------------------- o Support inventec get-nic-status, set-nic-status, get-mac-address, and set-mac-address OEM commands in ipmi-oem. o Make default privilege level ADMIN for ipmi-oem. o In bmc-info, output both chars of firmware minor revision (i.e. 1.01 instead of 1.1). o Fix libfreeipmi field validity checks for sensor units. o Support "oem_reserved" group input to ipmi-sensors. o Fix Solaris porting bugs. o Fix potential config file bug by clearing out stack data appropriatly. o Support build option (--with-dont-check-for-root) to not have tools check for root for in-band IPMI communication. Permission checks are subsequently dealt with at underlying system calls and drivers. (i.e. open() on /dev/ipmi0). o Update bmc-config manpage with Dell specific workaround. o Remove "experimental" note from SUNBMC driver documentation. FreeIPMI 0.7.6 - 02/25/09 ------------------------- o In ipmimonitoring, output sensor group names consistently to other tools: "Cable Interconnect" -> "Cable/Interconnect" "Slot Connector" -> "Slot/Connector" "Module Board" -> "Module/Board" o In ipmi-sensors, don't output threshold related fields for non-threshold sensors in verbose modes. o In bmc-config, ipmi-chassis-config, ipmi-sensors, ipmi-sensors-config, ipmimonitoring, and pef-config, support --config-file option. o In ipmi-chassis-config, fix typo of "FLOOPY" to "FLOPPY". o In ipmi-sensors-config, fix event bit bug in which assertion events were configured for deassertion events. o Fix bmc-watchdog init script portability to Suse. o Update ipmi-sel manpage. FreeIPMI 0.7.5 - 01/12/09 ------------------------- o In ipmi-fru, do not output error messages for FRU entries that do not exist on a motherboard. o In ipmi-sel, fix SEL message output corner case. o In ipmi-sel, ipmi-sensors, and ipmimonitoring, check that inputted record IDs are not illegal record ID values. o In bmc-config, fix "Enable_User" checkout corner case bug. o Fix/clarify minor documentation typos/wording. FreeIPMI 0.7.4 - 12/15/08 ------------------------- o Change -I short option (for --chassis-identify) to -i in ipmi-chassis to avoid conflicting short option with -I (for --cipher-suite-id). o Support output of "<username-not-set-yet>" in bmc-config for fields that require a username to be configured before data may be read/written. o Support supermicro reset-intrusion OEM ID and command in ipmi-oem. o Support --list option in ipmi-oem. o Output checksum errors by default in ipmi-fru. o Fix ipmipower/ipmiconsole corner case bugs for IPMI 2.0 with certain cipher suite IDs. o Fix bmc-config Enable_User workaround bug. o Fix Intel IPMI 2.0 workarounds in all tools/libraries. o Fix state machine cycle corner case in ipmiconsole/libipmiconsole. o Fix Suse build issue in spec file. o Fix glibc 2.8 build issues. o Fix/clarify minor documentation typos/wording. FreeIPMI 0.7.3 - 12/01/08 ------------------------- o Add workaround into ipmi-sensors and ipmi-sensors-config for motherboards that do not support the Get Sensor Thresholds command. o Output 'NA' on sensors in ipmi-sensors and ipmimonitoring that have sensor scanning disabled. In libipmimonitoring, appropriately handle sensors with sensor scanning disabled and return 'unreadable sensor'. o Add the following ipmimonitoring/libipmimonitoring interpretations. Power Unit Device Installation Fan Transition Availability Power Supply State Drive Slot State Drive Slot Predictive Failure System ACPI Power State Button Switch Button Switch State Entity Presence Device Install Processor State o Fix typos in macro names and string names for sensor types to accurately coincide with IPMI specification. May lead to slightly different inputs/outputs in ipmi-sensors and pef-config. Altered strings include: "Platform Chassis Intrusion" -> "Physical Security" "Platform Security Violation" -> "Platform Security Violation Attempt" "Post Memory Resize" -> "POST Memory Resize" "System Firmware" -> "System Firmware Progress" "Button" -> "Button/Switch" "Microcontroller" -> "Microcontroller/Coprocessor" "Cable Interconnect" -> "Cable/Interconnect" "Slot Connector" -> "Slot/Connector" "ACPI Power State" -> "System ACPI Power State" "Monitor Asic" -> "Monitor ASIC/IC" o Fix ipmi-sensors non-recoverable threshold output corner case. o Fix ipmi-sensors group selection corner cases. o Fix ipmiconsole workarounds command line parse corner case. o Fix ipmi-sel/libfreeipmi event data output corner cases. o Use a reservation ID on all SEL entry operations to workaround some manufacturer compliance issues. o Fix config option names in ipmimonitoring/libipmimonitoring. o Add forgotten bitmask flags in libipmimonitoring. o In ipmi-sensors default output, output non-recoverable or non-critical thresholds if both non-critical thresholds are not available. o Remove unused libfreeipmi workaround flags/macros. Contain tool specific workaround flags within tools. o Optionally output auxiliary information in bmc-info. o Add ipmi_monitoring_sensors.conf.5 manpage. o Various documentation updates. FreeIPMI 0.7.2 - 11/18/08 ------------------------- o Add Sensor Owner ID output to verbose and very verbose output in ipmi-sensors. Alter previous ipmi-sensors output of slave address and system software id to deal with slave address/system software ID vs. sensor owner ID semantics. o Fix ipmi-raw cmdline parsing corner case. o Fix/clarify documentation. FreeIPMI 0.7.1 - 11/07/08 ------------------------- Tools - New Significant Additions/Features ------------------------------------------ o Add new tool ipmi-chassis-config for chassis configuration, such as boot device and power restore policy configuration. o Add new tool bmc-device to support advanced BMC commands including cold reset, warm reset, setting BMC times, and more. o Support FreeIPMI configuration file for most tools (bmc-config, bmc-info, bmc-device, bmc-watchdog, ipmi-chassis, ipmi-chassis-config, ipmi-fru, ipmi-oem, ipmi-raw, ipmi-sel, ipmi-sensors, ipmi-sensors-config, ipmiconsole, ipmimonitoring, ipmipower, pef-config) to avoid typing common options on the command line. See freeipmi.conf(5) for more information. o Add hostrange support to all config tools (bmc-config, pef-config, ipmi-sensors-config, ipmi-chassis-config) to support parallel configuration on a cluster. o Support --bridge-sensors in ipmi-sensors and ipmimonitoring to access non-BMC owned sensors (experimental). o Support --sensor-config-file on ipmimonitoring to support alternate interpretation rules. o Add additional "connection timeout" error message to tools to differentiate between no IPMI communication at all vs. session timeout in the middle of a command's operations. o Support hysteresis and sensor event configuration in ipmi-sensors-config. o Support additional sensor monitoring interpretations in ipmimonitoring. o Output additional sensor information in ipmi-sensors under verbose modes, such as lun, channel and event enable information. o Support --always-prefix option in most tools for easier scripting. o Support --sdr-cache-recreate in all SDR related tools for easier scripting. o Support --guid option in bmc-info to retrieve global ID (guid). o Support "SUNBMC" in-band driver for Solaris (experimental). Please see README.sunbmc for compilation instructions. Tools - Enhancements/Changes/Bug Fixes -------------------------------------- o Global in most tools - Rename --no-probing option to --disable-auto-probe for consistency in FreeIPMI. Backwards compatability maintained. o Global in config tools (bmc-config, pef-config, ipmi-sensors-config) - More carefully check for fatal vs. non-fatal errors when performing configuration. This change may result in slight behavior differences. For example, a session-timeout may have previously been considered a non-fatal error, making the config tools continue on attempting more configuration activities. Now, it would error out on the first session-timeout indication. o ipmi-sensors - Check variety of corner cases such as whether sensor readings, hysteresis, thresholds, etc. are even available before reading them. Some sensors may output slightly different information than before. For example, suppose a power supply sensor exists for a power supply that is not installed. If the sensor is enabled on the motherboard, ipmi-sensors would likely report "OK". If the sensor is disabled on the motherboard, ipmi-sensors would now likely report "NA". Previously, "OK" would have been reported under both conditions. - Output "NA" for sensors whose slave addresses are not the BMC. - Output "Unknown" for sensors whose readings cannot be determined. - Output multiple sensor status messages on separate lines, rather than all on one line under verbose modes. - Output "Unrecognized State" if the sensor specifies a state that is unrecognized. - Busy sensors are now output with "Unknown" instead of causing errors. - When fields are not relevant, do not output as much information in verbose and very verbose mode. For example, don't output hysteresis or threshold information for power supply sensors. - Alter some output ordering for consistency to IPMI spec. - Shorten/adjust some state strings for readability under non-verbose output. For example, "Fully Redundant (formerly "Redundancy Regained")" is now just "Fully Redundant". - Change default privilege from user to operator. o ipmimonitoring - Support -v verbose option to output sensors readings that aren't readable. - Check corner case for sensor readability. May lead to slightly different output in ipmimonitoring. For example, suppose a power supply sensor exists for a power supply that is not installed. If the sensor is enabled on the motherboard, ipmimonitoring would normally report "Nominal". If the sensor is disabled on the motherboard, ipmimonitoring would normally not output a sensor state (it would output "N/A" under verbose mode). Previously, "Nominal" would have been reported under both conditions. - Consider sensors without BMC slave addresses unreadable. May result in sensors not being output like before. - Busy sensors may result in sensors not being output rather than causing errors. - Output "Unrecognized State" if the sensor specifies a state that is unrecognized. - Output multiple bitmask strings if multiple bits are set. - Output "OK", similarly to ipmi-sensors when no bitmask strings are returned from a sensor reading. - Shorten/adjust some state strings for readability. For example, "Fully Redundant (formerly "Redundancy Regained")" is now just "Fully Redundant". - Change default privilege from user to operator. o ipmipower - Removed many early experimental features from ipmipower so ipmipower is more like other tools. Removed ipmi-version, cipher-suite-id, privilege-level, and authentication-type auto discovery. Removed ability to enable/disable a number of experimental features. - Changed --config to --config-file in ipmipower for consistency to other tools. Backwards compatability maintiained. - Replace --ipmi-version option with --driver-type. Backwards compatability maintained. - Removed hostname config file option. Require users to always input atleast hostname. - Changed primary config file to /etc/freeipmi.conf. Legacy config file searched for and still supported. - Prefixed config file options with 'ipmipower' for consistency to new global FreeIPMI config file. Old options still supported. o bmc-config - Support configuration of UserN:Lan_Session_Limit and UserN:Serial_Session_Limit (where N is a user id number). - By default, do not output unsupported authentication type enables when checking out the Lan_Conf_Auth section. Output unsupported authentication type enables under verbose output. - By default, do not output serial configuration parameters on checkout. Output serial configuration under verbose output. - Remove checkout of "Misc" section and "Power_Restore_Policy" field, which is now handled by ipmi-chassis-config. Backwards compatability commit and diff maintained. - Remove case sensitivity when checking a number of fields. o ipmi-chassis - Alter ipmi-chassis output to print "unknown" when field is not known. - Alter some ipmi-chassis output text to be more consistent to IPMI spec. - Hide configuration options now supported in ipmi-chassis-config. o ipmi-fru - Output FRU device names along with IDs in ipmi-fru. - Reduce excessive newline outputs in ipmi-fru. - Output more information by default. Change the output of verbose vs. very verbose output. o ipmi-sel - Change default privilege from user to operator. - Search of SDR records by sensor number and sensor owner id. - Support SEL Event Record debug dumping. o ipmiconsole - Support --session-timeout and --retransmission-timeout options. - Removed -C short option for consistency to other tools. - Removed hostname config file option. Require users to always input atleast hostname. - Changed primary config file to /etc/freeipmi.conf. Legacy config file searched for and still supported. - Prefixed config file options with 'ipmiconsole' for consistency to new global FreeIPMI config file. Old options still supported. o bmc-watchdog - Remove legacy 'v' option for version. Libraries --------- o libfreeipmi - Add additional IPMI commands. - Support new "connection timeout" error message. - Support new "command invalid for selected interface" error message. - Support ipmb bridging in KCS, OPENIPMI, LAN, and LAN_2_0 interfaces. - Check for additional corner cases in fiid API. - Support SUNBMC driver. o libipmimonitoring - Support new "connection timeout" error message. - Handle variety of corner case situations better, such as dealing with sensor readings that are unavailable. - Provide more information to user on unreadable/uninterpretable sensor readings. - Support SUNBMC driver. - Provide new IPMI_MONITORING_SENSOR_READING_FLAGS_BRIDGE_SENSORS flag. - Support several new sensor interpretation rules. - Return short message strings in ipmi_monitoring_bitmask_string(). o Various naming consistency fixes to IPMI specification. o Various minor bug fixes. Contributions ------------- o Ganglia plugin scripts ganglia_ipmimonitoring.pl and ganglia_ipmi_sensors.pl. o Nagios plugin script nagios_ipmimonitoring.pl. FreeIPMI 0.6.10 - 10/13/08 -------------------------- o Fix ipmi-fru FRU parsing corner case. FreeIPMI 0.6.9 - 09/26/08 ------------------------- o Handle ipmiconsole/libipmiconsole non-default port corner cases. o Fix --debug portability. o Document new workarounds. FreeIPMI 0.6.8 - 09/22/08 ------------------------- o Handle "invalid parameters" error codes in ipmi-sensors and ipmimonitoring/libipmimonitoring to work around some motherboards. o Fix bug in ipmimonitoring sensors configuration file parsing. o Fix corner case in libipmimonitoring sdr-cache filename creation. o Fix config tool exit code corner case. FreeIPMI 0.6.7 - 09/11/08 ------------------------- o Handle "illegal sensor" error code in ipmi-sensors and ipmimonitoring/libipmimonitoring. FreeIPMI 0.6.6 - 08/26/08 ------------------------- o Output NA/Unknown for non-BMC owned sensors in ipmi-sensors. o Do not output readings for non-BMC owned sensors in ipmimonitoring. o libfreeipmi/ipmi-chassis fix invalid console redirection input check. FreeIPMI 0.6.5 - 08/02/08 ------------------------- o Fix ipmimonitoring group assignment bug. o Fix several invalid error outputs. o Fix several minor bugs. o Minor documentation cleanup. FreeIPMI 0.6.4 - 06/04/08 ------------------------- o Do not exit ipmi-sensors or ipmimonitoring for sensors that return "sensor data not present" errors. Output "NA", "Unknown", skip sensor output, etc. as needed. o Fix bug in ipmi-sensors and ipmimonitoring when dealing with optional sensor state assertions after a sensor read. o Fix bug in ipmi-sensors and ipmimonitoring when dealing with reserved fields in sensor state assertions after a sensor read. o Add workaround in ipmi-sensors and ipmimonitoring when dealing with sensors that improperly report sensor assertions after a sensor read (i.e. no assertions set when required, or invalid assertions set). o Fix minor corner cases. o Fix manpage typos. FreeIPMI 0.6.3 - 05/27/08 ------------------------- o Fix --eliminate option in ipmipower. o Fix --quiet-cache option to work with flushing cache. o Fix ipmi-sensors-config flush cache corner case. o Fix ipmi-fru output corner case. o Fix workarounds parsing bug. o Fix/clarify various manpage text. FreeIPMI 0.6.2 - 05/15/08 ------------------------- o Fix ipmi-fru output corner cases. o Fix ipmi-chassis boot-device configuration bug. o Fix ipmiconsole config file parsing corner case. o Fix ipmipower max password length corner case check. o Fix command line parsing error messages. o Remove excess error output messages. o Add missing manpage option listings. FreeIPMI 0.6.1 - 04/27/08 ------------------------- For Users --------- o Add new tool ipmi-sensors-config. o Add new tool ipmi-oem. o Support --groups (plural) for multiple groups listing in ipmi-sensors. Older --group (non-plural) option maintained for backwards compatability. o Support --list-groups and --flush in ipmimonitoring for consistency to ipmi-sensors. o Change --cache-dir to --sdr-cache-dir in ipmimonitoring for consistency to ipmi-sensors. o Change short option -f option to -n in pef-config and bmc-config for consistency to ipmi-sensors-config. The -f option is maintained for backwards compatability. o Support -e (--escape-char) for alternate escape character in ipmiconsole. o Change --wait-until-off short option from -B to -G. o Support -B in ipmipower for consistency to other tools, although -B offers no purpose in ipmipower. o Support -F in ipmipower for consistency to other tools. o Enhanced speed of ipmi-fru, by skipping unnecessary FRU data reads. o SSIF Inband driver will timeout after a certain period of time. o Support additional sensor monitoring interpretations in ipmimonitoring. o Provide more detailed error messages in config tools. o Support shared SDR caches for ipmi-sensors, ipmi-fru, ipmi-sel, ipmi-sensors-config, and ipmimonitoring. (libipmimonitoring will still use a different default cache directory.) This will require a new cache generation for these tools. o Support driver-type options for ipmipower ipmi version option. o Modified SDR caching output messages in ipmi-sensors, ipmi-sel, ipmi-fru, ipmi-sensors-config and ipmimonitoring to provide more useful information. o In ipmi-sensors, updated SDR output under verbose and very verbose output modes with: o More IPMI compliant field names. For example, 'Sensor Name' has been replaced with 'ID String'. o More correct output. For example, 'NA' will be output instead of '0.0' when a value is not truly available. Fields that don't exist will not have a default output. o Fix incorrect hysterisis calculation and output. o Fix incorrect OEM data output. o Support more SDR record types for output. o Output more SDR record information in general. o Added new freeipmi(7) and libfreeipmi(3) manpages. o Various other bug fixes, documentation fixes, and enhancements. For Developers -------------- o Many libfreeipmi API changes. Not counting specific tool changes listed above, these API changes should not affect FreeIPMI user tools. o locate/probing API revamped. o SMIC driver/api removed. o 'udm' renamed to 'api' globally. o 'ipmi_device_t' device context renamed to 'ipmi_ctx_t'. o New sdr-caching library added. o Code re-organized into subdirectories. o New header files for more ipmi spec subsections added. o Support new 'ipmi_monitoring_sdr_cache_filenames' function in libipmimonitoring. o Support IPMI_MONITORING_SENSOR_UNITS_WATTS sensor units in libipmimonitoring. o Store SDR with different format for ipmi-sensors, ipmi-fru, ipmi-sel, and ipmi-sensors-config, ipmimonitoring/libipmimonitoring for easier future extensibility. o Packet names added to IPMI dump outputs in all tools for easier packet identification in debugging. o Make IPMI dump outputs consistent across all tools. o Support driver timeout error codes in all drivers and APIs. o SDR record dumping added into all tools. o Various other bug fixes and enhancements. FreeIPMI 0.5.6 - 03/27/08 ------------------------- o Fix bmc-watchdog probing corner case. o Fix bmc-watchdog openipmi corner case. FreeIPMI 0.5.5 - 02/25/08 ------------------------- o Fix bmc-info firmware and IPMI version output. o Fix Sun endian bug workaround. o Fix FRU data output corner cases. o Fix workaround documentation. FreeIPMI 0.5.4 - 02/07/08 ------------------------- o Output addresses in hex in ipmi-locate. o Clarify device addresses in manpages. o Support --ignore-sdr-cache option in ipmi-sel and ipmi-fru. o Minor SDR caching bug fixes. o Minor ipmimonitoring corner case fixes. o Various SSIF corner case fixes. FreeIPMI 0.5.3 - 01/02/08 ------------------------- o Fix minor ipmimonitoring command line option combination bugs. o Fix several minor corner cases in ipmi-sel, ipmi-sensors, and ipmimonitoring. o Fix corner case in all tools by recognizing 127.0.0.1 as the same as localhost. o Fix documentation/manpage text/typos. FreeIPMI 0.5.2 - 12/21/07 ------------------------- o Clarify "Password Verification Timeout" troubleshooting information. o Fix ipmipower cmdline parse bug. o Support suffixes in hostrange inputs. FreeIPMI 0.5.1 - 12/07/07 ------------------------- For Users --------- o Added previously missing IPMI 2.0 (-D LAN_2_0) support into ipmi-chassis, ipmi-fru, ipmi-sensors, ipmi-sel, ipmi-raw, and ipmimonitoring. o Added more strict IPMI over LAN implementation into ipmi-chassis, ipmi-fru, ipmi-sensors, ipmi-sel, ipmi-raw, and ipmimonitoring. o OpenIPMI and KCS Inband drivers will timeout after a certain period of time, so tools will no longer hang if the BMC is non-functional. o Ported IPMI compliance workarounds from ipmipower, ipmiconsole, and ipmimonitoring into ipmi-chassis, ipmi-fru, ipmi-sensors, ipmi-sel, and ipmi-raw. o Updated all manpages with more instructions, information, examples, and trouble shooting tips. o Support --debug option under the non-debug builds. o Rewrote error messages to provide more accurate descriptions. o Removed CALLBACK and OEM privilege capabilities in most tools. o Removed the quiet and silent options from bmc-config. o Added openipmi driver to bmc-watchdog. o Added keypair command line support to pef-config. o Removed bmc-autoconfig tool. o Added more details comments and instructions to bmc-config checkout. o Converted ipmiconsole, ipmipower, and ipmimonitoring to use argp instead of getopt for consistency of usage output. o Re-word "ASUS 2.0" workaround into generic "IGNORE SOL PAYLOAD SIZE" workaround. o Support new "IGNORE SOL PORT" workaround. o Made many command line options, interactive prompt, and config file options consistent across FreeIPMI tools. Inconsistencies between dashes and underscores have been fixed in a number of places. Backwards compatability has been maintained when possible. Notable changes include: o --priv-level and --privilege options are now --privilege-level. o --auth-type options are now --authentication-type. o --reg-space or --register-space options are now --register-spacing. o --hostnames (plural) is now --hostname (not-plural). o --timeout is now --session-timeout. o --retry is now --retransmission. o All tools now use -W (--workarounds) to specify workarounds. o The "plain" authentication type is now the "straight_password_key" authentication type. o The short option -r for --register-spacing has been removed for consistency with other command line options. o Short options for most debugging options have been removed. o All -H and -h (help) options have been changed to -? for consistency in all tools. o All -v (version) options have been changed to -V for consistency with all tools. o The -T option and -I option in ipmipower have been flipped for consistency with other tools. o The -c option in ipmiconsole is now the -I option for consistency with other tools. o Short option -I changed to -D in bmc-watchdog for consistency with other tools. o The -i option in bmc-config is now the -c option. o The -k option in bmc-config and pef-config is now the -e option. o Various other minor bug fixes and enhancements. For Developers -------------- o Added IPMI 2.0 into UDM. o Added workaround support into UDM for IPMI 1.5 and IPMI 2.0. o Added IPMI 2.0 into the libipmimonitoring API. o Added scalability fixes into libipmiconsole for Conman. o Fix various library variable names and macros for consistency. Notable changes. 1) ipmi_ver_minor and ipmi_ver_major in struct ipmi_locate_info have been renamed to ipmi_version_minor and ipmi_version_major. 2) reg_space/register_space have been renamed to register_spacing globally. 3) privilege has been replaced to privilege_level globally. 4) Various library error codes have been renamed for consistency for error codes in other libraries. For example OUTMEM has been changed to OUT_OF_MEMORY globally. 5) Various error codes and messages have been renamed/redone to give more useful information. For example, IPMI_ERR_PRIVILEGE is now IPMI_ERR_PRIVILEGE_LEVEL_CANNOT_BE_OBTAINED and the error message has been updated appropriately. o Various bug fixes and enhancements. FreeIPMI 0.4.6 - 10/11/07 ------------------------- o Fix sdr cache corruption bug. FreeIPMI 0.4.5 - 10/02/07 ------------------------- o Fix command line parse issue in ipmidetect. o Fix rpm daemon install scripts for ipmidetectd. FreeIPMI 0.4.4 - 09/19/07 ------------------------- o Alter userncame-capabilities workaround to authentication-capabilities workaronds to cover more situations. o Fix libipmiconsole new console port corner case. o Fix manpage typos. FreeIPMI 0.4.3 - 08/14/07 ------------------------- o Add ASUS P5M2 workarounds in ipmipower, ipmiconsole, and ipmimonitoring. o Fix bad input assert corner cases. o Fix non-default install bug. o Fix range check in bmc-config SOL config that was inconsistent with IPMI spec. o Fix ipmipower config file logic bug. o Fix ipmipower config output logic bug. o Fix potential pre-processor compile bug. o Fix manpage typos. o Fix error output messages in bmc-config. o Fix legacy config option issues. o Fix usage help in ipmiconsole. FreeIPMI 0.4.2 - 08/02/07 ------------------------- o ipmimonitoring: Fixed free bug that can cause segfaults. o Fix SLES packaging issue. FreeIPMI 0.4.1 - 07/26/07 ------------------------- For Users --------- o Added hostrange support to ipmi-sensors, ipmi-sel, ipmi-raw, and bmc-info o Added ipmimonitoring o Added ipmidetect o Added pef-config o Added ipmi-chassis o Added ipmi-fru o Added -T option to ipmiconsole. o Re-architected workarounds options for Ipmipower due to increasing number of vendor specific workarounds implemented. -W, -S, -Z, -X, -Y options removed. New -W option implemented. o Adjust ipmipower options to follow hostrange convention of other tools. o -Q option added for ipmi-sensors and ipmi-sel. o -q option added for ipmi-sensors. o Add verbose checkout/commit progress information for large checkout(s)/commit(s). o Add sensor names to ipmi-sel output when possible. o Output more descriptive error messages in most FreeIPMI tools. o '0x' parsing support in ipmi-raw. o Sun IPMI 2.0 workarounds in ipmipower and ipmiconsole. o Various bug fixes throughout FreeIPMI. For Developers -------------- o Added SDR debugging capabilities to ipmi-sdr and ipmi-sensors. o Added libipmimonitoring o Added libipmidetect o Additional IPMI sub section support in libfreeipmi. o Re-architected UDM for more descriptive error codes. o Various bug fixes/performance fixes to libipmiconsole, libfreeipmi. FreeIPMI 0.3.3 - 05/05/07 ------------------------- o Support per-msg-auth in LAN udm and majority of FreeIPMI tools. o Support hex k-g input/output. o Fix ipmipower per-msg-auth. o Fix ipmiconsole k_g key corner case. o Fix libipmiconsole state machine corner case. o Fix OpenIPMI driver build bug. o Fix strdup corner case in bmc-config. o Allow OEM network functions. FreeIPMI 0.3.2 - 03/29/07 ------------------------- o -N option added to ipmiconsole. o -L option added to ipmiconsole. o -K option added to ipmipower and ipmiconsole. o -P option replaced w/ -W option in ipmipower. o -P option added to most tools. o Fix seg-fault in ipmiconsole. o Fix various bugs in in libipmiconsole and ipmiconsole. o Fix secure malloc bug. FreeIPMI 0.3.1 - 12/18/06 ------------------------- o FreeBSD Support o libfreeipmi: Header file include/C++ fixes. o ipmi-sensors, ipmi-sel: Fix SDR cache creation bug for /tmp. o ipmi-sensors: Fix SDR parsing corner case bugs. o ipmipower, ipmiconsole: Fix mem-leak possibility. FreeIPMI 0.3.0 - 11/13/06 ------------------------- For Users --------- o Added ipmiconsole. o IPMI 2.0 connection support added to ipmipower. o IPMI 2.0 ping support added to ipmiping. o IPMI 2.0 and Serial-Over-LAN (SOL) configuration added to bmc-config. o Added sectional input/output support to bmc-config (--listsections and --section options). o Added OpenIPMI driver support to bmc-info, ipmi-raw, ipmi-sel, ipmi-sensors. o ipmi-raw raw input/output style change to support luns and network functions. o bmc-info, ipmi-raw, ipmi-sel, ipmi-sensors out-of-band communication made more reliable. o Sensor reading added to ipmi-sel for better output o Intel 2.0 workarounds added to ipmipower. o Supermicro 2.0 workarounds added to ipmipower. o --wait-until-on, --wait-until-off, --retry-wait-timeout options added to ipmipower. o --delete-range option added to ipmi-sel o --flush-cache option added to ipmi-sel. o --sdr-cache-directory option added to ipmi-sel and ipmi-sensors. o Removed fish o Removed garpd o Various bug fixes throughout FreeIPMI. For Developers -------------- o IPMI 2.0 support added to libfreeipmi. o Added libipmiconsole. o ipmi-sensors, ipmi-sel, and bmc-config re-written in C. o Added OpenIPMI driver support to libfreeipmi. o Libfreeipmi Fiid interface re-implemented. o Libfreeipmi code significantly cleaned up. o In debug mode, packet dump, function trace, and various debugging added to libfreeipmi.