George Keishing | e7e9171 | 2021-09-03 11:28:44 -0500 | [diff] [blame] | 1 | #!/usr/bin/env python3 |
George Keishing | d2795d6 | 2018-02-04 23:12:23 -0600 | [diff] [blame] | 2 | |
| 3 | r""" |
George Keishing | dcf746b | 2018-02-06 12:43:44 -0600 | [diff] [blame] | 4 | IPMI raw commands table: |
George Keishing | d2795d6 | 2018-02-04 23:12:23 -0600 | [diff] [blame] | 5 | |
| 6 | - Define IPMI interface index, commands and expected output. |
| 7 | |
| 8 | """ |
Nagarjun B | dee719b | 2023-05-27 22:53:01 +0530 | [diff] [blame] | 9 | |
| 10 | from robot.libraries.BuiltIn import BuiltIn |
| 11 | |
George Keishing | 45511e8 | 2019-10-15 01:26:55 -0500 | [diff] [blame] | 12 | # The currently supported cipher list. |
Joy Onyerikwu | 004ad3c | 2018-06-11 16:29:56 -0500 | [diff] [blame] | 13 | # Refer: |
| 14 | # openbmc/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipe |
| 15 | # s-phosphor/ipmi/phosphor-ipmi-host/cipher_list.json |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 16 | valid_ciphers = ["17"] |
| 17 | unsupported_ciphers = ["1", "2", "15", "16"] |
George Keishing | 39967eb | 2018-04-30 11:36:23 -0500 | [diff] [blame] | 18 | |
George Keishing | d2795d6 | 2018-02-04 23:12:23 -0600 | [diff] [blame] | 19 | IPMI_RAW_CMD = { |
| 20 | # Interface name |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 21 | "power_supply_redundancy": { |
George Keishing | d2795d6 | 2018-02-04 23:12:23 -0600 | [diff] [blame] | 22 | # Command action type |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 23 | "Get": [ |
George Keishing | d2795d6 | 2018-02-04 23:12:23 -0600 | [diff] [blame] | 24 | # raw command, expected output(s), comment |
| 25 | "0x04 0x2d 0x0b", |
| 26 | "00 00 01 00", |
| 27 | "Byte position 3rd LSB e.g. 01 indicates disabled", |
| 28 | "00 00 02 00", |
| 29 | "Byte position 3rd LSB e.g. 02 indicates enabled", |
Steven Sombar | 27c1ad4 | 2018-09-11 14:44:25 -0500 | [diff] [blame] | 30 | "00 40 02 00", |
| 31 | "40 is scanning enabled and 02 indicates redundancy enabled", |
George Keishing | d2795d6 | 2018-02-04 23:12:23 -0600 | [diff] [blame] | 32 | ], |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 33 | "Enabled": [ |
George Keishing | d2795d6 | 2018-02-04 23:12:23 -0600 | [diff] [blame] | 34 | # raw command, expected output, comment |
| 35 | "0x04 0x30 0x0b 0x00 0x00 0x02 0x00 0x00 0x00 0x00 0x00 0x00", |
| 36 | "none", |
| 37 | "Enabled nibble position 6th LSB e.g. 0x2", |
| 38 | ], |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 39 | "Disabled": [ |
George Keishing | d2795d6 | 2018-02-04 23:12:23 -0600 | [diff] [blame] | 40 | # raw command, expected output, comment |
| 41 | "0x04 0x30 0x0b 0x00 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00", |
| 42 | "none", |
| 43 | "Enabled nibble position 6th LSB e.g. 0x1", |
| 44 | ], |
Rahul Maheshwari | abe13af | 2018-02-15 22:42:08 -0600 | [diff] [blame] | 45 | }, |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 46 | "power_reading": { |
| 47 | "Get": [ |
Rahul Maheshwari | abe13af | 2018-02-15 22:42:08 -0600 | [diff] [blame] | 48 | # raw command, expected output(s), comment |
| 49 | "0x2c 0x02 0xdc 0x01 0x01 0x00", |
| 50 | "dc d5 00 d5 00 d5 00 d5 00 00 00 00 00 00 00 00 00 00", |
| 51 | "Byte position 2nd LSB e.g. d5 Instantaneous power readings", |
| 52 | ], |
Rahul Maheshwari | 0eb33f0 | 2018-04-10 02:31:54 -0500 | [diff] [blame] | 53 | }, |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 54 | "conf_param": { |
| 55 | "Enabled": [ |
Rahul Maheshwari | 0eb33f0 | 2018-04-10 02:31:54 -0500 | [diff] [blame] | 56 | # raw command, expected output, comment |
| 57 | "0x2c 0x12 0xdc 0x02 0x00 0x01", |
| 58 | "dc", |
| 59 | "Enabled nibble position 6th LSB e.g. 0x01", |
| 60 | ], |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 61 | "Disabled": [ |
Rahul Maheshwari | 0eb33f0 | 2018-04-10 02:31:54 -0500 | [diff] [blame] | 62 | # raw command, expected output, comment |
| 63 | "0x2c 0x12 0xdc 0x02 0x00 0x00", |
| 64 | "dc", |
| 65 | "Disable nibble position 6th LSB e.g. 0x00", |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 66 | ], |
Tony Lee | 160aa87 | 2020-02-12 16:11:39 +0800 | [diff] [blame] | 67 | }, |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 68 | "SEL_entry": { |
| 69 | "Reserve": [ |
Tony Lee | 160aa87 | 2020-02-12 16:11:39 +0800 | [diff] [blame] | 70 | # raw command, expected output, comment |
| 71 | "0x0a 0x42", |
| 72 | "27 00", |
| 73 | "27 is Reservation ID, LSB, 00 Reservation ID, MSB ", |
chithrag | 0a8c878 | 2022-03-01 12:35:00 +0000 | [diff] [blame] | 74 | ], |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 75 | "Get_SEL_Time": [ |
chithrag | 0a8c878 | 2022-03-01 12:35:00 +0000 | [diff] [blame] | 76 | # raw command |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 77 | "0x0a 0x48", |
chithrag | 0a8c878 | 2022-03-01 12:35:00 +0000 | [diff] [blame] | 78 | ], |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 79 | "Set_SEL_Time": [ |
chithrag | d7e009b | 2022-03-01 12:20:57 +0000 | [diff] [blame] | 80 | # raw command, expected output(s) |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 81 | "0x0a 0x49", |
| 82 | "rsp=0xd5", |
| 83 | "not supported in present state", |
| 84 | "rsp=0xc7", |
| 85 | "Request data length invalid", |
chithrag | d7e009b | 2022-03-01 12:20:57 +0000 | [diff] [blame] | 86 | ], |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 87 | "Clear_SEL": [ |
chithrag | d7e009b | 2022-03-01 12:20:57 +0000 | [diff] [blame] | 88 | # raw command, expected output(s) |
| 89 | "0x0a 0x47", |
| 90 | "0x43 0x4c 0x52 0xaa", |
| 91 | "sel clear", |
| 92 | "Clearing SEL", |
| 93 | "rsp=0xc5", |
| 94 | "Reservation cancelled or invalid", |
| 95 | "0x43 0x4c 0x52 0x00", |
| 96 | ], |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 97 | "SEL_info": [ |
chithrag | d7e009b | 2022-03-01 12:20:57 +0000 | [diff] [blame] | 98 | # raw command |
| 99 | "0x0a 0x40" |
chithrag | 0a8c878 | 2022-03-01 12:35:00 +0000 | [diff] [blame] | 100 | ], |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 101 | "Create_SEL": [ |
ganesanb | a8aee23 | 2023-04-08 12:17:15 +0000 | [diff] [blame] | 102 | # raw command, expected output, comment |
| 103 | "0x0a 0x44 0x00 0x00 0x02 0x00 0x00 0x00 0x00", |
| 104 | "0x04", |
chithrag | 0a8c878 | 2022-03-01 12:35:00 +0000 | [diff] [blame] | 105 | "0x00 0xa0 0x04 0x07", |
| 106 | ], |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 107 | "Get_SEL_Entry": [ |
chithrag | d7e009b | 2022-03-01 12:20:57 +0000 | [diff] [blame] | 108 | # raw command |
| 109 | "0x0a 0x43 0x00 0x00", |
| 110 | "0x00 0xff", |
| 111 | ], |
Tony Lee | 3fdd31e | 2020-02-15 11:21:40 +0800 | [diff] [blame] | 112 | }, |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 113 | "Self_Test_Results": { |
| 114 | "Get": [ |
Tony Lee | 3fdd31e | 2020-02-15 11:21:40 +0800 | [diff] [blame] | 115 | # raw command, expected output(s), comment |
| 116 | "0x06 0x04", |
| 117 | "56 00", |
| 118 | "56h = Self Test function not implemented in this controller.", |
| 119 | ] |
| 120 | }, |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 121 | "Device GUID": { |
| 122 | "Get": [ |
Tony Lee | 3fdd31e | 2020-02-15 11:21:40 +0800 | [diff] [blame] | 123 | # raw command, expected output(s), comment |
| 124 | "0x06 0x08", |
| 125 | "01 70 9b ae da 6f dd 9c b4 4c 36 be 66 c8 49 28", |
| 126 | "Get GUID bytes 1 through 16.", |
Tony Lee | 3fdd31e | 2020-02-15 11:21:40 +0800 | [diff] [blame] | 127 | ] |
Tony Lee | c03c8e2 | 2020-03-25 13:41:07 +0800 | [diff] [blame] | 128 | }, |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 129 | "LAN_Config_Params": { |
| 130 | "Get": [ |
Tony Lee | c03c8e2 | 2020-03-25 13:41:07 +0800 | [diff] [blame] | 131 | # raw command, expected output, comment |
| 132 | "0x0c 0x02", |
| 133 | "11 02", |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 134 | ( |
| 135 | "11 is Parameter revision, 02 is Configuration parameter data" |
| 136 | " e.g. Cipher Suite Entry count" |
| 137 | ), |
chithrag | 4ad123a | 2022-04-12 19:26:05 +0000 | [diff] [blame] | 138 | ], |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 139 | "Set": [ |
chithrag | 4ad123a | 2022-04-12 19:26:05 +0000 | [diff] [blame] | 140 | # raw command, expected output, error response |
| 141 | "0x0c 0x01", |
| 142 | "11 00", |
| 143 | "Unknown (0x82)", |
| 144 | "Invalid data field in request", |
| 145 | ], |
Tony Lee | 6c998f7 | 2020-03-09 18:28:35 +0800 | [diff] [blame] | 146 | }, |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 147 | "Payload": { |
| 148 | "Get_Payload_Activation_Status": [ |
Tony Lee | 6c998f7 | 2020-03-09 18:28:35 +0800 | [diff] [blame] | 149 | # raw command, expected output(s), comment |
| 150 | "0x06 0x4a 0x01", |
| 151 | "01 00 00", |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 152 | ( |
| 153 | "1st byte is instance capacity, last two bytes is activation" |
| 154 | " status of instances" |
| 155 | ), |
Tony Lee | 6c998f7 | 2020-03-09 18:28:35 +0800 | [diff] [blame] | 156 | ], |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 157 | "Activate_Payload": [ |
Tony Lee | 6c998f7 | 2020-03-09 18:28:35 +0800 | [diff] [blame] | 158 | # raw command, expected output(s), comment |
| 159 | "0x06 0x48 0x01 0x01 0xc6 0x00 0x00 0x00", |
| 160 | "00 00 00 00 ff 00 ff 00 6f 02 ff ff", |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 161 | ( |
| 162 | "Last two bits are payload vlan number, - FFFFh if VLAN" |
| 163 | " addressing is not used" |
| 164 | ), |
Tony Lee | 6c998f7 | 2020-03-09 18:28:35 +0800 | [diff] [blame] | 165 | ], |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 166 | "Deactivate_Payload": [ |
Tony Lee | 6c998f7 | 2020-03-09 18:28:35 +0800 | [diff] [blame] | 167 | # raw command, expected output(s), comment |
| 168 | "0x06 0x49 0x01 0x01 0x00 0x00 0x00 0x00", |
| 169 | "", |
| 170 | "Line feed only", |
| 171 | ], |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 172 | "Get_Payload_Instance_Info": [ |
Tony Lee | 6c998f7 | 2020-03-09 18:28:35 +0800 | [diff] [blame] | 173 | # raw command, expected output(s), comment |
| 174 | "0x06 0x4b 0x01 0x01", |
| 175 | "00 00 00 00 00 00 00 00 00 00 00 00", |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 176 | ( |
| 177 | "When the payload is activated, the first four bytes are the" |
| 178 | " session ID,otherwise it should be 00." |
| 179 | ), |
nagarjunb22 | a2255de | 2022-05-25 19:15:10 +0530 | [diff] [blame] | 180 | ], |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 181 | "Get_User_Access_Payload": [ |
nagarjunb22 | a2255de | 2022-05-25 19:15:10 +0530 | [diff] [blame] | 182 | # raw command, |
| 183 | "0x06 0x4d" |
| 184 | ], |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 185 | "Set_User_Access_Payload": [ |
nagarjunb22 | a2255de | 2022-05-25 19:15:10 +0530 | [diff] [blame] | 186 | # raw command, |
| 187 | "0x06 0x4c" |
| 188 | ], |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 189 | "Get_Channel_Payload_Version": [ |
nagarjunb22 | 93e6e24 | 2022-06-10 21:36:19 +0530 | [diff] [blame] | 190 | # raw command, |
| 191 | "0x06 0x4F" |
| 192 | ], |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 193 | "Get_Channel_Payload_Support": [ |
nagarjunb22 | 93e6e24 | 2022-06-10 21:36:19 +0530 | [diff] [blame] | 194 | # raw command, |
| 195 | "0x06 0x4E" |
| 196 | ], |
Nagarjun | e94e540 | 2022-01-19 15:26:27 -0500 | [diff] [blame] | 197 | }, |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 198 | "BIOS_POST_Code": { |
| 199 | "Get": [ |
Nagarjun | e94e540 | 2022-01-19 15:26:27 -0500 | [diff] [blame] | 200 | # raw command, expected output, comment |
| 201 | "0x30 0xe9", |
| 202 | "", |
| 203 | "Response bytes will vary in length depending on state of system", |
| 204 | "0x89", |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 205 | "error response byte when host is powered off", |
Nagarjun | e94e540 | 2022-01-19 15:26:27 -0500 | [diff] [blame] | 206 | ] |
nagarjunb22 | cfb2c41 | 2022-03-15 15:49:27 +0530 | [diff] [blame] | 207 | }, |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 208 | "Device ID": { |
| 209 | "Get": [ |
chithrag | 8a17c49 | 2022-03-01 12:53:44 +0000 | [diff] [blame] | 210 | # raw command, error response, error code |
| 211 | "0x06 0x01", |
| 212 | "Error: Unable to establish IPMI v2 / RMCP+ session", |
| 213 | "0xc7", |
nagarjunb22 | cfb2c41 | 2022-03-15 15:49:27 +0530 | [diff] [blame] | 214 | ] |
| 215 | }, |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 216 | "Cold Reset": { |
| 217 | "reset": [ |
nagarjunb22 | cfb2c41 | 2022-03-15 15:49:27 +0530 | [diff] [blame] | 218 | # raw command |
| 219 | "0x06 0x02" |
| 220 | ] |
| 221 | }, |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 222 | "lan_parameters": { |
| 223 | "get_ip": [ |
nagarjunb22 | cfb2c41 | 2022-03-15 15:49:27 +0530 | [diff] [blame] | 224 | # raw command |
Nagarjun B | dee719b | 2023-05-27 22:53:01 +0530 | [diff] [blame] | 225 | "0x0c 0x02 0x" |
| 226 | + BuiltIn().get_variable_value("${CHANNEL_NUMBER}") |
| 227 | + " 0x03 0 0", |
nagarjunb22 | cfb2c41 | 2022-03-15 15:49:27 +0530 | [diff] [blame] | 228 | ], |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 229 | "get_ip_src": [ |
nagarjunb22 | cfb2c41 | 2022-03-15 15:49:27 +0530 | [diff] [blame] | 230 | # raw command |
Nagarjun B | dee719b | 2023-05-27 22:53:01 +0530 | [diff] [blame] | 231 | "0x0c 0x02 0x" |
| 232 | + BuiltIn().get_variable_value("${CHANNEL_NUMBER}") |
| 233 | + " 0x04 0 0", |
nagarjunb22 | cfb2c41 | 2022-03-15 15:49:27 +0530 | [diff] [blame] | 234 | ], |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 235 | "get_dot1q": [ |
nagarjunb22 | cfb2c41 | 2022-03-15 15:49:27 +0530 | [diff] [blame] | 236 | # raw command |
Nagarjun B | dee719b | 2023-05-27 22:53:01 +0530 | [diff] [blame] | 237 | "0x0c 0x02 0x" |
| 238 | + BuiltIn().get_variable_value("${CHANNEL_NUMBER}") |
| 239 | + " 0x14 0 0", |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 240 | ], |
nagarjunb22 | cfb2c41 | 2022-03-15 15:49:27 +0530 | [diff] [blame] | 241 | }, |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 242 | "SDR_Info": { |
| 243 | "get": [ |
nagarjunb22 | cfb2c41 | 2022-03-15 15:49:27 +0530 | [diff] [blame] | 244 | # raw command |
| 245 | "0x04 0x20 1" |
| 246 | ] |
| 247 | }, |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 248 | "Chassis_status": { |
| 249 | "get": [ |
nagarjunb22 | cfb2c41 | 2022-03-15 15:49:27 +0530 | [diff] [blame] | 250 | # raw command |
| 251 | "0x00 0x01" |
| 252 | ] |
| 253 | }, |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 254 | "SEL_Info": { |
| 255 | "get": [ |
nagarjunb22 | cfb2c41 | 2022-03-15 15:49:27 +0530 | [diff] [blame] | 256 | # raw command |
| 257 | "0x0a 0x40" |
| 258 | ] |
| 259 | }, |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 260 | "Watchdog": { |
leet | de9356e | 2022-03-23 01:39:29 +0000 | [diff] [blame] | 261 | # Command action type |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 262 | "Get": [ |
leet | de9356e | 2022-03-23 01:39:29 +0000 | [diff] [blame] | 263 | # raw command, expected output(s), comment |
| 264 | "0x06 0x25", |
| 265 | "05 00 00 00 64 00", |
| 266 | "don't log bit enabled", |
| 267 | "85 00 00 00 64 00", |
| 268 | "don't log bit disabled", |
| 269 | "05 00 00 00 64 00", |
| 270 | "stop bit stop", |
| 271 | "45 00 00 00 64 00", |
| 272 | "stop bit resume", |
| 273 | "01 00 00 00 64 00", |
| 274 | "timer use FRB2", |
| 275 | "02 00 00 00 64 00", |
| 276 | "timer use POST", |
| 277 | "03 00 00 00 64 00", |
| 278 | "timer use OS", |
| 279 | "04 00 00 00 64 00", |
| 280 | "timer use SMS", |
| 281 | "05 00 00 00 64 00", |
| 282 | "timer use OEM", |
| 283 | "05 00 00 00 64 00", |
| 284 | "pre-timeout interrupt None", |
| 285 | "05 20 00 00 64 00", |
| 286 | "pre-timeout interrupt NMI", |
| 287 | "05 00 00 00 64 00", |
| 288 | "timeout action None", |
| 289 | "05 01 00 00 64 00", |
| 290 | "timeout action Reset", |
| 291 | "05 02 00 00 64 00", |
| 292 | "timeout action PowerDown", |
| 293 | "05 03 00 00 64 00", |
| 294 | "timeout action PowerCycle", |
| 295 | "01 00 00 02 00 00", |
| 296 | "timeout flag FRB2", |
| 297 | "02 00 00 04 00 00", |
| 298 | "timeout flag POST", |
| 299 | "03 00 00 08 00 00", |
| 300 | "timeout flag OS", |
| 301 | "04 00 00 10 00 00", |
| 302 | "timeout flag SMS", |
| 303 | "05 00 00 20 00 00", |
| 304 | "timeout flag OEM", |
| 305 | "05 00 00 00 30 35 30 35", |
| 306 | "Get should return 13.6 seconds", |
| 307 | "05 00 00 00 ff ff ff ff", |
| 308 | "Bit 6 not set when timer stopped", |
| 309 | "0x06 0x25 0x00", |
| 310 | "Get with one extra byte", |
| 311 | ], |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 312 | "Set": [ |
leet | de9356e | 2022-03-23 01:39:29 +0000 | [diff] [blame] | 313 | # raw command, expected output, comment |
| 314 | "0x06 0x24 0x05 0x00 0x00 0x00 0x64 0x00", |
| 315 | "none", |
| 316 | "don't log bit enabled", |
| 317 | "0x06 0x24 0x85 0x00 0x00 0x00 0x64 0x00", |
| 318 | "none", |
| 319 | "don't log bit disabled", |
| 320 | "0x06 0x24 0x05 0x00 0x00 0x00 0x64 0x00", |
| 321 | "none", |
| 322 | "stop bit stop", |
| 323 | "0x06 0x24 0x45 0x00 0x00 0x00 0x64 0x00", |
| 324 | "none", |
| 325 | "stop bit resume", |
| 326 | "0x06 0x24 0x01 0x00 0x00 0x00 0x64 0x00", |
| 327 | "none", |
| 328 | "timer use FRB2", |
| 329 | "0x06 0x24 0x02 0x00 0x00 0x00 0x64 0x00", |
| 330 | "none", |
| 331 | "timer use POST", |
| 332 | "0x06 0x24 0x03 0x00 0x00 0x00 0x64 0x00", |
| 333 | "none", |
| 334 | "timer use OS", |
| 335 | "0x06 0x24 0x04 0x00 0x00 0x00 0x64 0x00", |
| 336 | "none", |
| 337 | "timer use SMS", |
| 338 | "0x06 0x24 0x05 0x00 0x00 0x00 0x64 0x00", |
| 339 | "none", |
| 340 | "timer use OEM", |
| 341 | "0x06 0x24 0x05 0x00 0x00 0x00 0x64 0x00", |
| 342 | "none", |
| 343 | "pre-timeout interrupt None", |
| 344 | "0x06 0x24 0x05 0x20 0x00 0x00 0x64 0x00", |
| 345 | "none", |
| 346 | "pre-timeout interrupt NMI", |
| 347 | "0x06 0x24 0x05 0x00 0x00 0x00 0x64 0x00", |
| 348 | "none", |
| 349 | "timeout action None", |
| 350 | "0x06 0x24 0x05 0x01 0x00 0x00 0x64 0x00", |
| 351 | "none", |
| 352 | "timeout action Reset", |
| 353 | "0x06 0x24 0x05 0x02 0x00 0x00 0x64 0x00", |
| 354 | "none", |
| 355 | "timeout action PowerDown", |
| 356 | "0x06 0x24 0x05 0x03 0x00 0x00 0x64 0x00", |
| 357 | "none", |
| 358 | "timeout action PowerCycle", |
| 359 | "0x06 0x24 0x01 0x00 0x00 0x3e 0x00 0x00", |
| 360 | "none", |
| 361 | "timeout flag FRB2", |
| 362 | "0x06 0x24 0x02 0x00 0x00 0x3e 0x00 0x00", |
| 363 | "none", |
| 364 | "timeout flag POST", |
| 365 | "0x06 0x24 0x03 0x00 0x00 0x3e 0x00 0x00", |
| 366 | "none", |
| 367 | "timeout flag OS", |
| 368 | "0x06 0x24 0x04 0x00 0x00 0x3e 0x00 0x00", |
| 369 | "none", |
| 370 | "timeout flag SMS", |
| 371 | "0x06 0x24 0x05 0x00 0x00 0x3e 0x00 0x00", |
| 372 | "none", |
| 373 | "timeout flag OEM", |
| 374 | "0x06 0x24 0x01 0x02 0x00 0x00 0x20 0x00", |
| 375 | "none", |
| 376 | "Power down", |
| 377 | "0x06 0x24 0x01 0x01 0x00 0x00 0x20 0x00", |
| 378 | "none", |
| 379 | "Hard reset", |
| 380 | "0x06 0x24 0x01 0x03 0x00 0x00 0x20 0x00", |
| 381 | "none", |
| 382 | "Power cycle", |
| 383 | "0x06 0x24 0x01 0x00 0x00 0x00 0x20 0x00", |
| 384 | "none", |
| 385 | "No action", |
| 386 | "0x06 0x24 0x05 0x00 0x00 0x3e 0x30 0x35", |
| 387 | "none", |
| 388 | "Set for 13.6 seconds", |
| 389 | "0x06 0x24 0x05 0x00 0x07 0x00 0x50 0x00", |
| 390 | "none", |
| 391 | "Pre-timeout interval passes", |
| 392 | "0x06 0x24 0x05 0x00 0x04 0x00 0x0A 0x00", |
| 393 | "none", |
| 394 | "Pre-timeout interval fails", |
| 395 | "0x06 0x24 0x05 0x00 0x00 0x20 0xFF 0xFF", |
| 396 | "none", |
| 397 | "Bit 6 not set when timer stopped", |
| 398 | "0x06 0x24 0x05 0x00 0x08 0x00 0x64", |
| 399 | "none", |
| 400 | "Set with one less byte", |
| 401 | "0x06 0x24 0x05 0x00 0x08 0x00 0x64 0x00 0x00", |
| 402 | "none", |
| 403 | "Set with one extra byte", |
| 404 | ], |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 405 | "Reset": [ |
leet | de9356e | 2022-03-23 01:39:29 +0000 | [diff] [blame] | 406 | # raw command, expected output, comment |
| 407 | "0x06 0x22", |
| 408 | "none", |
| 409 | "Reset watchdog timer", |
| 410 | "0x06 0x22 0x00", |
| 411 | "none", |
| 412 | "Reset watchdog timer with extra byte", |
| 413 | "0x06 0x22", |
| 414 | "none", |
| 415 | "Reset watchdog timer without initialized watchdog", |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 416 | ], |
chithrag | 782ad28 | 2022-03-12 10:12:40 +0000 | [diff] [blame] | 417 | }, |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 418 | "SOL": { |
| 419 | "Set_SOL": [ |
George Keishing | e635ddc | 2022-12-08 07:38:02 -0600 | [diff] [blame] | 420 | # raw command, expected output(s), comment |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 421 | "Invalid value", |
| 422 | "Valid values are serial, 9.6 19.2, 38.4, 57.6 and 115.2", |
George Keishing | e635ddc | 2022-12-08 07:38:02 -0600 | [diff] [blame] | 423 | ] |
| 424 | }, |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 425 | "Get SDR": { |
| 426 | "Get": [ |
chithrag | 782ad28 | 2022-03-12 10:12:40 +0000 | [diff] [blame] | 427 | # Get SDR raw command without Reservation ID. |
| 428 | "0x0a 0x23 0x00 0x00 0x00 0x00 0x00 0xff", |
| 429 | # Netfunction and cmd. |
| 430 | "0x0a 0x23", |
| 431 | # Record ID offset and bytes to read. |
nagarjunb22 | 8ea859e | 2022-07-12 21:39:51 +0530 | [diff] [blame] | 432 | "0x01 0x0f", |
chithrag | 782ad28 | 2022-03-12 10:12:40 +0000 | [diff] [blame] | 433 | # Raw command To Get SDR Partial without Reservation ID. |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 434 | "0x0a 0x23 0x00 0x00 0x00 0x00 0x01 0x0f", |
chithrag | dc5679e | 2022-03-01 11:51:41 +0000 | [diff] [blame] | 435 | ], |
chithrag | a6be41e | 2022-03-01 13:20:23 +0000 | [diff] [blame] | 436 | }, |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 437 | "Get": { |
| 438 | "POH_Counter": [ |
chithrag | a6be41e | 2022-03-01 13:20:23 +0000 | [diff] [blame] | 439 | # raw command, error response |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 440 | "0x00 0x0f", |
| 441 | "Error: Unable to establish IPMI v2 / RMCP+ session", |
chithrag | a6be41e | 2022-03-01 13:20:23 +0000 | [diff] [blame] | 442 | ] |
chithrag | 782ad28 | 2022-03-12 10:12:40 +0000 | [diff] [blame] | 443 | }, |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 444 | "Device_SDR": { |
| 445 | "Get_Info": [ |
chithrag | 782ad28 | 2022-03-12 10:12:40 +0000 | [diff] [blame] | 446 | # raw command, expected output(s), comment |
| 447 | "0x04 0x20 0x00", |
| 448 | "0x04 0x20 0x01", |
| 449 | "rsp=0xc7", |
| 450 | "Request data length invalid", |
| 451 | "rsp=0xd4", |
| 452 | "Insufficient privilege level", |
| 453 | ], |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 454 | "Get": [ |
chithrag | 782ad28 | 2022-03-12 10:12:40 +0000 | [diff] [blame] | 455 | # raw command, expected output(s), comment |
| 456 | "0x04 0x21", |
| 457 | "0x00 0x00 0x00 0xff", |
| 458 | "rsp=0xc7", |
| 459 | "Request data length invalid", |
| 460 | ], |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 461 | "Reserve_Repository": [ |
chithrag | 782ad28 | 2022-03-12 10:12:40 +0000 | [diff] [blame] | 462 | # raw command, expected output(s), comment |
| 463 | "0x04 0x22", |
| 464 | "rsp=0xc7", |
| 465 | "Request data length invalid", |
| 466 | "rsp=0xd4", |
| 467 | "Insufficient privilege level", |
| 468 | "Reservation cancelled or invalid", |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 469 | ], |
chithrag | 015f787 | 2022-03-21 09:42:01 +0000 | [diff] [blame] | 470 | }, |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 471 | "System_Info": { |
| 472 | "param0_Set_In_Progress": { |
| 473 | "Get": [ |
chithrag | 015f787 | 2022-03-21 09:42:01 +0000 | [diff] [blame] | 474 | # raw command, expected output(s) |
| 475 | "0x06 0x59 0x00 0x00 0x00 0x00", |
| 476 | "Request data length invalid", |
| 477 | ], |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 478 | "Set": [ |
chithrag | 015f787 | 2022-03-21 09:42:01 +0000 | [diff] [blame] | 479 | # raw command, expected output(s) |
ganesanb | fc0c35a | 2022-08-04 07:31:15 +0000 | [diff] [blame] | 480 | "0x06 0x58 0x00", |
chithrag | 015f787 | 2022-03-21 09:42:01 +0000 | [diff] [blame] | 481 | "Request data length invalid", |
| 482 | "Invalid data field in request", |
| 483 | ], |
| 484 | }, |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 485 | "param1_System_Firmware_Version": { |
| 486 | "Get": [ |
chithrag | 015f787 | 2022-03-21 09:42:01 +0000 | [diff] [blame] | 487 | # raw command, expected output(s) |
| 488 | "0x06 0x59 0x00 0x01 0x00 0x00", |
| 489 | "Request data length invalid", |
| 490 | ], |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 491 | "Set": [ |
chithrag | 015f787 | 2022-03-21 09:42:01 +0000 | [diff] [blame] | 492 | # raw command, expected output(s) |
| 493 | "0x06 0x58 0x01 0x00 0x00 0x0e", |
| 494 | "Invalid data field in request", |
| 495 | ], |
| 496 | }, |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 497 | "param2_System_Name": { |
| 498 | "Get": [ |
chithrag | 015f787 | 2022-03-21 09:42:01 +0000 | [diff] [blame] | 499 | # raw command, expected output(s) |
| 500 | "0x06 0x59 0x00 0x02 0x00 0x00", |
| 501 | "Request data length invalid", |
| 502 | ], |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 503 | "Set": [ |
chithrag | 015f787 | 2022-03-21 09:42:01 +0000 | [diff] [blame] | 504 | # raw command, expected output(s) |
| 505 | "0x06 0x58 0x02 0x00 0x00 0x0e", |
| 506 | "Invalid data field in request", |
| 507 | ], |
| 508 | }, |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 509 | "param3_Primary_Operating_System_Name": { |
| 510 | "Get": [ |
chithrag | 015f787 | 2022-03-21 09:42:01 +0000 | [diff] [blame] | 511 | # raw command, expected output(s) |
| 512 | "0x06 0x59 0x00 0x03 0x00 0x00", |
| 513 | "Request data length invalid", |
| 514 | ], |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 515 | "Set": [ |
chithrag | 015f787 | 2022-03-21 09:42:01 +0000 | [diff] [blame] | 516 | # raw command, expected output(s) |
| 517 | "0x06 0x58 0x03 0x00 0x00 0x0e", |
| 518 | "Invalid data field in request", |
| 519 | ], |
| 520 | }, |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 521 | "param4_Operating_System_Name": { |
| 522 | "Get": [ |
chithrag | 015f787 | 2022-03-21 09:42:01 +0000 | [diff] [blame] | 523 | # raw command, expected output(s) |
| 524 | "0x06 0x59 0x00 0x04 0x00 0x00", |
| 525 | "Request data length invalid", |
| 526 | ], |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 527 | "Set": [ |
chithrag | 015f787 | 2022-03-21 09:42:01 +0000 | [diff] [blame] | 528 | # raw command, expected output(s) |
| 529 | "0x06 0x58 0x04 0x00 0x00 0x0e", |
| 530 | "Invalid data field in request", |
| 531 | ], |
| 532 | }, |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 533 | "param5_Present_OS_Version_number": { |
| 534 | "Get": [ |
chithrag | 015f787 | 2022-03-21 09:42:01 +0000 | [diff] [blame] | 535 | # raw command, expected output(s) |
| 536 | "0x06 0x59 0x00 0x05 0x00 0x00", |
| 537 | "Request data length invalid", |
| 538 | ], |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 539 | "Set": [ |
chithrag | 015f787 | 2022-03-21 09:42:01 +0000 | [diff] [blame] | 540 | # raw command, expected output(s) |
| 541 | "0x06 0x58 0x05 0x00 0x00 0x0e", |
| 542 | "Invalid data field in request", |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 543 | ], |
| 544 | }, |
nagarjunb22 | 9845074 | 2022-04-19 12:00:02 +0530 | [diff] [blame] | 545 | }, |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 546 | "Get Channel Auth Cap": { |
| 547 | "get": [ |
nagarjunb22 | 9845074 | 2022-04-19 12:00:02 +0530 | [diff] [blame] | 548 | # raw command |
| 549 | "0x06 0x38", |
| 550 | ] |
| 551 | }, |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 552 | "Cipher Suite": { |
| 553 | "get": [ |
nagarjunb22 | 7fabf79 | 2022-04-19 11:09:29 +0530 | [diff] [blame] | 554 | # raw command, supported algorithm |
| 555 | "0x06 0x54", |
| 556 | "03 44 81", |
| 557 | # 03 - HMAC-SHA256 |
| 558 | # 44 - sha256_128 |
| 559 | # 81 - aes_cbc_128 |
| 560 | ] |
| 561 | }, |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 562 | "SDR": { |
| 563 | "Get": [ |
nagarjunb22 | 87138e6 | 2022-04-19 16:49:16 +0530 | [diff] [blame] | 564 | # Get SDR raw command without Reservation ID. |
| 565 | "0x0a 0x23 0x00 0x00 0x00 0x00 0x00 0xff", |
| 566 | # Netfunction and command. |
| 567 | "0x0a 0x23", |
| 568 | # Record ID offset and bytes to read. |
| 569 | "0x00 0x00 0x01 0x0f", |
| 570 | # Raw command To Get SDR Partial without reservation ID. |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 571 | "0x0a 0x23 0x00 0x00 0x00 0x00 0x01 0x0f", |
nagarjunb22 | 87138e6 | 2022-04-19 16:49:16 +0530 | [diff] [blame] | 572 | ], |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 573 | "Reserve SDR Repository": [ |
nagarjunb22 | 87138e6 | 2022-04-19 16:49:16 +0530 | [diff] [blame] | 574 | # raw command, expected output(s), comment |
| 575 | "0x0a 0x22", |
| 576 | ], |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 577 | "SDR Repository Info": [ |
nagarjunb22 | 87138e6 | 2022-04-19 16:49:16 +0530 | [diff] [blame] | 578 | # raw command. |
| 579 | "0x0a 0x20", |
| 580 | ], |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 581 | "Get SDR allocation Info": [ |
nagarjunb22 | 87138e6 | 2022-04-19 16:49:16 +0530 | [diff] [blame] | 582 | # raw command. |
| 583 | "0x0a 0x21" |
| 584 | ], |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 585 | "Delete SDR": [ |
nagarjunb22 | 87138e6 | 2022-04-19 16:49:16 +0530 | [diff] [blame] | 586 | # raw command. |
| 587 | "0x0a 0x26" |
| 588 | ], |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 589 | "Partially Add SDR": [ |
nagarjunb22 | 87138e6 | 2022-04-19 16:49:16 +0530 | [diff] [blame] | 590 | # raw command. |
| 591 | "0x0a 0x25" |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 592 | ], |
nagarjunb22 | 87138e6 | 2022-04-19 16:49:16 +0530 | [diff] [blame] | 593 | }, |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 594 | "FRU": { |
| 595 | "Inventory_Area_Info": [ |
ganesanb | c288aff | 2022-05-19 19:55:47 +0530 | [diff] [blame] | 596 | # raw command, expected output(s), comment |
| 597 | "0x0a 0x10", |
| 598 | "Invalid data field in request", |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 599 | "Request data length invalid", |
ganesanb | c288aff | 2022-05-19 19:55:47 +0530 | [diff] [blame] | 600 | ], |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 601 | "Read": [ |
ganesanb | c288aff | 2022-05-19 19:55:47 +0530 | [diff] [blame] | 602 | # raw command |
| 603 | "0x0a 0x11", |
| 604 | ], |
Patrick Williams | 20f3871 | 2022-12-08 06:18:26 -0600 | [diff] [blame] | 605 | "Write": [ |
ganesanb | c288aff | 2022-05-19 19:55:47 +0530 | [diff] [blame] | 606 | # raw command |
| 607 | "0x0a 0x12", |
| 608 | ], |
| 609 | }, |
Nagarjun B | 1499c91 | 2023-05-27 22:13:20 +0530 | [diff] [blame] | 610 | "Chassis Capabilities": { |
| 611 | "Get": [ |
| 612 | # raw command, invalid data length |
| 613 | "0x00 0x00", |
| 614 | "0x00 0x00 0x01", |
| 615 | ] |
| 616 | }, |
George Keishing | d2795d6 | 2018-02-04 23:12:23 -0600 | [diff] [blame] | 617 | } |