问题描述
Web下载系统串口数据,systemcom.tar解压后内容为NUL。
已知:
CPU串口使用UART0连接CPLD UART1, CPLD 将收到的数据透传给BMC UART3,需要修改哪些配置?
环境信息
-
操作系统:Ubuntu 24.04
-
软件版本:OpenUBMC2512LTS SP1
期望结果
Web下载系统串口数据,systemcom.tar解压后内容非空,为CPU串口数据。
Web下载系统串口数据,systemcom.tar解压后内容为NUL。
已知:
CPU串口使用UART0连接CPLD UART1, CPLD 将收到的数据透传给BMC UART3,需要修改哪些配置?
操作系统:Ubuntu 24.04
软件版本:OpenUBMC2512LTS SP1
Web下载系统串口数据,systemcom.tar解压后内容非空,为CPU串口数据。
答案内容由AI生成,仅供参考:
根据您描述的硬件连接(CPU串口UART0 → CPLD UART1 → BMC UART3)以及Web下载的 systemcom.tar 内容为空的问题,需要检查并修改以下配置,以确保系统串口数据记录功能正常工作。
SysComId(UartDynamicConfig)在 CSR配置中,找到 UartDynamicConfig 对象,设置 SysComId 属性,指示硬件上系统串口连接到了 BMC 的哪个 UART 口。
根据您的描述,系统数据最终输入到 BMC UART3,因此应将 SysComId 设置为 3(UART 口编号:0~15)。
# 示例:SysComId = 3 表示系统串口数据接在 BMC UART3 上
"UartDynamicConfig_0": {
"SysComId": 3,
"RawConfigData": ... // 从CPLD获取的原始串口参数
}
SerialManagement 建立系统串口录音连接在 SerialManagement 对象中,需要将 BMC UART3 配置为系统串口录音的接收端。
参考知识图谱中 SYS COM 的定义(Serial ID=17,DestinationId=0),可以创建一个从 系统串口源(CPU UART0)到 BMC UART3(DestinationId=3)的连接,并将 ConnectMode 设置为 1(单向录音连接)。
# 示例:将系统串口数据连接到 BMC UART3 进行录音
{
"SourceId": 0, // 系统串口源(CPU侧)
"DestinationId": 3, // BMC UART3
"ConnectMode": 1, // 单向连接(录音)
"Visible": false // 内部连接对外不可见
}
Serial Listen Switch)通过 Bmc.Kepler.Managers.UartData 接口,确保 Serial Listen Switch Enabled 属性为 true,否则数据不会被捕获到环形缓冲区。
# 通过总线接口设置(示例命令)
busctl set-property bmc.kepler.Managers /bmc/kepler/Managers/1/UartData bmc.kepler.Managers.UartData SerialListenSwitchEnabled b true
在系统内部,串口数据导出函数 ExportUartLogFunction 接受 Type 参数,建议使用 SYS COM 或 ALL 以导出系统通信日志数据。
若您在Web界面或Redfish调用中指定了其他类型(如 BMC COM),可能导致期望的数据未被收录。
如果 Web 界面 系统日志 → 系统串口数据记录功能 可以正常下载并包含内容,而“一键收集”结果为空(文档片段7),说明一键收集脚本可能在收集时机上未同步环形缓冲区数据。
可尝试在收集前 等待几秒 或通过 /opt/debug/busybox telnet localhost 进入 debug 模式后手动触发收集。
SerialPortDataEnabled 为 true(可通过Redfish查看 /redfish/v1/Managers/1/DiagnosticService)。SerialPortDataSize 为 2097152(2MB),若该值异常则数据可能未正确分配。download failed, the sol is disabled 等错误,确保 SOL(Serial Over LAN)已使能。如果以上配置均正确但内容依旧为空,则问题可能出在硬件链路(CPLD透传异常)或驱动侧未正确将 UART3 数据注入环形缓冲区,此时需要进一步排查 bmc_soc 组件日志或直接读取 /dev/ttyS3(BMC UART3)验证数据流。
一键收集中有内容吗
谢谢回复,一键收集里也是空的。
如果是用的默认社区的配置,我们之前也遇到过类似的问题,可以换一下bmc卡,不同批次的卡,用同一个包,有一些能收集,有一些不行,后来升级大版本之后,又全部都成功收集,怀疑是bmc卡更换需要sdk适配
感谢回复,升级大版本是升级到哪个版本,2603么。
可以尝试一下吧,或者换成之前能够成功收集的bmc卡,我们当时还是比较旧的版本2503升级成2509才能收集上来,只是有这么个怀疑方向 ![]()