【rmcpd】1.27.9版本进行 sol looptest 10000压力测试报错

执行命令为:
ipmitool -I lanplus -H <IP> -U <user> -P <passwd> sol looptest 10000

...
remain loop test counter: 8510
[SOL Session operational.  Use ~? for help]
remain loop test counter: 8509
[SOL Session operational.  Use ~? for help]
remain loop test counter: 8508
[SOL Session operational.  Use ~? for help]
remain loop test counter: 8507
SOL looptest failed: -1

rmcpd报错日志:

2025-06-03 11:25:49.150738 bmc_soc NOTICE: serial_mgmt.lua(152): Set serial direction to (PANEL COM <-> BMC COM) successfully
2025-06-03 11:25:49.186791 bmc_soc NOTICE: serial_mgmt.lua(328): Setting uart 1 interconnect with port 1
2025-06-03 11:25:49.227328 bmc_soc NOTICE: serial_mgmt.lua(328): Setting uart 2 interconnect with port 2
2025-06-03 11:25:49.313522 bmc_soc NOTICE: serial_mgmt.lua(328): Setting uart 3 interconnect with port 3
2025-06-03 11:25:49.358534 bmc_soc NOTICE: serial_mgmt.lua(328): Setting uart 4 interconnect with port 4
2025-06-03 11:25:49.445705 bmc_soc NOTICE: serial_mgmt.lua(328): Setting uart 5 interconnect with port 5
2025-06-03 11:25:49.454114 rmcpd ERROR: uart_mgmt.lua(84): Get sys baud failed: ioctl(GET_HOST_BAUDRATE_INFO) failed: Invalid argument, uart_index:1 (repeated 4 times)
2025-06-03 11:25:49.454350 rmcpd ERROR: init.lua(238): send rmcp plus message failed: invalid session
2025-06-03 11:25:49.469311 bmc_soc NOTICE: serial_mgmt.lua(328): Setting uart 0 interconnect with port 0
2025-06-03 11:25:49.514874 bmc_soc NOTICE: serial_mgmt.lua(328): Setting uart 6 interconnect with port 6
2025-06-03 11:25:49.552831 bmc_soc NOTICE: serial_mgmt.lua(328): Setting uart 1 interconnect with port 1
2025-06-03 11:25:49.594779 bmc_soc NOTICE: serial_mgmt.lua(328): Setting uart 7 interconnect with port 7
2025-06-03 11:25:49.596663 bmc_soc NOTICE: serial_mgmt.lua(348): reset uart connect successfully
2025-06-03 11:25:49.641008 bmc_soc NOTICE: serial_mgmt.lua(328): Setting uart 2 interconnect with port 2
2025-06-03 11:25:49.681754 bmc_soc NOTICE: serial_mgmt.lua(217): Setting uart 2 interconnect with port 2
2025-06-03 11:25:49.683385 bmc_soc NOTICE: serial_mgmt.lua(152): Set serial direction to (PANEL COM <-> BMC COM) successfully
2025-06-03 11:25:49.686101 rmcpd ERROR: init.lua(238): send rmcp plus message failed: invalid session (repeated 2 times)
2025-06-03 11:25:49.686302 rmcpd ERROR: uart_mgmt.lua(240): uart 5 close failed: uart port is not open:5
2025-06-03 11:25:49.717013 bmc_soc NOTICE: serial_mgmt.lua(328): Setting uart 3 interconnect with port 3
2025-06-03 11:25:49.765138 bmc_soc NOTICE: serial_mgmt.lua(328): Setting uart 4 interconnect with port 4

更新rmcpd为1.27.10版本后,进入DPU的SOL敲回车没反应,进入DPU SOL的命令如下:
ipmcset -t sol -d ac -v 5 0

主干版本为5.5分支,场内环境可复现。

当前日志信息只能看出来会话异常,一键收集的日志发送至邮箱 ouwenjian@huawei.com 吧。看描述是有两个问题,都发一份一键收集的日志吧。

一键式日志已发送,场内补发了问题2(rmcpd 1.27.10版本)的日志。

问题原因:在执行sol looptest过程中,在activate payload和deactivate payload切换间隙因从串口中读到数据返回给ipmitool工具,导致ipmitool端looptest流程出现失败。官方issue:https://github.com/ipmitool/ipmitool/issues/254
数据来源:os侧串口切换后根据/etc/issue返回的登录提示信息。
解决方案:
1、删掉/etc/issue下的登录提示信息。
2、looptest测试时,os下电。


实验了此方法,不行。使用了这个方法,删掉issue里面的内容,OS下电,默认的200圈sol looptest失败

根因同上,sol activate和deactivate间隙有sol数据返回客户端,导致客户端失败。已修改逻辑为先发送IPMI命令响应,再使能SOL发送,防止工具先收到SOL包,将SOL包作为命令响应。