From: Szymon Janc <szymon.janc@tieto.com>
To: Ankur Patel <ankur@embertec.com>
Cc: "linux-bluetooth@vger.kernel.org" <linux-bluetooth@vger.kernel.org>
Subject: Re: Issue: Sending ATT Signed Write Command via btgatt-client
Date: Thu, 28 May 2015 11:15:22 +0200 [thread overview]
Message-ID: <1611692.3irn0nrenv@leonov> (raw)
In-Reply-To: <BD5E516FF3711A41B93DC005170007BB010E5DB57E91@EMBSVR01.ember.local>
Hi Ankur,
On Thursday 28 of May 2015 18:07:48 Ankur Patel wrote:
> > Hi Ankur,
> >
> > On Thursday 28 of May 2015 16:47:09 Ankur Patel wrote:
> > > Hello Folks,
> > >
> > > I would like to Send Signed Write command to modify a characteristic
> > > on the Host. It failed into the Error: Failed to initiate write
> > > without response procedure
> > >
> > > Information on Controller (May be helpful):
> > > root@imx28evk:~# cat /proc/crypto
> > > name : ecb(aes)
> > > driver : ecb-aes-dcp
> > > module : kernel
> > > priority : 400
> > > refcnt : 1
> > > selftest : passed
> > > type : ablkcipher
> > > async : yes
> > > blocksize : 16
> > > min keysize : 16
> > > max keysize : 32
> > > ivsize : 0
> > > geniv : <default>
> > >
> > > root@imx28evk:~# btmgmt info
> > > Index list with 1 item
> > > hci0: Primary controller
> > >
> > > addr 1C:BA:8C:86:81:21 version 6 manufacturer 13 class 0x000000
> > > supported settings: powered connectable fast-connectable
> > >
> > > discoverable bondable link-security ssp br/edr hs le advertising
> > > debug-keys privacy current settings: powered connectable discoverable
> > > bondable link-security br/edr le advertising name testbt
> > >
> > > short name
> > >
> > > root@imx28evk:~/tools# btgatt-client -d 00:1B:DC:07:2E:85 Connecting
> > > to device... Done Service Added - UUID:
> > > 00001800-0000-1000-8000-00805f9b34fb start: 0x0001
> > > end: 0x000d Service Added - UUID: 00001801-0000-1000-8000-00805f9b34fb
> > > start: 0x0014 end: 0x0016 [GATT client]# GATT discovery procedures
> > > complete [GATT client]# ...
> > > [GATT client]# set-sign-key -c efcdab8967452301efcdab8967452301 [GATT
> > > client]# write-value -s -w 0xd 01 Failed to initiate write without
> > > response procedure
> > >
> > > I tried to trace the error as:
> > > bt_gatt_client_write_without_response(..) -> bt_att_send(..) ->
> > > create_att_send_op(..) -> encode_pdu(..) -> bt_crypto_sign_att(..) ->
> > > As
> > > att->crypto is NULL it returns false.
> > >
> > > I tried to check the reason for att->crypto to be NULL. Found that
> > > while initialization of the btgatt-client, under bt_crypto_new() ->
> > > crypto->ecb_aes = ecb_aes_setup();. It fails under ecb_aes_setup
> >
> > function.
> >
> > > From the output of /proc/crypto, the kernel has the support. I am
> > > wondering how to enable the crypto?
> >
> > Most likely following options are missing in your kernel configuration:
> > CONFIG_CRYPTO_CMAC
> > CONFIG_CRYPTO_USER_API
> > CONFIG_CRYPTO_USER_API_HASH
> > CONFIG_CRYPTO_USER_API_SKCIPHER
>
> It Worked!!. Thank you Szymon for quick response.
>
> Now I am able to send the Signed Write Command but without Authentication
> Signature. If I understood it correctly, 1) Set the Signature using [GATT
> client]# set-sign-key -c efcdab8967452301efcdab8967452301 2) Execute
> command: write-value -s -w 0xd 01 to send write command.
>
> I couldn't able to see the signature on the Sniffer.
> In addition on the Controller I see below output of root@imx28evk:~#Btmon:
>
> < ACL Data TX: Handle 1025 flags 0x00 dlen 20
>
>
> [hci0] 2394.331806 ATT: Signed Write Command (0xd2) len 15
> 0d 00 01 03 00 00 00 47 8a ec df 50 fc a5 ba .......G...P...
This looks OK to me.
0d 00 01 03 00 00 00 47 8a ec df 50 fc a5 ba
handle data signature
Check CoreSpec 4.2 Vol3, Part F, p. 3.4.5.4 (pdf page 2194) for details.
--
BR
Szymon Janc
next prev parent reply other threads:[~2015-05-28 9:15 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-28 7:17 Issue: Sending ATT Signed Write Command via btgatt-client Ankur Patel
2015-05-28 7:47 ` Szymon Janc
2015-05-28 8:37 ` Ankur Patel
2015-05-28 9:15 ` Szymon Janc [this message]
2015-05-28 9:41 ` Luiz Augusto von Dentz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1611692.3irn0nrenv@leonov \
--to=szymon.janc@tieto.com \
--cc=ankur@embertec.com \
--cc=linux-bluetooth@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.