Unable to execute `lan set 1 access off` IPMI command on the AMD EthanolX board
Kostr opened this issue · 0 comments
Kostr commented
I was woking with the openbmc-test-automation
framework and have noticed that one of the tests fails on my AMD EthanolX board. The test was executing lan set 1 access off
IPMI command. I've checked it on the BMC side and have discovered that the behaviour is persistent:
root@ethanolx:~# ipmitool -C 17 -p 623 lan set 1 access off
IPMI command failed: Unspecified error
Unable to Set Channel Access(non-volatile) for channel 1
The channel 1 is working and it is:
"1" : {
"name" : "eth0",
"is_valid" : true,
"active_sessions" : 0,
"channel_info" : {
"medium_type" : "lan-802.3",
"protocol_type" : "ipmb-1.0",
"session_supported" : "multi-session",
"is_ipmi" : true
}
},
The error comes from the setChannelAccessPersistData
function
From this part of code:
if (0 != setDbusProperty(networkIntfServiceName, networkIntfObj,
networkChConfigIntfName,
privilegePropertyString, privStr))
{
log<level::DEBUG>(
"Network interface does not exist",
entry("INTERFACE=%s", channelData[chNum].chName.c_str()));
return ccUnspecifiedError;
}
Here are the constants:
// TODO: Get the service name dynamically..
static constexpr const char* networkIntfServiceName =
"xyz.openbmc_project.Network";
static constexpr const char* networkIntfObjectBasePath =
"/xyz/openbmc_project/network";
static constexpr const char* networkChConfigIntfName =
"xyz.openbmc_project.Channel.ChannelAccess";
static constexpr const char* privilegePropertyString = "MaxPrivilege";
static constexpr const char* dBusPropertiesInterface =
"org.freedesktop.DBus.Properties";
static constexpr const char* propertiesChangedSignal = "PropertiesChanged";
So the setDbusProperty
call looks for xyz.openbmc_project.Channel.ChannelAccess
interface, but it appears that there is no such interface on my machine:
root@ethanolx:~# busctl tree xyz.openbmc_project.Network
└─/xyz
└─/xyz/openbmc_project
└─/xyz/openbmc_project/network
├─/xyz/openbmc_project/network/config
│ └─/xyz/openbmc_project/network/config/dhcp
├─/xyz/openbmc_project/network/eth0
│ ├─/xyz/openbmc_project/network/eth0/ipv4
│ │ ├─/xyz/openbmc_project/network/eth0/ipv4/548b9294
│ │ └─/xyz/openbmc_project/network/eth0/ipv4/f808aaa2
│ └─/xyz/openbmc_project/network/eth0/ipv6
│ └─/xyz/openbmc_project/network/eth0/ipv6/8e4e9faf
└─/xyz/openbmc_project/network/sit0
root@ethanolx:~# busctl introspect xyz.openbmc_project.Network /xyz/openbmc_project/network
NAME TYPE SIGNATURE RESULT/VALUE FLAGS
org.freedesktop.DBus.Introspectable interface - - -
.Introspect method - s -
org.freedesktop.DBus.ObjectManager interface - - -
.GetManagedObjects method - a{oa{sa{sv}}} -
.InterfacesAdded signal oa{sa{sv}} - -
.InterfacesRemoved signal oas - -
org.freedesktop.DBus.Peer interface - - -
.GetMachineId method - s -
.Ping method - - -
org.freedesktop.DBus.Properties interface - - -
.Get method ss v -
.GetAll method s a{sv} -
.Set method ssv - -
.PropertiesChanged signal sa{sv}as - -
xyz.openbmc_project.Common.FactoryReset interface - - -
.Reset method - - -
xyz.openbmc_project.Network.VLAN.Create interface - - -
.VLAN method su o -
Does my board lacks some support or is it a common problem?