blob: 66e7d5e4f68024b12be2b076bf05c7f1d8da22c8 [file] [log] [blame]
George Keishinge7e91712021-09-03 11:28:44 -05001#!/usr/bin/env python3
George Keishingd2795d62018-02-04 23:12:23 -06002
3r"""
George Keishingdcf746b2018-02-06 12:43:44 -06004IPMI raw commands table:
George Keishingd2795d62018-02-04 23:12:23 -06005
6 - Define IPMI interface index, commands and expected output.
7
8"""
Nagarjun Bdee719b2023-05-27 22:53:01 +05309
10from robot.libraries.BuiltIn import BuiltIn
11
George Keishing45511e82019-10-15 01:26:55 -050012# The currently supported cipher list.
Joy Onyerikwu004ad3c2018-06-11 16:29:56 -050013# Refer:
14# openbmc/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipe
15# s-phosphor/ipmi/phosphor-ipmi-host/cipher_list.json
Patrick Williams20f38712022-12-08 06:18:26 -060016valid_ciphers = ["17"]
17unsupported_ciphers = ["1", "2", "15", "16"]
George Keishing39967eb2018-04-30 11:36:23 -050018
George Keishingd2795d62018-02-04 23:12:23 -060019IPMI_RAW_CMD = {
20 # Interface name
Patrick Williams20f38712022-12-08 06:18:26 -060021 "power_supply_redundancy": {
George Keishingd2795d62018-02-04 23:12:23 -060022 # Command action type
Patrick Williams20f38712022-12-08 06:18:26 -060023 "Get": [
George Keishingd2795d62018-02-04 23:12:23 -060024 # 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 Sombar27c1ad42018-09-11 14:44:25 -050030 "00 40 02 00",
31 "40 is scanning enabled and 02 indicates redundancy enabled",
George Keishingd2795d62018-02-04 23:12:23 -060032 ],
Patrick Williams20f38712022-12-08 06:18:26 -060033 "Enabled": [
George Keishingd2795d62018-02-04 23:12:23 -060034 # 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 Williams20f38712022-12-08 06:18:26 -060039 "Disabled": [
George Keishingd2795d62018-02-04 23:12:23 -060040 # 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 Maheshwariabe13af2018-02-15 22:42:08 -060045 },
Patrick Williams20f38712022-12-08 06:18:26 -060046 "power_reading": {
47 "Get": [
Rahul Maheshwariabe13af2018-02-15 22:42:08 -060048 # 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 Maheshwari0eb33f02018-04-10 02:31:54 -050053 },
Patrick Williams20f38712022-12-08 06:18:26 -060054 "conf_param": {
55 "Enabled": [
Rahul Maheshwari0eb33f02018-04-10 02:31:54 -050056 # 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 Williams20f38712022-12-08 06:18:26 -060061 "Disabled": [
Rahul Maheshwari0eb33f02018-04-10 02:31:54 -050062 # raw command, expected output, comment
63 "0x2c 0x12 0xdc 0x02 0x00 0x00",
64 "dc",
65 "Disable nibble position 6th LSB e.g. 0x00",
Patrick Williams20f38712022-12-08 06:18:26 -060066 ],
Tony Lee160aa872020-02-12 16:11:39 +080067 },
Patrick Williams20f38712022-12-08 06:18:26 -060068 "SEL_entry": {
69 "Reserve": [
Tony Lee160aa872020-02-12 16:11:39 +080070 # raw command, expected output, comment
71 "0x0a 0x42",
72 "27 00",
73 "27 is Reservation ID, LSB, 00 Reservation ID, MSB ",
chithrag0a8c8782022-03-01 12:35:00 +000074 ],
Patrick Williams20f38712022-12-08 06:18:26 -060075 "Get_SEL_Time": [
chithrag0a8c8782022-03-01 12:35:00 +000076 # raw command
Patrick Williams20f38712022-12-08 06:18:26 -060077 "0x0a 0x48",
chithrag0a8c8782022-03-01 12:35:00 +000078 ],
Patrick Williams20f38712022-12-08 06:18:26 -060079 "Set_SEL_Time": [
chithragd7e009b2022-03-01 12:20:57 +000080 # raw command, expected output(s)
Patrick Williams20f38712022-12-08 06:18:26 -060081 "0x0a 0x49",
82 "rsp=0xd5",
83 "not supported in present state",
84 "rsp=0xc7",
85 "Request data length invalid",
chithragd7e009b2022-03-01 12:20:57 +000086 ],
Patrick Williams20f38712022-12-08 06:18:26 -060087 "Clear_SEL": [
chithragd7e009b2022-03-01 12:20:57 +000088 # 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 Williams20f38712022-12-08 06:18:26 -060097 "SEL_info": [
chithragd7e009b2022-03-01 12:20:57 +000098 # raw command
99 "0x0a 0x40"
chithrag0a8c8782022-03-01 12:35:00 +0000100 ],
Patrick Williams20f38712022-12-08 06:18:26 -0600101 "Create_SEL": [
ganesanba8aee232023-04-08 12:17:15 +0000102 # raw command, expected output, comment
103 "0x0a 0x44 0x00 0x00 0x02 0x00 0x00 0x00 0x00",
104 "0x04",
chithrag0a8c8782022-03-01 12:35:00 +0000105 "0x00 0xa0 0x04 0x07",
106 ],
Patrick Williams20f38712022-12-08 06:18:26 -0600107 "Get_SEL_Entry": [
chithragd7e009b2022-03-01 12:20:57 +0000108 # raw command
109 "0x0a 0x43 0x00 0x00",
110 "0x00 0xff",
111 ],
Tony Lee3fdd31e2020-02-15 11:21:40 +0800112 },
Patrick Williams20f38712022-12-08 06:18:26 -0600113 "Self_Test_Results": {
114 "Get": [
Tony Lee3fdd31e2020-02-15 11:21:40 +0800115 # 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 Williams20f38712022-12-08 06:18:26 -0600121 "Device GUID": {
122 "Get": [
Tony Lee3fdd31e2020-02-15 11:21:40 +0800123 # 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 Lee3fdd31e2020-02-15 11:21:40 +0800127 ]
Tony Leec03c8e22020-03-25 13:41:07 +0800128 },
Patrick Williams20f38712022-12-08 06:18:26 -0600129 "LAN_Config_Params": {
130 "Get": [
Tony Leec03c8e22020-03-25 13:41:07 +0800131 # raw command, expected output, comment
132 "0x0c 0x02",
133 "11 02",
Patrick Williams20f38712022-12-08 06:18:26 -0600134 (
135 "11 is Parameter revision, 02 is Configuration parameter data"
136 " e.g. Cipher Suite Entry count"
137 ),
chithrag4ad123a2022-04-12 19:26:05 +0000138 ],
Patrick Williams20f38712022-12-08 06:18:26 -0600139 "Set": [
chithrag4ad123a2022-04-12 19:26:05 +0000140 # raw command, expected output, error response
141 "0x0c 0x01",
142 "11 00",
143 "Unknown (0x82)",
144 "Invalid data field in request",
145 ],
Tony Lee6c998f72020-03-09 18:28:35 +0800146 },
Patrick Williams20f38712022-12-08 06:18:26 -0600147 "Payload": {
148 "Get_Payload_Activation_Status": [
Tony Lee6c998f72020-03-09 18:28:35 +0800149 # raw command, expected output(s), comment
150 "0x06 0x4a 0x01",
151 "01 00 00",
Patrick Williams20f38712022-12-08 06:18:26 -0600152 (
153 "1st byte is instance capacity, last two bytes is activation"
154 " status of instances"
155 ),
Tony Lee6c998f72020-03-09 18:28:35 +0800156 ],
Patrick Williams20f38712022-12-08 06:18:26 -0600157 "Activate_Payload": [
Tony Lee6c998f72020-03-09 18:28:35 +0800158 # 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 Williams20f38712022-12-08 06:18:26 -0600161 (
162 "Last two bits are payload vlan number, - FFFFh if VLAN"
163 " addressing is not used"
164 ),
Tony Lee6c998f72020-03-09 18:28:35 +0800165 ],
Patrick Williams20f38712022-12-08 06:18:26 -0600166 "Deactivate_Payload": [
Tony Lee6c998f72020-03-09 18:28:35 +0800167 # raw command, expected output(s), comment
168 "0x06 0x49 0x01 0x01 0x00 0x00 0x00 0x00",
169 "",
170 "Line feed only",
171 ],
Patrick Williams20f38712022-12-08 06:18:26 -0600172 "Get_Payload_Instance_Info": [
Tony Lee6c998f72020-03-09 18:28:35 +0800173 # 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 Williams20f38712022-12-08 06:18:26 -0600176 (
177 "When the payload is activated, the first four bytes are the"
178 " session ID,otherwise it should be 00."
179 ),
nagarjunb22a2255de2022-05-25 19:15:10 +0530180 ],
Patrick Williams20f38712022-12-08 06:18:26 -0600181 "Get_User_Access_Payload": [
nagarjunb22a2255de2022-05-25 19:15:10 +0530182 # raw command,
183 "0x06 0x4d"
184 ],
Patrick Williams20f38712022-12-08 06:18:26 -0600185 "Set_User_Access_Payload": [
nagarjunb22a2255de2022-05-25 19:15:10 +0530186 # raw command,
187 "0x06 0x4c"
188 ],
Patrick Williams20f38712022-12-08 06:18:26 -0600189 "Get_Channel_Payload_Version": [
nagarjunb2293e6e242022-06-10 21:36:19 +0530190 # raw command,
191 "0x06 0x4F"
192 ],
Patrick Williams20f38712022-12-08 06:18:26 -0600193 "Get_Channel_Payload_Support": [
nagarjunb2293e6e242022-06-10 21:36:19 +0530194 # raw command,
195 "0x06 0x4E"
196 ],
Nagarjune94e5402022-01-19 15:26:27 -0500197 },
Patrick Williams20f38712022-12-08 06:18:26 -0600198 "BIOS_POST_Code": {
199 "Get": [
Nagarjune94e5402022-01-19 15:26:27 -0500200 # raw command, expected output, comment
201 "0x30 0xe9",
202 "",
203 "Response bytes will vary in length depending on state of system",
204 "0x89",
Patrick Williams20f38712022-12-08 06:18:26 -0600205 "error response byte when host is powered off",
Nagarjune94e5402022-01-19 15:26:27 -0500206 ]
nagarjunb22cfb2c412022-03-15 15:49:27 +0530207 },
Patrick Williams20f38712022-12-08 06:18:26 -0600208 "Device ID": {
209 "Get": [
chithrag8a17c492022-03-01 12:53:44 +0000210 # raw command, error response, error code
211 "0x06 0x01",
212 "Error: Unable to establish IPMI v2 / RMCP+ session",
213 "0xc7",
nagarjunb22cfb2c412022-03-15 15:49:27 +0530214 ]
215 },
Patrick Williams20f38712022-12-08 06:18:26 -0600216 "Cold Reset": {
217 "reset": [
nagarjunb22cfb2c412022-03-15 15:49:27 +0530218 # raw command
219 "0x06 0x02"
220 ]
221 },
Patrick Williams20f38712022-12-08 06:18:26 -0600222 "lan_parameters": {
223 "get_ip": [
nagarjunb22cfb2c412022-03-15 15:49:27 +0530224 # raw command
Nagarjun Bdee719b2023-05-27 22:53:01 +0530225 "0x0c 0x02 0x"
226 + BuiltIn().get_variable_value("${CHANNEL_NUMBER}")
227 + " 0x03 0 0",
nagarjunb22cfb2c412022-03-15 15:49:27 +0530228 ],
Patrick Williams20f38712022-12-08 06:18:26 -0600229 "get_ip_src": [
nagarjunb22cfb2c412022-03-15 15:49:27 +0530230 # raw command
Nagarjun Bdee719b2023-05-27 22:53:01 +0530231 "0x0c 0x02 0x"
232 + BuiltIn().get_variable_value("${CHANNEL_NUMBER}")
233 + " 0x04 0 0",
nagarjunb22cfb2c412022-03-15 15:49:27 +0530234 ],
Patrick Williams20f38712022-12-08 06:18:26 -0600235 "get_dot1q": [
nagarjunb22cfb2c412022-03-15 15:49:27 +0530236 # raw command
Nagarjun Bdee719b2023-05-27 22:53:01 +0530237 "0x0c 0x02 0x"
238 + BuiltIn().get_variable_value("${CHANNEL_NUMBER}")
239 + " 0x14 0 0",
Patrick Williams20f38712022-12-08 06:18:26 -0600240 ],
nagarjunb22cfb2c412022-03-15 15:49:27 +0530241 },
Patrick Williams20f38712022-12-08 06:18:26 -0600242 "SDR_Info": {
243 "get": [
nagarjunb22cfb2c412022-03-15 15:49:27 +0530244 # raw command
245 "0x04 0x20 1"
246 ]
247 },
Patrick Williams20f38712022-12-08 06:18:26 -0600248 "Chassis_status": {
249 "get": [
nagarjunb22cfb2c412022-03-15 15:49:27 +0530250 # raw command
251 "0x00 0x01"
252 ]
253 },
Patrick Williams20f38712022-12-08 06:18:26 -0600254 "SEL_Info": {
255 "get": [
nagarjunb22cfb2c412022-03-15 15:49:27 +0530256 # raw command
257 "0x0a 0x40"
258 ]
259 },
Patrick Williams20f38712022-12-08 06:18:26 -0600260 "Watchdog": {
leetde9356e2022-03-23 01:39:29 +0000261 # Command action type
Patrick Williams20f38712022-12-08 06:18:26 -0600262 "Get": [
leetde9356e2022-03-23 01:39:29 +0000263 # 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 Williams20f38712022-12-08 06:18:26 -0600312 "Set": [
leetde9356e2022-03-23 01:39:29 +0000313 # 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 Williams20f38712022-12-08 06:18:26 -0600405 "Reset": [
leetde9356e2022-03-23 01:39:29 +0000406 # 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 Williams20f38712022-12-08 06:18:26 -0600416 ],
chithrag782ad282022-03-12 10:12:40 +0000417 },
Patrick Williams20f38712022-12-08 06:18:26 -0600418 "SOL": {
419 "Set_SOL": [
George Keishinge635ddc2022-12-08 07:38:02 -0600420 # raw command, expected output(s), comment
Patrick Williams20f38712022-12-08 06:18:26 -0600421 "Invalid value",
422 "Valid values are serial, 9.6 19.2, 38.4, 57.6 and 115.2",
George Keishinge635ddc2022-12-08 07:38:02 -0600423 ]
424 },
Patrick Williams20f38712022-12-08 06:18:26 -0600425 "Get SDR": {
426 "Get": [
chithrag782ad282022-03-12 10:12:40 +0000427 # 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.
nagarjunb228ea859e2022-07-12 21:39:51 +0530432 "0x01 0x0f",
chithrag782ad282022-03-12 10:12:40 +0000433 # Raw command To Get SDR Partial without Reservation ID.
Patrick Williams20f38712022-12-08 06:18:26 -0600434 "0x0a 0x23 0x00 0x00 0x00 0x00 0x01 0x0f",
chithragdc5679e2022-03-01 11:51:41 +0000435 ],
chithraga6be41e2022-03-01 13:20:23 +0000436 },
Patrick Williams20f38712022-12-08 06:18:26 -0600437 "Get": {
438 "POH_Counter": [
chithraga6be41e2022-03-01 13:20:23 +0000439 # raw command, error response
Patrick Williams20f38712022-12-08 06:18:26 -0600440 "0x00 0x0f",
441 "Error: Unable to establish IPMI v2 / RMCP+ session",
chithraga6be41e2022-03-01 13:20:23 +0000442 ]
chithrag782ad282022-03-12 10:12:40 +0000443 },
Patrick Williams20f38712022-12-08 06:18:26 -0600444 "Device_SDR": {
445 "Get_Info": [
chithrag782ad282022-03-12 10:12:40 +0000446 # 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 Williams20f38712022-12-08 06:18:26 -0600454 "Get": [
chithrag782ad282022-03-12 10:12:40 +0000455 # raw command, expected output(s), comment
456 "0x04 0x21",
457 "0x00 0x00 0x00 0xff",
458 "rsp=0xc7",
459 "Request data length invalid",
460 ],
Patrick Williams20f38712022-12-08 06:18:26 -0600461 "Reserve_Repository": [
chithrag782ad282022-03-12 10:12:40 +0000462 # 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 Williams20f38712022-12-08 06:18:26 -0600469 ],
chithrag015f7872022-03-21 09:42:01 +0000470 },
Patrick Williams20f38712022-12-08 06:18:26 -0600471 "System_Info": {
472 "param0_Set_In_Progress": {
473 "Get": [
chithrag015f7872022-03-21 09:42:01 +0000474 # raw command, expected output(s)
475 "0x06 0x59 0x00 0x00 0x00 0x00",
476 "Request data length invalid",
477 ],
Patrick Williams20f38712022-12-08 06:18:26 -0600478 "Set": [
chithrag015f7872022-03-21 09:42:01 +0000479 # raw command, expected output(s)
ganesanbfc0c35a2022-08-04 07:31:15 +0000480 "0x06 0x58 0x00",
chithrag015f7872022-03-21 09:42:01 +0000481 "Request data length invalid",
482 "Invalid data field in request",
483 ],
484 },
Patrick Williams20f38712022-12-08 06:18:26 -0600485 "param1_System_Firmware_Version": {
486 "Get": [
chithrag015f7872022-03-21 09:42:01 +0000487 # raw command, expected output(s)
488 "0x06 0x59 0x00 0x01 0x00 0x00",
489 "Request data length invalid",
490 ],
Patrick Williams20f38712022-12-08 06:18:26 -0600491 "Set": [
chithrag015f7872022-03-21 09:42:01 +0000492 # raw command, expected output(s)
493 "0x06 0x58 0x01 0x00 0x00 0x0e",
494 "Invalid data field in request",
495 ],
496 },
Patrick Williams20f38712022-12-08 06:18:26 -0600497 "param2_System_Name": {
498 "Get": [
chithrag015f7872022-03-21 09:42:01 +0000499 # raw command, expected output(s)
500 "0x06 0x59 0x00 0x02 0x00 0x00",
501 "Request data length invalid",
502 ],
Patrick Williams20f38712022-12-08 06:18:26 -0600503 "Set": [
chithrag015f7872022-03-21 09:42:01 +0000504 # raw command, expected output(s)
505 "0x06 0x58 0x02 0x00 0x00 0x0e",
506 "Invalid data field in request",
507 ],
508 },
Patrick Williams20f38712022-12-08 06:18:26 -0600509 "param3_Primary_Operating_System_Name": {
510 "Get": [
chithrag015f7872022-03-21 09:42:01 +0000511 # raw command, expected output(s)
512 "0x06 0x59 0x00 0x03 0x00 0x00",
513 "Request data length invalid",
514 ],
Patrick Williams20f38712022-12-08 06:18:26 -0600515 "Set": [
chithrag015f7872022-03-21 09:42:01 +0000516 # raw command, expected output(s)
517 "0x06 0x58 0x03 0x00 0x00 0x0e",
518 "Invalid data field in request",
519 ],
520 },
Patrick Williams20f38712022-12-08 06:18:26 -0600521 "param4_Operating_System_Name": {
522 "Get": [
chithrag015f7872022-03-21 09:42:01 +0000523 # raw command, expected output(s)
524 "0x06 0x59 0x00 0x04 0x00 0x00",
525 "Request data length invalid",
526 ],
Patrick Williams20f38712022-12-08 06:18:26 -0600527 "Set": [
chithrag015f7872022-03-21 09:42:01 +0000528 # raw command, expected output(s)
529 "0x06 0x58 0x04 0x00 0x00 0x0e",
530 "Invalid data field in request",
531 ],
532 },
Patrick Williams20f38712022-12-08 06:18:26 -0600533 "param5_Present_OS_Version_number": {
534 "Get": [
chithrag015f7872022-03-21 09:42:01 +0000535 # raw command, expected output(s)
536 "0x06 0x59 0x00 0x05 0x00 0x00",
537 "Request data length invalid",
538 ],
Patrick Williams20f38712022-12-08 06:18:26 -0600539 "Set": [
chithrag015f7872022-03-21 09:42:01 +0000540 # raw command, expected output(s)
541 "0x06 0x58 0x05 0x00 0x00 0x0e",
542 "Invalid data field in request",
Patrick Williams20f38712022-12-08 06:18:26 -0600543 ],
544 },
nagarjunb2298450742022-04-19 12:00:02 +0530545 },
Patrick Williams20f38712022-12-08 06:18:26 -0600546 "Get Channel Auth Cap": {
547 "get": [
nagarjunb2298450742022-04-19 12:00:02 +0530548 # raw command
549 "0x06 0x38",
550 ]
551 },
Patrick Williams20f38712022-12-08 06:18:26 -0600552 "Cipher Suite": {
553 "get": [
nagarjunb227fabf792022-04-19 11:09:29 +0530554 # 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 Williams20f38712022-12-08 06:18:26 -0600562 "SDR": {
563 "Get": [
nagarjunb2287138e62022-04-19 16:49:16 +0530564 # 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 Williams20f38712022-12-08 06:18:26 -0600571 "0x0a 0x23 0x00 0x00 0x00 0x00 0x01 0x0f",
nagarjunb2287138e62022-04-19 16:49:16 +0530572 ],
Patrick Williams20f38712022-12-08 06:18:26 -0600573 "Reserve SDR Repository": [
nagarjunb2287138e62022-04-19 16:49:16 +0530574 # raw command, expected output(s), comment
575 "0x0a 0x22",
576 ],
Patrick Williams20f38712022-12-08 06:18:26 -0600577 "SDR Repository Info": [
nagarjunb2287138e62022-04-19 16:49:16 +0530578 # raw command.
579 "0x0a 0x20",
580 ],
Patrick Williams20f38712022-12-08 06:18:26 -0600581 "Get SDR allocation Info": [
nagarjunb2287138e62022-04-19 16:49:16 +0530582 # raw command.
583 "0x0a 0x21"
584 ],
Patrick Williams20f38712022-12-08 06:18:26 -0600585 "Delete SDR": [
nagarjunb2287138e62022-04-19 16:49:16 +0530586 # raw command.
587 "0x0a 0x26"
588 ],
Patrick Williams20f38712022-12-08 06:18:26 -0600589 "Partially Add SDR": [
nagarjunb2287138e62022-04-19 16:49:16 +0530590 # raw command.
591 "0x0a 0x25"
Patrick Williams20f38712022-12-08 06:18:26 -0600592 ],
nagarjunb2287138e62022-04-19 16:49:16 +0530593 },
Patrick Williams20f38712022-12-08 06:18:26 -0600594 "FRU": {
595 "Inventory_Area_Info": [
ganesanbc288aff2022-05-19 19:55:47 +0530596 # raw command, expected output(s), comment
597 "0x0a 0x10",
598 "Invalid data field in request",
Patrick Williams20f38712022-12-08 06:18:26 -0600599 "Request data length invalid",
ganesanbc288aff2022-05-19 19:55:47 +0530600 ],
Patrick Williams20f38712022-12-08 06:18:26 -0600601 "Read": [
ganesanbc288aff2022-05-19 19:55:47 +0530602 # raw command
603 "0x0a 0x11",
604 ],
Patrick Williams20f38712022-12-08 06:18:26 -0600605 "Write": [
ganesanbc288aff2022-05-19 19:55:47 +0530606 # raw command
607 "0x0a 0x12",
608 ],
609 },
Nagarjun B1499c912023-05-27 22:13:20 +0530610 "Chassis Capabilities": {
611 "Get": [
612 # raw command, invalid data length
613 "0x00 0x00",
614 "0x00 0x00 0x01",
615 ]
616 },
George Keishingd2795d62018-02-04 23:12:23 -0600617}