Inga Stotland [Sun, 29 Mar 2020 20:56:15 +0000 (13:56 -0700)]
tools/mesh-cfgclient: Add commands for Key Refresh Phase
This adds two new menu commands:
"kr-phase-get" - sends Config Key Refresh Phase Get message
"kr-phase-set" - sends Config Key Refresh Phase Set message
Change-Id: I81e84e1640d10e854933d12af519e64e482a79fa
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Sun, 29 Mar 2020 20:56:14 +0000 (13:56 -0700)]
tools/mesh-cfgclient: Save subnet key refresh phase
This records Key Refresh phase of a subnet either as a consequence
of successful execution of subnet-update or subnet-set-phase commands.
Change-Id: I71ad1078a915986dd788f695cdd8e25db3e29d92
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Brian Gix [Wed, 1 Apr 2020 18:02:57 +0000 (11:02 -0700)]
mesh: Clear prov capabilities structure before reading
Capabilities need to be zero'd before realtime reading fresh values,
because they are mostly bitmasks, which are set when capabilities are
detected, and never otherwise cleared.
Change-Id: Ie01556568ca1601685445391b4e7c80a23c7983e
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Michał Lowas-Rzechonek [Wed, 1 Apr 2020 10:25:02 +0000 (12:25 +0200)]
doc/mesh-api: OOB Information field is 16 bit, not 32
Change-Id: I7c1cee1b6fc0230a2eb860c3b1ab32e3dddaff9b
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Michał Lowas-Rzechonek [Wed, 1 Apr 2020 10:25:01 +0000 (12:25 +0200)]
mesh: Honor provisioner's capabilities
This patch makes the daemon select authentication method based from
capabilities supported by both provisioned node and provisioner
application.
Change-Id: I36f85087e4b903f7a4472572e96b3a4c75cb96c4
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Michał Lowas-Rzechonek [Wed, 1 Apr 2020 10:25:00 +0000 (12:25 +0200)]
mesh: Refresh provisioner's capabilities
As provisioner's capabilities might change during application lifetime
(e.g. no network link to download OOB key), let's query the agent again
after application calls AddNode().
Change-Id: I29cbff53383fec85bc9eba00e6729defcd423ce4
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Michał Lowas-Rzechonek [Wed, 1 Apr 2020 10:24:59 +0000 (12:24 +0200)]
mesh: Clean up naming of provisioning callbacks
Change-Id: I06a052241958d54371270c1ff15117160d27c5e8
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Michał Lowas-Rzechonek [Wed, 1 Apr 2020 10:24:58 +0000 (12:24 +0200)]
mesh: Remove unused 'server' argument
Change-Id: If1a5c46c2cd30a73d89cc101a696c3330e825579
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Michał Lowas-Rzechonek [Wed, 1 Apr 2020 10:24:57 +0000 (12:24 +0200)]
tools/mesh-cfgclient: Display unprovisioned OOB data
Change-Id: I9257279860ca2e7fb537d9de9b02d4ecb3ab737f
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Anupam Roy [Wed, 1 Apr 2020 10:37:36 +0000 (16:07 +0530)]
tools/mesh-cfgclient: Fix SIGSEGV
This patch addresses the following crash:
[mesh-cfgclient]#
Program received signal SIGSEGV, Segmentation fault.
strlen () at ../sysdeps/x86_64/strlen.S:106
106 ../sysdeps/x86_64/strlen.S: No such file or directory.
(gdb) bt
0 strlen () at ../sysdeps/x86_64/strlen.S:106
1 0x00000000004235d6 in l_dbus_interface_method (interface=interface@entry=0x66d900, name=name@entry=0x42bbad "ScanResult", flags=flags@entry=0,
cb=cb@entry=0x404940 <scan_result_call>, return_sig=return_sig@entry=0x42f7ca "", param_sig=param_sig@entry=0x42bba4 "naya{sv}") at ell/dbus-service.c:320
2 0x000000000040433d in setup_prov_iface (iface=0x66d900) at tools/mesh-cfgclient.c:1695
3 0x00000000004249b1 in _dbus_object_tree_register_interface (tree=0x65b770, interface=interface@entry=0x42baa8 "org.bluez.mesh.Provisioner1",
setup_func=setup_func@entry=0x404310 <setup_prov_iface>, destroy=destroy@entry=0x0, old_style_properties=old_style_properties@entry=false)
at ell/dbus-service.c:1385
4 0x000000000041cffa in l_dbus_register_interface (dbus=<optimized out>, interface=interface@entry=0x42baa8 "org.bluez.mesh.Provisioner1",
setup_func=setup_func@entry=0x404310 <setup_prov_iface>, destroy=destroy@entry=0x0, handle_old_style_properties=handle_old_style_properties@entry=false)
at ell/dbus.c:1455
5 0x0000000000403f4e in register_app () at tools/mesh-cfgclient.c:1770
6 client_ready (client=<optimized out>, user_data=<optimized out>) at tools/mesh-cfgclient.c:1815
7 0x0000000000425ed2 in get_managed_objects_reply (message=<optimized out>, user_data=0x66ab50) at ell/dbus-client.c:572
8 0x000000000041bc25 in handle_error (message=0x66c0c0, dbus=<optimized out>) at ell/dbus.c:236
9 0x000000000041cdcc in message_read_handler (io=<optimized out>, user_data=0x6653f0) at ell/dbus.c:276
10 0x0000000000418763 in io_callback (fd=<optimized out>, events=1, user_data=0x6664e0) at ell/io.c:126
11 0x000000000041957a in l_main_iterate (timeout=<optimized out>) at ell/main.c:473
12 0x000000000041964c in l_main_run () at ell/main.c:520
13 0x000000000041986b in l_main_run_with_signal (callback=callback@entry=0x4153a0 <l_sig_func>, user_data=user_data@entry=0x0) at ell/main.c:642
14 0x0000000000415471 in mainloop_run_with_signal (func=func@entry=0x4139a0 <signal_callback>, user_data=user_data@entry=0x0) at src/shared/mainloop-ell.c:87
15 0x0000000000414b6f in bt_shell_run () at src/shared/shell.c:1177
16 0x00000000004039ed in main (argc=<optimized out>, argv=<optimized out>) at tools/mesh-cfgclient.c:1999
Change-Id: If3906df5485d4f2276a51db1c283b5865d626139
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Przemysław Fierek [Tue, 31 Mar 2020 12:09:08 +0000 (14:09 +0200)]
mesh: Add net key index to sar structure
This patch adds net key index to struct mesh_sar. This fixes problem with
using invalid network key to encrypt application messages.
Change-Id: I5dfb8a2cd8cdc496e70ef1fafee60998a05bc698
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Przemysław Fierek [Tue, 31 Mar 2020 12:09:07 +0000 (14:09 +0200)]
mesh: Remove unused functions: 'mesh_net_sub_list_add' and 'mesh_net_sub_list_del'
Change-Id: If62f3b67b94785f14de862f2936aaff2bca573ec
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Przemysław Fierek [Tue, 31 Mar 2020 12:09:06 +0000 (14:09 +0200)]
mesh: Remove unused argument from 'mesh_net_transport_send' function
Change-Id: Iceae64fcd23c8891a1e5955e58f824aac1279742
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Fri, 27 Mar 2020 18:42:57 +0000 (11:42 -0700)]
tools/mesh-cfgclient: Update to match modified APIs
This handles updated parameter list in UnprovisionedScan(),
AddNode() and ScanResult() D-Bus methods
Change-Id: Id98ff232310576ab2c518081fa438f6643bf2734
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Fri, 27 Mar 2020 18:42:56 +0000 (11:42 -0700)]
test/test-mesh: Update to match modified APIs
This handles updated parameter list in UnprovisionedScan(),
AddNode() and ScanResult() D-Bus methods
Change-Id: I9022a1aaf46f8609cc21f20864d5adbf223a32a2
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Fri, 27 Mar 2020 18:42:55 +0000 (11:42 -0700)]
mesh: Update UnprovisionedScan, AddNode & ScanResult
The following methods are modified to allow for future development:
Interface org.bluez.mesh.Management1:
Old: void UnprovisionedScan(uint16 seconds)
New: void UnprovisionedScan(dict options)
The options parameter is a dictionary with the following keys defined:
uint16 Seconds
Specifies number of seconds for scanning to be active.
If set to 0 or if this key is not present, then the
scanning will continue until UnprovisionedScanCancel()
or AddNode() methods are called.
other keys TBD
Old: void AddNode(array{byte}[16] uuid)
New: void AddNode(array{byte}[16] uuid, dict options)
The options parameter is currently an empty dictionary
Interface org.bluez.mesh.Provisioner1
Old: void ScanResult(int16 rssi, array{byte} data)
New: void ScanResult(int16 rssi, array{byte} data, dict options)
The options parameter is currently an empty dictionary
Change-Id: Ia4b95ea2850c39406859e861b41f79f88a18910a
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Fri, 27 Mar 2020 18:42:54 +0000 (11:42 -0700)]
doc/mesh-api: Forward compatibility modifications
The following methods are modified to allow for future development:
Interface org.bluez.mesh.Management1:
Old: void UnprovisionedScan(uint16 seconds)
New: void UnprovisionedScan(dict options)
The options parameter is a dictionary with the following keys defined:
uint16 Seconds
Specifies number of seconds for scanning to be active.
If set to 0 or if this key is not present, then the
scanning will continue until UnprovisionedScanCancel()
or AddNode() methods are called.
other keys TBD
Old: void AddNode(array{byte}[16] uuid)
New: void AddNode(array{byte}[16] uuid, dict options)
The options parameter is currently an empty dictionary
Interface org.bluez.mesh.Provisioner1
Old: void ScanResult(int16 rssi, array{byte} data)
New: void ScanResult(int16 rssi, array{byte} data, dict options)
The options parameter is currently an empty dictionary
Change-Id: I6e9922a4f0ade412980693e463f024d363899530
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Deokhyun Kim [Tue, 25 Feb 2020 02:26:54 +0000 (11:26 +0900)]
Add GATT data batching
Change-Id: I68a2b1047e43bc074df64edc018ab885a1a7ac1e
Pyun DoHyun [Fri, 27 Mar 2020 03:37:47 +0000 (03:37 +0000)]
Merge "Add GetEnergyInfo method for the power management" into tizen
Brian Gix [Wed, 25 Mar 2020 16:55:49 +0000 (09:55 -0700)]
mesh: Whitespace correction
Change-Id: I186cd70cfdb80d842d6ddb944682a93ef146e83f
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Prathyusha N [Tue, 24 Mar 2020 19:27:23 +0000 (00:57 +0530)]
mesh: Send input complete for input OOB Authentication
Send input complete when user completes input operation.
Change-Id: Iff9e863e2392992aa838884c56b05bbdfd35c641
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Prathyusha N [Tue, 24 Mar 2020 19:27:18 +0000 (00:57 +0530)]
mesh: Handle invalid public keys
Check for invalid public keys received and send provision failed.
Change-Id: Ie1a62b525560b367729c8f96b95669ffb34b70b1
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Prathyusha N [Tue, 24 Mar 2020 19:27:21 +0000 (00:57 +0530)]
mesh: Handle netkey delete when netkey is not in netkeylist
4.4.1.2.9 of Mesh Profile Bluetooth specification:
When an element receives a Config NetKey Delete message that
identifies a NetKey that is not in the NetKey List, it
responds with Success, because the result of deleting the
key that does not exist in the NetKey List will be the same
as if the key was deleted from the NetKey List.
Change-Id: Ibbf51b1e2cb53480cc77cd44f79ce123241adef3
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Brian Gix [Mon, 23 Mar 2020 21:37:04 +0000 (14:37 -0700)]
mesh: Fix Replay Protection Cache
There was a bug identified in the RPL storage, such that the real-time
queue was being filled by incorrect unicast addresses. (Thx ccsanden).
Change-Id: I4460f9506242208571a1ff6c1377e5ec2bb28c40
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Brian Gix [Wed, 18 Mar 2020 17:00:20 +0000 (10:00 -0700)]
mesh: Allow short messages to be segmented
For added reliability, it is legal to send short messages as "single
segment" segmented messages, which require transport layer
acknowledgement. This feature is intended for heavy usage in the future
so I am adding it now.
Further, to support this functionality, an additional queue has been
added to allow multiple SAR messages to the same DST to be queued and
sent serially.
Change-Id: I6dfa9543ab9a9a49438e46f38fa25659f50db82d
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Wed, 18 Mar 2020 17:48:59 +0000 (10:48 -0700)]
tools/mesh-cfgclient: Increase app's CRPL size
This increases the value of the CRPL supplied by the applicaiton
to 0x7fff: since the tool is intended to be a provisioner and config
client, it may have to keep track of communications with a significant
number of unique mesh nodes, each with its corresponding CRPL entry in
config client node storage. Therefore, a large CRPL size is necessary.
Change-Id: Ibe00615cc57e161d107f36c6b1086a495dc9aa5e
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Tue, 17 Mar 2020 22:15:46 +0000 (15:15 -0700)]
mesh: Fix processing of Config Node Reset message
This fixes a condition when a node continues processing messages
after it has been reset by a remote configuration client.
Upon receiving Config Node Reset message, node removal happens after
a grace interval to allow sending of Config Node Reset Status reply.
Change-Id: I7bb87d65c141a479325fc5436921e62aab0eef95
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Tue, 17 Mar 2020 22:15:45 +0000 (15:15 -0700)]
tools/mesh-cfgclient: Implement node-reset command
This implements one-pass removal oa a remote node from a mesh network
by issuing a node-reset command from config menu. The following actions
are performed:
- Config Node Reset message is sent to a remote node
- Upon either receiving Config Node Reset Status or response timeout,
node record is removed from configuration client's database and,
by calling DeleteRemoteNode() method on mesh.Management interface
node-delete command from the main menu is removed.
Change-Id: I52fb6c640b6001373ff9650b3440f518ad5d5d85
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Wed, 11 Mar 2020 22:37:12 +0000 (15:37 -0700)]
test/test-mesh: Add support for static OOB in the agent
This allows to display a 16-octet key to be entered on the remote
device during provisioning.
Change-Id: If00c3e86c419733a348f412ec350a88d4127f85f
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Brian Gix [Wed, 11 Mar 2020 22:59:40 +0000 (15:59 -0700)]
tools/mesh-cfgclient: Add support for Static OOB key
This fixes a bug that didn't allow 16 octet Static OOB strings during
provisioning.
Change-Id: I08c04784d920b4cf4dcff0e172e9095d00be7bc7
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Brian Gix [Wed, 11 Mar 2020 22:15:18 +0000 (15:15 -0700)]
README: Add Mesh required Kernel Configuration section
Not all distributions include all required mesh crypto support. This
adds a section with known kernel required options.
Change-Id: I8b62d79ffb4688426f1b37a27be494abcd1eb00a
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Wed, 4 Mar 2020 07:39:15 +0000 (23:39 -0800)]
tools/mesh-cfgclient: Record remote node's default TTL
This adds code to save the value of a remote node's default TTL
upon receiving Config Default TTL Status message.
Also, cleanup leftover "#if 0" clause
Change-Id: Ie1bb672b4b3b617017e08b68c73c2c8c361fa00a
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Mon, 2 Mar 2020 20:40:29 +0000 (12:40 -0800)]
tools/mesh-cfgclient: Add address checks for pub/sub commands
This addrs verification of subscriptpion address value entered on
the command line: unassigned address, unicast address, and
all-nodes address are not allowed. Publication address check verifies
that the entered value falls into mesh address space.
Also, change the type of parameter count in comaand processing routines
from int to uint32_t to match the retrun type of the parameter parsing
routine.
Change-Id: Ib5747a132e59e4af5f21dbad5319167234230548
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Thu, 27 Feb 2020 06:56:07 +0000 (22:56 -0800)]
mesh: Remove unused parameters from internal rx functions
This removes unused ttl parameter from mesh_model_rx(). The TTL value
is not processed at the access layer, so there is no need to pass it
to a model.
Also, remove "uint32_t dst" parameter from the typedef of
mesh_model_recv_cb: providing a just destination address is sufficient
for internally implemented models (currently, it's only Config Server)
Change-Id: I603aa23a495a40bb804e0a370331d1efd8508270
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Tue, 25 Feb 2020 18:44:18 +0000 (10:44 -0800)]
test/test-mesh: Fix output of UpdateModelConfig method
This correctly unpacks configuration dictionary received
in the UpdateModelConfig() method
Change-Id: If7ca5d0b2249508bb0df4a0cc7f78d74da8e30bc
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Tue, 25 Feb 2020 18:44:17 +0000 (10:44 -0800)]
mesh: Clean up handling config model publication message
This tightens up the Config Server code that handles the processing of
Config Model Publication Set and Config Model Publication Get messages.
Change-Id: I3ce67395f0a092e37f0e8f2396092b13ff53ac20
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Tue, 25 Feb 2020 18:44:16 +0000 (10:44 -0800)]
mesh: Simplify model virtual pub/sub logic
This reorganizes the part of the code that handles model publishing
and subscribitng to virtual labels.
Change-Id: I4780c38113b64967ed555ef8172b15e98cab3ed3
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Tue, 25 Feb 2020 18:44:15 +0000 (10:44 -0800)]
tools/mesh-cfgclient: Save and restore group addresses
This allows to save created virtual labels and group addresses
in configuration file. The stored values can be restored upon
the tool start up.
Change-Id: Idd28a88e47f1401f488bd770ce6c9940fdb39bd0
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Tue, 25 Feb 2020 18:44:14 +0000 (10:44 -0800)]
tools/mesh-cfgclient: Clean up subscription list output
This tightens up the subscritpiton list status print out:
use the same function for vendor and SIG models.
Change-Id: Ifc6dac0152c6b62cbcaf6b0648c42bb822274401
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Tue, 25 Feb 2020 18:44:13 +0000 (10:44 -0800)]
tools/mesh-cfgclient: Add support for virtual labels
This adds commands to generate and use virtual addresses for
configuring remote node's publication and subscription.
New commands:
virt-add - generate a new label and calculate virtual address
group-list - displays group addresses that are in use and available
virtual labels with corresponding virtual addresses
Change-Id: I823786d050673491739d895461d8b564c757ee6b
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Brian Gix [Sun, 23 Feb 2020 18:47:37 +0000 (10:47 -0800)]
mesh: rework incoming advertisement filtering
Future versions of Mesh will introduce new advertising packets, which
do not fit in the limited and rigid filtering currently used. This minor
rewrite allows registering and receiving of *any* AD types, including
the filtering on multiple octets of the incoming AD parts.
Change-Id: I36c8f673100afbfd3738d9e243020f13064c7262
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Tue, 18 Feb 2020 19:30:10 +0000 (11:30 -0800)]
mesh: Fix app payload decryption for virtual labels
This fixes a bug when a virtual label and its size hasn't been passed
to a decryption function: instead of always using NULL pointer for
label and 0 for lable size, use actual virtual label info if decrypting
a payload addressed to a virtual destination.
Change-Id: Ica8abfd453aa4085998c00725f4bf23146d9a5dd
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Brian Gix [Tue, 18 Feb 2020 18:34:36 +0000 (10:34 -0800)]
unit: Add Mesh test 8.3.22 - Virtual Addressing
Change-Id: I7a4bfaed4f961466c3eb81b0f46cc8643169c495
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Tue, 18 Feb 2020 07:52:08 +0000 (23:52 -0800)]
test/test-mesh: Fix output of MessageReceived method
This fixes formatted output of recieved message parameters.
Change-Id: I3df227d548ed9f99c806c6b5fec264555fee5d2f
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Fri, 7 Feb 2020 06:39:45 +0000 (22:39 -0800)]
mesh: Fix keyring app keys directory iteration
This fixes how app key files are accessed when finalizing
Key Refresh procedure. Instead of using open(entry->d_name, ...)
to get file descriptor, use openat(dir_fd, entry->d_name, ...)
since entry->d_name contains a relative app key filename, not an
absolute path.
Change-Id: I943a3b180ed8425d3437a659c50461e167353bfd
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Inga Stotland [Wed, 5 Feb 2020 22:53:43 +0000 (14:53 -0800)]
mesh: Allow to finish key refresh when no AppKeys are stored
This handles a case when a Key Refresh procedure is in place with
no application keys stored in the keyring. When KR procedure is
finalized, the check for the presence of AppKeys storage directory
does not return failure if the directory does not exist.
Also, remove duplicate include.
Change-Id: I1ca58e5b4f06acf8ef17e8eb0ac0afa3f7decd70
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
DoHyun Pyun [Tue, 24 Mar 2020 05:46:40 +0000 (14:46 +0900)]
Add GetEnergyInfo method for the power management
Change-Id: I46afc2c2575f996723b175a6febbeff0ff5938f1
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
DoHyun Pyun [Tue, 24 Mar 2020 01:10:36 +0000 (10:10 +0900)]
Prevent the exception case in GATT connect
If kernel's crypto API does not work, we can't use
GATT database hash. So we add the exception case
for this.
Change-Id: Id4e5e9b7ff814aedd3f3e43d689ced3be8ee25dd
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
injun.yang [Mon, 16 Mar 2020 05:58:14 +0000 (14:58 +0900)]
GATT: Ignore svc changed indication before starting full scan
[Model] All
[BinType] AP
[Customer] OPEN
[Issue#] N/A
[Request] Internal
[Occurrence Version] N/A
[Problem] Service discovery failed
[Cause & Measure] When gatt connected, bluez start full discovery.
Duplicated svc disvovery is not required
[Checking Method] OOBE connection with iPhone 6 > turn off iPhone BT off & on
[Team] Convergence BT
[Developer] Injun Yang
[Solution company] Samsung
[Change Type] Specification change
Change-Id: I86f326c48c86e4456bd9fa043994f0d32849e2b2
Wootak Jung [Fri, 20 Mar 2020 06:41:32 +0000 (15:41 +0900)]
Fix stack smashing detected issue
le_conn_param data should be filled as a uint16 not uint32.
it can cause stack overflow.
#3 0xf7233a70 in __GI___fortify_fail_abort (need_backtrace=
need_backtrace@entry=false, msg=0xf72741cc "stack smashing detected")
at fortify_fail.c:28
No locals.
#4 0xf7233a34 in __stack_chk_fail () at stack_chk_fail.c:29
No locals.
#5 0x00958f88 in update_le_conn_parm (conn=<optimized out>, msg=0x0,
user_data=<optimized out>) at src/device.c:4216
device = <optimized out>
io = <optimized out>
fd = <optimized out>
param = {min = 72, max = 72, latency = 0, to_multiplier = 200}
__func__ = "update_le_conn_parm"
Change-Id: Ia0df33fc30e31057ef4b2a07a0ac64d61d67dd81
Wootak Jung [Thu, 19 Mar 2020 03:14:23 +0000 (12:14 +0900)]
Fix a2dp source role connnection issue
selected_sep should be initialized
Change-Id: Icb6f4f3a5ab0d47b051d86c5af1df706ec298600
DoHyun Pyun [Thu, 5 Mar 2020 05:20:05 +0000 (14:20 +0900)]
Don't use the dbus auto-activation in TV profile
Change-Id: I80fb8575c5f7228d45b4119f3bf8b79e7a7f90a7
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
injun.yang [Tue, 3 Mar 2020 08:47:28 +0000 (17:47 +0900)]
Fix : slave long term key is not loaded
[Model] All
[BinType] AP
[Customer] OPEN
[Issue#] N/A
[Request] Internal
[Occurrence Version] N/A
[Problem] Request LE pairing again to paired device.
[Cause & Measure] After BT off/on, slave long term key is not loaded.
[Checking Method] Test with iOS GM
[Team] Convergence BT
[Developer] Injun Yang
[Solution company] Samsung
[Change Type] Specification change
Change-Id: I4191331b69b892891e02f904554eb7733e3eabe6
injun.yang [Wed, 26 Feb 2020 11:16:02 +0000 (20:16 +0900)]
While LE scanning, send first RPA instead of IDA
[Model] All
[BinType] AP
[Customer] OPEN
[Issue#] N/A
[Request] Internal
[Occurrence Version] N/A
[Problem] Durning LE scanning, unable to find a paired RPA device
[Cause & Measure] Bluez report it as IDA instead of PRA. Handle it as RPA
[Checking Method] LE scan for paired RPA device
[Team] Convergence BT
[Developer] Injun Yang
[Solution company] Samsung
[Change Type] Specification change
Change-Id: I890fda13825172f759d4f4f317dfd053504c4c4b
Signed-off-by: injun.yang <injun.yang@samsung.com>
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
DoHyun Pyun [Sun, 1 Mar 2020 23:50:25 +0000 (08:50 +0900)]
Update the version to 5.52
Change-Id: I61221e0254289d2e68fa1f14bfa29008387118db
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
DoHyun Pyun [Wed, 26 Feb 2020 00:05:04 +0000 (09:05 +0900)]
Initialize AVC volume in SINK reconnecting time
Change-Id: Id566b529ac352b1d3120f5295414534c928bbf74
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
Sangki Park [Fri, 21 Jun 2019 02:22:12 +0000 (11:22 +0900)]
AVC : prevent ear-shock sound
[Model] Renaissance
[BinType] AP
[Customer] ALL
[Issue#] N/A
[Request] N/A
[Occurrence Version] N/A
[Problem] N/A
[Cause & Measure] N/A
[Checking Method] N/A
[Team] Bluetooth
[Developer] Sangki Park
[Solution company] Samsung
[Change Type] Specification change
Change-Id: If6adfdeab296821d4e6409685fcdbb0c73bebbcc
Sangki Park [Tue, 18 Jun 2019 09:11:03 +0000 (18:11 +0900)]
Check AVRCP volume gain when A2DP connected
[Model] Renaissance
[BinType] AP
[Customer] ALL
[Issue#] Internal
[Request] N/A
[Occurrence Version] N/A
[Problem] If AVRCP connection is made before A2DP connection,
the AVC volume gain could not be set because of no transport device.
To fix the problem, check AVRCP AVC volume when A2DP is connected.
[Cause & Measure] N/A
[Checking Method] N/A
[Team] Bluetooth
[Developer] Sangki Park
[Solution company] Samsung
[Change Type] Specification change
Change-Id: I65dd03a4192fcaec35da3d2a5dad0d62fa4c5f3e
Pyun DoHyun [Tue, 25 Feb 2020 01:57:18 +0000 (01:57 +0000)]
Merge "Send the positive response for AVRCP_EVENT_VOLUME_CHANGED" into tizen
injun.yang [Mon, 24 Feb 2020 08:11:42 +0000 (17:11 +0900)]
Fix: background gatt connection is not working
[Model] All
[BinType] AP
[Customer] OPEN
[Issue#] N/A
[Request] Internal
[Occurrence Version] N/A
[Problem] background gatt connection is not working
[Cause & Measure] If auto_connect is true, initiate background auto connection
and reply dbus to bt-service
[Checking Method] background gatt auto connection
[Team] Convergence BT
[Developer] Injun Yang
[Solution company] Samsung
[Change Type] Specification change
Change-Id: Ie9f0887774a9e46a26a209d11cbca70298379489
DoHyun Pyun [Mon, 24 Feb 2020 07:27:50 +0000 (16:27 +0900)]
Send the positive response for AVRCP_EVENT_VOLUME_CHANGED
Change-Id: If243d77e095b607052d17d93616b0d0711d724a7
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
DoHyun Pyun [Fri, 21 Feb 2020 03:44:37 +0000 (12:44 +0900)]
Don't set the system volume in AVC Target mode
Change-Id: I8aaf66d7f9fdc5945d06d8607b4a75c3151bb195
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
DoHyun Pyun [Wed, 19 Feb 2020 02:06:53 +0000 (11:06 +0900)]
Fix the get / set property fail issue for transport
Change-Id: I0452c2df36a20e74faa6d47f356082a9ffb61c63
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
DoHyun Pyun [Mon, 17 Feb 2020 06:28:27 +0000 (15:28 +0900)]
Merge branch 'bluez_upgrade_5.52' into tizen
Change-Id: I8de9bd87762d3e985f2e9209170e65fd6c64d6c6
Deokhyun Kim [Thu, 6 Feb 2020 11:27:26 +0000 (20:27 +0900)]
Apply secure log to uinput path
<6>[ 712.832464] [1: bluetoothd: 4557] input: 64:7B:XX:XX:5A:71 as /devices/virtual/input/input6
Change-Id: I68dfc2f3362f03036d4a99a15906a95482b70354
Signed-off-by: Deokhyun Kim <dukan.kim@samsung.com>
himanshu [Wed, 12 Feb 2020 07:29:37 +0000 (12:59 +0530)]
Merge branch 'bluez_upgrade_5.52' of https://review.tizen.org/gerrit/p/platform/upstream/bluez into bluez_upgrade_5.52
Marcel Holtmann [Thu, 31 Oct 2019 06:58:44 +0000 (07:58 +0100)]
Release 5.52
Change-Id: Ia68e20375186874b3c18ec7a8941c40433f713a5
Signed-off-by: himanshu <h.himanshu@samsung.com>
Marcel Holtmann [Mon, 3 Dec 2018 18:47:20 +0000 (19:47 +0100)]
build: Move $(UDEV_CFLAGS) to global $(AM_CFLAGS)
Change-Id: Iffd8d88092266bc4afdecda9da7a9dcb48bc2c78
Signed-off-by: himanshu <h.himanshu@samsung.com>
Jan Engelhardt [Wed, 28 Nov 2018 15:45:14 +0000 (16:45 +0100)]
build: make building with --coverage work again
When `./configure --enable-coverage` is given and lcov is present,
MISC_CFLAGS and MISC_LDFLAGS will be set to --coverage. However,
1. obexd uses per-target LDFLAGS and, in doing so, forget to re-mention
$(AM_LDFLAGS). This problem existed for a long time.
2. obexd uses per-target CFLAGS and, in doing so, forgot to re-mention
$(AM_CFLAGS). This got broken in
06dbb223fbe50acc48b3ba1d33cb424275b4baaa.
This led to no --coverage showing up in the linker line for obexd,
causing a link failure indicating unresolved symbols like
__gcov_exit.
Change-Id: I4aca476dd36f1ddc960f8f3c85cb615f9e2d36d3
Signed-off-by: himanshu <h.himanshu@samsung.com>
Jan Engelhardt [Sun, 25 Nov 2018 09:20:12 +0000 (10:20 +0100)]
build: add missing BACKTRACE_CFLAGS
Some targets use BACKTRACE_LIBS, hence need BACKTRACE_CFLAGS.
Change-Id: I1862e2e3f649183f170e102b384e7eec90bcc9a6
Signed-off-by: himanshu <h.himanshu@samsung.com>
Jan Engelhardt [Sun, 25 Nov 2018 09:20:08 +0000 (10:20 +0100)]
build: -D/-I arguments go into CPPFLAGS
-D and -I are preprocessor directives, they are therefore to appear
in CPPFLAGS, not CFLAGS. (It is unfortunate that pkg-config does not
make the distinction / or it was misnamed, because only -D/-I make
sense to be emitted by pkg-config in the first place — anything else
(-f/-m) has the potential to mess up someone's compilation. So
pkg-config's Cflags is actually used to convery Cppflags.)
Change-Id: I7031834ae2d9446367ce02ca78be9842dece0683
Signed-off-by: himanshu <h.himanshu@samsung.com>
himanshu [Tue, 11 Feb 2020 05:12:47 +0000 (10:42 +0530)]
Fix: Bluez build Failure because of wrong libexecdir value
This Fix is needed because the libexecdir was replaced with
pkglibexecdir in the following upstream patch.
Commit ID -
78bce480093799c287ac8561b9407fa48796a130
Change-Id: I42905c94a6db3496b017d8b3faf394f8c749cda5
Signed-off-by: himanshu <h.himanshu@samsung.com>
Jan Engelhardt [Sun, 18 Nov 2018 16:07:55 +0000 (17:07 +0100)]
build: rename libexecdir to pkglibexecdir
When files are to be placed not in libexecdir but a subdirectory of
it, automake has a variable name reserved for exactly that purpose
(and a default value, which Makefile.am will override), called
pkglibexecdir. Let's use it.
Change-Id: I8b4e271814ab998a7eccaf5c3c2ac3ddc539a6df
Signed-off-by: himanshu <h.himanshu@samsung.com>
himanshu [Mon, 10 Feb 2020 08:46:10 +0000 (14:16 +0530)]
Fix: Bluez multiple build Fail issues.
Change-Id: Ib8d6e774f9526cf21db1d9de1d26b4dabd0bf9a9
Signed-off-by: himanshu <h.himanshu@samsung.com>
Luiz Augusto von Dentz [Mon, 26 Nov 2018 15:56:03 +0000 (17:56 +0200)]
core: Remove old code related to sd_notify
This is no longer needed since mainloop instances can handle it now.
Change-Id: Iec185750e3cab2cb90f15ab0dc8849cf9c4f3e9f
Signed-off-by: himanshu <h.himanshu@samsung.com>
Marcel Holtmann [Thu, 31 Oct 2019 06:35:28 +0000 (07:35 +0100)]
build: Require at least version 0.26 when building with external ELL
Change-Id: I7e10746eb3c2e84527db70722fa2c35e781ad101
Signed-off-by: himanshu <h.himanshu@samsung.com>
Marcel Holtmann [Mon, 4 Jun 2018 19:06:56 +0000 (21:06 +0200)]
tools: Add utitlity for analyzing Broadcom HCD firmware files
Change-Id: Ia5d4ba6388a3f822f54bde8295cdc09c05a49dba
Signed-off-by: himanshu <h.himanshu@samsung.com>
Florian Weimer [Thu, 9 May 2019 12:37:41 +0000 (14:37 +0200)]
build: Enable BIND_NOW
Partial RELRO means that the object is GNU_RELRO but not BIND_NOW. This
reduces the effectiveness of RELRO. bluez triggers this because it
enables PIE during the build, and rpmdiff takes this as an indicator
that the best possible hardening is desired.
https://bugzilla.redhat.com/show_bug.cgi?id=983161
Change-Id: I09d90d9b2ce3fa13a0ec220b83ca141301e7a72b
Signed-off-by: himanshu <h.himanshu@samsung.com>
Bastien Nocera [Thu, 9 May 2019 12:37:39 +0000 (14:37 +0200)]
build: Add a few default configure options
Add 3 optional features that are currently used and distributed in
the Fedora packages to the default build configuration.
The additional build time is minimal, and it ensures that the build
gets maximum coverage.
Change-Id: I282d3d84d59923076d6e1834d0876b3533d02e4b
Signed-off-by: himanshu <h.himanshu@samsung.com>
Jan Engelhardt [Sun, 25 Nov 2018 09:20:10 +0000 (10:20 +0100)]
build: add missing UDEV_CFLAGS
Some targets link UDEV_LIBS, which means they also need UDEV_CFLAGS
in their (or the global) CPPFLAGS.
Change-Id: I0923d445a4d2b63eb991e7225fc5c5c11dee6265
Signed-off-by: himanshu <h.himanshu@samsung.com>
Jan Engelhardt [Sun, 25 Nov 2018 09:20:11 +0000 (10:20 +0100)]
build: add missing ALSA_CFLAGS
Some targets use ALSA_LIBS, hence need ALSA_CFLAGS.
Change-Id: I47cfd15ad2da2b71af21469089a86a5fe05a4e4d
Signed-off-by: himanshu <h.himanshu@samsung.com>
Jan Engelhardt [Sun, 25 Nov 2018 09:20:07 +0000 (10:20 +0100)]
build: -l arguments to belong into LDADD/LIBADD not LDFLAGS
It is an error to put -l arguments into LDFLAGS, because the linker
command line is order-sensitive and libs must appear in certain
places. For this, automake has the LDADD/LIBADD.
Change-Id: I19de36547008f1c4cc21e31c746d0f62c9d815d5
Signed-off-by: himanshu <h.himanshu@samsung.com>
Jan Engelhardt [Sun, 25 Nov 2018 09:20:06 +0000 (10:20 +0100)]
build: change @foo@ to $(foo) in automake makefiles
When using automake, all AC_SUBSTed variables are made available as
make variables, so that they can also be set at make time. Therefore,
they need not use the @harcoded@ style.
Change-Id: I92f5421de3567e27c3a38abb0b165bc7f0e46eb3
Signed-off-by: himanshu <h.himanshu@samsung.com>
Andrzej Kaczmarek [Tue, 20 Feb 2018 14:52:49 +0000 (15:52 +0100)]
monitor: Add support for reading over J-Link RTT
This patch adds support for reading data over J-Link RTT. It can be
used as replacement for TTY when reading from embedded devices since
it's much faster and does block a UART. Data format is the same as
for TTY. At the moment monitor over RTT is only supported by Apache
Mynewt project.
Reading data is done by polling RTT every 1 msec since there is no
blocking API to read something from RTT buffer.
To enable reading from RTT, J-Link configuration needs to be passed via
command line (all parameters except <device> can be skipped to use
default value):
-J <device>,<serialno=0>,<interface=swd>,<speed=1000>
-J nrf52,
683649029
In some cases J-Link cannot locate RTT buffer in RAM. In such case
RAM area and buffer name should be provided via command line:
-R <address=0x0>,<area=0x1000>,<buffer=monitor>
-R 0x20000000,0x10000
Change-Id: Ic9023663c0c3c2bc5bf3b06e702734fffbbf3baa
Signed-off-by: himanshu <h.himanshu@samsung.com>
Andrzej Kaczmarek [Tue, 20 Feb 2018 14:55:52 +0000 (15:55 +0100)]
monitor: Add interface for J-Link library
This adds simple interface to libjlinkarm.so which will be used to read
data from RTT buffer. It was mostly made by trial and error since there
is no public documentation for this library so it may lack something,
but seems to work fine with few Cortex-M devices I tried.
Change-Id: Iaa326544843c705c3dd84344bd505aa5fed310f1
Signed-off-by: himanshu <h.himanshu@samsung.com>
Luiz Augusto von Dentz [Mon, 2 Jul 2018 13:49:12 +0000 (16:49 +0300)]
monitor: Consolidate code printing bitfield
This reduces the duplicated code around printing bitfields.
Change-Id: I1d1323c33f5427b245f142f9607b4b56ac8cb43f
Signed-off-by: himanshu <h.himanshu@samsung.com>
Jaganath Kanakkassery [Thu, 14 Jun 2018 12:21:19 +0000 (17:51 +0530)]
btmgmt: Add support for setting PHY in add-adv
Change-Id: Ibb2bc77463913a87edc44d36d29b2646efe54388
Signed-off-by: himanshu <h.himanshu@samsung.com>
himanshu [Thu, 30 Jan 2020 09:35:25 +0000 (15:05 +0530)]
Fix: assuming writes to CCC will always contain 2 bytes.
This change is because of the following
upstream patch.
Commit ID -
e60a6b7d9d0fa55fda5cd0457f6c763078949d87
In order to sync the Tizen code with the upstream
this patch is necessary.
Change-Id: I2e5350d999445366784ef5547a2390047998badb
Signed-off-by: himanshu <h.himanshu@samsung.com>
himanshu [Thu, 30 Jan 2020 06:50:59 +0000 (12:20 +0530)]
Fix: Change the parse_options function call in TIZEN_FEATURE_BLUEZ_MODIFY tag
This change is because of the implementation of
type option in Characteristic.WriteValue
This change was introduced in the following
upstream patch.
Commit ID -
aa9f9b193c51d371b5d2a863f35a034ee0377b22
In order to sync the TIZEN CODE with the upstream
this fix is needed.
Change-Id: I5ed1359a4fb3b704b8d33d540bb0d5956fb93ebb
Signed-off-by: himanshu <h.himanshu@samsung.com>
himanshu [Wed, 29 Jan 2020 07:07:39 +0000 (12:37 +0530)]
Fix: Bluez crash while making a2dp connection
As the a2dp_sep struct in the a2dp_find_eps
function has been changed to queue in the
BlueZ 5.52 Release,therefore the necessary
change was needed in the TIZEN_MODIFY code.
Change-Id: I9bdb50b341356abd845ff8e3ab9a446991b25091
Signed-off-by: himanshu <h.himanshu@samsung.com>
Szymon Janc [Wed, 13 Jun 2018 00:19:33 +0000 (02:19 +0200)]
tools: Fix compiler warning
Change-Id: Iebe47dd0a045e4066a546a13cbb7c601528aa5a7
Signed-off-by: himanshu <h.himanshu@samsung.com>
Luiz Augusto von Dentz [Fri, 6 Sep 2019 11:52:34 +0000 (14:52 +0300)]
gatt: Fix assuming writes to CCC will always contain 2 bytes
The spec actually allows writing just 1 byte:
BLUETOOTH CORE SPECIFICATION Version 5.1 | Vol 3, Part F
page 2320:
'If the attribute value has a fixed length and the Attribute Value
parameter length is less than or equal to the length of the attribute
value, the octets of the attribute value parameter length shall be
written; all other octets in this attribute value shall be
unchanged.'
Change-Id: I845531fbd44262a5ab29c2353f63c16ed98480bc
Signed-off-by: himanshu <h.himanshu@samsung.com>
Luiz Augusto von Dentz [Mon, 11 Feb 2019 09:29:21 +0000 (11:29 +0200)]
client: Add type to write command
This enables setting the write type as optional third parameter:
write <data=xx xx ...> [offset] [type]
The type can be used to force a specific procedure to be used, for
example to force reliable writes one can enter:
> write 00 0 reliable
Change-Id: I4e74cff3cd2a38f07b36e09716023810e641c136
Signed-off-by: himanshu <h.himanshu@samsung.com>
Luiz Augusto von Dentz [Wed, 6 Feb 2019 14:49:03 +0000 (16:49 +0200)]
gatt: Implement "type" option for Characteristic.WriteValue
This implements the "type" option as documented.
Change-Id: Ib3f73e27b13161c0ed44dd00bb4ad0a28e75e79a
Signed-off-by: himanshu <h.himanshu@samsung.com>
Luiz Augusto von Dentz [Wed, 6 Feb 2019 14:45:07 +0000 (16:45 +0200)]
doc/gatt-api: Add "type" option to Characteristic.WriteValue
The option "type" can be used to force a certain procedure to be used:
- "command": Use Write Without Response procedure
- "request": Use (Long) Write With Response procedure
- "reliable"" Use Reliable Write procedure
Change-Id: I418a58273d60a1383fd1cc1df50318098f79550c
Signed-off-by: himanshu <h.himanshu@samsung.com>
Marcel Holtmann [Thu, 31 Oct 2019 06:34:15 +0000 (07:34 +0100)]
tools: Adjust for changed l_dbus_object_manager_enable parameters
Change-Id: I986d70468d8f2995fb640fb083dd2f735fce11cd
Signed-off-by: himanshu <h.himanshu@samsung.com>
Luiz Augusto von Dentz [Fri, 18 Oct 2019 10:51:54 +0000 (13:51 +0300)]
a2dp: Remove experimental flag for remote MediaEndpoint
This makes the MediaEndpoint and stable API for remote endpoints which
aligns with RegisterApplication API which is already stable.
Change-Id: I8469aa2926289d1c68f69d2442acb0c17f2d36ec
Signed-off-by: himanshu <h.himanshu@samsung.com>
Andrzej Kaczmarek [Tue, 20 Feb 2018 14:52:10 +0000 (15:52 +0100)]
monitor: Extract TTY data processing to separate function
Change-Id: I8c597727451b1f3ed9ae452bcef885492bf12ca4
Signed-off-by: himanshu <h.himanshu@samsung.com>
Luiz Augusto von Dentz [Fri, 11 Oct 2019 12:40:04 +0000 (15:40 +0300)]
audio: Fix cancelling disconnect timeout
If AVDTP session has been connected but no stream has been setup calls
to service->connect would return -EBUSY to avoid stream setup collision
but it also takes a reference to the session cancelling the disconnect
timeout and disabling the stream_setup logic that would attempt to
estabilish a stream.
Change-Id: I47a87aeb77429441b7470ff26ef9a9a2d0c54b43
Signed-off-by: himanshu <h.himanshu@samsung.com>
Ross Burton [Tue, 8 Oct 2019 10:01:56 +0000 (11:01 +0100)]
Makefile.am: add missing mkdir in rules generation
In parallel out-of-tree builds it's possible that tools/*.rules are
generated before the target directory has been implicitly created. Solve this by
creating the directory before writing into it.
Change-Id: Id9ad0802138cd89c64d339fd8ca202d6f5416f98
Signed-off-by: himanshu <h.himanshu@samsung.com>