网页端远程上电的流程是什么?

我通过在ssh通过bmc.kepler.Chip.BlockIO接口直接通过smc发送短按命令,系统可以上电;但是通过下图中网页端的接口上电时,虽然会显示操作成功,但是系统并没有上电

image

查了一下log中的信息,通过命令时,短按命令不会报错

1970-01-01 14:49:59.050555 fructrl NOTICE: pwr_button.lua(51): [System:1]prepate to send short button signal through hwproxy Accessor
1970-01-01 14:49:59.054865 fructrl NOTICE: hotswap_state.lua(106): [System:1]Current event is FruActivated, state is M2, uptime: 10619s. [repeated 13 times in 310s from 1970-01-01 14:44:49.157552 to 1970-01-01 14:49:59.054865]
1970-01-01 14:50:00.551474 fructrl NOTICE: pwr_button.lua(55): [System:1]Notify fru0 cpld to send short button signal through hwproxy Accessor

但是通过网页时,log中会报一些错

1970-01-01 13:20:23.503224 fructrl NOTICE: pwr_button.lua(51): [System:1]prepate to send short button signal through hwproxy Accessor
1970-01-01 13:20:23.508207 fructrl NOTICE: hotswap_state.lua(106): [System:1]Current event is FruActivated, state is M2, uptime: 5243s.
1970-01-01 13:20:23.509431 fructrl NOTICE: hotswap_state.lua(110): [System:1]Move M2 to M3, uptime: 5243s.
1970-01-01 13:20:23.632812 thermal_mgmt NOTICE: fructl_data_keeping.lua(62): PowerState changed to ONING
1970-01-01 13:20:23.632955 sensor ERROR: sel_management.lua(1351): No need to process fructrl changes because boot not exist.
1970-01-01 13:20:23.635977 host_agent NOTICE: power_monitor.lua(33): power monitor: power state change to ONING
1970-01-01 13:20:23.635592 bios NOTICE: signal.lua(63): power state changed set_option_flag = 0, set_effective_flag = 0
1970-01-01 13:20:23.635981 bios ERROR: bios_service.lua(2112): bios_service: exist task running.
1970-01-01 13:20:23.637964 product_mgmt NOTICE: fructl_mdb.lua(65): PowerState changed to ONING
1970-01-01 13:20:23.640949 firmware_mgmt NOTICE: active_manage.lua(151): Systems PowerState changed to ONING
1970-01-01 13:20:25.010753 fructrl NOTICE: pwr_button.lua(55): [System:1]Notify fru0 cpld to send short button signal through hwproxy Accessor

这些错误会影响系统上电吗?是什么原因导致的这些错误?
以及这些错误是否跟上电流程有关?命令的形式是否比较简单粗暴导致少了一些条件判断之类的?

根据实验,用BlockIO接口的时候,长短按都可以实现:
长按 mdbctl call Smc_ExpBoardSMC_0101 bmc.kepler.Chip.BlockIO Write 0 0x8001a00 1 0x02
短按 mdbctl call Smc_ExpBoardSMC_0101 bmc.kepler.Chip.BlockIO Write 0 0x8001a00 1 0x01

但是用BitIO接口的时候,只有长按可以实现,短按无法实现:
长按:mdbctl call Smc_ExpBoardSMC_0101 bmc.kepler.Chip.BitIO Write 0 0x8001a00 1 0x2 1 0x1
短按:mdbctl call Smc_ExpBoardSMC_0101 bmc.kepler.Chip.BitIO Write 0 0x8001a00 1 0x1 1 0x1

请问这是为什么?

csr中目前长短按的模式配都是位读写

在csr中把短按改配成块读写后,在网页端进行强制下电操作后,系统会自动上电

AtomGit | GitCode - 全球开发者的开源社区,开源代码托管平台} 上下电常见问题定位指导 - bmc_core SIG - openUBMC 论坛,关于上下电流程的分析介绍可以看下这两篇,希望有帮助。

找了下你的错误应该是没有影响的,看样子还是smc的那块配置有问题,可以参考一下下面这个正常的打印,也对比一下其他的csr的配置。

fructrl NOTICE: fructrl_obj_mgnt.lua(264): [System:1]set poweron lock, pwronlocked=false, timeout=3000, appname=bios, reason=VerifyFlash

2025-11-12 02:23:40.469468 fructrl NOTICE: pwr_on_lock.lua(71): [System:nil]Update item successfully, appname=(bios), reason=(VerifyFlash), pwronlocked=(false), timeout=(3000)

2025-11-12 02:23:40.985694 fructrl NOTICE: pwr_on_lock.lua(143): [System:nil]Delete pwr_on_lock item, appname=(bios), reason=(VerifyFlash)

2025-11-12 02:23:41.044368 fructrl NOTICE: button_evt.lua(192): execute pwr button lock, val=(0)

2025-11-12 02:23:41.044783 fructrl NOTICE: button_evt.lua(74): The panel button is unsheild again due to the soft power on lock

2025-11-12 02:23:41.045482 fructrl NOTICE: pwr_on_lock.lua(149): [System:nil]PwrOnLocked has been unlocked

2025-11-12 02:23:41.939498 fructrl NOTICE: fructrl.lua(127): [System:1]Power on after all locks are unlocked.

2025-11-12 02:23:41.940355 fructrl NOTICE: hotswap_state.lua(89): [System:1]Current event is FruInsertionCriteriaMet, state is M1, uptime: 956s.

2025-11-12 02:23:41.940699 fructrl NOTICE: hotswap_state.lua(93): [System:1]Move M1 to M2, uptime: 956s.

2025-11-12 02:23:41.994525 bmc_core ERROR: file_securec.c(891): check_shell_special_character_s:cmd_str includes special character ‘>’ of shell command

2025-11-12 02:23:41.997626 fructrl NOTICE: fructrl.lua(141): [System:1]The poweron cmd is sent by the ipmi

2025-11-12 02:23:41.998131 fructrl NOTICE: fructrl.lua(74): [System:1]set poweron from ipmi flag to false

2025-11-12 02:23:41.998792 fructrl NOTICE: fructrl.lua(152): [System:1]execute power on

2025-11-12 02:23:42.001081 fructrl NOTICE: pwr_button.lua(51): [System:1]prepate to send short button signal through hwproxy Accessor

2025-11-12 02:23:42.032785 host_agent NOTICE: power_monitor.lua(33): power monitor: power state change to ONING

2025-11-12 02:23:42.035187 firmware_mgmt NOTICE: active_manage.lua(187): Systems PowerState changed to ONING

2025-11-12 02:23:42.036061 fructrl NOTICE: hotswap_state.lua(106): [System:1]Current event is FruActivated, state is M2, uptime: 957s.

2025-11-12 02:23:42.032176 thermal_mgmt NOTICE: base.lua(237): Object(/bmc/kepler/Systems/1/FruCtrl/FruCtrl_1_0_00) prop(PowerState) changed: ONING

2025-11-12 02:23:42.036538 fructrl NOTICE: hotswap_state.lua(110): [System:1]Move M2 to M3, uptime: 957s.

2025-11-12 02:23:42.027353 bios NOTICE: signal.lua(66): power state changed set_option_flag = 0, set_effective_flag = 0

2025-11-12 02:23:42.038799 bios ERROR: bios_service.lua(2423): bios_service: exist task running.

2025-11-12 02:23:42.040161 product_mgmt NOTICE: fructl_mdb.lua(65): PowerState changed to ONING

2025-11-12 02:23:42.094424 bmc_core ERROR: file_securec.c(891): check_shell_special_character_s:cmd_str includes special character ‘>’ of shell command

2025-11-12 02:23:42.145584 thermal_mgmt NOTICE: cooling_pid_intf.lua(166): Send target tempconfig to pid, cmd: 6 0 0 1 4 0

2025-11-12 02:23:43.376816 fructrl NOTICE: pwr_button.lua(55): [System:1]Notify fru0 cpld to send short button signal through hwproxy Accessor

2025-11-12 02:23:43.377468 fructrl NOTICE: fructrl.lua(68): [System:1]Set sys_reset_flag to true

2025-11-12 02:23:43.378283 fructrl NOTICE: fructrl.lua(167): [System:1]Powering on, the poweron timeout is (10) seconds

2025-11-12 02:23:45.767815 fructrl NOTICE: fructrl.lua(768): [System:1]Refresh system reset detected 1

2025-11-12 02:23:45.769894 fructrl NOTICE: sys_reset.lua(66): [System:1]detected sys reset 1

2025-11-12 02:23:45.770399 fructrl NOTICE: fructrl.lua(68): [System:1]Set sys_reset_flag to false

2025-11-12 02:23:45.777750 ums NOTICE: power_monitor.lua(46): power monitor: sys reset detected

2025-11-12 02:23:45.778166 ums NOTICE: ibma.lua(68): poweroff or osreset, close ums bma

2025-11-12 02:23:45.785356 ipmi_core NOTICE: host_checker.lua(162): detect host[1] reset occured, start the host checker…

2025-11-12 02:23:45.787021 ums NOTICE: sp.lua(509): poweroff, close ums

2025-11-12 02:23:45.786728 unknown_service NOTICE: btc.lua(165): set host checker flag true

2025-11-12 02:23:45.787348 ipmi_core NOTICE: host_checker.lua(168): [systemId:1]BT service is normal

2025-11-12 02:23:45.789052 ipmi_core NOTICE: host_checker.lua(173): set host[1] checker flag to true success

2025-11-12 02:23:45.791725 bios NOTICE: signal.lua(444): [bios]monitor power state: the power state is PowerCycle

2025-11-12 02:23:45.792217 bios NOTICE: signal.lua(319): [bios]init system(1) status

2025-11-12 02:23:45.800611 unknown_service NOTICE: image_service.lua(472): os reset, ready for screenshot and video recording

2025-11-12 02:23:45.808042 bmc_soc NOTICE: soc_mgmt.lua(480): OS reset or power-off is detected, cur_state: true, pre_state: true

2025-11-12 02:23:45.793136 event NOTICE: event_management.lua(1864): [Systemid1] was restarted by System.SystemRestartByCommand!

2025-11-12 02:23:45.812452 event ERROR: software_event.lua(302): add event System.SystemRestartByCommand failed, because not have event definition

2025-11-12 02:23:45.813467 event WARNING: init.lua(97): event_management.lua:1885 > event_management.lua:1874 > event_management.lua:1038: Incorrect value of property EventKeyId.

2025-11-12 02:23:45.814462 event ERROR: app_preloader.lua(66): co[thread: 0x67431df03780] abnormal exit, err: PropertyValueError: Incorrect value of property EventKeyId., traceback: stack traceback: ./opt/bmc/libmc/lualib/mc/app_preloader.lua:66: in function ‘’ /opt/bmc/skynet/lualib/skynet.lua: in function </opt/bmc/skynet/lualib/skynet.lua:0>

2025-11-12 02:23:45.816290 host_agent NOTICE: power_monitor.lua(40): reset monitor: sys reset detected to 1

2025-11-12 02:23:45.856553 unknown_service ERROR: video.lua(504): get all iframe num is NULL, power state is OFF

2025-11-12 02:23:45.874126 sensor NOTICE: sel_management.lua(688): add sel[{“SelData3”:0,“SelData2”:0,“SelData1”:199,“SelEventType”:111,“SensorNumber”:2,“SelMsgVersion”:4,“GenerateId”:32,“SensorType”:29,“SelType”:2,“RecordId”:201,“Timestamp”:1762914225,“RecordSeq”:563,“SubjectName”:“MainBoard”,“SensorId”:“DiscreteSensor_SysRestart_00”,“SensorName”:“SysRestart”}] successfully, record id is 201

2025-11-12 02:23:45.875269 sensor NOTICE: sensor_instance.lua(263): [DiscreteSensor_SysRestart_00] assert an event [event dir: 1]

2025-11-12 02:23:45.886455 redfish NOTICE: alarm.lua(644): received a sel[563]

2025-11-12 02:23:45.885690 event_policy NOTICE: synchronizer.lua(281): received a sel[563]

2025-11-12 02:23:46.148649 bios NOTICE: bios_object_mutihost.lua(332): bios_registry_version_update:(systemId:1)Bios RegistryVersion update to V2.66

2025-11-12 02:23:46.148954 bios NOTICE: bios_object_mutihost.lua(116): [bios]start async fetch component version info, system is 1

2025-11-12 02:23:46.157632 bios NOTICE: signal.lua(66): power state changed set_option_flag = 0, set_effective_flag = 0

2025-11-12 02:23:46.200076 bios ERROR: bios_service.lua(2423): bios_service: exist task running.

2025-11-12 02:23:46.202020 bios NOTICE: alarm_manager.lua(162): event_list is nil, no need recover, system id: 1

2025-11-12 02:23:46.202972 bios NOTICE: system_info_object.lua(117): system info: obj type: 1, need clear

2025-11-12 02:23:46.203999 bios NOTICE: system_info_object.lua(117): system info: obj type: 1, need clear

2025-11-12 02:23:46.228591 firmware_mgmt NOTICE: init.lua(317): start add rules

2025-11-12 02:23:46.229158 firmware_mgmt NOTICE: product_data.lua(85): add firmware match rules[BiosInPostStateHWSR] HWSR

2025-11-12 02:23:46.229698 firmware_mgmt NOTICE: product_data.lua(85): add firmware match rules[BiosInPostStateBMC] BMC

2025-11-12 02:23:46.235813 bios NOTICE: reset_lock.lua(43): Lock upgrade successfully

2025-11-12 02:23:46.236234 bios NOTICE: reset_lock.lua(72): host 1 Lock bmc success

2025-11-12 02:23:46.239532 bios NOTICE: signal.lua(413): [bios]multihost is false

2025-11-12 02:23:46.260042 bios NOTICE: upgrade_service.lua(757): [bios]power cycle effective upgrade no need activate bios, snapshot is table: 0x4f7baf296668

2025-11-12 02:23:46.329631 fructrl NOTICE: pg_signal.lua(77): ==== [System:1]PowerGDStatus changed to power on ====

2025-11-12 02:23:46.330322 fructrl NOTICE: pg_signal.lua(80): [System:1]bmc execute poweron set PwrStateBeforeACLost to true

2025-11-12 02:23:46.341890 product_mgmt NOTICE: fructl_mdb.lua(65): PowerState changed to ON

2025-11-12 02:23:46.346765 host_agent NOTICE: power_monitor.lua(33): power monitor: power state change to ON

2025-11-12 02:23:46.349624 firmware_mgmt NOTICE: active_manage.lua(187): Systems PowerState changed to ON

2025-11-12 02:23:46.352527 bios NOTICE: signal.lua(66): power state changed set_option_flag = 0, set_effective_flag = 0

2025-11-12 02:23:46.352901 bios ERROR: bios_service.lua(2423): bios_service: exist task running.

2025-11-12 02:23:46.360517 power_strategy NOTICE: fructl.lua(65): PowerState(system id: 1) changed from ONING to ON

2025-11-12 02:23:46.378100 fructrl NOTICE: ctrl_state.lua(87): [System:1]From Oning to NoAction.

2025-11-12 02:23:46.379139 fructrl NOTICE: hotswap_state.lua(136): [System:1]Current event is FruActivatedCompleted, state is M3, uptime: 961s.

2025-11-12 02:23:46.379561 fructrl NOTICE: hotswap_state.lua(140): [System:1]Move M3 to M4, uptime: 961s.

发了上电命令,但是没有上电成功。

- 日志中搜索`Notify cpld to send short button signal through hwproxy Accessor.`,这个打印代表已经向硬件送了短按中断。如果还未上电请找硬件定位。

- 请用该命令查询`ipmcget -t main -d poweronlock`,是否发生上电超时事件。如果回显为locked,则说明发生上电超时事件。

看state是不是unlock

    \*\*解决方案:\*\*

    1、如果只想恢复环境,可直接使用该命令清除\`ipmcset -t maintenance -d poweronlock -v clear\`。如清除后依然无法上电,尝试执行accycle,若依然无法恢复,请找硬件定位。

    2、需要定位根因,请找硬件

- 请确定是否存在上电锁。关键词`Update item successfully, appname`,可以判断是哪个组件发送的上电锁。

- **请检查固件版本是否配套,特别是CPLD版本。或将固件更新至最新版本**

@livein2ndworld 我是 bmc-core SIG 的 Maintainer,请问一下该问题是否已经确认解决,如果确认解决请标记一下解决方案;如果没有解决,请答复一下本问题当前的进展和下一步期望的处理

还没有解决,打算更新bmc版本试一下

你好,请问有没有解决这个问题呀? 请教下 那个 导航栏 里的电源按钮 的状态是如何获取的呀?

我看 服务器上下电 那里 也是和这个powerState的值有关

在sr文件里加了一个PGSignal的属性

好的,我试试,我的这个sr文件里也加了这个PGSignal,我再看看是哪里配置得有问题

我把这个Scanner_PowerGd配置了下,还是没有获取到正常的上电状态,还有啥其它地方需要注意不,我们这个是和CPLD那边通信获取的电源状态信息,0x55表示下电完成, 0xbb表示上电完成。

和这里的状态 返回值是不是有关系? 得在web_backend中适配这个电源状态值?

image

我感觉可能还是sr里缺东西,因为我也没改过别的东西,你看看图上面这些属性sr里有没有,这些都是必须有的

嗯, 这些对象我都在sr文件配置了,我再看看