1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
|
IPMIUTIL PROJECT TODO LIST:
IPV6 for IPMI LAN on Windows:
Currently support IPV6 on Linux, but need to implement for Windows also
. implement IPV6 for Windows (#ifdef WIN32 case)
PARTIAL in ipmiutil-3.1.4 07/18/2019 with HAVE_IPV6, not fully enabled
Thread-safe changes for IPMI LAN:
Change ipmicmd.c/ipmilan.c to be thread-safe if accessing multiple nodes.
Currently it is only conditionally safe, if threads access the same node.
Will require adding a context struct param to the ipmi_cmd*() funcs.
May need to add new thread-safe functions to retain back-compatibility.
PARTIAL in ipmiutil-2.9.0, multiple nodes in sequence is fixed
. need to change to context structure for ipmilan
Add an option/variant of canonical output for CSV (delimiter = ',')
The current delimiter for -c is '|'
More automated testing
Started this in ipmiutil-2.6.6 with testipmi.sh, but it could be
more extensive and be tested on more types of IPMI firmware.
PARTIAL in ipmiutil-2.6.6 with testipmi.sh
SPD decoding:
. handle DDR4 SPD format
. expose SPD decoding from file/buffer, not just FRU
c handle DDR3 SPD 1.0 format
PARTIAL in ipmiutil-2.9.1
Add additional IPMI 2.0 commands from addendum:
c Get/Set System Info
c Get/Set SEL UTC Offset (requested 4/22/13)
. Forwarded Command
PARTIAL in ipmiutil-2.8.1, adding Get/Set System Info functions
PARTIAL in ipmiutil-3.0.3, adding Get/Set SEL UTC Offset functions
Add more DCMI 1.5 commands for NetFn 0x2C to ipmiutil
. Get/Set DCMI Configuration Parameters (DCMI 1.5)
. Get/Set Thermal Limit (DCMI 1.5)
Add support for MAC OSX AppleBMC.kext driver
Not yet implemented, pending some documentation from Apple.
Resolve MS ipmidrv.sys WBEM access memory leak:
This bug has been reported to Microsoft in Oct 2012 as shown below.
The workaround is to use the Intel imbdrv.sys driver instead.
See the ipmiutil UserGuide section 5.1 for details.
https://sourceforge.net/p/ipmiutil/support-requests/11/
https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/ca4df181-7fd4-4912-83a0-5896b030e3ca/latest-version-of-microsoft-ipmi-driver-ipmidrvsys?forum=wdk
OPEN - no update/fix from Microsoft
Remove assert() calls from lanplus code
Need to improve error handling and remove all assert() calls from
the lib/lanplus/ code: lanplus.c lanplus_crypt.c lanplus_crypt_impl.c
This requires test cases for the assert instances.
PARTIAL in ipmiutil-2.4.0, removed 2 asserts from lanplus.c
PARTIAL in ipmiutil-2.7.0, removed 1 more assert from lanplus.c
PARTIAL in ipmiutil-2.8.8, more from lanplus_crypt.c/lanplus_crypt_impl.c
Add a function to send ctl-alt-del through SOL console
Although this is seldom used in a serial console environment, it
could be useful. To do this, the one-character escape sequence
would need to be changed to a 2 character escape sequence.
Also need a method to insert the key sequence in the console.
PARTIAL in ipmiutil-2.5.0 includes the 2-character escape sequence
and a send_break function.
------------------------------------------------------------------------------
IPMIUTIL COMPLETED TODO TASKS:
Add subcommand to consolidate user functions
user list (shows max,enabled, lists all users)
user enable <user_id> [chan]
user disable <user_id>
user set name <user_id> <username>
user set password <user_id> [<password>]
user set priv <user_id> <priv_level> [chan]
COMPLETE in ipmiutil-3.0.3 03/24/2017
Test SuperMicro DIMM event logic (pending bad DIMM)
COMPLETE in ipmiutil-2.9.9, revised code implemented
Add support for openssl-1.1.0 for fedora
COMPLETE in ipmiutil-3.0.1
Add OEM Lenovo SEL decoding
COMPLETE in ipmiutil-3.0.1
Add OEM Lenovo sensor decoding
COMPLETE in ipmiutil-3.0.1
Add HP-UX support
PARTIAL in ipmiutil-2.8.4
COMPLETE in ipmiutil-2.9.8
stdout/stderr debug messages mixed
. have a variable for stderr and if -x debug, set it to stdout.
. implemented in util/subs.c lprintf() based on log level
COMPLETE in ipmiutil-2.9.7
Add pkg-config support
COMPLETE in ipmiutil-2.9.5 (in configure.ac)
Add support for a MAC OSX client
It should work with minor compile-time adjustments.
We need a system running OSX on which to build and test this.
Changes to compile on MACOS submitted to SVN on 04/12/2013
Support for AppleBMC.kext not yet implemented, pending documentation.
COMPLETE in ipmiutil-2.9.1
Add snmptrap functionality to getevent -r example script
COMPLETE in ipmiutil-2.9.1
Add DCMI 1.1 commands for NetFn 0x2C to ipmiutil
(0xDC defines the body code)
The command codes under this NetFn are:
c Get DCMI Capabilities Info
c Get/Set Management Controller Identifier String
c Get/Set Asset Tag
c Get DCMI Sensor Info
c Get Temperature Readings
c Get Power Reading
c Get/Set Power Limit
The remainder DCMI specified commands are from the IPMI specification
IMPLEMENTED in ipmiutil-2.8.1
COMPLETE (power options tested) in ipmiutil-2.8.4
Perform retries on retries for some get/set lan parameters
COMPLETE in ipmiutil-2.8.1 by using set_max_kcs_loops()
Add an oem_hp.c module with decode_sensor_hp() to
interpret HP discrete sensors with analog readings
COMPLETE in ipmiutil-2.8.2
Add systemd scripts for ipmi_port, ipmiutil_evt, etc.
COMPLETE in ipmiutil-2.7.8, not default but installed in /usr/share/ipmiutil
ipmi_port.service, ipmiutil_evt.service,
ipmiutil_asy.service, ipmiutil_wdt.service
Add IPv6 support
There is at least one IPMI BMC that has added IPv6 support, so
it would be nice to include support for it in ipmiutil.
Need access to a BMC that supports IPv6 for testing, or
someone to help test it whose BMC supports IPv6.
COMPLETE in ipmiutil-2.7.8, with contribution from Rajaganesh87
Add an option to 'ipmiutil fru' that discovers every child MC FRU also,
like the isensor.c code does for fchild.
COMPLETE in ipmiutil-2.7.5 (ifru -e)
Pass event severities to syslog, instead of just writing them as 'info'.
COMPLETE in ipmiutil-2.7.5
Add OEM code for ekanalyzer
COMPLETE in ipmiutil-2.7.0
Add code for FRU multi-record area decoding and FRU PICMG records
COMPLETE in ipmiutil-2.7.0
Add OEM code for Sun
COMPLETE in ipmiutil-2.7.0
Add OEM code for Fujitsu
PARTIAL in ipmiutil-2.6.9 with iRMC S2 SEL decoding
COMPLETE in ipmiutil-2.7.0 with iRMC S2 LED routines
Add SHA256 and Cipher Suite 17 support
Current max Cipher Suite ID is 14, but IPMI 2.0 Errata 4 and DCMI 1.1
add these.
COMPLETE in ipmiutil-2.6.9
Add OEM code for fwum, hpm, and oem_kontron features.
COMPLETE in ipmiutil-2.6.9
Add more ATCA/picmg functionality.
Currently have std IPMI functions, plus fru and sensor and blue LED
capability for ATCA/picmg bladed systems.
Need to add some additional picmg-specific functionality, like:
properties - get PICMG properties
addrinfo - get address information
activate - activate a FRU
deactivate - deactivate a FRU
policy get - get the FRU activation policy
policy set - set the FRU activation policy
portstate get - get port state
portstate set - set port state
led prop - get led properties
led cap - get led color capabilities
led state get - get led state
led state set - set led state
power get - get power level info
power set - set power level
and firmware firewall functions
COMPLETE: added ipicmg.c and ifirewall.c in ipmiutil-2.6.5
Add older 1.5 SOL protocol capability
For ipmiutil sol with IPMI 1.5, the older (Intel-only) 1.5 SOL protocol
is implemented and will connect, but the 1.5 SOL data packets are not
right yet. This is in progress. Note that the standard IPMI 2.0 SOL
protocol is entirely separate and still works fine.
Lower priority right now. If you want to use this feature, email
ipmiutil-developers(at)lists.sourceforge.net
CANCELLED - Intel 1.5 SOL is too old to matter any more. It was
only supported on SE7501WV2 motherboards from <=2003.
Fix the API interface to /dev/ipmi0 on FreeBSD
This FreeBSD ipmi driver is different than Linux.
We have support for ipmiutil driverless mode on FreeBSD.
COMPLETE in ipmiutil-2.5.2, support ipmi driver and driverless w FreeBSD 7.x
Add a delimeted-output option for all utilities
Would make parsing the output in scripts easier.
08/25/08 added ':' delimiters to lan/serial config output in 2.2.0
PARTIAL in ipmiutil-2.2.0 - added 'ipmiutil config'
DONE in ipmiutil-2.4.1 for sensor and lan canonical output with -c
COMPLETE in ipmiutil-2.5.0 added -c to bmchealth, fruconfig
Add support for a DOS build
CANCELLED - use Linux boot media instead, DOS is not as good.
Add detection for Windows SOL when Command Prompt window is >25 rows.
DONE with AnsiTerm.cpp in ipmiutil-2.5.0
Build a bootable Linux CD with ipmiutil for use with other random OSs.
Note that with ipmiutil-1.7.5, any bootable Linux CD will do, since
the direct I/Os no longer require an IPMI driver.
We may still want to build and supply an example (like TRB or SLAX).
2/06/07 Built an initial SLAX CD as http://ipmiutil.sf.net/ipmiutil.iso.
This ISO is too big to remain posted on sourceforge.net, however.
Need documentation on how to build an ISO to finish this.
11/21/08 posted SLAX ISO as http://ipmiutil.sf.net/FILES/newgrab.iso
COMPLETE
Add Solaris support
Needed because configuring IPMI LAN and PEF with ipmitool is too
complicated.
COMPLETE in ipmiutil-2.3.0 for Solaris 10 bmc driver
Add output logging to ipmiutil sol
This is easy with stdio in Linux, but not possible in Windows without
adding a logging option in the code, since Windows uses the video
console buffer instead of stdio.
COMPLETE in ipmiutil-2.2.2
Add support for Microsoft Windows IPMI driver
Currently only support Intel Windows imbdrv.sys driver.
Requires adding WMI infrastructure.
COMPLETED 09/12/08 in ipmiutil-2.2.1 for 32-bit Win2003R2
Add support for remote soft reset via OpenIPMI driver
Currently 'ipmiutil reset -o -N' requires 'getevent -a' and the imb driver.
Requires adding async callback for OpenIPMI driver to getevent.c
COMPLETED 09/12/08 in ipmiutil-2.2.1
Add a function to save/restore BMC IPMI settings
This would combine lan, serial, and fru parameters in a key-value-pair
file that could be restored automatically.
COMPLETED 08/25/08 in ipmiutil-2.2.0
Eliminate duplication in binaries
Build only one Meta-command for ipmiutil, with static libs if possible.
Existing other commands would be sym-links or shortcuts, e.g.
showsel [args] => ipmiutil sel [args]
COMPLETED 03/31/08 in ipmiutil-2.1.0 for Linux
Handle Windows command prompt terminal emulation for SOL
The Windows isolconsole.exe works, but the terminal emulation logic is
not finished. It works ok to Linux command-line and vi, but looks
bad for BIOS/POST. This is in progress. There are other (non-open)
tools available for Windows (e.g. Intel dpccli) in the interim.
The Linux isolconsole works fine, since the terminal emulation is
handled by the Linux termio.
COMPLETE in ipmiutil-2.0.0, no known issues
Do an OS Agent for hwreset to do BMC LAN remote soft-shutdown.
Perhaps using an xinetd socket to not have a service always resident,
or sending a kill signal to init from the driver level would work.
i.e. kill(1,SIGINT); /*SIGINT==2*/
COMPLETE in ipmiutil-2.0.0 with hwreset & "getevent -a" for IMB driver.
Do a configure option with/without lanplus support, since this adds so
much size to the binary object code.
COMPLETE in ipmiutil-1.8.2
Include IPMI v2.0 RMCP+ LAN protocol also.
(IPMI 2.0 commands were previously supported, however.)
COMPLETE in ipmiutil-1.8.0
Add more boot parameters to hwreset, for things like:
. hwreset: Set which device to boot from (CD, Disk, LAN/PXE, etc.)
COMPLETE in ipmiutil-1.7.0
. Forcing the boot to continue (i.e. no POST pause) - BIOS setting
REJECTED - too platform specific for this project, see platform vendor
. Set which OS/Software version/target to be downloaded for PXE (?)
REJECTED - too platform specific for this project, see platform vendor
Make a real-time sensor monitoring tool to monitor a specified SDR for
sensor readings every second.
. partially complete with sensor -i option
. sensor 1.39 has -L option for looping
COMPLETE in ipmiutil-1.7.3 (sensor 1.39)
Add encrypt/decrypt options to pefconfig & tmconfig, using RSA or DSA public
keys, perhaps with the gnupg.org library.
There is some concern about increasing the size of the utilities for
encryption, when this functionality can be scripted instead.
POSTPONED - perhaps someone else would like to help?
COMPLETE - using -E to get password from IPMI_PASSWORD environment
variable works, and does not put the password in the
command line or script.
ADDED -Y option to allow user to enter password at prompt w ipmiutil-1.9.0
Improve BMC LAN functionality and diagnosis with some custom IPMI LAN logic.
The built-in IPMI LAN also makes the Windows version able to use it.
COMPLETE in ipmiutil-1.7.0 with ipmilan.c
pefconfig: Fix fSOL20 logic to work on supported platforms, currently
returns completion code 0x80.
COMPLETE in ipmiutil-1.6.5
Update hpiutil source for 1.1.9 changes
COMPLETE in ipmiutil-1.6.3
Add pre-built Windows *.exe files to the ipmiutil.sf.net home page.
COMPLETE in ipmiutil-1.6.3
sensor: Add an option to display timestamp for this run. Write it on each SDR line if -w is also specified.
COMPLETE in ipmiutil-1.5.6
fruconfig: Get FRU data from all FRU devices, not just baseboard.
COMPLETE in ipmiutil-1.5.6
Add User settings, like tmconfig has, to pefconfig
- added more Get User Access messages to pefconfig v1.30 in ipmiutil 1.4.9
- added -u option with ipmiutil 1.5.3
COMPLETE
|