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