bakbad
(Bakbad)
1
各位好,
我在升级到openUBMC后,也适配了电源这部分的sr,但是webui界面的导航栏上的电源按钮没有显示成绿色(实际CPU侧已完成上电),而且服务器上下电处也提示没有上电
我看了下webui组件的源码,这里是通过获取一个powerState的变量的值来进行状态读取的。
另外我的sr文件中,也适配了这个地方:
offset已经适配成了和板载cpld获取上电状态的偏移(我们的板卡是通过板载CPLD来获取上电状态的,上下电的操作也是通过给板载CPLD发送SMC命令字实现的,不是通过啥独立的PSU电源模块)
另外已知通过mdbctl call命令是可以实现板卡的上下电 以及状态信息获取的。
请问下我的这些步骤还缺少了啥吗?导致上电 下电的状态获取不对,是和CPLD那边获取的状态值 有关吗?
bakbad
(Bakbad)
2
我们这个是和CPLD那边通信获取的电源状态信息,0x55表示下电完成, 0xbb表示上电完成。
和这里的状态 返回值是不是有关系? 这个得在web_backend组件中适配这个电源返回状态值吗?还是在sr文件中进行返回值的适配就好
对于webui组件来说,powerState为On的时候按钮才会显示为绿色,可以在相应页面摁下f12打开开发者工具观察接口返回
bakbad
(Bakbad)
4
这个我知道,我打开了F12看了下,PowerState获取到的状态值是OFF, 请问下该怎么去排查呢? 不太明白为啥拿到的OFF的值,因为CPU侧已经上电 了的。正常应该是 显示 上电才对。
bakbad
(Bakbad)
5
i2c和cpld那边的通信没问题,能通过mdbctl的命令方式进行上下电, 也能获取到上下电的状态,我是想知道这个PowerState设置为ON或者OFF ,是否和返回的上下电的状态值 有关
grlxw
(xijie)
7
PowerState和后电信号(OS的上下电状态)有关,上下电组件初始化时会从scanner中读出后电状态的值,设置PowerState初始值。具体代码可以参考fructrl组件,文件为pg_signal.lua,函数为set_powerstate_init_value。
bakbad
(Bakbad)
8
好的,我看下这块,Scanner_PowerGood这个我也在sr中适配了的,看下为啥初始化的时候设置存在问题
bakbad
(Bakbad)
10
好的,感谢,已经解决了。现在能正常的显示上电状态了
请问具体是怎么解决的,标记一下答案或者附一下解决方法呢
bakbad
(Bakbad)
12
就是还有个Accessor_PowerGood的对象没配置好,另外也要注意下cpld那边返回的上下电 状态值,因为代码里面是用0和1来分别表示下电 和 上电, 所以如果cpld返回的上电状态值如何不是1,就要用expr()表达式处理下返回结果,或者根据返回值改fructrl组件中的判断逻辑也行。
大致是这么回事。