All of lore.kernel.org
 help / color / mirror / Atom feed
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 09:47:02 +0200	[thread overview]
Message-ID: <1831684.talzOfVBnx@leonov> (raw)
In-Reply-To: <BD5E516FF3711A41B93DC005170007BB010E5DB57E78@EMBSVR01.ember.local>

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

-- 
BR
Szymon Janc

  reply	other threads:[~2015-05-28  7:47 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 [this message]
2015-05-28  8:37   ` Ankur Patel
2015-05-28  9:15     ` Szymon Janc
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=1831684.talzOfVBnx@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.