VHBA API Test - WHQL Failed for Win 2012 R2 OS.

Hi All,

Setup details:

  1. Physical connection: FC HBA Adapter – connected to –> FC Switch
  2. xvhba.sys is an WMI provider.

Failed Output of hbatst.vbs:

  • SendCTPassThru(GIEL) status success, Response: x101 ReasonCode: x0 Explanation: x0
    FailSev2Variation SendCTPassThru(GIEL) was rejected.

As per FC-GS7 spec, ‘0x1’ indicates ‘Invalid command code’.

Few Info:

  1. ‘CT IU’ i.e ‘RequestBuffer’ values for GIEL command code is constructed in hbatst.vbs (WMI Client), is exactly received without loss in the SendCTPassThru WMI method in WMI provider (xvhba.sys). Then from xvhba.sys GIEL command is passed to the FC HBA Adater port. From port the command is passed to Master fabric i.e FC switch. As per FC-GS7 the GIEL command code is sent to FC switch without loss. I confirm this.

  2. The ResponseBuffer recieved from FC Switch to xvhba.sys contains ‘x101’ invalid command code. This we exactly sent to hbatst.vbs, which mahes WHQL to fail the test.
    If I manually change ResponseBuffer value to ‘x8002’ Whql test gets passed. But this is not the desired way.

My questions are,

  1. The reason to get ‘x101’ invalid command code from FC switch?
  2. Any info on invalid command code?
  3. Is it desired to send ‘x8002’ in driver code and pass the WHQL?

Please let me know for any additional info needed.
Also appreciate any inputs and thanks in advance.

All,

Few corrections in the above thread.
Our driver xvhba.sys follows FC-GS4 standard.

According to FC-GS4,
In ResponseBuffer: x101 indicates ‘logical busy’.
Please take ‘logical busy’ instead of ‘Invalid command code’.

And my questions are,

  1. The reason to get ‘x101’ ‘logical busy’ from FC switch?
  2. Any info on ‘logical busy’?
  3. Is it desired to send ‘x8002’ in driver code and pass the WHQL?

Thanks.

All,
and mainly Tim, Doron,peter, … any inputs, idea on the above.
In FC-GS4 spec, error code ‘x101’ points for “logical busy”.
In spec for ‘logical busy’ below is the statement.

Logical busy: The Server is logically busy and unable to process the request at this time.

Utmost all resources are free.
Please anybody any inputs.

Thanks.

The “logical busy” status is being returned by the FC switch that hosts the fabric configuration server.
Do you know for sure if the switch confirms to FC-GS-4? Or something later? A quick look at FC-GS-7 (which is what I have access to) indicates different values for the logical busy reason code. Would you mind posting the entire CT_IU response buffer?

As you said modifying the result in the driver is not the recommended way.

Checking if your FC switch has the latest firmware and/or contacting the switch vendor may also provide more information on why this status is being returned.

Girish, much thanks for your inputs.
Yes FC-Switch have latest firmware.

FC-GS4 spec link http://www.t11.org/ftp/t11/member/fc/gs-4/02-026v4.pdf
Here ‘Logical Busy’ states to exactly what I mentioned.

xvhba.sys our driver apt to FC-GS4. This I confirm.
FC-Switch name: “Brocade 300” is the one we are using, how can I check switch apt to FC-GS4 or/FC-GS7?

Check link: http://feishare.com/attachments/127_FCTopology.pdf
As per this and FC-GS4 spec ResponseBuffer[8] && ResponseBuffer[9] indicates that 0x101 ‘Logical Busy’ status. The one recieved from FC switch.

Response buffer values recieved are as follows,
ResponseBuffer[0] is (in hexadecimal) : 0x1
ResponseBuffer[1] is (in hexadecimal) : 0x0
ResponseBuffer[2] is (in hexadecimal) : 0x0
ResponseBuffer[3] is (in hexadecimal) : 0x0
ResponseBuffer[4] is (in hexadecimal) : 0xfa
ResponseBuffer[5] is (in hexadecimal) : 0x1
ResponseBuffer[6] is (in hexadecimal) : 0x0
ResponseBuffer[7] is (in hexadecimal) : 0x0
ResponseBuffer[8] is (in hexadecimal) : 0x1
ResponseBuffer[9] is (in hexadecimal) : 0x1
ResponseBuffer[10] is (in hexadecimal) : 0x0
ResponseBuffer[11] is (in hexadecimal) : 0x0
ResponseBuffer[12] is (in hexadecimal) : 0x0

All ResponseBuffer value between these is 0x0

ResponseBuffer[768] is (in hexadecimal) : 0x0
ResponseBuffer[769] is (in hexadecimal) : 0x24
ResponseBuffer[770] is (in hexadecimal) : 0x0
ResponseBuffer[771] is (in hexadecimal) : 0xff

ResponseBuffer[784] is (in hexadecimal) : 0xf0
ResponseBuffer[785] is (in hexadecimal) : 0xed
ResponseBuffer[786] is (in hexadecimal) : 0xee
ResponseBuffer[787] is (in hexadecimal) : 0xff
ResponseBuffer[788] is (in hexadecimal) : 0xf0
ResponseBuffer[789] is (in hexadecimal) : 0xed
ResponseBuffer[790] is (in hexadecimal) : 0xee
ResponseBuffer[791] is (in hexadecimal) : 0xff
ResponseBuffer[792] is (in hexadecimal) : 0x56
ResponseBuffer[793] is (in hexadecimal) : 0x6f
ResponseBuffer[794] is (in hexadecimal) : 0xaa
ResponseBuffer[795] is (in hexadecimal) : 0xff
ResponseBuffer[796] is (in hexadecimal) : 0x40
ResponseBuffer[797] is (in hexadecimal) : 0x0
ResponseBuffer[798] is (in hexadecimal) : 0x50
ResponseBuffer[799] is (in hexadecimal) : 0x2
ResponseBuffer[800] is (in hexadecimal) : 0x53
ResponseBuffer[801] is (in hexadecimal) : 0x63
ResponseBuffer[802] is (in hexadecimal) : 0x62
ResponseBuffer[803] is (in hexadecimal) : 0x66
ResponseBuffer[804] is (in hexadecimal) : 0x0
ResponseBuffer[805] is (in hexadecimal) : 0xf0
ResponseBuffer[806] is (in hexadecimal) : 0xed
ResponseBuffer[807] is (in hexadecimal) : 0xee
ResponseBuffer[808] is (in hexadecimal) : 0xff
ResponseBuffer[809] is (in hexadecimal) : 0x8
ResponseBuffer[810] is (in hexadecimal) : 0x10
ResponseBuffer[811] is (in hexadecimal) : 0x72
ResponseBuffer[812] is (in hexadecimal) : 0x10
ResponseBuffer[813] is (in hexadecimal) : 0x60
ResponseBuffer[814] is (in hexadecimal) : 0x47
ResponseBuffer[815] is (in hexadecimal) : 0xe
ResponseBuffer[816] is (in hexadecimal) : 0x0
ResponseBuffer[817] is (in hexadecimal) : 0xe0
ResponseBuffer[818] is (in hexadecimal) : 0xff
ResponseBuffer[819] is (in hexadecimal) : 0xff
ResponseBuffer[820] is (in hexadecimal) : 0x0
ResponseBuffer[821] is (in hexadecimal) : 0x0
ResponseBuffer[822] is (in hexadecimal) : 0x0
ResponseBuffer[823] is (in hexadecimal) : 0x0
ResponseBuffer[824] is (in hexadecimal) : 0x1

ResponseBuffer[831] is (in hexadecimal) : 0x0
ResponseBuffer[832] is (in hexadecimal) : 0x80
ResponseBuffer[833] is (in hexadecimal) : 0x0
ResponseBuffer[834] is (in hexadecimal) : 0x0
ResponseBuffer[835] is (in hexadecimal) : 0x0
ResponseBuffer[836] is (in hexadecimal) : 0x80
ResponseBuffer[837] is (in hexadecimal) : 0x0

ResponseBuffer[852] is (in hexadecimal) : 0x0
ResponseBuffer[853] is (in hexadecimal) : 0xc6
ResponseBuffer[854] is (in hexadecimal) : 0x21
ResponseBuffer[855] is (in hexadecimal) : 0xc
ResponseBuffer[856] is (in hexadecimal) : 0x0
ResponseBuffer[857] is (in hexadecimal) : 0xe0
ResponseBuffer[858] is (in hexadecimal) : 0xff
ResponseBuffer[859] is (in hexadecimal) : 0xff

ResponseBuffer[867] is (in hexadecimal) : 0x0
ResponseBuffer[868] is (in hexadecimal) : 0xe0
ResponseBuffer[869] is (in hexadecimal) : 0xb
ResponseBuffer[870] is (in hexadecimal) : 0x0

ResponseBuffer[882] is (in hexadecimal) : 0x0
ResponseBuffer[883] is (in hexadecimal) : 0x0
ResponseBuffer[884] is (in hexadecimal) : 0xf0
ResponseBuffer[885] is (in hexadecimal) : 0xbb
ResponseBuffer[886] is (in hexadecimal) : 0x5f
ResponseBuffer[887] is (in hexadecimal) : 0xe
ResponseBuffer[888] is (in hexadecimal) : 0x0
ResponseBuffer[889] is (in hexadecimal) : 0xe0
ResponseBuffer[890] is (in hexadecimal) : 0xff
ResponseBuffer[891] is (in hexadecimal) : 0xff
ResponseBuffer[892] is (in hexadecimal) : 0x0

ResponseBuffer[972] is (in hexadecimal) : 0x40
ResponseBuffer[973] is (in hexadecimal) : 0x2

ResponseBuffer[1036] is (in hexadecimal) : 0x60
ResponseBuffer[1037] is (in hexadecimal) : 0xbb
ResponseBuffer[1038] is (in hexadecimal) : 0x5f
ResponseBuffer[1039] is (in hexadecimal) : 0xe
ResponseBuffer[1040] is (in hexadecimal) : 0x0
ResponseBuffer[1041] is (in hexadecimal) : 0xe0
ResponseBuffer[1042] is (in hexadecimal) : 0xff
ResponseBuffer[1043] is (in hexadecimal) : 0xff
ResponseBuffer[1044] is (in hexadecimal) : 0x89
ResponseBuffer[1045] is (in hexadecimal) : 0x0
ResponseBuffer[1046] is (in hexadecimal) : 0x12
ResponseBuffer[1047] is (in hexadecimal) : 0x0
ResponseBuffer[1048] is (in hexadecimal) : 0x16
ResponseBuffer[1049] is (in hexadecimal) : 0x1
ResponseBuffer[1050] is (in hexadecimal) : 0x12
ResponseBuffer[1051] is (in hexadecimal) : 0x0
ResponseBuffer[1052] is (in hexadecimal) : 0xa0
ResponseBuffer[1053] is (in hexadecimal) : 0x0
ResponseBuffer[1054] is (in hexadecimal) : 0x12
ResponseBuffer[1055] is (in hexadecimal) : 0x0
ResponseBuffer[1056] is (in hexadecimal) : 0xff
ResponseBuffer[1057] is (in hexadecimal) : 0x1
ResponseBuffer[1058] is (in hexadecimal) : 0x1f
ResponseBuffer[1059] is (in hexadecimal) : 0x0
ResponseBuffer[1060] is (in hexadecimal) : 0x0

ResponseBuffer[1275] is (in hexadecimal) : 0x0
ResponseBuffer[1276] is (in hexadecimal) : 0x90
ResponseBuffer[1277] is (in hexadecimal) : 0x61
ResponseBuffer[1278] is (in hexadecimal) : 0x2f
ResponseBuffer[1279] is (in hexadecimal) : 0x0
ResponseBuffer[1280] is (in hexadecimal) : 0x0
ResponseBuffer[1281] is (in hexadecimal) : 0xc0
ResponseBuffer[1282] is (in hexadecimal) : 0xff
ResponseBuffer[1283] is (in hexadecimal) : 0xff
ResponseBuffer[1284] is (in hexadecimal) : 0x67
ResponseBuffer[1285] is (in hexadecimal) : 0x8c
ResponseBuffer[1286] is (in hexadecimal) : 0x18
ResponseBuffer[1287] is (in hexadecimal) : 0x83
ResponseBuffer[1288] is (in hexadecimal) : 0x19
ResponseBuffer[1289] is (in hexadecimal) : 0x0
ResponseBuffer[1290] is (in hexadecimal) : 0x0
ResponseBuffer[1291] is (in hexadecimal) : 0x0
ResponseBuffer[1292] is (in hexadecimal) : 0x34
ResponseBuffer[1293] is (in hexadecimal) : 0x12
ResponseBuffer[1294] is (in hexadecimal) : 0xee
ResponseBuffer[1295] is (in hexadecimal) : 0xee
ResponseBuffer[1296] is (in hexadecimal) : 0xff
ResponseBuffer[1297] is (in hexadecimal) : 0x14
ResponseBuffer[1298] is (in hexadecimal) : 0x0
ResponseBuffer[1299] is (in hexadecimal) : 0xc9
ResponseBuffer[1300] is (in hexadecimal) : 0xcb
ResponseBuffer[1301] is (in hexadecimal) : 0x66
ResponseBuffer[1302] is (in hexadecimal) : 0xff
ResponseBuffer[1303] is (in hexadecimal) : 0x24
ResponseBuffer[1304] is (in hexadecimal) : 0x0
ResponseBuffer[1305] is (in hexadecimal) : 0x0
ResponseBuffer[1306] is (in hexadecimal) : 0x2d
ResponseBuffer[1307] is (in hexadecimal) : 0x3a
ResponseBuffer[1308] is (in hexadecimal) : 0xff
ResponseBuffer[1309] is (in hexadecimal) : 0x34
ResponseBuffer[1310] is (in hexadecimal) : 0x0
ResponseBuffer[1311] is (in hexadecimal) : 0xa7
ResponseBuffer[1312] is (in hexadecimal) : 0x52
ResponseBuffer[1313] is (in hexadecimal) : 0x0
ResponseBuffer[1314] is (in hexadecimal) : 0xff
ResponseBuffer[1315] is (in hexadecimal) : 0x44
ResponseBuffer[1316] is (in hexadecimal) : 0x0
ResponseBuffer[1317] is (in hexadecimal) : 0x34
ResponseBuffer[1318] is (in hexadecimal) : 0x0
ResponseBuffer[1319] is (in hexadecimal) : 0x0
ResponseBuffer[1320] is (in hexadecimal) : 0xff
ResponseBuffer[1321] is (in hexadecimal) : 0xc4
ResponseBuffer[1322] is (in hexadecimal) : 0x0
ResponseBuffer[1323] is (in hexadecimal) : 0xea
ResponseBuffer[1324] is (in hexadecimal) : 0xaf
ResponseBuffer[1325] is (in hexadecimal) : 0x3a
ResponseBuffer[1326] is (in hexadecimal) : 0xff
ResponseBuffer[1327] is (in hexadecimal) : 0xd4
ResponseBuffer[1328] is (in hexadecimal) : 0x0
ResponseBuffer[1329] is (in hexadecimal) : 0x0
ResponseBuffer[1330] is (in hexadecimal) : 0x52
ResponseBuffer[1331] is (in hexadecimal) : 0x49
ResponseBuffer[1332] is (in hexadecimal) : 0xff
ResponseBuffer[1333] is (in hexadecimal) : 0xf4
ResponseBuffer[1334] is (in hexadecimal) : 0x0
ResponseBuffer[1335] is (in hexadecimal) : 0xea
ResponseBuffer[1336] is (in hexadecimal) : 0x91
ResponseBuffer[1337] is (in hexadecimal) : 0x28
ResponseBuffer[1338] is (in hexadecimal) : 0xff
ResponseBuffer[1339] is (in hexadecimal) : 0x5
ResponseBuffer[1340] is (in hexadecimal) : 0x0
ResponseBuffer[1341] is (in hexadecimal) : 0x5e
ResponseBuffer[1342] is (in hexadecimal) : 0x91
ResponseBuffer[1343] is (in hexadecimal) : 0x66
ResponseBuffer[1344] is (in hexadecimal) : 0xff
ResponseBuffer[1345] is (in hexadecimal) : 0x35
ResponseBuffer[1346] is (in hexadecimal) : 0x5
ResponseBuffer[1347] is (in hexadecimal) : 0x83
ResponseBuffer[1348] is (in hexadecimal) : 0x2d
ResponseBuffer[1349] is (in hexadecimal) : 0x0
ResponseBuffer[1350] is (in hexadecimal) : 0xff
ResponseBuffer[1351] is (in hexadecimal) : 0x45
ResponseBuffer[1352] is (in hexadecimal) : 0x5
ResponseBuffer[1353] is (in hexadecimal) : 0xea
ResponseBuffer[1354] is (in hexadecimal) : 0xcb
ResponseBuffer[1355] is (in hexadecimal) : 0x58
ResponseBuffer[1356] is (in hexadecimal) : 0xff
ResponseBuffer[1357] is (in hexadecimal) : 0x55
ResponseBuffer[1358] is (in hexadecimal) : 0x5
ResponseBuffer[1359] is (in hexadecimal) : 0xc9
ResponseBuffer[1360] is (in hexadecimal) : 0x72
ResponseBuffer[1361] is (in hexadecimal) : 0x17
ResponseBuffer[1362] is (in hexadecimal) : 0xff
ResponseBuffer[1363] is (in hexadecimal) : 0xc5
ResponseBuffer[1364] is (in hexadecimal) : 0x0
ResponseBuffer[1365] is (in hexadecimal) : 0x83
ResponseBuffer[1366] is (in hexadecimal) : 0xaf
ResponseBuffer[1367] is (in hexadecimal) : 0x66
ResponseBuffer[1368] is (in hexadecimal) : 0xff
ResponseBuffer[1369] is (in hexadecimal) : 0xf5
ResponseBuffer[1370] is (in hexadecimal) : 0x5
ResponseBuffer[1371] is (in hexadecimal) : 0xea
ResponseBuffer[1372] is (in hexadecimal) : 0xaf
ResponseBuffer[1373] is (in hexadecimal) : 0x3a
ResponseBuffer[1374] is (in hexadecimal) : 0xff
ResponseBuffer[1375] is (in hexadecimal) : 0x6
ResponseBuffer[1376] is (in hexadecimal) : 0x4
ResponseBuffer[1377] is (in hexadecimal) : 0xea
ResponseBuffer[1378] is (in hexadecimal) : 0x91
ResponseBuffer[1379] is (in hexadecimal) : 0x28
ResponseBuffer[1380] is (in hexadecimal) : 0xff
ResponseBuffer[1381] is (in hexadecimal) : 0xc6
ResponseBuffer[1382] is (in hexadecimal) : 0x4
ResponseBuffer[1383] is (in hexadecimal) : 0x18
ResponseBuffer[1384] is (in hexadecimal) : 0x35
ResponseBuffer[1385] is (in hexadecimal) : 0x0
ResponseBuffer[1386] is (in hexadecimal) : 0x52
ResponseBuffer[1387] is (in hexadecimal) : 0x49
ResponseBuffer[1388] is (in hexadecimal) : 0xff
ResponseBuffer[1389] is (in hexadecimal) : 0x30
ResponseBuffer[1390] is (in hexadecimal) : 0x0
ResponseBuffer[1391] is (in hexadecimal) : 0x5e
ResponseBuffer[1392] is (in hexadecimal) : 0x0
ResponseBuffer[1393] is (in hexadecimal) : 0x0
ResponseBuffer[1394] is (in hexadecimal) : 0xff
ResponseBuffer[1395] is (in hexadecimal) : 0x40
ResponseBuffer[1396] is (in hexadecimal) : 0x0
ResponseBuffer[1397] is (in hexadecimal) : 0xea
ResponseBuffer[1398] is (in hexadecimal) : 0xcb
ResponseBuffer[1399] is (in hexadecimal) : 0x49
ResponseBuffer[1400] is (in hexadecimal) : 0xff
ResponseBuffer[1401] is (in hexadecimal) : 0x50
ResponseBuffer[1402] is (in hexadecimal) : 0x0
ResponseBuffer[1403] is (in hexadecimal) : 0x5e
ResponseBuffer[1404] is (in hexadecimal) : 0x91
ResponseBuffer[1405] is (in hexadecimal) : 0x66
ResponseBuffer[1406] is (in hexadecimal) : 0xff
ResponseBuffer[1407] is (in hexadecimal) : 0xd1
ResponseBuffer[1408] is (in hexadecimal) : 0x1
ResponseBuffer[1409] is (in hexadecimal) : 0x83
ResponseBuffer[1410] is (in hexadecimal) : 0x2d
ResponseBuffer[1411] is (in hexadecimal) : 0x0
ResponseBuffer[1412] is (in hexadecimal) : 0xff
ResponseBuffer[1413] is (in hexadecimal) : 0xe1
ResponseBuffer[1414] is (in hexadecimal) : 0x1
ResponseBuffer[1415] is (in hexadecimal) : 0xea
ResponseBuffer[1416] is (in hexadecimal) : 0xcb
ResponseBuffer[1417] is (in hexadecimal) : 0x58
ResponseBuffer[1418] is (in hexadecimal) : 0xff
ResponseBuffer[1419] is (in hexadecimal) : 0xf1
ResponseBuffer[1420] is (in hexadecimal) : 0x1
ResponseBuffer[1421] is (in hexadecimal) : 0xea
ResponseBuffer[1422] is (in hexadecimal) : 0xaf
ResponseBuffer[1423] is (in hexadecimal) : 0x3a
ResponseBuffer[1424] is (in hexadecimal) : 0xff
ResponseBuffer[1425] is (in hexadecimal) : 0x3
ResponseBuffer[1426] is (in hexadecimal) : 0x0
ResponseBuffer[1427] is (in hexadecimal) : 0x0
ResponseBuffer[1428] is (in hexadecimal) : 0x52
ResponseBuffer[1429] is (in hexadecimal) : 0x49
ResponseBuffer[1430] is (in hexadecimal) : 0xff
ResponseBuffer[1431] is (in hexadecimal) : 0x33
ResponseBuffer[1432] is (in hexadecimal) : 0x7
ResponseBuffer[1433] is (in hexadecimal) : 0xc9
ResponseBuffer[1434] is (in hexadecimal) : 0x72
ResponseBuffer[1435] is (in hexadecimal) : 0x17
ResponseBuffer[1436] is (in hexadecimal) : 0xff
ResponseBuffer[1437] is (in hexadecimal) : 0x43
ResponseBuffer[1438] is (in hexadecimal) : 0x7
ResponseBuffer[1439] is (in hexadecimal) : 0x5e
ResponseBuffer[1440] is (in hexadecimal) : 0x91
ResponseBuffer[1441] is (in hexadecimal) : 0x66
ResponseBuffer[1442] is (in hexadecimal) : 0xff
ResponseBuffer[1443] is (in hexadecimal) : 0x73
ResponseBuffer[1444] is (in hexadecimal) : 0x0
ResponseBuffer[1445] is (in hexadecimal) : 0x0
ResponseBuffer[1446] is (in hexadecimal) : 0x0
ResponseBuffer[1447] is (in hexadecimal) : 0x0
ResponseBuffer[1448] is (in hexadecimal) : 0xff
ResponseBuffer[1449] is (in hexadecimal) : 0x83
ResponseBuffer[1450] is (in hexadecimal) : 0x10
ResponseBuffer[1451] is (in hexadecimal) : 0x34
ResponseBuffer[1452] is (in hexadecimal) : 0x0
ResponseBuffer[1453] is (in hexadecimal) : 0x0
ResponseBuffer[1454] is (in hexadecimal) : 0xff
ResponseBuffer[1455] is (in hexadecimal) : 0xa3
ResponseBuffer[1456] is (in hexadecimal) : 0x0
ResponseBuffer[1457] is (in hexadecimal) : 0xea
ResponseBuffer[1458] is (in hexadecimal) : 0xaf
ResponseBuffer[1459] is (in hexadecimal) : 0x3a
ResponseBuffer[1460] is (in hexadecimal) : 0xff
ResponseBuffer[1461] is (in hexadecimal) : 0xb3
ResponseBuffer[1462] is (in hexadecimal) : 0x1
ResponseBuffer[1463] is (in hexadecimal) : 0x0
ResponseBuffer[1464] is (in hexadecimal) : 0x52
ResponseBuffer[1465] is (in hexadecimal) : 0x49
ResponseBuffer[1466] is (in hexadecimal) : 0xff
ResponseBuffer[1467] is (in hexadecimal) : 0xc3
ResponseBuffer[1468] is (in hexadecimal) : 0x0
ResponseBuffer[1469] is (in hexadecimal) : 0x0
ResponseBuffer[1470] is (in hexadecimal) : 0x0
ResponseBuffer[1471] is (in hexadecimal) : 0x0
ResponseBuffer[1472] is (in hexadecimal) : 0xff
ResponseBuffer[1473] is (in hexadecimal) : 0xd3
ResponseBuffer[1474] is (in hexadecimal) : 0x20
ResponseBuffer[1475] is (in hexadecimal) : 0x83
ResponseBuffer[1476] is (in hexadecimal) : 0x2d
ResponseBuffer[1477] is (in hexadecimal) : 0x0
ResponseBuffer[1478] is (in hexadecimal) : 0xff
ResponseBuffer[1479] is (in hexadecimal) : 0x4
ResponseBuffer[1480] is (in hexadecimal) : 0x0
ResponseBuffer[1481] is (in hexadecimal) : 0xea
ResponseBuffer[1482] is (in hexadecimal) : 0xcb
ResponseBuffer[1483] is (in hexadecimal) : 0x58
ResponseBuffer[1484] is (in hexadecimal) : 0xff
ResponseBuffer[1485] is (in hexadecimal) : 0x14
[ResponseBuffer[1486] is (in hexadecimal) : 0x0
ResponseBuffer[1487] is (in hexadecimal) : 0x83
ResponseBuffer[1488] is (in hexadecimal) : 0xaf
ResponseBuffer[1489] is (in hexadecimal) : 0x66
ResponseBuffer[1490] is (in hexadecimal) : 0xff
ResponseBuffer[1491] is (in hexadecimal) : 0x64
ResponseBuffer[1492] is (in hexadecimal) : 0x1
ResponseBuffer[1493] is (in hexadecimal) : 0x34
ResponseBuffer[1494] is (in hexadecimal) : 0x0
ResponseBuffer[1495] is (in hexadecimal) : 0x17
ResponseBuffer[1496] is (in hexadecimal) : 0xff
ResponseBuffer[1497] is (in hexadecimal) : 0x74
ResponseBuffer[1498] is (in hexadecimal) : 0x0
ResponseBuffer[1500] is (in hexadecimal) : 0xaf
ResponseBuffer[1501] is (in hexadecimal) : 0x3a
ResponseBuffer[1502] is (in hexadecimal) : 0xff
ResponseBuffer[1503] is (in hexadecimal) : 0x84
ResponseBuffer[1504] is (in hexadecimal) : 0x0
ResponseBuffer[1505] is (in hexadecimal) : 0x83
ResponseBuffer[1506] is (in hexadecimal) : 0x91
ResponseBuffer[1507] is (in hexadecimal) : 0x66
ResponseBuffer[1508] is (in hexadecimal) : 0xff
ResponseBuffer[1509] is (in hexadecimal) : 0xa4
ResponseBuffer[1510] is (in hexadecimal) : 0x0
ResponseBuffer[1511] is (in hexadecimal) : 0x5e
ResponseBuffer[1512] is (in hexadecimal) : 0x91
ResponseBuffer[1513] is (in hexadecimal) : 0x66
ResponseBuffer[1514] is (in hexadecimal) : 0xff
ResponseBuffer[1515] is (in hexadecimal) : 0xd4
ResponseBuffer[1516] is (in hexadecimal) : 0x5
ResponseBuffer[1517] is (in hexadecimal) : 0x83
ResponseBuffer[1518] is (in hexadecimal) : 0x2d
ResponseBuffer[1519] is (in hexadecimal) : 0x0
ResponseBuffer[1520] is (in hexadecimal) : 0xff
ResponseBuffer[1521] is (in hexadecimal) : 0xe4
ResponseBuffer[1522] is (in hexadecimal) : 0x4
ResponseBuffer[1523] is (in hexadecimal) : 0xea
ResponseBuffer[1524] is (in hexadecimal) : 0xcb
ResponseBuffer[1525] is (in hexadecimal) : 0x58
ResponseBuffer[1526] is (in hexadecimal) : 0xff
ResponseBuffer[1527] is (in hexadecimal) : 0xf4
ResponseBuffer[1528] is (in hexadecimal) : 0x4
ResponseBuffer[1529] is (in hexadecimal) : 0x5e
ResponseBuffer[1530] is (in hexadecimal) : 0x0
ResponseBuffer[1531] is (in hexadecimal) : 0x17
ResponseBuffer[1532] is (in hexadecimal) : 0xff
ResponseBuffer[1533] is (in hexadecimal) : 0x5
ResponseBuffer[1534] is (in hexadecimal) : 0x0
ResponseBuffer[1535] is (in hexadecimal) : 0xea
ResponseBuffer[1536] is (in hexadecimal) : 0xcb
ResponseBuffer[1537] is (in hexadecimal) : 0x49
ResponseBuffer[1538] is (in hexadecimal) : 0xff
ResponseBuffer[1539] is (in hexadecimal) : 0x15
ResponseBuffer[1540] is (in hexadecimal) : 0x0
ResponseBuffer[1541] is (in hexadecimal) : 0x5e
ResponseBuffer[1542] is (in hexadecimal) : 0x0
ResponseBuffer[1543] is (in hexadecimal) : 0x17
ResponseBuffer[1544] is (in hexadecimal) : 0xff
ResponseBuffer[1545] is (in hexadecimal) : 0x75
ResponseBuffer[1546] is (in hexadecimal) : 0x0
ResponseBuffer[1547] is (in hexadecimal) : 0xea
ResponseBuffer[1548] is (in hexadecimal) : 0xcb
ResponseBuffer[1549] is (in hexadecimal) : 0x49
ResponseBuffer[1550] is (in hexadecimal) : 0xff
ResponseBuffer[1551] is (in hexadecimal) : 0x85
ResponseBuffer[1552] is (in hexadecimal) : 0x0
ResponseBuffer[1553] is (in hexadecimal) : 0x34
ResponseBuffer[1554] is (in hexadecimal) : 0x0
ResponseBuffer[1555] is (in hexadecimal) : 0x17
ResponseBuffer[1556] is (in hexadecimal) : 0xff
ResponseBuffer[1557] is (in hexadecimal) : 0x6
ResponseBuffer[1558] is (in hexadecimal) : 0x4
ResponseBuffer[1559] is (in hexadecimal) : 0xea
ResponseBuffer[1560] is (in hexadecimal) : 0xaf
ResponseBuffer[1561] is (in hexadecimal) : 0x3a
ResponseBuffer[1562] is (in hexadecimal) : 0xff
ResponseBuffer[1563] is (in hexadecimal) : 0x16
ResponseBuffer[1564] is (in hexadecimal) : 0x4
ResponseBuffer[1565] is (in hexadecimal) : 0xc9
ResponseBuffer[1566] is (in hexadecimal) : 0xcb
ResponseBuffer[1567] is (in hexadecimal) : 0x66
ResponseBuffer[1568] is (in hexadecimal) : 0xff
ResponseBuffer[1569] is (in hexadecimal) : 0x66
ResponseBuffer[1570] is (in hexadecimal) : 0x0
ResponseBuffer[1571] is (in hexadecimal) : 0x0
ResponseBuffer[1572] is (in hexadecimal) : 0x2d
ResponseBuffer[1573] is (in hexadecimal) : 0x3a
ResponseBuffer[1574] is (in hexadecimal) : 0xff
ResponseBuffer[1576] is (in hexadecimal) : 0x0
ResponseBuffer[1577] is (in hexadecimal) : 0x0
ResponseBuffer[1578] is (in hexadecimal) : 0x0
ResponseBuffer[1579] is (in hexadecimal) : 0x0
ResponseBuffer[1580] is (in hexadecimal) : 0xff
ResponseBuffer[1581] is (in hexadecimal) : 0x86
ResponseBuffer[1582] is (in hexadecimal) : 0x0
ResponseBuffer[1583] is (in hexadecimal) : 0xea
ResponseBuffer[1584] is (in hexadecimal) : 0x91
ResponseBuffer[1585] is (in hexadecimal) : 0x28
ResponseBuffer[1586] is (in hexadecimal) : 0xff
ResponseBuffer[1587] is (in hexadecimal) : 0x96
ResponseBuffer[1588] is (in hexadecimal) : 0x0
ResponseBuffer[1589] is (in hexadecimal) : 0x83
ResponseBuffer[1590] is (in hexadecimal) : 0xaf
ResponseBuffer[1591] is (in hexadecimal) : 0x66
ResponseBuffer[1592] is (in hexadecimal) : 0xff
ResponseBuffer[1593] is (in hexadecimal) : 0x87
ResponseBuffer[1594] is (in hexadecimal) : 0x0
ResponseBuffer[1595] is (in hexadecimal) : 0x0
ResponseBuffer[1596] is (in hexadecimal) : 0x0
ResponseBuffer[1597] is (in hexadecimal) : 0x17
ResponseBuffer[1598] is (in hexadecimal) : 0xff
ResponseBuffer[1599] is (in hexadecimal) : 0x97
ResponseBuffer[1600] is (in hexadecimal) : 0x0
ResponseBuffer[1601] is (in hexadecimal) : 0x5e
ResponseBuffer[1602] is (in hexadecimal) : 0x0
ResponseBuffer[1603] is (in hexadecimal) : 0x0
ResponseBuffer[1604] is (in hexadecimal) : 0xff
ResponseBuffer[1605] is (in hexadecimal) : 0xa7
ResponseBuffer[1606] is (in hexadecimal) : 0x0
ResponseBuffer[1607] is (in hexadecimal) : 0xea
ResponseBuffer[1608] is (in hexadecimal) : 0xcb
ResponseBuffer[1609] is (in hexadecimal) : 0x49
ResponseBuffer[1610] is (in hexadecimal) : 0xff
ResponseBuffer[1611] is (in hexadecimal) : 0xb7
ResponseBuffer[1612] is (in hexadecimal) : 0x0
ResponseBuffer[1613] is (in hexadecimal) : 0xc9
ResponseBuffer[1614] is (in hexadecimal) : 0xcb
ResponseBuffer[1615] is (in hexadecimal) : 0x66
ResponseBuffer[1616] is (in hexadecimal) : 0xff
ResponseBuffer[1617] is (in hexadecimal) : 0x98
ResponseBuffer[1618] is (in hexadecimal) : 0x1
ResponseBuffer[1619] is (in hexadecimal) : 0x0
ResponseBuffer[1620] is (in hexadecimal) : 0x2d
ResponseBuffer[1621] is (in hexadecimal) : 0x3a
ResponseBuffer[1622] is (in hexadecimal) : 0xff
ResponseBuffer[1623] is (in hexadecimal) : 0xa8
ResponseBuffer[1624] is (in hexadecimal) : 0x1
ResponseBuffer[1625] is (in hexadecimal) : 0xc9
ResponseBuffer[1626] is (in hexadecimal) : 0x72
ResponseBuffer[1627] is (in hexadecimal) : 0x17
ResponseBuffer[1628] is (in hexadecimal) : 0xff
ResponseBuffer[1629] is (in hexadecimal) : 0xb8
ResponseBuffer[1630] is (in hexadecimal) : 0x0
ResponseBuffer[1631] is (in hexadecimal) : 0x5e
ResponseBuffer[1632] is (in hexadecimal) : 0x91
ResponseBuffer[1633] is (in hexadecimal) : 0x66
ResponseBuffer[1634] is (in hexadecimal) : 0xff
ResponseBuffer[1635] is (in hexadecimal) : 0x69
ResponseBuffer[1636] is (in hexadecimal) : 0x0
ResponseBuffer[1637] is (in hexadecimal) : 0xea
ResponseBuffer[1638] is (in hexadecimal) : 0x91
ResponseBuffer[1639] is (in hexadecimal) : 0x28
ResponseBuffer[1640] is (in hexadecimal) : 0xff
ResponseBuffer[1641] is (in hexadecimal) : 0x79
ResponseBuffer[1642] is (in hexadecimal) : 0x0
ResponseBuffer[1643] is (in hexadecimal) : 0xea
ResponseBuffer[1644] is (in hexadecimal) : 0x91
ResponseBuffer[1645] is (in hexadecimal) : 0x28
ResponseBuffer[1646] is (in hexadecimal) : 0xff
ResponseBuffer[1647] is (in hexadecimal) : 0xb9
ResponseBuffer[1648] is (in hexadecimal) : 0x0
ResponseBuffer[1649] is (in hexadecimal) : 0x5e
ResponseBuffer[1650] is (in hexadecimal) : 0x0
ResponseBuffer[1651] is (in hexadecimal) : 0x0
ResponseBuffer[1652] is (in hexadecimal) : 0xff
ResponseBuffer[1653] is (in hexadecimal) : 0xe9
ResponseBuffer[1654] is (in hexadecimal) : 0x0
ResponseBuffer[1655] is (in hexadecimal) : 0xea
ResponseBuffer[1656] is (in hexadecimal) : 0xcb
ResponseBuffer[1657] is (in hexadecimal) : 0x49
ResponseBuffer[1658] is (in hexadecimal) : 0xff
ResponseBuffer[1659] is (in hexadecimal) : 0xf9
ResponseBuffer[1660] is (in hexadecimal) : 0x0
ResponseBuffer[1661] is (in hexadecimal) : 0x83
ResponseBuffer[1662] is (in hexadecimal) : 0xaf
ResponseBuffer[1663] is (in hexadecimal) : 0x66
ResponseBuffer[1664] is (in hexadecimal) : 0xff
ResponseBuffer[1665] is (in hexadecimal) : 0x6a
ResponseBuffer[1666] is (in hexadecimal) : 0x0
ResponseBuffer[1667] is (in hexadecimal) : 0x0
ResponseBuffer[1668] is (in hexadecimal) : 0x0
ResponseBuffer[1669] is (in hexadecimal) : 0x17
ResponseBuffer[1670] is (in hexadecimal) : 0xff
ResponseBuffer[1671] is (in hexadecimal) : 0x7a
ResponseBuffer[1672] is (in hexadecimal) : 0x0
ResponseBuffer[1673] is (in hexadecimal) : 0x0
ResponseBuffer[1674] is (in hexadecimal) : 0x0
ResponseBuffer[1675] is (in hexadecimal) : 0x0
ResponseBuffer[1676] is (in hexadecimal) : 0xff
ResponseBuffer[1677] is (in hexadecimal) : 0x8a
ResponseBuffer[1678] is (in hexadecimal) : 0x10
ResponseBuffer[1679] is (in hexadecimal) : 0xc9
ResponseBuffer[1680] is (in hexadecimal) : 0x72
ResponseBuffer[1681] is (in hexadecimal) : 0x17
ResponseBuffer[1682] is (in hexadecimal) : 0xff
ResponseBuffer[1683] is (in hexadecimal) : 0xaa
ResponseBuffer[1684] is (in hexadecimal) : 0x0
ResponseBuffer[1685] is (in hexadecimal) : 0xc9
ResponseBuffer[1686] is (in hexadecimal) : 0xcb
ResponseBuffer[1687] is (in hexadecimal) : 0x66
ResponseBuffer[1688] is (in hexadecimal) : 0xff
ResponseBuffer[1689] is (in hexadecimal) : 0xda
ResponseBuffer[1690] is (in hexadecimal) : 0x0
ResponseBuffer[1691] is (in hexadecimal) : 0x0
ResponseBuffer[1692] is (in hexadecimal) : 0x2d
ResponseBuffer[1693] is (in hexadecimal) : 0x3a
ResponseBuffer[1694] is (in hexadecimal) : 0xff
ResponseBuffer[1695] is (in hexadecimal) : 0xea
ResponseBuffer[1696] is (in hexadecimal) : 0x0
ResponseBuffer[1697] is (in hexadecimal) : 0x0
ResponseBuffer[1698] is (in hexadecimal) : 0x0
ResponseBuffer[1699] is (in hexadecimal) : 0x0
ResponseBuffer[1700] is (in hexadecimal) : 0xff
ResponseBuffer[1701] is (in hexadecimal) : 0xfa
ResponseBuffer[1702] is (in hexadecimal) : 0x0
ResponseBuffer[1703] is (in hexadecimal) : 0x18
ResponseBuffer[1704] is (in hexadecimal) : 0xff
ResponseBuffer[1705] is (in hexadecimal) : 0x7f
ResponseBuffer[1706] is (in hexadecimal) : 0x0
ResponseBuffer[1707] is (in hexadecimal) : 0x8d
ResponseBuffer[1708] is (in hexadecimal) : 0x24
ResponseBuffer[1709] is (in hexadecimal) : 0x0
ResponseBuffer[1710] is (in hexadecimal) : 0xff
ResponseBuffer[1711] is (in hexadecimal) : 0x9f
ResponseBuffer[1712] is (in hexadecimal) : 0x0
ResponseBuffer[1713] is (in hexadecimal) : 0xf0
ResponseBuffer[1714] is (in hexadecimal) : 0xed
ResponseBuffer[1715] is (in hexadecimal) : 0xaa
ResponseBuffer[1716] is (in hexadecimal) : 0xff
ResponseBuffer[1717] is (in hexadecimal) : 0xaf
ResponseBuffer[1718] is (in hexadecimal) : 0x0
ResponseBuffer[1719] is (in hexadecimal) : 0x56
ResponseBuffer[1720] is (in hexadecimal) : 0x6f
ResponseBuffer[1721] is (in hexadecimal) : 0xaa
ResponseBuffer[1722] is (in hexadecimal) : 0xff
ResponseBuffer[1723] is (in hexadecimal) : 0xbf
ResponseBuffer[1724] is (in hexadecimal) : 0x0
ResponseBuffer[1725] is (in hexadecimal) : 0x18
ResponseBuffer[1726] is (in hexadecimal) : 0x5
ResponseBuffer[1727] is (in hexadecimal) : 0xa7
ResponseBuffer[1728] is (in hexadecimal) : 0x4b
ResponseBuffer[1729] is (in hexadecimal) : 0x0
ResponseBuffer[1730] is (in hexadecimal) : 0xff
ResponseBuffer[1731] is (in hexadecimal) : 0x3c
ResponseBuffer[1732] is (in hexadecimal) : 0x0
ResponseBuffer[1733] is (in hexadecimal) : 0xf0
ResponseBuffer[1734] is (in hexadecimal) : 0xed
ResponseBuffer[1735] is (in hexadecimal) : 0xcd
ResponseBuffer[1736] is (in hexadecimal) : 0xff
ResponseBuffer[1737] is (in hexadecimal) : 0x4c
ResponseBuffer[1738] is (in hexadecimal) : 0x0
ResponseBuffer[1739] is (in hexadecimal) : 0xf0
ResponseBuffer[1740] is (in hexadecimal) : 0xed
ResponseBuffer[1741] is (in hexadecimal) : 0xee
ResponseBuffer[1742] is (in hexadecimal) : 0xff
ResponseBuffer[1743] is (in hexadecimal) : 0x5c
ResponseBuffer[1744] is (in hexadecimal) : 0x10
ResponseBuffer[1745] is (in hexadecimal) : 0x72
ResponseBuffer[1746] is (in hexadecimal) : 0x91
ResponseBuffer[1747] is (in hexadecimal) : 0xcd
ResponseBuffer[1748] is (in hexadecimal) : 0xff
ResponseBuffer[1749] is (in hexadecimal) : 0x7c
ResponseBuffer[1750] is (in hexadecimal) : 0x3
ResponseBuffer[1751] is (in hexadecimal) : 0xd8
ResponseBuffer[1752] is (in hexadecimal) : 0x91
ResponseBuffer[1753] is (in hexadecimal) : 0x35
ResponseBuffer[1754] is (in hexadecimal) : 0xff
ResponseBuffer[1755] is (in hexadecimal) : 0x6d
ResponseBuffer[1756] is (in hexadecimal) : 0x2
ResponseBuffer[1757] is (in hexadecimal) : 0x0
ResponseBuffer[1758] is (in hexadecimal) : 0x18
ResponseBuffer[1759] is (in hexadecimal) : 0xb
ResponseBuffer[1760] is (in hexadecimal) : 0x8d
ResponseBuffer[1761] is (in hexadecimal) : 0x24
ResponseBuffer[1762] is (in hexadecimal) : 0x0
ResponseBuffer[1763] is (in hexadecimal) : 0xff
ResponseBuffer[1764] is (in hexadecimal) : 0xed
ResponseBuffer[1765] is (in hexadecimal) : 0x0
ResponseBuffer[1766] is (in hexadecimal) : 0xf0
ResponseBuffer[1767] is (in hexadecimal) : 0xed
ResponseBuffer[1768] is (in hexadecimal) : 0xaa
ResponseBuffer[1769] is (in hexadecimal) : 0xff
ResponseBuffer[1770] is (in hexadecimal) : 0xfd
ResponseBuffer[1771] is (in hexadecimal) : 0x0
ResponseBuffer[1772] is (in hexadecimal) : 0x72
ResponseBuffer[1773] is (in hexadecimal) : 0x24
ResponseBuffer[1774] is (in hexadecimal) : 0x0
ResponseBuffer[1775] is (in hexadecimal) : 0xff
ResponseBuffer[1776] is (in hexadecimal) : 0xde
ResponseBuffer[1777] is (in hexadecimal) : 0x0
ResponseBuffer[1778] is (in hexadecimal) : 0xf0
ResponseBuffer[1779] is (in hexadecimal) : 0xcf
ResponseBuffer[1780] is (in hexadecimal) : 0x86
ResponseBuffer[1781] is (in hexadecimal) : 0xff
ResponseBuffer[1782] is (in hexadecimal) : 0xee
ResponseBuffer[1783] is (in hexadecimal) : 0x0
ResponseBuffer[1784] is (in hexadecimal) : 0x72
ResponseBuffer[1785] is (in hexadecimal) : 0x91
ResponseBuffer[1786] is (in hexadecimal) : 0xcd
ResponseBuffer[1787] is (in hexadecimal) : 0xff
ResponseBuffer[1788] is (in hexadecimal) : 0xfe
ResponseBuffer[1789] is (in hexadecimal) : 0x0
ResponseBuffer[1790] is (in hexadecimal) : 0xa7
ResponseBuffer[1791] is (in hexadecimal) : 0x4b
ResponseBuffer[1792] is (in hexadecimal) : 0x0
ResponseBuffer[1793] is (in hexadecimal) : 0xff
ResponseBuffer[1794] is (in hexadecimal) : 0x1f
ResponseBuffer[1795] is (in hexadecimal) : 0x0
ResponseBuffer[1796] is (in hexadecimal) : 0xf0
ResponseBuffer[1797] is (in hexadecimal) : 0xed
ResponseBuffer[1798] is (in hexadecimal) : 0xcd
ResponseBuffer[1799] is (in hexadecimal) : 0xff
ResponseBuffer[1800] is (in hexadecimal) : 0x2f
ResponseBuffer[1801] is (in hexadecimal) : 0x0
ResponseBuffer[1802] is (in hexadecimal) : 0x8d
ResponseBuffer[1803] is (in hexadecimal) : 0xb1
ResponseBuffer[1804] is (in hexadecimal) : 0xee
ResponseBuffer[1805] is (in hexadecimal) : 0xff
ResponseBuffer[1806] is (in hexadecimal) : 0x3f
ResponseBuffer[1807] is (in hexadecimal) : 0x0
ResponseBuffer[1808] is (in hexadecimal) : 0xa7
ResponseBuffer[1809] is (in hexadecimal) : 0x4b
ResponseBuffer[1810] is (in hexadecimal) : 0x0
ResponseBuffer[1811] is (in hexadecimal) : 0xff
ResponseBuffer[1812] is (in hexadecimal) : 0xdf
ResponseBuffer[1813] is (in hexadecimal) : 0x0
ResponseBuffer[1814] is (in hexadecimal) : 0xc0
ResponseBuffer[1815] is (in hexadecimal) : 0xed
ResponseBuffer[1816] is (in hexadecimal) : 0xcd
ResponseBuffer[1817] is (in hexadecimal) : 0xff
ResponseBuffer[1818] is (in hexadecimal) : 0xef
ResponseBuffer[1819] is (in hexadecimal) : 0x0
ResponseBuffer[1820] is (in hexadecimal) : 0x56
ResponseBuffer[1821] is (in hexadecimal) : 0x24
ResponseBuffer[1822] is (in hexadecimal) : 0x5f
ResponseBuffer[1823] is (in hexadecimal) : 0xff
ResponseBuffer[1824] is (in hexadecimal) : 0xff
ResponseBuffer[1825] is (in hexadecimal) : 0x0
ResponseBuffer[1826] is (in hexadecimal) : 0x18
ResponseBuffer[1827] is (in hexadecimal) : 0x9
ResponseBuffer[1828] is (in hexadecimal) : 0xf0
ResponseBuffer[1829] is (in hexadecimal) : 0xed
ResponseBuffer[1830] is (in hexadecimal) : 0xee
ResponseBuffer[1831] is (in hexadecimal) : 0xff
ResponseBuffer[1832] is (in hexadecimal) : 0xd
ResponseBuffer[1833] is (in hexadecimal) : 0x0
ResponseBuffer[1834] is (in hexadecimal) : 0xd8
ResponseBuffer[1835] is (in hexadecimal) : 0xed
ResponseBuffer[1836] is (in hexadecimal) : 0xee
ResponseBuffer[1837] is (in hexadecimal) : 0xff
ResponseBuffer[1838] is (in hexadecimal) : 0x1d
ResponseBuffer[1839] is (in hexadecimal) : 0x0
ResponseBuffer[1840] is (in hexadecimal) : 0x56
ResponseBuffer[1841] is (in hexadecimal) : 0x4b
ResponseBuffer[1842] is (in hexadecimal) : 0x86
ResponseBuffer[1843] is (in hexadecimal) : 0xff
ResponseBuffer[1844] is (in hexadecimal) : 0x2d
ResponseBuffer[1845] is (in hexadecimal) : 0x0
ResponseBuffer[1846] is (in hexadecimal) : 0xc0
ResponseBuffer[1847] is (in hexadecimal) : 0x6f
ResponseBuffer[1848] is (in hexadecimal) : 0x0
ResponseBuffer[1849] is (in hexadecimal) : 0xff
ResponseBuffer[1850] is (in hexadecimal) : 0x1e
ResponseBuffer[1851] is (in hexadecimal) : 0x0
ResponseBuffer[1852] is (in hexadecimal) : 0xa7
ResponseBuffer[1853] is (in hexadecimal) : 0xcf
ResponseBuffer[1854] is (in hexadecimal) : 0xee
ResponseBuffer[1855] is (in hexadecimal) : 0xff
ResponseBuffer[1856] is (in hexadecimal) : 0x2e
ResponseBuffer[1857] is (in hexadecimal) : 0x0
ResponseBuffer[1858] is (in hexadecimal) : 0x56
ResponseBuffer[1859] is (in hexadecimal) : 0x24
ResponseBuffer[1860] is (in hexadecimal) : 0x35
ResponseBuffer[1861] is (in hexadecimal) : 0xff
ResponseBuffer[1862] is (in hexadecimal) : 0x3e
ResponseBuffer[1863] is (in hexadecimal) : 0x0
ResponseBuffer[1864] is (in hexadecimal) : 0x8d
ResponseBuffer[1865] is (in hexadecimal) : 0x24
ResponseBuffer[1866] is (in hexadecimal) : 0x0
ResponseBuffer[1867] is (in hexadecimal) : 0xff
ResponseBuffer[1868] is (in hexadecimal) : 0x1f
ResponseBuffer[1869] is (in hexadecimal) : 0x0
ResponseBuffer[1870] is (in hexadecimal) : 0xf0
ResponseBuffer[1871] is (in hexadecimal) : 0xed
ResponseBuffer[1872] is (in hexadecimal) : 0xaa
ResponseBuffer[1873] is (in hexadecimal) : 0xff
ResponseBuffer[1874] is (in hexadecimal) : 0x2f
ResponseBuffer[1875] is (in hexadecimal) : 0x0
ResponseBuffer[1876] is (in hexadecimal) : 0x56
ResponseBuffer[1877] is (in hexadecimal) : 0x6f
ResponseBuffer[1878] is (in hexadecimal) : 0xaa
ResponseBuffer[1879] is (in hexadecimal) : 0xff
ResponseBuffer[1880] is (in hexadecimal) : 0x3f
ResponseBuffer[1881] is (in hexadecimal) : 0x0
ResponseBuffer[1882] is (in hexadecimal) : 0x18
ResponseBuffer[1883] is (in hexadecimal) : 0x24
ResponseBuffer[1884] is (in hexadecimal) : 0x35
ResponseBuffer[1885] is (in hexadecimal) : 0xff
ResponseBuffer[1886] is (in hexadecimal) : 0x3e
ResponseBuffer[1887] is (in hexadecimal) : 0x0
ResponseBuffer[1888] is (in hexadecimal) : 0x8d
ResponseBuffer[1889] is (in hexadecimal) : 0x24
ResponseBuffer[1890] is (in hexadecimal) : 0x0
ResponseBuffer[1891] is (in hexadecimal) : 0xff
ResponseBuffer[1892] is (in hexadecimal) : 0x1f
ResponseBuffer[1893] is (in hexadecimal) : 0x0
ResponseBuffer[1894] is (in hexadecimal) : 0xf0
ResponseBuffer[1895] is (in hexadecimal) : 0xed
ResponseBuffer[1896] is (in hexadecimal) : 0xaa
ResponseBuffer[1897] is (in hexadecimal) : 0xff
ResponseBuffer[1898] is (in hexadecimal) : 0x2f
ResponseBuffer[1899] is (in hexadecimal) : 0x0
ResponseBuffer[1900] is (in hexadecimal) : 0x56
ResponseBuffer[1901] is (in hexadecimal) : 0x6f
ResponseBuffer[1902] is (in hexadecimal) : 0xaa
ResponseBuffer[1903] is (in hexadecimal) : 0xff
ResponseBuffer[1904] is (in hexadecimal) : 0x3f
ResponseBuffer[1905] is (in hexadecimal) : 0x0
ResponseBuffer[1906] is (in hexadecimal) : 0x18
ResponseBuffer[1907] is (in hexadecimal) : 0xcf
ResponseBuffer[1908] is (in hexadecimal) : 0x86
ResponseBuffer[1909] is (in hexadecimal) : 0xff
ResponseBuffer[1910] is (in hexadecimal) : 0x9b
ResponseBuffer[1911] is (in hexadecimal) : 0x0
ResponseBuffer[1912] is (in hexadecimal) : 0xf0
ResponseBuffer[1913] is (in hexadecimal) : 0xed
ResponseBuffer[1914] is (in hexadecimal) : 0xee
ResponseBuffer[1915] is (in hexadecimal) : 0xff
ResponseBuffer[1916] is (in hexadecimal) : 0xab
ResponseBuffer[1917] is (in hexadecimal) : 0x20
ResponseBuffer[1918] is (in hexadecimal) : 0xa7
ResponseBuffer[1919] is (in hexadecimal) : 0xcf
ResponseBuffer[1920] is (in hexadecimal) : 0xee
ResponseBuffer[1921] is (in hexadecimal) : 0xff
ResponseBuffer[1922] is (in hexadecimal) : 0xdb
ResponseBuffer[1923] is (in hexadecimal) : 0x0
ResponseBuffer[1924] is (in hexadecimal) : 0x56
ResponseBuffer[1925] is (in hexadecimal) : 0x24
ResponseBuffer[1926] is (in hexadecimal) : 0x35
ResponseBuffer[1927] is (in hexadecimal) : 0xff
ResponseBuffer[1928] is (in hexadecimal) : 0xeb
ResponseBuffer[1929] is (in hexadecimal) : 0x0
ResponseBuffer[1930] is (in hexadecimal) : 0x18
ResponseBuffer[1931] is (in hexadecimal) : 0xff
ResponseBuffer[1932] is (in hexadecimal) : 0xcc
ResponseBuffer[1933] is (in hexadecimal) : 0x0
ResponseBuffer[1934] is (in hexadecimal) : 0x18
ResponseBuffer[1935] is (in hexadecimal) : 0xcd
ResponseBuffer[1936] is (in hexadecimal) : 0xff
ResponseBuffer[1937] is (in hexadecimal) : 0x7d
ResponseBuffer[1938] is (in hexadecimal) : 0x2
ResponseBuffer[1939] is (in hexadecimal) : 0x0
ResponseBuffer[1940] is (in hexadecimal) : 0x0

ResponseBuffer[2047] is (in hexadecimal) : 0x0
Thanks.

Theo,
Some points I notice are:

  1. The revision field (offset 0) has a value of 0x1, which as per FC-GS-4 conforms to an older revision of the spec.
  2. The Command/Response code field (offset 8 and 9) has a value of 0x101. As per the spec, this indicates a request CT_IU and not a response CT_IU. Also, the value of 0x101 corresponds to the code for GIEL.
  3. The Reason Code and Reason Code Explanation are in fields at offset 13 and 14 respectively. In this case they are both zero.

Can you confirm if this is the response buffer? To me it looks like the request buffer (and is similar to the example you provided in the other link).

Thanks Girish.
The same I felt while posting. But,
To confirm below is the ResponseBuffer value of two commands GANXT and GIEL CT command,
Few points:

  1. For GANXT (offset 8 and 9) maps to x8002 i.e ‘Accept CT_IU’ the Response code field.
    The same we recieved in the ResponseBuffer.

  2. Similarly for GIEL (offset 8 and 9) maps to x101 i.e Logical busy the Response code field.
    Here for GIEL, the same request buffer values which we have send is exactly recieved in ResponseBuffer.

Is there could be any reason for this?
I double checked in driver side ResponseBuffer values too for GIEL CT command, the same values is mimiced there too.
I appreciate any input on this.

Windows PowerShell
Copyright (C) 2013 Microsoft Corporation. All rights reserved.

PS C:\Users\Administrator> cd ‘C:\Users\Administrator\Desktop’
PS C:\Users\Administrator\Desktop> cscript.exe .\DoSendCTPassThru-Working-Final.vbs
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.

SendCTPassThru(GANXT) method called with Ct.MaximumSize = 0
SendCTPassThru(GANXT) status success, Response: x8002 ReasonCode: x0 Explanation: x0
Value stored in outbuff i.e ResponseBuffer[0] [GANXT - Max Size] = : 1
Value stored in outbuff i.e ResponseBuffer[1] [GANXT - Max Size] = : 0
Value stored in outbuff i.e ResponseBuffer[2] [GANXT - Max Size] = : 0
Value stored in outbuff i.e ResponseBuffer[3] [GANXT - Max Size] = : 0
Value stored in outbuff i.e ResponseBuffer[4] [GANXT - Max Size] = : FC
Value stored in outbuff i.e ResponseBuffer[5] [GANXT - Max Size] = : 2
Value stored in outbuff i.e ResponseBuffer[6] [GANXT - Max Size] = : 0
Value stored in outbuff i.e ResponseBuffer[7] [GANXT - Max Size] = : 0
Value stored in outbuff i.e ResponseBuffer[8] [GANXT - Max Size] = : 80
Value stored in outbuff i.e ResponseBuffer[9] [GANXT - Max Size] = : 2
Value stored in outbuff i.e ResponseBuffer[10] [GANXT - Max Size] = : 0
Value stored in outbuff i.e ResponseBuffer[11] [GANXT - Max Size] = : 0
Value stored in outbuff i.e ResponseBuffer[12] [GANXT - Max Size] = : 0
Value stored in outbuff i.e ResponseBuffer[13] [GANXT - Max Size] = : 0
Value stored in outbuff i.e ResponseBuffer[14] [GANXT - Max Size] = : 0
Value stored in outbuff i.e ResponseBuffer[15] [GANXT - Max Size] = : 0
Value stored in outbuff i.e ResponseBuffer[16] [GANXT - Max Size] = : 1
Value stored in outbuff i.e ResponseBuffer[17] [GANXT - Max Size] = : 1
SendCTPassThru(GANXT) status success, Response: x8002 ReasonCode: x0 Explanation: x0
SendCTPassThru(GANXT) was accepted
SendCTPassThru(GIEL) method called with Ct.MaximumSize = 0
SendCTPassThru(GIEL) status success, Response: x101 ReasonCode: x0 Explanation: x0
SendCTPassThru(GIEL) method called with Ct.MaximumSize = 188
Value stored in outbuff i.e ResponseBuffer[0] [GIEL - Max Size]: 1
Value stored in outbuff i.e ResponseBuffer[1] [GIEL - Max Size]: 0
Value stored in outbuff i.e ResponseBuffer[2] [GIEL - Max Size]: 0
Value stored in outbuff i.e ResponseBuffer[3] [GIEL - Max Size]: 0
Value stored in outbuff i.e ResponseBuffer[4] [GIEL - Max Size]: FA
Value stored in outbuff i.e ResponseBuffer[5] [GIEL - Max Size]: 1
Value stored in outbuff i.e ResponseBuffer[6] [GIEL - Max Size]: 0
Value stored in outbuff i.e ResponseBuffer[7] [GIEL - Max Size]: 0
Value stored in outbuff i.e ResponseBuffer[8] [GIEL - Max Size]: 1
Value stored in outbuff i.e ResponseBuffer[9] [GIEL - Max Size]: 1
Value stored in outbuff i.e ResponseBuffer 10 [GIEL - Max Size]: 0
Value stored in outbuff i.e ResponseBuffer 11 [GIEL - Max Size]: BC
Value stored in outbuff i.e ResponseBuffer 12 [GIEL - Max Size]: 0
Value stored in outbuff i.e ResponseBuffer 13 [GIEL - Max Size]: 0
Value stored in outbuff i.e ResponseBuffer 14 [GIEL - Max Size]: 0
Value stored in outbuff i.e ResponseBuffer 15 [GIEL - Max Size]: 0
Value stored in outbuff i.e ResponseBuffer 16 [GIEL - Max Size]: 0
SendCTPassThru(GIEL) status success, Response: x101 ReasonCode: x0 Explanation: x0
2255 :SendCTPassThru(GIEL) was rejected
PS C:\Users\Administrator\Desktop>

Theo,
The HwScsiWmiExecuteMethod routine that handles the SendCTPassThru has only one buffer, used for both input and output. It could be possible that the execution of GIEL failed (either at your driver or at the switch end), based on which the buffer was not updated with the actual response from the switch.

Is your xvhba.sys the HBA miniport driver? If yes, can you confirm that the buffer is being updated in both the success and error cases from the switch?
Also, checking the response from the switch for GIEL using a wire trace can provide more details.

-Girish.

Yes Girish, xvhba.sys is a storport miniport driver which is also a WMI provider (Class=SCSIAdapter).

  1. case GANXT (Success).
  1. case GIEL (Failure).
  • The driver ‘buffer’ value haven’t been updated. It retains the same ‘request buffer’ values.
  • HBAStatus: HBA_STATUS_OK

Apart from this, is there any else needed to be checked in driver side.
Or else can I conclude GIEL CT command execution failed in FC switch.

Thanks,
Theo.

What is the response buffer from the switch telling you for GIEL, in terms of the reason code and explanation?

Hi Girish,

The things I see is,

  1. As per spec
    ReasonCode: 0x0 - ’ Nothing is specified in spec ’
    Explanation: 0x0 - ’ No additional explanation ’

As mentioned before ResponseBuffer values in driver is also same as request buffer for GIEL.

Link: https://msdn.microsoft.com/en-us/library/windows/hardware/ff565413(v=vs.85).aspx
In xvhba.c:
PSendCTPassThru_OUT sendPassThru; // An instance is created

ResponseBuffer values from the FC switch ( in driver side )is as follows,
sendPassThru->ResponseBuffer[0] is : 0x1
sendPassThru->ResponseBuffer[1] is : 0x0
sendPassThru->ResponseBuffer[2] is : 0x0
sendPassThru->ResponseBuffer[3] is : 0x0
sendPassThru->ResponseBuffer[4] is : 0xfa
sendPassThru->ResponseBuffer[5] is : 0x1
sendPassThru->ResponseBuffer[6] is : 0x0
sendPassThru->ResponseBuffer[7] is : 0x0
sendPassThru->ResponseBuffer[8] is : 0x1
sendPassThru->ResponseBuffer[9] is : 0x1
sendPassThru->ResponseBuffer[10] is : 0x0
sendPassThru->ResponseBuffer[11] is : 0x0
sendPassThru->ResponseBuffer[12] is : 0x0
sendPassThru->ResponseBuffer[13] is : 0x0
sendPassThru->ResponseBuffer[14] is : 0x0
sendPassThru->ResponseBuffer[15] is : 0x0
sendPassThru->ResponseBuffer[16] is : 0x0
sendPassThru->ResponseBuffer[17] is : 0x0

Is this enough to conclude GIEL CT execution failed in FC switch.
Else anything I have to look in driver side.

Thanks,
Theo.

Dump the actual response in your driver. Review your code. Remember that you have to complete the WMI SRB with success and set the returned length, too.

Welcome Alex and thanks for the info.

  • The actual response buffer is same as ( request buffer sent ). That is the problem.
  • The dump of actual response (ResponseBuffer values) in driver side I posted in the above thread.

Here is the following I see while GIEL is executed,

sendPassThru->ActualResponseBufferCount : 2048

typedef struct _SCSI_WMI_REQUEST_BLOCK {

UCHAR SrbStatus; <— SRB_STATUS_SUCCESS

} SCSI_WMI_REQUEST_BLOCK, *PSCSI_WMI_REQUEST_BLOCK;

So WMI SRB is completed with success.

  1. The returned length is set.

Am I missing out anything.

  • Theo.

Hi All.

Link:
https://msdn.microsoft.com/en-us/library/windows/hardware/ff565409(v=vs.85).aspx

SendCTPassThru function is Windows specific.
What is the corresponding ‘SendCTPassThru function’ for linux?

Thanks,
Theo.