[Question] How can we use underscore "_" in sensor name?

Heyi Guo guoheyi at linux.alibaba.com
Wed Sep 15 14:57:14 AEST 2021


Hi Johnathan,

The code in dbus-sensors will translate sensor name by replacing space " 
" to "_", e.g. ADCSensor.cpp:

53     Sensor(boost::replace_all_copy(sensorName, " ", "_"),

Then in phosphor-ipmi-host dbus-sdr/sensorcommands.cpp, it will try to 
revert "_" back to " ":

  419     std::replace(name.begin(), name.end(), '_', ' ');

The first conversion does nothing for our case, but the 2nd conversion 
will unconditionally convert "_" to space " ".

If we don't really forbid to use "_" in sensor names, I think we'd 
better replace space " " with %20 in dbus-sensors, and convert %20 back 
to " " in ipmi-host.

Thanks,

Heyi

On 2021/9/13 下午10:57, Johnathan Mantey wrote:
> Heyi,
>
> On 9/13/21 3:49 AM, Heyi Guo wrote:
>> Hi all,
>>
>> Can we use underscore "_" in IPMI sensor names? Now we see that "_" 
>> in sensor names will be replaced with space in the code, even if we 
>> really use "_" for sensor names in json configuration files.
>>
>
> Which layer is translating the "_" char?
> Are you referring to D-Bus?
> IPMITool?
> Some other locatioN?
>
> It would be helpful to know.
> As an example, D-Bus translates "-" to "%2D" and back because D-Bus, 
> or one of the D-Bus consumers can't accept the hyphen character.
>
> It is likely that the underscore character has some similar naming 
> convention issue.
>
> You may want to investigate using the same scheme to translate between 
> "_" and a "%5F" combination.
>
>> The background is that we used underscore "_" in sensor names in 
>> legacy BMC, and all the OOB software uses such names to get sensor 
>> data. Therefore we want to make it compatible for switching to OpenBMC.
>>
>> Is there any way to achieve this?
>>
>> Thanks,
>>
>> Heyi
>>
>


More information about the openbmc mailing list