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