"ipmi_kcs3" name is not respected by default "channel_config.json" file

Konstantin Aladyshev aladyshev22 at gmail.com
Sat Oct 24 10:32:46 AEDT 2020

The current code in kcsbridged creates a Dbus object
"xyz.openbmc_project.Ipmi.Channel.ipmi_kcs3". And this name can't be
handled in ipmid with the default "channel_config.json" file.
Look at the code from the

int ChannelConfig::convertToChannelNumberFromChannelName(
    const std::string& chName)
    for (const auto& it : channelData)
        if (it.chName == chName)
            return it.chID;

This code compares "ipmi_kcs3" string to every channel name in the
"channel_config.json" file. And by default the channel for the kcs
interface is named 'SMS' in this file, so there would'n be any match
To use KCS interface I had to change the name for the channel 15 to
"ipmi_kcs3" like this:
  "15" : {
    "name" : "ipmi_kcs3",
    "is_valid" : true,
    "active_sessions" : 0,
    "channel_info" : {
      "medium_type" : "system-interface",
      "protocol_type" : "kcs",
      "session_supported" : "session-less",
      "is_ipmi" : true

Is the override for 'channel_config.json' a correct solution, or it
should be dealt in another way?
Does any board have a working KCS interface? How does others deal with
this situation?

Best regards,
Konstantin Aladyshev

More information about the openbmc mailing list