Send Message
更新时间: 2025/06/26
在Gitcode上查看源码34h-发送消息(Send-Message)
修订记录
| openUBMC版本号 | 修订日期 | 修订内容 |
|---|---|---|
| 25.06 | 2025/06/26 | 初稿,新增命令详情 |
基本信息
功能说明
发送消息。
权限
命令信息
请求信息
| 字节顺序 | 域取值说明 |
|---|---|
| NetFn | App 06h |
| CMD | 34h |
| 1 | Channel Number [7:6] 00b=No tracking The BMC reformats the message for the selected channel but does not track the originating channel, sequence number, or address information. This option is typically used when software sends a message from the system interface to another media Software will typically use 'no tracking' when it delivers sends a message from the system interface to another channel, such as IPMB. In this case, software will format the encapsulated message so that when it appears on the other channel, it will appear to have been directly originated by BMC LUN 10b. See 6.12.1, BMC LUN 10b Routing 01b=Track Request The BMC records the originating channel, sequence number, and addressing information for the requester, and then reformats the message for the protocol of the destination channel. When a response is returned, the BMC looks up the requester's information and format the response message with the framing and destination address information and reformats the response for delivery back to the requester. This option is used for delivering IPMI Request messages from non-SMS (non-system interface) channels. See IPMI 2.0R1E3 6.12.3, Send Message Command with Response Tracking 10b=Send Raw. (optional) This option is primarily provided for test purposes. It may also be used for proprietary messaging purposes. The BMC simply delivers the encapsulated data to the selected channel in place of the IPMI Message data. Note that if the channel uses sessions, the first byte of the Message Data field must be a Session Handle. The BMC should return a non-zero completion code if an attempt is made to use this option for a given channel and the option is not supported. It is recommended that completion code CCh be returned for this condition 11b=reserved [5] 1b=Send message with encryption BMC will return an error completion code if this encryption is unavailable. 0b=Encryption not required The message will be sent unencrypted if that option is available under the given session. Otherwise, the message will be sent encrypted. [4] 1b=Send message with authentication BMC will return an error completion code if this authentication is unavailable. 0b=Authentication not required Note behavior is dependent on whether authentication is used is depending on whether the target channel is running an IPMI v1.5 or IPMI v2.0/RMCP+ session, as follows:- IPMI v1.5 sessions will default to sending the message with authentication if that option is available for the session- IPMI v2.0/RMCP+ sessions will send the message unauthenticated if that option is available under the session. Otherwise, the message will be sent with authentication [3:0] channel number to send message to |
响应信息
| 字节顺序 | 域取值说明 |
|---|---|
| 1 | Completion Code generic, plus additional command-specific completion codes: 80h=Invalid Session Handle. The session handle does not match up with any currently active sessions for this channel. If channel medium=IPMB, SMBus, or PCI Management Bus: (This status is recommended for applications that need to access low-level I2C or SMBus devices.) 81h=Lost Arbitration 82h=Bus Error 83h=NAK on Write |
| (2:N)* | Response Data This data will only be present when using the Send Message command to originate requests from IPMB or PCI Management Bus to other channels such as LAN or serial/modem. It is not present in the response to a Send Message command delivered via the System Interface. |
| *注:带小括号部分表示这部分内容可能不存在。 |
命令样例
发送消息
请求:
ipmicmd -k "0f 00 MM NN" smi 0响应:
0f MM NN