Commit Graph

294 Commits

Author SHA1 Message Date
Mariusz Skamra
51de714eef Bluetooth: tester: Handle Write Without Response command
This patch adds Write Without Response command handler to the tester.
It allows to test if GATT Client can perform write operation without
acknowledgement form Server.

Change-Id: I3663e2e01c0fabfd75e4bedab0955700e3003522
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
2016-02-05 20:25:08 -05:00
Mariusz Skamra
66cc8faf7a Bluetooth: tester: Handle Discover All Characteristic Descriptors command
This patch adds Discover All Characteristic Descriptors command handler
to the tester. It allows to test if GATT Client can perform discovery of
characteristic descriptors within specified range.

Change-Id: Ieb04b47168249d8d76eab840b4f54b8b6b450792
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
2016-02-05 20:25:07 -05:00
Mariusz Skamra
2d1b3b5a62 Bluetooth: tester: Handle Discover Characteristics by UUID command
This patch adds Discover Characteristics by UUID command handler
to the tester. It allows to test if GATT Client can perform discovery
of characteristics based on known UUID.

Change-Id: Iab78ea7e5bc85e1fadc46b7e8f5b28ee4b9db16d
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
2016-02-05 20:25:07 -05:00
Mariusz Skamra
b01cc79923 Bluetooth: tester: Handle Discover All Characteristics command
This patch adds Discover All Characteristics command handler to the tester.
It allows to test if GATT Client can perform discovery of all
characteristics contained within specified range.

Change-Id: Ib70abaf1365fe4a73757507148723e66881b01de
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
2016-02-05 20:25:07 -05:00
Mariusz Skamra
469ea4ee10 Bluetooth: tester: Handle Find Included Services command
This patch adds Find Included Services command handler to the tester.
It allows to test if GATT Client can perform relationship discovery.

Change-Id: I76c12fcd5e79d906b4e29b926a82a2022e505c40
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
2016-02-05 20:25:07 -05:00
Mariusz Skamra
ee178fe665 Bluetooth: tester: Handle Discover primary services by UUID command
This patch adds Discover Primary Services by UUID command handler
to the tester. It allows to test if GATT Client can perform discovery
of primary services based on known service UUID.

Change-Id: If5788c6f23481c7b4af85834bf8b113a97a4b66d
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
2016-02-05 20:25:07 -05:00
Mariusz Skamra
a693d9f29c Bluetooth: tester: Set missing bits in GATT supported commands
This patch fixes missing bits set in GATT supported commands.

Change-Id: I0c8035dc126a680147978947438f28df3b734d7a
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
2016-02-05 20:25:07 -05:00
Grzegorz Kolodziejczyk
c8dbc71552 Bluetooth: tester: Add passkey entry command implementation
This adds implementation of passkey entry command in tester
application.

Change-Id: I0624ee9f899102284490a82f5bb0a68bb342640a
Signed-off-by: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@tieto.com>
2016-02-05 20:25:07 -05:00
Grzegorz Kolodziejczyk
cc795e9204 Bluetooth: tester: Add pair command implementation
This adds implementation of pair command in tester application.

Change-Id: I55545bdf99e2828c17ec716069e925940f15d019
Signed-off-by: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@tieto.com>
2016-02-05 20:25:07 -05:00
Grzegorz Kolodziejczyk
b6c0a04a55 Bluetooth: tester: Add set io cap command implementation
This adds implementation of setting io capabilities command in tester
application.

Change-Id: I21ae68633fb74d78db6e5622e1ee518ef0eed632
Signed-off-by: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@tieto.com>
2016-02-05 20:25:07 -05:00
Grzegorz Kolodziejczyk
434a4f6d85 Bluetooth: tester: Implement SM command stubs for tester
This patch adds stubs for SM commands defined in GAP.

Change-Id: I5aef256ade5a100eb0a582c5d9bd5eb8d01611f2
Signed-off-by: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@tieto.com>
2016-02-05 20:25:07 -05:00
Grzegorz Kolodziejczyk
2c14807046 Bluetooth: tester: Separate helper for converting to btp addr type
This patch separates helper for converting address type to btp
specific.

Change-Id: Ied723e01f5548b10e063a6771f8824c0c35b4682
Signed-off-by: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@tieto.com>
2016-02-05 20:25:07 -05:00
Grzegorz Kolodziejczyk
c0c7358196 Bluetooth: tester: Replace tester_rsp_full wrapper with tester send
This patch removes redundant tester_rsp_full public function with
wrapped tester_send function.

Change-Id: Iba517ed194e02045ca952b00b952c7608592fbbd
Signed-off-by: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@tieto.com>
2016-02-05 20:25:07 -05:00
Mariusz Skamra
d82d735079 Bluetooth: tester: Fix blocking ATT requests
BTP Client received success response from the tester application too early,
so that next command was blocked due to pending ATT Request

Change-Id: I598c0e9e90984cac07f8b4ea265b0d6d69d3d18d
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
2016-02-05 20:25:07 -05:00
Luiz Augusto von Dentz
4a20bc14a7 Bluetooth: Make use of BT_UUID_DECLARE_16 for services
This makes it simpler to add the services directly into GATT services
table.

Change-Id: I090c7f9396329cf524947dd6647230c663a55f60
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2016-02-05 20:25:07 -05:00
Anas Nashif
f6f81868f8 build: Remove PROJECTINCLUDE from application makefiles
PROJECTINCLUDE is not required in app makefiles.

Change-Id: I3751b7c51c453dfe47d207bb11d171138668c4e7
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:25:04 -05:00
Johan Hedberg
5355aa8a76 Bluetooth: samples/shell: Add support for custom prompt callback
Change-Id: Ib5d305b4e98d5bcf7c14172494f452c35149a8de
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-02-05 20:25:03 -05:00
Johan Hedberg
610186b48a Bluetooth: Fix HCI driver Kconfig references in samples
Now that the H:4 driver is the default it doesn't have to be
explicitly enabled anymore. The only exception is the "no default
driver" option that's needed by the test_bluetooth unit test.

Change-Id: Ie582d51202714e314b76ffa9659c7a232a18fc1a
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-02-05 20:25:03 -05:00
Johan Hedberg
76d3602e46 Bluetooth: samples/shell: Update advertising command to new API
Change-Id: I2cb1065547dc3d39f5b9c645a576f768aa9d903f
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-02-05 20:25:02 -05:00
Johan Hedberg
de6e78e1f6 Bluetooth: samples/beacon: Use NRPA for advertising
Change-Id: I9c9c8ab5b18bdd0e035944718405cfec9a164c13
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-02-05 20:25:02 -05:00
Johan Hedberg
d4a9bdebc9 Bluetooth: samples/shell: Clean up advertise command handler
Change-Id: I11ed196b69d340eab9d8e0e1dc1d2d959cc1043b
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-02-05 20:25:02 -05:00
Johan Hedberg
1a32d5ed55 Bluetooth: Add support for specifying connection parameters
Applications may want fine-grained control of connection parameters.
The two APIs to provide this through are bt_le_set_auto_conn() as well
as bt_conn_create_le().

Change-Id: If5cddbbf017b868d768d18d2a09daf4af8aa00d8
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-02-05 20:25:02 -05:00
Johan Hedberg
4956d5630e Bluetooth: samples/shell: Add "select" command
Add command for choosing the default connection.

Change-Id: Id100320f31cb0e99ab48b162b466f52f6273018a
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-02-05 20:25:01 -05:00
Johan Hedberg
2f76a721fd Bluetooth: samples/shell: Support disconnecting non-default device
Change-Id: If9d0c601e02b9bbf4b48bf6f2e06b45d2ab5bce2
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-02-05 20:25:01 -05:00
Johan Hedberg
160489a595 Bluetooth: samples/shell: Add "auto-conn" command
Change-Id: Id81b760efa74eb6cd802289f200231bd020fbe94
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-02-05 20:25:01 -05:00
Johan Hedberg
dd353487c4 Bluetooth: Create active scanning helper macro
All current user just want basic active scanning so a corresponding
macro makes more sense than something based on duplicate filtering.

Change-Id: I97787be24b89fad66f2a952c5d53ab76f4e062fb
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-02-05 20:25:01 -05:00
Mariusz Skamra
59719970cc Bluetooth: tester: Increase BTP_MTU size
Current MTU size was not sufficient to test GATT Client, where lower
tester requires to send data of length 512 +opcode +BT address.
This exceeds current BTP_MTU size.

Change-Id: I090c47975ecfe9a657d6ff1158b5dc764c8a78a1
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
2016-02-05 20:25:00 -05:00
Johan Hedberg
38b5be06a7 Bluetooth: samples/central: Use consistent scan type
Both places in the central app that enable scanning should do
duplicate filtering.

Change-Id: If7086667c78878355dc246aa3d0b5ebcbdd0ac7b
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-02-05 20:25:00 -05:00
Johan Hedberg
f5a238b665 Bluetooth: Add ability to specify dedicated LE advertising parameters
We'll need to have a much more flexible LE advertising API. This is a
first step in that direction. A convenience BT_LE_ADV() macro is
provided to ease converting application code.

Change-Id: I74854487bbdfb4b1cf1bee0b6351d1750a56ff86
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-02-05 20:25:00 -05:00
Johan Hedberg
f1d4b686b6 Bluetooth: Rename bt_bredr_* prefix to bt_br_*
bt_br_* is equally understandable and the same length as the
corresponding bt_le_* prefix on the LE side.

Change-Id: I1820f9b9fab6363b696072f6b70d57c0bc780078
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-02-05 20:25:00 -05:00
Johan Hedberg
5619d1114b Bluetooth: Rename LE scan & advertising APIs for consistency
To have a clear split between LE & BR/EDR rename these APIs with the
appropriate prefixes.

Change-Id: I983df2b5880947d96f0ad289d12f3383f44894be
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-02-05 20:25:00 -05:00
Luiz Augusto von Dentz
962462629e Bluetooth: Fix scan data of IPSP Application
The data length was incorrect which caused the name to be truncated.

Change-Id: Ieaca7745fff89f0f5689b6d15bfc0386f59add47
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2016-02-05 20:25:00 -05:00
Luiz Augusto von Dentz
c3fde0020d Bluetooth: Make IPSP Application use blocking version of bt_enable
For test purpose pass NULL to bt_enable so it blocks until init
sequence is complete.

Change-Id: I875ff9a59bb3d1d2e799db6fc967da3aee3ac77a
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2016-02-05 20:25:00 -05:00
Luiz Augusto von Dentz
21fc28e8f8 Bluetooth: Add IPSP application to sanitycheck
Change-Id: Ib64f9e4d3f1d6a7f6d1cd1e18f88303b70e0dd91
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2016-02-05 20:25:00 -05:00
Arkadiusz Lichwa
66f9b8dc22 Bluetooth: BR/EDR: Add SCAN functionality to shell app
Enables in bt shell commands to verify available SCAN API.

Change-Id: Ie5a50ee6ecb875b56260bec7c5bbaa0482bd69e0
Signed-off-by: Arkadiusz Lichwa <arkadiusz.lichwa@tieto.com>
2016-02-05 20:25:00 -05:00
Arkadiusz Lichwa
a8d187d5aa Bluetooth: BR/EDR: Enable BLUETOOTH_BREDR option in shell app
Enables CONFIG_BLUETOOTH_BREDR option by default for bt shell app.

Change-Id: I94bca76f4c55ccccb61a3c868cbc6922f553f1f0
Signed-off-by: Arkadiusz Lichwa <arkadiusz.lichwa@tieto.com>
2016-02-05 20:25:00 -05:00
Szymon Janc
216938ca2b Bluetooth: Print leading zeros for passkey in shell app
Passkey should be entered with leading zeros so print them to avoid
user confusion. Due to printk limitation (no support for padding or
precision operators for decimal numbers) snprintf is used for
convertion.

Change-Id: I6e01f577c935147ec91038b6dce115fcd893ac99
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
2016-02-05 20:24:59 -05:00
Luiz Augusto von Dentz
ddc617efad Bluetooth: Update README with instructions for IPSP application
For testing IPSP application against a Linux host it currently need some
extra steps since 6LowPAN is not enabled by default.

Change-Id: Id491e31ef9ad6eebca7497705e874c01a5493589
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2016-02-05 20:24:59 -05:00
Luiz Augusto von Dentz
6be8a35d05 Bluetooth: Add IPSP sample application
This application uses Bluetooth IP driver to listen to UPD port and
echo back the data received.

Change-Id: Id8e58f5f8bf58ff5947441cbcb3131c0da27081c
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2016-02-05 20:24:59 -05:00
Grzegorz Kolodziejczyk
ce4a34181f Bluetooth: Add SM related struct defs to bttester
This patch adds structure definitions for SM related commands and
events. Structs are mapped with btp specification and will be used
within commands and events implementation.

Change-Id: I82231cdab62d170b86c548acc14ffdcbd888473a
Signed-off-by: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@tieto.com>
2016-02-05 20:24:59 -05:00
Szymon Janc
607f7c12cd Bluetooth: Disable SMP debugs in shell app
Those are debug feature and were enabled by mistake.

Change-Id: Id49078fd4b910578af35dbe8660d148a691a4f13
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
2016-02-05 20:24:58 -05:00
Sergio Rodriguez
2e2ad8166e qemu: Creation of QEMU specific platforms
Setting up new platforms to handle emulation, and make them the only
ones able to run on QEMU from the Makefile "qemu" target to avoid
confusion with other platforms. We have now platform qemu_x86 and
platform qemu_cortex_m3, also modification to the sanity checks to have
qemu support only on those platforms

Signed-off-by: Sergio Rodriguez <sergio.sf.rodriguez@intel.com>
Change-Id: I9291918a1d58fea4f37750ada78234628f9a5d98
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:24:56 -05:00
Thomas Heeley
f85566a0b6 misc: add shell support.
Move btshell.h out of samples into include/misc and rename to shell.h

Move btshell.c into driver/console and rename to console_handler_shell.c
as an shell implementation based on new config
CONFIG_CONSOLE_HANDLER_SHELL.

Add shell_register_app_cmd_handler for an to app to optionally call so
that it can receive cmdlines not handled by the cmds registered with
shell_init

Change-Id: I5c1585e62ff7a0ee923c6c92833cc762cf912bad
Signed-off-by: Thomas Heeley <thomas.heeley@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:24:55 -05:00
Szymon Janc
c0baad2262 Rename simple UART driver to pipe UART
Original name was too generic and confusing. This patch renames
driver to pipe UART and moves it to console drivers folder. Kconfig
destription is also improved.

Change-Id: I716fdbf7d636bbdc03b0fce27a59fd866f473246
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
2016-02-05 20:24:52 -05:00
Szymon Janc
341f81bd81 Bluetooth: SMP: Refactor keys handling
This refactor the way stored keys are handled to avoid overwriting
existing keys with new keys in case of pairing failed. Main goal is
to delay update of keys (including type and encryption size) until
link is succesfully encrypted with new key (legacy STK or LE SC LTK).

To fix this properly, TK is used to store STK or LE SC LTK and updates
of keys properties are done only on successfull encryption. This makes
code less error prone since update is done only in one place in code.
Also quering SMP code for current key makes sure that correct keys is
used in case of re-pairing.

Change-Id: I6b9e3d8229de522143e0d1fbfe0bd8223dad2a56
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
2016-02-05 20:24:52 -05:00
Mariusz Skamra
105f052992 Bluetooth: tester: Handle Exchange MTU command
This patch adds Exchange MTU command handler to the tester.
It allows to test if GATT Client can initiate MTU Exchange Procedure.

Change-Id: I2e50cec27fb7b944f57a4a6487138adbf126bad4
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
2016-02-05 20:24:51 -05:00
Grzegorz Kolodziejczyk
49eab1402c Bluetooth: Extend BTP Specification to cover SM routines
This adds protocol specification for SM.

Change-Id: I9c6ef377d0e4ad261e466dfed3a35713cf79de12
Signed-off-by: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@tieto.com>
2016-02-05 20:24:51 -05:00
Luiz Augusto von Dentz
7d2d2838fb Bluetooth: L2CAP: Implement segmentation for incoming packets
If the SDU length is bigger than the amount data received in the first
packet it means it will be segmented in 2 or more packet until the SDU
is completed.

Since the MTU required by the upper layer could be much bigger than the
ACL buffer the code now request a buffer to reassemble the SDU.

Change-Id: I286d16e185f59a8128c4357dddebdc13145dfe31
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2016-02-05 20:24:51 -05:00
Luiz Augusto von Dentz
8f48f02cae Bluetooth: Add l2cap-send command to btshell
l2cap-send can be used to send data when connecting to an L2CAP channel:

btshell> l2cap-send 3
bt: bt_l2cap_chan_send (0x00114b0c): chan 0x00112824 buf 0x00112b00 len 23
bt: l2cap_chan_create_seg (0x00114b0c): chan 0x00112824 seg 0x001124f8 len 23
bt: l2cap_chan_le_send (0x00114b0c): chan 0x00112824 cid 0x0040 len 23 credits 7
bt: l2cap_chan_le_send (0x00114b0c): chan 0x00112824 cid 0x0040 len 2 credits 6
bt: bt_l2cap_chan_send (0x00114b0c): chan 0x00112824 buf 0x00112b00 len 23
bt: l2cap_chan_create_seg (0x00114b0c): chan 0x00112824 seg 0x001124f8 len 23
bt: l2cap_chan_le_send (0x00114b0c): chan 0x00112824 cid 0x0040 len 23 credits 5
bt: l2cap_chan_le_send (0x00114b0c): chan 0x00112824 cid 0x0040 len 2 credits 4
bt: bt_l2cap_chan_send (0x00114b0c): chan 0x00112824 buf 0x00112b00 len 23
bt: l2cap_chan_create_seg (0x00114b0c): chan 0x00112824 seg 0x001124f8 len 23
bt: l2cap_chan_le_send (0x00114b0c): chan 0x00112824 cid 0x0040 len 23 credits 3
bt: l2cap_chan_le_send (0x00114b0c): chan 0x00112824 cid 0x0040 len 2 credits 2

Change-Id: Ibc970d1ffd8c407c66b35e9f3bf49ccf826f7472
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2016-02-05 20:24:51 -05:00
Mariusz Skamra
e54d74f696 Bluetooth: tester: Lookup for service handle while adding characteristic
Add characterictic command requires to provide service ID to which this
characteristic shall be added. With this patch initialization will
succeed only if service with given ID exists.

Change-Id: Ie6223f293b4cac06f211556d29896b2e1ccd96ac
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
2016-02-05 20:24:51 -05:00