Get BBU/Power Info
更新时间: 2026/08/06
在Gitcode上查看源码Get BBU/Power Info
Change History
| openUBMC Version | Revision Date | Description |
|---|---|---|
| 25.06 | 2025/06/26 | Initial draft: add command details |
Basic Information
Function Description
Obtaining BBU Information
Privilege
USERROLE_POWERMGNT
Command Information
Request Information
| Byte | Data Field |
|---|---|
| NetFn | 30h |
| CMD | 93h |
| 1:3 | Manufacturer ID, LS Byte first. The length is fixed to three bytes. For example, if the vendor ID is 2011 and the corresponding hexadecimal value is 0x0007DB, the first byte is DBh, the second byte is 07h, and the third byte is 00h. |
| 4 | Sub command, sub command=55h |
| 5 | ID: BBU ID |
| 6 | Parameter selector. For details, see Table 1. |
| 7:8 | Reading offset The offset parameter can only be selected from the BBU pmbus command word. For details, see the BBU pmbus command word table in Table 2. |
| 9 | Reading length The value varies with the reading offset. For details, see the BBU pmbus command word table. |
Response Information
| Byte | Data Field |
|---|---|
| 1 | Completion Code |
| 2:4 | Manufacturer ID, LS Byte first. The length is fixed to three bytes. For example, if the vendor ID is 2011 and the corresponding hexadecimal value is 0x0007DB, the first byte is DBh, the second byte is 07h, and the third byte is 00h. |
| 5:N | Data |
Reference Information
Table 1 BBU/power supply configuration parameters
| Functions | Parameter Selector | Parameter data-get | Parameter data-set |
|---|---|---|---|
| Use the pmbus command word to access BBU information. | 0x01 | Request: Read offset: byte7 = CMD (refer to the BBU PMBUS protocol table), byte8 = 0 Lenth:byte9=Length of the BBU data to be read Response: Data: data read back from the BBU | Request: Write offset: byte7=CMD (see the BBU PMBUS protocol table), byte8=0 Length: byte9=Length of the data written to the BBU Data: data written to the BBU (see the BBU PMBUS protocol table) |
| Disabling the BBU Backup Power Function | 0x02 | NA | Request: Write offset: 0x0000, Length: 0x00, Data: 0x01: Power backup is stopped. |
| Enabling or Disabling the BBU Online Test Function | 0x03 | NA | Request: Write offset: 0x0000, Length: 0x00 Data: 0xAA: The online test function is enabled. 0x55: Stop the online test function. |
| The pmbus command word is used to access power information. | 0x04 | Request: Read offset: byte7=CMD (see the Power PMBUS protocol table), byte8=0 Length: byte9=length of the read power data Response: Data: data read back from the power supply | Request: Write offset: byte7=CMD (see the Power PMBUS protocol table), byte8=0 Length: byte9=length of the written power data Data: data written to the power supply (see the Power PMBUS protocol table) |
| The pmbus command word is used to access the information about the power transfer board. | 0x05 | Request: Read offset: byte 7=CMD (refer to the PMBus protocol table of the power transfer board), byte 8=0 Length: byte 9=Length of the data to be read from the power transfer board Response: Data: data read back from the power adapter board | NA |
Table 2 Command word definition
| Function | CMD_ID | Command name | Command Definition | Indicates the data content. | Data type | Length | W/R |
|---|---|---|---|---|---|---|---|
| Real-time data interface | 0xC0 | READ_CML | Module communication status | Communication status [uint8, defined by referring to the standard PMBUS1.2 specification] | Byte | 1 | R |
| 0xC1 | READ_WORK_STATE | Working Status of the Module | Working status [uint8 bits 0-3: 0 (not used), 1 (initial), 2 (idle), 3 (charging), 4 (full charging), 5 (discharging), 6 (online test), 7 (protection), 8 (power-off); bits 4-7: secondary status] | Byte | 1 | R | |
| 0xC2 | READ_TEMP | Temperature | Board temperature 1 + board temperature 2 + electrochemical cell temperature 1 + electrochemical cell temperature 2 + reserved temperature 1 + reserved temperature 2. The unified format is [LINEAR11(-2)-°C]. | Block | 14 | R | |
| 0xC3 | READ_VOLT | Voltage | Bus voltage + discharge voltage + charge voltage + battery voltage + reserved voltage Unified format: [LINEAR16(-9)-V] | Block | 12 | R | |
| 0xC4 | READ_CURR | Rectifier current | Charging current + Discharge current + Battery current + Reserved current 1 + Reserved current 2 Unified format: [LINEAR11(-4)-A] | Block | 10 | R | |
| 0xC5 | READ_CELL_VOLT | Module electrochemical cell voltage | Cell 1 voltage + Cell 2 voltage + Cell 3 voltage + Cell 4 voltage + Cell 1 reserved voltage + Cell 2 reserved voltage Unified format: [LINEAR16(-9)-V] | Block | 12 | R | |
| 0xC6 | READ_ALARM_BIT | The module is in alarm state. | Alarm status [uint32: type defined by byte. For details, see Table 3]. | Block | 4 | R | |
| 0xC7 | READ_BATT_CAPABILITY | Module power backup capability | Transient capacity [uint16-W] + Stable capacity [uint16-10 mWh] + Full capacitance [uint16-10 mWh] + Remaining capacity [uint16-10mWh]+RSOC[uint8- %]+SOH[uint8- %] | Block | 10 | R | |
| 0xC8 | READ_BATT_STATUS | Module battery status | SafetyAlert+SafetyStatus+PFAlert+PFStatus+OperationStatus+ChargingStatus+GaugingStatus+Resv Unified format [uint32] | Block | 32 | R | |
| Function control interface | 0xCC | CTRL_FORCE_ALM | Forcible alarm | Mask [uint8 bit0: 5V fault, bits 1-7 reserved] + command [0-clear, non-0-set] | Word | 2 | W/R |
| 0xCD | CTRL_FUNCTION | Function Control Items | Mask [uint8 bit0: power-off; bit1: pre-charging; bit2: online test; bit3: bits 4-7 are reserved] + command [0-DISABLE, non-0-ENABLE] | Word | 2 | W/R | |
| Inherent parameter interface | 0xD0 | ATTR_VER | Software & Hardware Versions | Module flag code [uint8] + PCB version [uint8] + Software version [ASCII*11byte, "ab.cd.ef (g) Txy"] | Block | 13 | R |
| 0xD1 | ATTR_E_LABLE_FRAME_ID | Frame sequence number of the electronic label of the module | Frame sequence number [uint16, starting from 0] | Word | 2 | W/R | |
| 0xD2 | ATTR_E_LABLE | Module e-label | Frame sequence number [uint16] + frame data [uint8*Len] | Block | 130 | W/R | |
| 0xD3 | ATTR_SN | Rectifier ESN | Serial number [ASCII*32] | Block | 32 | R | |
| 0xD4 | ATTR_BATT_INFO | Battery pack label information | Manufacturer name [ASCII16] + Product name [ASCII16] + Production date [uint8*3] | Block | 35 | R | |
| 0xD5 | ATTR_BATT_SN | Battery pack serial number | Serial number [ASCII*32] | Block | 32 | R | |
| 0xD6 | ATTR_DIE_ID | Chip die ID | Chip die ID (uint8*20) | Block | 20 | R | |
| Parameter configuration interface | 0xD9 | CONF_RTC | Clock synchronization | Real-time time [uint8*6-year (starting from 2000) month day hour minute second] | Block | 6 | W/R |
| 0xDA | CONF_WORK_TIME | Execution Duration | Running time [uint32-hour] | Block | 4 | W/R | |
| 0xDB | CONF_DISCHAR_TIMES | Reads the discharge times. | Module discharge times [uint16] + battery pack discharge times [uint16] (cannot be modified) | Block | 4 | W/R | |
| 0xDC | CONF_LEARNING_TIME | Latest Test End Time | End time [uint8*6] | Block | 6 | R | |
| 0xDD | CONF_DISCHAR_PARA | Latest Discharge Parameter | Discharge time [uint8*6] + Discharge duration [uint16-s] + Discharge capacity [uint16-10mWh] + Average current [LINEAR11(-4)-A] + Cut-off voltage [LINEAR16(-9)-V] | Block | 14 | R | |
| Interface for Reading Logs | 0xE0 | LOG_READ_FORMAT | Log format (reserved) | Log format: [ASCII*n]-"Data name 1[Type]+Space+Data name 2[Type]+... ",eg."Vout[U16- %d] Iout[L11%d] Safety[U32%X]" | Block | Variable | R |
| 0xE1 | LOG_READ_ROM | Memory log reading | Log data 1 + log data 2. When there is no log data, the value is 0xFF. | Block | 128 | R | |
| 0xE2 | LOG_READ_FLASH_NUM | Log Rereading | Number of reread logs [uint16] | Word | 2 | W/R | |
| 0xE3 | LOG_READ_FLASH | Historical log reading | Log data 1 + log data 2. When there is no log data, the value is 0xFF. | Block | 128 | R | |
| Equipment commissioning port | 0xE5 | EQUIP_MODE | Test Mode | Control command [0xAA: ENABLE, 0x55: DISABLE]. Disabled by default. | Byte | 1 | W/R |
| 0xE6 | EQUIP_CTRL | Port SATA control register | Mask [ uint8 bit0: LED_R, bit1: LED_G, bit2: bbu_ok, bit3: bbu_alm, bit4: bbu_run, bit5: bbu_kill, bit6: HDD_5V_PG, bit7 reserved] + command [0-DISABLE, non-0-ENABLE] | Word | 2 | W/R | |
| 0xE7 | EQUIP_CALIBRATION | Calibration control | Control command [0xAA: recalibrate; 0x55: clear calibration] | Byte | 1 | W | |
| Querying Calibration Results | AD reference source [LINEAR16(-9)-V] + charging current offset [LINEAR11(-4)-A] + discharge current offset [LINEAR11(-4)-A] + reserved [uint16*12] | Block | 32 | R | |||
| 0xE9 | DCIP_STATE | Chip CRACK Query | Bits 1-7: reserved Bit 0: Crack Fault 1 valid | Byte | 1 | R | |
| Automated test interface | 0xEA | TEST_MODE | Test simulation | Control command [0xAA: ENABLE, 0x55: DISABLE], disabled by default | Byte | 1 | W/R |
| 0xEB | TEST_STATUS_SIMU | Status simulation | Mask [uint8 0: not controlled; 1: controlled] + command [uint8 bit0: fully charged, bits 1-7]. 1: set; 0: cleared | Word | 2 | W/R | |
| 0xEC | TEST_ALM_THRESHOLD | Data simulation | Data type [uint8] + data value [uint16]. For details, see Table 4. | Block | 3 | W | |
| Data [uint16*16]. For details, see Table 4. | Block | 32 | R | ||||
| Software loading interface. For details, see Secondary Power Supply Software Upgrade PMBus Communication Specifications V1.5. | 0xFB | SOFT_LOAD_INFO | Loading information query | Loading information [uint8*36] | Block | 36 | R |
| 0xFC | SOFT_LOAD_CTRL | Loading process control | Control command action[uint8]+software ID[uint8] | Word | 2 | W | |
| 0xFC | SOFT_LOAD_RESULT | Plugin Running Status | Execution result [uint16] | Word | 2 | R | |
| 0xFD | SOFT_LOAD_DATA | Data loading and transmission | Frame sequence number [uint16] + frame data [uint8*Len] | Block | 130 | W |
Table 3 Alarm bit definition
| bit 00 | The board is faulty. | Soft-start short circuit | When the soft-start function is disabled, if Vout is greater than (Vin x 0.68 – 0.5 V) (the voltage difference is less than 2 V) for 1 second, the alert is triggered. | 1 |
|---|---|---|---|---|
| bit 01 | Soft-start open circuit | After the soft-start function is enabled, if Vout is greater than Vin + 2 V for 1 second, the alert is triggered. | 3 | |
| bit 02 | Combiner disconnection | If ORING Vin is greater than Vout + 0.3 V for 3 seconds and the power is shut down, the alert is triggered (locked). | 5 | |
| bit 03 | Power fault 1 | During the first voltage boost phase, if Vout(Vref-0.05V, Vref+0.05V) lasts for 1 second, the alert is triggered. | 7 | |
| bit 04 | Power fault 2 | During the first voltage boost phase, if Vout(Vref-0.05V, Vref+0.05V) lasts for 1 second, the alert is triggered. | 9 | |
| bit 05 | Charge overcurrent OST | When the CHG_OC hardware OST signal is detected and the power is shut down, the alert is triggered (locked). | 11 | |
| bit 06 | Charge overvoltage OST | When the CHG_OV hardware OST signal is detected and the power is shut down, the alert is triggered (locked). | 13 | |
| bit 07 | Discharge overcurrent OST | When the DSG_OC hardware OST signal (about 135 A) is detected and the power is shut down, the alert is triggered (locked). | 15 | |
| bit 08 | Discharge overvoltage OST | When the DSG_OV hardware OST signal (about 14.7 V) is detected and the power is shut down, the alert is triggered (locked). | 17 | |
| bit 09 | Slow discharge overcurrent | If Idsg is greater than 60 A for 3 seconds, the alert is triggered (locked). | 19 | |
| bit 10 | - | - | - | 21 |
| bit 11 | - | - | - | 23 |
| bit 12 | Battery fault | Communication faults | The communication between the MCU and the battery pack fails. | 25 |
| bit 13 | Failure fault | When a PF permanent fault returned by the BQ chip occurs, the alert is triggered. | 27 | |
| bit 14 | Protection fault | When a protection fault returned by the BQ chip occurs, the alert is triggered. | 29 | |
| bit 15 | 31 | |||
| bit 16 | External fault | Service life expiration | When the battery capacity is less than the threshold or the battery pack delivery time exceeds the threshold for 3 seconds, the alert is triggered. When the battery capacity is greater than the hysteresis for 3 seconds, the alert is cleared. | 33 |
| bit 17 | Level-1 high temperature | When the temperature is higher than the threshold for 1 second, the alert is triggered. When the temperature is lower than the hysteresis for 1 second, the alert is cleared. | 35 | |
| bit 18 | Level-2 high temperature | When the temperature is higher than the threshold for 10 seconds, the alert is triggered, and cannot be cleared in any cases. | 37 | |
| bit 19 | Low temperature | The software repository is not in use. | 39 | |
| bit 20 | Hard drive 5 V fault | The software repository is not in use. | 41 | |
| bit 21 | 43 | |||
| bit 22 | 45 | |||
| bit 23 | 47 | |||
| bit 24 | External pre-warning | Service life pre-expiration | When the battery capacity is less than the threshold or the battery pack delivery time exceeds the threshold for 3 seconds, the alert is triggered. When the battery capacity is greater than the hysteresis for 3 seconds, the alert is cleared. | 49 |
| bit 25 | 51 | |||
| bit 26 | 53 | |||
| bit 27 | 55 | |||
| bit 28 | 57 | |||
| bit 29 | 59 | |||
| bit 30 | 61 | |||
| bit 31 | 63 |
Table 4 Definition of data simulation
| No. | Definition | Format | Unit |
|---|---|---|---|
| 0 | Energy Alarm Threshold for Service Life Pre-Expiration | uint16 | 10mWh |
| 1 | Service life expiration energy alarm threshold | uint16 | 10mWh |
| 2 | Service life expiration alarm threshold | uint16 | month |
| 3 | Alarm Threshold of Service Life Pre-Expiration Time | uint16 | month |
| 4 | Level 1 high temperature alarm threshold | int16 | ℃ |
| 5 | Level 2 high temperature alarm threshold | int16 | ℃ |
| 6 | Low Temperature Alarm Threshold | int16 | ℃ |
| 7 | Cell temperature simulation | int16 | ℃ |
| 8 | Board temperature simulation | int16 | ℃ |
| 9 | Battery pack voltage simulation | uint16 | mV |
| 10 | Reserved | - | - |
| 11 | Reserved | - | - |
| 12 | Reserved | - | - |
| 13 | Reserved | - | - |
| 14 | Reserved | - | - |
| 15 | Reserved | - | - |
| 16 | Reserved | - | - |
Command Example
Obtain the communication status of the BBU module on the BMC.
Request:
bash
ipmicmd -k "0f 00 30 93 db 07 00 55 00 01 c0 00 01" smi 0Response:
text
0f 31 00 93 00 db 07 00 00