openbmc开发12:添加传感器(AD)

1 查看传感器信息

通过qemu以本地端口映射方式运行编译后的镜像,访问bmcweb页面的网址是:https://localhost:2443/,如果想用IP地址启动请参考:openbmc开发4:启动运行编译镜像。(这里以网桥方式启动,以ip地址方式访问BMC)

登录后bmcweb后,选择Health,然后点击Sensor,可以看到传感器信息。

 发现只有温度传感器信息,并没有adc采集的电压信息。

2 查看传感器配置文件

进入meta-live/meta-test/recipes-phosphor/sensors目录,然后看一下目录下的文件,如图所示,发现没有adc电压采集的配置文件。

 3 增加adc传感器信息

3.1 修改设备树

提取linux内核源码:

devtool modify linux-aspee

 该命令会在build/workspace/下生成如下配置文件和源码文件。

修改build/sources/linux-aspee/arch/arm/boot/dts/xxx.dts文件:

xxx.dts文件是machinie/<machine>.cfg配置文件中“KERNEL_DEVICETREE”字段所指定,修改内核源码中的文件要和该字段指定的dtb相匹配。我这里修改的是aspeed-bmc-opp-test.dts文件,增加adc通道、并打开add设备。

3.2 增加配置文件

在meta-live/meta-test/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon文件夹下增加iio-hwmon.conf文件,文件内容如下,这里增加了四个电压传信息。如需增加更多采集通道,需要在设备树中打开对应的通道即可。

增加配置文件后的sensors下的目录结构 

 

3.3 修改recipes

修改recipes-phosphor/sensors/phosphor-hwmon_%.bbappend文件,增加如下内容,以在bmc镜像中增加iio-hwmon.conf文件。 

 3.4 从新编译镜像

为了确保生效先执行清除命令

bitbake obmc-phosphor-image -c clean

然后在执行编译命令

bitbake obmc-phosphor-image

4 验证结果

启动编译后的镜像,登录web,在Sensor页面可以看到增加的adc传感器值。可以看到增加了TEST_12V、TEST_5V、TEST_3V3、TEST_1V四个电压值。

5 电压传感器工作方式

1、配置文件名

<path>/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon.conf

2、配置文件参数

LABEL_inx——是显示名称

GAIN_inx——电压增益(即放大倍数)

WARNLO_inx——低告警值

WARNHI_inx——高告警值

CRITHI_inx——严重低告警值

CRITLO_inx——严重高告警值

后面的告警值是实际值乘以1000,即放大了1000倍,系统在计算时候会自行转换。

3、配置文件在镜像中位置

配置文件在bmc镜像文件系统中的路径:/etc/default/obmc/hwmon/iio-hwmon.conf

4、电压传感器值

bmc的adc采集的对应通道的电压值在:/sys/class/hwmon/hwmonx/in1_input文件中,这里分别对应四个通道adc采集的电压值。

/sys/class/hwmon/hwmon1是根据使用变化的,如有fan、温度信息,则是hwmon2。如果没有温度和fan会变成hwmon0。 

5、工作方式

在内核启动前会先读取dtb设备数中的设备,按照设备树中的参数创建adc设备,内核启动加载驱动后,在文件系统中创建/sys/class/hwmon1/inx_input文件,这里可以看到一共创建了in1_input到in4_input四个文件,这是在设备树中打开的采集通道。最后,启动phosphor-howmon-readd程序,读取/etc/default/obmc/hwmon/iio-hwmon.conf下的配置文件和/sys/class/hwmon/hwmon1/inx_input文件,即可在web页面显示电压值。

 6 创建电压传感器步骤

1、修改dts,打开对应的adc设备通道。

2、在/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/下按照格式增加新的配置文件iio-hwmon.conf。

3、修改recipes文件,使编译后的镜像中添加改配置文件。

4、重新编译镜像。

猜你喜欢

转载自blog.csdn.net/qq_34160841/article/details/107294530