Fix calling sol info command immediately after sol set command issue
Problem:
ipmitool sol info command doesn't reflect the value set by ipmitool sol set command after being called consecutively after ipmitool sol set command
Root Cause:
Lack of updating the latest dbus property value to sol mananger
Solution:
Add updateSOLParameter() method in getConfParams() function.
Test:
ipmitool -I lanplus -H BMC-IP -U BMC-user -P BMC-password -C 17 sol info
Info: SOL parameter 'Nonvolatile Bitrate (5)' not supported
Info: SOL parameter 'Volatile Bitrate (6)' not supported
Set in progress : set-complete
Enabled : true
Force Encryption : true
Privilege Level : USER
Character Accumulate Level (ms) : 100
Character Send Threshold : 1
Retry Count : 7
Retry Interval (ms) : 100
Volatile Bit Rate (kbps) : IPMI-Over-Serial-Setting
Non-Volatile Bit Rate (kbps) : IPMI-Over-Serial-Setting
Payload Channel : 1 (0x01)
Payload Port : 623
ipmitool -I lanplus -H BMC-IP -U BMC-user -P BMC-password -C 17 sol set character-accumulate-level 0x5
ipmitool -I lanplus -H BMC-IP -U BMC-user -P BMC-password -C 17 sol info
Info: SOL parameter 'Nonvolatile Bitrate (5)' not supported
Info: SOL parameter 'Volatile Bitrate (6)' not supported
Set in progress : set-complete
Enabled : true
Force Encryption : true
Force Authentication : true
Privilege Level : USER
Character Accumulate Level (ms) : 25
Character Send Threshold : 1
Retry Count : 7
Retry Interval (ms) : 100
Volatile Bit Rate (kbps) : IPMI-Over-Serial-Setting
Non-Volatile Bit Rate (kbps) : IPMI-Over-Serial-Setting
Payload Channel : 1 (0x01)
Character Accumulate Level (ms) = 25ms = character-accumulate-leverl * accIntervalFactor = 5 * 5
Signed-off-by: Connie Yin <conniey@ami.com>
Change-Id: I987c2f36492418e70dedf4c4f6448821f3c95f79
diff --git a/command/sol_cmds.cpp b/command/sol_cmds.cpp
index f8371fb..c06e310 100644
--- a/command/sol_cmds.cpp
+++ b/command/sol_cmds.cpp
@@ -79,6 +79,9 @@
response->completionCode = IPMI_CC_OK;
response->paramRev = parameterRevision;
+ // Update latest property values from dbus to sol mananger
+ sol::Manager::get().updateSOLParameter(ipmi::convertCurrentChannelNum(
+ ipmi::currentChNum, getInterfaceIndex()));
if (request->getParamRev)
{
return outPayload;