Re: [PATCH ] tools/gatt-client: Define ATT application err code

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Bharat,

On Thu, Feb 19, 2015 at 10:47 AM, Bharat Bhusan Panda
<bharat.panda@xxxxxxxxxxx> wrote:
> Hi Luiz,
>
>> -----Original Message-----
>> From: linux-bluetooth-owner@xxxxxxxxxxxxxxx [mailto:linux-bluetooth-
>> owner@xxxxxxxxxxxxxxx] On Behalf Of Luiz Augusto von Dentz
>> Sent: Thursday, February 19, 2015 2:00 PM
>> To: Bharat Panda
>> Cc: linux-bluetooth@xxxxxxxxxxxxxxx; cpgs@xxxxxxxxxxx
>> Subject: Re: [PATCH ] tools/gatt-client: Define ATT application err code
>>
>> Hi Bharat,
>>
>> On Wed, Feb 18, 2015 at 5:03 PM, Bharat Panda
>> <bharat.panda@xxxxxxxxxxx> wrote:
>> > Adds application error codes for ATT response PDUs.
>> > Prints error messages for respective application error codes.
>> > 1. IO Error
>> > 2. Operation Timedout
>> > 3. Operation Aborted
>> >
>> > e.g.
>> >
>> > [GATT client]# read-value 0x0015
>> > [GATT client]#
>> > Read request failed: IO Error (0x80)
>> > ---
>> >  src/shared/att-types.h | 5 +++++
>> >  tools/btgatt-client.c  | 6 ++++++
>> >  2 files changed, 11 insertions(+)
>> >
>> > diff --git a/src/shared/att-types.h b/src/shared/att-types.h index
>> > aa7f0da..5f95dab 100644
>> > --- a/src/shared/att-types.h
>> > +++ b/src/shared/att-types.h
>> > @@ -91,6 +91,11 @@ struct bt_att_pdu_error_rsp {
>> >  #define BT_ATT_ERROR_UNSUPPORTED_GROUP_TYPE            0x10
>> >  #define BT_ATT_ERROR_INSUFFICIENT_RESOURCES            0x11
>> >
>> > +/* Application error codes for Error response PDU*/
>> > +#define BT_ATT_ERROR_IO                                0x80
>> > +#define BT_ATT_ERROR_TIMEOUT                           0x81
>> > +#define BT_ATT_ERROR_ABORTED                           0x82
>>
>> Where these errors come from? It doesn't look like we are using this range
>> perhaps this was introduced in 4.2?
> These are all application error code for ATT, defined in core 4.2 ATT error code values.
> Application Error       0x80-0x9F       Application error code defined by a higher layer specification.
> PTS test case,
> TC_GAR_CL_BI_35_C/ TC_GAR_CL_BI_34_C - 0x80 as IO Error- Invalid Transprot
> TC_GAT_CL_BV_01_C/ TC_GAT_CL_BV_02_C - as timeout error code 0x81

Then perhaps we should document what are these errors, I was hoping
this is documented in the CCS, perhaps they are to be treated as
application specific but then adding them into the TS is not really
helping because depending on the application these opcodes can be used
for different errors, IMO we should file an errata, these test should
never cause specific application errors otherwise it needs to be in
adopted in the spec, if the point was just to test application
specific errors then any errors in the range 0x80-0x9F should be
allowed.

Now this being said we should probably handle this internally by
printing any error in the whole range as "Application error:" followed
by error code.

>>
>> >  /*
>> >   * ATT attribute permission bitfield values. Permissions are grouped as
>> >   * "Access", "Encryption", "Authentication", and "Authorization". A
>> > bitmask of diff --git a/tools/btgatt-client.c b/tools/btgatt-client.c
>> > index e59d5db..7777211 100644
>> > --- a/tools/btgatt-client.c
>> > +++ b/tools/btgatt-client.c
>> > @@ -111,6 +111,12 @@ static const char *ecode_to_string(uint8_t ecode)
>> >                 return "Group type Not Supported";
>> >         case BT_ATT_ERROR_INSUFFICIENT_RESOURCES:
>> >                 return "Insufficient Resources";
>> > +       case BT_ATT_ERROR_IO:
>> > +               return "IO Error";
>> > +       case BT_ATT_ERROR_TIMEOUT:
>> > +               return "Operation Timed out";
>> > +       case BT_ATT_ERROR_ABORTED:
>> > +               return "Operation Aborted";
>> >         default:
>> >                 return "Unknown error type";
>> >         }
>> > --
>> > 1.9.1
>> >
>> > --
>> > To unsubscribe from this list: send the line "unsubscribe
>> > linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx
>> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>
>>
>>
>> --
>> Luiz Augusto von Dentz
>> --
>
>
> Best Regards,
>
> Bharat
>



-- 
Luiz Augusto von Dentz
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux