Hi Edward, On Wed, Jul 3, 2019 at 6:35 PM Edward Fung <jjsheepman@xxxxxxxxx> wrote: > > Hello Luiz, > > Yes, this is the same test with 3 different errors reported by the > PTS. The HCI commands for each error code are included as below. > Thanks! > > Test case : GATT/SR/UNS/BI-01-C started > - Running test case with ATT bearer setup over BR/EDR. > - BR/EDR Connection setup successfully. > - BR Security not initiated due to TSPX_security_enabled value. > - Sending an ATT request with an unsupported opcode. > - Received data 0116-0102-01 > - Invalid request handle received. Expected=0x0000 Received =0x201. > - Connection terminated successfully. > -Final Verdict: FAIL > GATT/SR/UNS/BI-01-C finished > > > ACL data: handle 12 flags 0x02 dlen 24 > L2CAP(d): cid 0x0040 len 20 [psm 31] > ATT: Prepare Write req (0x16) > attr handle 0x0201, value offset 0x0403 > part attr value 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d > 0x0e 0x0f 0x10 0x11 0x12 0x13 > < ACL data: handle 12 flags 0x00 dlen 9 > L2CAP(d): cid 0x0040 len 5 [psm 31] > ATT: Error (0x01) > Error: Invalid handle (1) > Prepare Write req (0x16) on handle 0x0201 Weird does the prepare don't require to return the handle on the error? The spec don't seem to mention that. > > ACL data: handle 12 flags 0x02 dlen 18 > L2CAP(d): cid 0x0040 len 14 [psm 31] > ATT: Read By Group resp (0x11) > attr handle 0x0001, end group handle 0x0007 > value 0x00 0x18 > attr handle 0x0010, end group handle 0x0015 > value 0x01 0x18 > < ACL data: handle 12 flags 0x00 dlen 11 > L2CAP(d): cid 0x0040 len 7 [psm 31] > ATT: Read By Group req (0x10) > start 0x0016, end 0xffff > type-uuid 0x2800 > Test case : GATT/SR/UNS/BI-01-C started > - Running test case with ATT bearer setup over BR/EDR. > - BR/EDR Connection setup successfully. > - BR Security not initiated due to TSPX_security_enabled value. > - Sending an ATT request with an unsupported opcode. > - Received data 010E-0000-01 > - Invalid Error Code received. Expected=0x06 Received =0x1. > - Connection terminated successfully. > -Final Verdict: FAIL > GATT/SR/UNS/BI-01-C finished > > > ACL data: handle 12 flags 0x02 dlen 19 > L2CAP(d): cid 0x0040 len 15 [psm 31] > ATT: Read Multi req (0x0e) > Handles > handle 0x0201 > handle 0x0403 > handle 0x0605 > handle 0x0807 > handle 0x0a09 > handle 0x0c0b > handle 0x0e0d > < ACL data: handle 12 flags 0x00 dlen 9 > L2CAP(d): cid 0x0040 len 5 [psm 31] > ATT: Error (0x01) > Error: Invalid handle (1) > Read Multi req (0x0e) on handle 0x0000 Here I think we do have to set the handle and we are not doing it, this is probably an error on our side but invalidate the first error since there we would be doing exactly what this failure is suggesting. > > ACL data: handle 12 flags 0x02 dlen 18 > L2CAP(d): cid 0x0040 len 14 [psm 31] > ATT: Read By Group resp (0x11) > attr handle 0x0001, end group handle 0x0007 > value 0x00 0x18 > attr handle 0x0010, end group handle 0x0015 > value 0x01 0x18 > < ACL data: handle 12 flags 0x00 dlen 11 > L2CAP(d): cid 0x0040 len 7 [psm 31] > ATT: Read By Group req (0x10) > start 0x0016, end 0xffff > type-uuid 0x2800 > > Test case : GATT/SR/UNS/BI-01-C started > - Running test case with ATT bearer setup over BR/EDR. > - BR/EDR Connection setup successfully. > - BR Security not initiated due to TSPX_security_enabled value. > - Sending an ATT request with an unsupported opcode. > - Received data 010C-0000-04 > - Invalid Error Code received. Expected=0x06 Received =0x4. > - Connection terminated successfully. > -Final Verdict: FAIL > GATT/SR/UNS/BI-01-C finished > > ACL data: handle 11 flags 0x02 dlen 22 > L2CAP(d): cid 0x0040 len 18 [psm 31] > ATT: Read Blob req (0x0c) > handle 0x0201 offset 0x0403 > < ACL data: handle 11 flags 0x00 dlen 9 > L2CAP(d): cid 0x0040 len 5 [psm 31] > ATT: Error (0x01) > Error: Invalid PDU (4) > Read Blob req (0x0c) on handle 0x0000 And here as well, we should be setting the handle as in the first occurrence, but it is saying we should return request not supported instead? > > ACL data: handle 11 flags 0x02 dlen 18 > L2CAP(d): cid 0x0040 len 14 [psm 31] > ATT: Read By Group resp (0x11) > attr handle 0x0001, end group handle 0x0007 > value 0x00 0x18 > attr handle 0x0010, end group handle 0x0015 > value 0x01 0x18 > < ACL data: handle 11 flags 0x00 dlen 11 > L2CAP(d): cid 0x0040 len 7 [psm 31] > ATT: Read By Group req (0x10) > start 0x0016, end 0xffff > type-uuid 0x2800 -- Luiz Augusto von Dentz