2014-04-16 12:20:37

by Claudio Takahasi

[permalink] [raw]
Subject: Re: For Gatt feature question.

Hi Chaojie Gu,

On Wed, Apr 16, 2014 at 5:17 AM, Gu, Chao Jie <[email protected]> wrote:
> Hi, Claudio:
>
> Sorry for taking your time to ask you question about GATT again.
> Recently we have implemented the part of Gatt feature in the Bluetooth-frwk
> in Tizen according to the Gatt-API doc in the bluez 5.18. We hope we can do
> some test for Gatt Client operation to contribute Gatt Client DBus API
> related development. However, now we have encountered the some issues about
> how to test GATT operation.
>
> Firstly, we have to familiar with the test steps about it. Now we setup two
> environment for testing. One acts as Gatt Server, the other acts as Gatt
> Client.
>
> For Gatt Server, I've checked out the latest tag (5.18) from git and have
> built it and gatt-example.c is compiled into a static plugin that is loaded
> at runtime. Through the bluetoothd running, I've confirmed that the plugin
> is compiled and is loaded at runtime. When I use gattool to do some test,
> connection is failed.
>
> Gatt server Bluetooth status:
>
> hci0: Type: BR/EDR Bus: USB
>
> BD Address: 00:15:83:65:01:90 ACL MTU: 310:10 SCO MTU: 64:8
>
> UP RUNNING PSCAN ISCAN
>
> RX bytes:4394 acl:29 sco:0 events:197 errors:0
>
> TX bytes:11856 acl:35 sco:0 commands:139 errors:0
>
>
>
> Gatt client Bluetooth status:
>
> hci0: Type: BR/EDR Bus: USB
>
> BD Address: 00:1A:7D:DA:71:0C ACL MTU: 310:10 SCO MTU: 64:8
>
> UP RUNNING PSCAN
>
> RX bytes:104760 acl:34 sco:0 events:619 errors:0
>
> TX bytes:5704 acl:31 sco:0 commands:160 errors:0
>
>
>
> My operation step is:
>
> 1. Scan and Pair the gatt client with gatt server , it pair
> successfully.
>
> 2. In the server side, furthermore to register external gatt service
> by gatt-service.
>
> 3. In the client side, use command line : gatttool -i hci0 -b
> 00:15:83:65:01:90 --primary
>
> To do primary service discovery.
>
> Command line feedback: Connection refused (111)
>
>
>
> The client bluetoothd fail log :
>
> bluetoothd[29734]: src/adapter.c:connect_failed_callback() hci0
> 00:15:83:65:01:90 status 2
>
> bluetoothd[29734]: src/adapter.c:bonding_attempt_complete() hci0 bdaddr
> 00:15:83:65:01:90 type 1 status 0x2
>
> bluetoothd[29734]: src/adapter.c:resume_discovery()
>
>
>
> gatt_connect function has failed in the gatt tool, any option need to set in
> the command line ?

Please share the btmon log (of both sides).

Check if this problem also happens in BlueZ master.

>
> Which steps is right method to use gattool to test the gatt operation or
> lack other configuration for bluez in the sever side?

I recommend to use the interactive mode "-I" and specify the remote
address type.

>
>
>
> Secondly, there are a lot of patchset about Gatt Client DBus API
> implementation. Should we add all the patches into the latest tag (5.18) to
> test Gatt Client DBus API?

Do you mean re-base your patches to send upstream?
First make sure that your implementation is aligned with the
requirements that are being discussed in the ML: bt_att_* and shared
attribute database.

Regards,
Claudio


2014-04-17 12:41:21

by Gu, Chao Jie

[permalink] [raw]
Subject: RE: For Gatt feature question.

SGkgQ2xhdWRpbywgDQogIEZvciB0aGUgbGFzdCBtYWlsIGlzc3VlLCBJIGZvdW5kIHRoZSByb290
IGNhdXNlIGlzIHRoYXQgYmx1ZXRvb3RoZCBpcyBub3QgZGVmYXVsdCBlbmFibGUgTEUgY29ubmVj
dGFibGUgdW5kaXJlY3RlZCBhZHZlcnRpc2luZyBpbiB0aGUgR2F0dCBzZXJ2ZXIgc2lkZSwgc28g
d2UgaGF2ZSB0byB1c2UgY29tbWFuZCBtYW51YWxseSBhczogaGNpY29uZmlnIGhjaTAgbGVhZHYg
MCwgdGhlbiB0aGUgZ2F0dHRvb2wgLUkgY2FuIHdvcmsuIEFuZCB0aGFua3MgZm9yIHlvdXIgYWR2
aWNlLg0KICBGb3IgYmx1ZXogdXNlciwgZmluYWxseSB3ZSBob3BlIHRvIGNhbGwgdGhlIERCdXMg
aW50ZXJmYWNlIGNvbm5lY3QgbWV0aG9kIHRvIGNvbm5lY3QgTEUgZGV2aWNlLiBIb3dldmVyLCBU
aGVyZSBpcyBzdGlsbCBvbmUgaXNzdWUgaW4gTEUgY29ubmVjdGlvbiBpbiB0aGUgYmx1ZXRvb3Ro
ZCB3aGljaCBjYW4gYWx3YXlzIHJlcHJvZHVjZWQgaW4gYmx1ZXogbWF0ZXIgYnJhbmNoLiANCiAg
V2UgaGF2ZSB0cmllZCB0d28gZGlmZmVyZW50IHdheXMgdG8gY29ubmVjdCBHYXR0IHNlcnZlciBz
aWRlLg0KDQogIE9uZSBjYXNlLCB3ZSBlbmFibGUgTEUgY29ubmVjdGFibGUgdW5kaXJlY3RlZCBh
ZHZlcnRpc2luZyBiZWZvcmUgdGhlIHNjYW5uaW5nOg0KICBXaGVuIHdlIHBhaXIgdGhlIEdhdHQg
Q2xpZW50IHdpdGggR2F0dCBzZXJ2ZXIsIHRoZSBibHVldG9vdGhkIHRob3VnaHQgaXQgaXMgTEUg
ZGV2aWNlICwgaXQgd2lsbCBieXBhc3MgdGhlIHBhaXJpbmcgcHJvY2VzcyBqdXN0IHRvIGNhbGwg
ZGV2aWNlX2Nvbm5lY3RfbGUgZGV2aWNlLiBUaGlzIHdpbGwgcmVzdWx0IGluIGNvbm5lY3QgY29t
bWFuZCBpbiBnYXR0b29sIGFuZCBibHVldG9vdGhjdHJsIGFsbCBmYWlsIHRvIGNvbm5lY3QuIA0K
DQogIFRoZSBvdGhlciBjYXNlLCB3ZSBlbmFibGUgTEUgY29ubmVjdGFibGUgdW5kaXJlY3RlZCBh
ZHZlcnRpc2luZyBhZnRlciB0aGUgc2Nhbm5pbmc6DQogIFdoZW4gd2UgcGFpciB0aGUgc2FtZSB0
d28gZGV2aWNlcywgdGhlIGJsdWV0b290aGQgZGlkbid0IGtub3cgdGhpcyBpcyBHYXR0IHNlcnZl
ciBpcyBMRSBkZXZpY2UgLCBzbyBpdCB3aWxsIGdvIHRocm91Z2h0IHRoZSBub3JtYWwgcGFpcmlu
ZyBwcm9jZXNzLiBBbmQgdGhlbiBlbmFibGUgTEUgY29ubmVjdGFibGUgdW5kaXJlY3RlZCBhZHZl
cnRpc2luZywgZ2F0dG9vbCAtSSBjYW4gY29ubmVjdCBnYXR0IHNlcnZlciBzaWRlIHN1Y2Nlc3Nm
dWxseS4NCiAgSG93ZXZlciwgT25lIHByb2JsZW0gaXMgLCB3aGVuIHdlIHVzZSBCbHVldG9vdGhj
dHJsIGNvbm5lY3QgY29tbWFuZCB0byBjb25uZWN0IGdhdHQgc2VydmVyLCB0aGUgcmVzdWx0IGlz
IGFsd2F5cyBmYWlsZWQuIEJlY2F1c2UgYmRhZGRyX3R5cGUgaXMgQkRBRERSX0JSRURSIGluIHRo
ZSBkZXZfY29ubmVjdCwgc28gYmx1ZXRvb3RoZCBjYW5ub3QgY2FsbCB0aGUgZGV2aWNlX2Nvbm5l
Y3RfbGUgZnVuY3Rpb24gdG8gY29ubmVjdC4NCg0KICBJIHRoaW5rIHRoZSByaWdodCBzY2VuYXJp
byBpcyBlbmFibGUgTEUgY29ubmVjdGFibGUgdW5kaXJlY3RlZCBhZHZlcnRpc2luZyBiZWZvcmUg
dGhlIHNjYW5uaW5nLCBsZXQgdGhlIGNsaWVudCBrbm93cyB0aGUgb3RoZXIgc2lkZSBpcyBMRSBk
ZXZpY2UuIA0KICBTbyBteSBxdWVzdGlvbiBpcyB3aHkgYmx1ZXRvb3RoZCBieXBhc3MgdGhlIHBh
aXJpbmcgcHJvY2VzcyBqdXN0IHRvIGNhbGwgZGV2aWNlX2Nvbm5lY3RfbGUgZGV2aWNlIHdoZW4g
ZW5hYmxpbmcgTEUgY29ubmVjdGFibGUgdW5kaXJlY3RlZCBhZHZlcnRpc2luZz8gDQogIEFuZCB3
aGF0IGlzIHRoZSBmaW5hbCBzb2x1dGlvbiBmb3IgdGhpcyBpc3N1ZSBpZiB1c2VyIG5lZWQgdG8g
Y2FsbCBibHVleiBEQnVzIGludGVyZmFjZSBjb25uZWN0IG1ldGhvZCBpbiB0aGUgZGV2aWNlLWFw
aSBkb2M/DQoNClRoYW5rcyBhIGxvdA0KQ2hhb2ppZSBHdQ0KLWItLS0tT3JpZ2luYWwgTWVzc2Fn
ZS0tLS0tDQpGcm9tOiBDbGF1ZGlvIFRha2FoYXNpIFttYWlsdG86Y2xhdWRpby50YWthaGFzaUBv
cGVuYm9zc2Eub3JnXSANClNlbnQ6IFdlZG5lc2RheSwgQXByaWwgMTYsIDIwMTQgODoyMSBQTQ0K
VG86IEd1LCBDaGFvIEppZQ0KQ2M6IGxpbnV4LWJsdWV0b290aEB2Z2VyLmtlcm5lbC5vcmc7IEpv
aGFuIEhlZGJlcmcNClN1YmplY3Q6IFJlOiBGb3IgR2F0dCBmZWF0dXJlIHF1ZXN0aW9uLg0KDQpI
aSBDaGFvamllIEd1LA0KDQpPbiBXZWQsIEFwciAxNiwgMjAxNCBhdCA1OjE3IEFNLCBHdSwgQ2hh
byBKaWUgPGNoYW8uamllLmd1QGludGVsLmNvbT4gd3JvdGU6DQo+IEhpLCBDbGF1ZGlvOg0KPg0K
PiAgICAgICAgICBTb3JyeSBmb3IgdGFraW5nIHlvdXIgdGltZSB0byBhc2sgeW91IHF1ZXN0aW9u
IGFib3V0IEdBVFQgYWdhaW4uDQo+IFJlY2VudGx5IHdlIGhhdmUgaW1wbGVtZW50ZWQgdGhlIHBh
cnQgb2YgR2F0dCBmZWF0dXJlIGluIHRoZSANCj4gQmx1ZXRvb3RoLWZyd2sgaW4gVGl6ZW4gYWNj
b3JkaW5nIHRvIHRoZSBHYXR0LUFQSSBkb2MgaW4gdGhlIGJsdWV6IA0KPiA1LjE4LiBXZSBob3Bl
IHdlIGNhbiBkbyBzb21lIHRlc3QgZm9yIEdhdHQgQ2xpZW50IG9wZXJhdGlvbiB0byANCj4gY29u
dHJpYnV0ZSBHYXR0IENsaWVudCBEQnVzIEFQSSByZWxhdGVkIGRldmVsb3BtZW50LiBIb3dldmVy
LCBub3cgd2UgDQo+IGhhdmUgZW5jb3VudGVyZWQgdGhlIHNvbWUgaXNzdWVzIGFib3V0IGhvdyB0
byB0ZXN0IEdBVFQgb3BlcmF0aW9uLg0KPg0KPiBGaXJzdGx5LCB3ZSBoYXZlIHRvIGZhbWlsaWFy
IHdpdGggdGhlIHRlc3Qgc3RlcHMgYWJvdXQgaXQuIE5vdyB3ZSANCj4gc2V0dXAgdHdvIGVudmly
b25tZW50IGZvciB0ZXN0aW5nLiBPbmUgYWN0cyBhcyBHYXR0IFNlcnZlciwgdGhlIG90aGVyIA0K
PiBhY3RzIGFzIEdhdHQgQ2xpZW50Lg0KPg0KPiBGb3IgR2F0dCBTZXJ2ZXIsIEkndmUgY2hlY2tl
ZCBvdXQgdGhlIGxhdGVzdCB0YWcgKDUuMTgpIGZyb20gZ2l0IGFuZCANCj4gaGF2ZSBidWlsdCBp
dCBhbmQgZ2F0dC1leGFtcGxlLmMgaXMgY29tcGlsZWQgaW50byBhIHN0YXRpYyBwbHVnaW4gdGhh
dCANCj4gaXMgbG9hZGVkIGF0IHJ1bnRpbWUuIFRocm91Z2ggdGhlIGJsdWV0b290aGQgcnVubmlu
ZywgSSd2ZSBjb25maXJtZWQgDQo+IHRoYXQgdGhlIHBsdWdpbiBpcyBjb21waWxlZCBhbmQgaXMg
bG9hZGVkIGF0IHJ1bnRpbWUuIFdoZW4gSSB1c2UgDQo+IGdhdHRvb2wgdG8gZG8gc29tZSB0ZXN0
LCBjb25uZWN0aW9uIGlzIGZhaWxlZC4NCj4NCj4gR2F0dCBzZXJ2ZXIgQmx1ZXRvb3RoIHN0YXR1
czoNCj4NCj4gaGNpMDogICBUeXBlOiBCUi9FRFIgIEJ1czogVVNCDQo+DQo+ICAgICAgICAgQkQg
QWRkcmVzczogMDA6MTU6ODM6NjU6MDE6OTAgIEFDTCBNVFU6IDMxMDoxMCAgU0NPIE1UVTogNjQ6
OA0KPg0KPiAgICAgICAgIFVQIFJVTk5JTkcgUFNDQU4gSVNDQU4NCj4NCj4gICAgICAgICBSWCBi
eXRlczo0Mzk0IGFjbDoyOSBzY286MCBldmVudHM6MTk3IGVycm9yczowDQo+DQo+ICAgICAgICAg
VFggYnl0ZXM6MTE4NTYgYWNsOjM1IHNjbzowIGNvbW1hbmRzOjEzOSBlcnJvcnM6MA0KPg0KPg0K
Pg0KPiBHYXR0IGNsaWVudCBCbHVldG9vdGggc3RhdHVzOg0KPg0KPiBoY2kwOiAgVHlwZTogQlIv
RURSICBCdXM6IFVTQg0KPg0KPiBCRCBBZGRyZXNzOiAwMDoxQTo3RDpEQTo3MTowQyAgQUNMIE1U
VTogMzEwOjEwICBTQ08gTVRVOiA2NDo4DQo+DQo+IFVQIFJVTk5JTkcgUFNDQU4NCj4NCj4gUlgg
Ynl0ZXM6MTA0NzYwIGFjbDozNCBzY286MCBldmVudHM6NjE5IGVycm9yczowDQo+DQo+IFRYIGJ5
dGVzOjU3MDQgYWNsOjMxIHNjbzowIGNvbW1hbmRzOjE2MCBlcnJvcnM6MA0KPg0KPg0KPg0KPiBN
eSBvcGVyYXRpb24gc3RlcCBpczoNCj4NCj4gMS4gICAgICAgU2NhbiBhbmQgUGFpciB0aGUgZ2F0
dCBjbGllbnQgd2l0aCBnYXR0IHNlcnZlciAsIGl0IHBhaXINCj4gc3VjY2Vzc2Z1bGx5Lg0KPg0K
PiAyLiAgICAgICBJbiB0aGUgc2VydmVyIHNpZGUsIGZ1cnRoZXJtb3JlIHRvIHJlZ2lzdGVyIGV4
dGVybmFsIGdhdHQgc2VydmljZQ0KPiBieSBnYXR0LXNlcnZpY2UuDQo+DQo+IDMuICAgICAgIElu
IHRoZSBjbGllbnQgc2lkZSwgdXNlIGNvbW1hbmQgbGluZSA6IGdhdHR0b29sIC1pIGhjaTAgLWIN
Cj4gMDA6MTU6ODM6NjU6MDE6OTAgLS1wcmltYXJ5DQo+DQo+IFRvIGRvIHByaW1hcnkgc2Vydmlj
ZSBkaXNjb3ZlcnkuDQo+DQo+IENvbW1hbmQgbGluZSBmZWVkYmFjazogQ29ubmVjdGlvbiByZWZ1
c2VkICgxMTEpDQo+DQo+DQo+DQo+ICAgIFRoZSBjbGllbnQgYmx1ZXRvb3RoZCBmYWlsIGxvZyA6
DQo+DQo+IGJsdWV0b290aGRbMjk3MzRdOiBzcmMvYWRhcHRlci5jOmNvbm5lY3RfZmFpbGVkX2Nh
bGxiYWNrKCkgaGNpMA0KPiAwMDoxNTo4Mzo2NTowMTo5MCBzdGF0dXMgMg0KPg0KPiBibHVldG9v
dGhkWzI5NzM0XTogc3JjL2FkYXB0ZXIuYzpib25kaW5nX2F0dGVtcHRfY29tcGxldGUoKSBoY2kw
IA0KPiBiZGFkZHINCj4gMDA6MTU6ODM6NjU6MDE6OTAgdHlwZSAxIHN0YXR1cyAweDINCj4NCj4g
Ymx1ZXRvb3RoZFsyOTczNF06IHNyYy9hZGFwdGVyLmM6cmVzdW1lX2Rpc2NvdmVyeSgpDQo+DQo+
DQo+DQo+IGdhdHRfY29ubmVjdCBmdW5jdGlvbiBoYXMgZmFpbGVkIGluIHRoZSBnYXR0IHRvb2ws
IGFueSBvcHRpb24gbmVlZCB0byANCj4gc2V0IGluIHRoZSBjb21tYW5kIGxpbmUgPw0KDQpQbGVh
c2Ugc2hhcmUgdGhlIGJ0bW9uIGxvZyAob2YgYm90aCBzaWRlcykuDQoNCkNoZWNrIGlmIHRoaXMg
cHJvYmxlbSBhbHNvIGhhcHBlbnMgaW4gQmx1ZVogbWFzdGVyLg0KDQo+DQo+IFdoaWNoIHN0ZXBz
IGlzIHJpZ2h0IG1ldGhvZCB0byB1c2UgZ2F0dG9vbCB0byB0ZXN0IHRoZSBnYXR0IG9wZXJhdGlv
biANCj4gb3IgbGFjayBvdGhlciBjb25maWd1cmF0aW9uIGZvciBibHVleiBpbiB0aGUgc2V2ZXIg
c2lkZT8NCg0KSSByZWNvbW1lbmQgdG8gdXNlIHRoZSBpbnRlcmFjdGl2ZSBtb2RlICItSSIgYW5k
IHNwZWNpZnkgdGhlIHJlbW90ZSBhZGRyZXNzIHR5cGUuDQoNCj4NCj4NCj4NCj4gU2Vjb25kbHks
IHRoZXJlIGFyZSBhIGxvdCBvZiBwYXRjaHNldCBhYm91dCBHYXR0IENsaWVudCBEQnVzIEFQSSAN
Cj4gaW1wbGVtZW50YXRpb24uIFNob3VsZCB3ZSBhZGQgYWxsIHRoZSBwYXRjaGVzIGludG8gdGhl
IGxhdGVzdCB0YWcgDQo+ICg1LjE4KSB0byB0ZXN0IEdhdHQgQ2xpZW50IERCdXMgQVBJPw0KDQpE
byB5b3UgbWVhbiByZS1iYXNlIHlvdXIgcGF0Y2hlcyB0byBzZW5kIHVwc3RyZWFtPw0KRmlyc3Qg
bWFrZSBzdXJlIHRoYXQgeW91ciBpbXBsZW1lbnRhdGlvbiBpcyBhbGlnbmVkIHdpdGggdGhlIHJl
cXVpcmVtZW50cyB0aGF0IGFyZSBiZWluZyBkaXNjdXNzZWQgaW4gdGhlIE1MOiBidF9hdHRfKiBh
bmQgc2hhcmVkIGF0dHJpYnV0ZSBkYXRhYmFzZS4NCg0KUmVnYXJkcywNCkNsYXVkaW8NCg==