All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH BlueZ 0/6] emulator: add LE advertising and scanning support
@ 2013-07-03 20:54 Jefferson Delfes
  2013-07-03 20:54 ` [PATCH BlueZ 1/6] emulator: Store LE advertising data length in btdev Jefferson Delfes
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: Jefferson Delfes @ 2013-07-03 20:54 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: Jefferson Delfes

In order to write discovery tests for LE, we need some implementation
on emulator side.
This patch series basically reports virtual devices in adv mode for
devices in scan mode.

This new series was reorganized by merging some commits and removing
others not related to discovery tests. Note that this is just a first
set, based on a RFC sent a while ago by Bruna Moreira. Future patches
will build on these patches.

Jefferson Delfes (6):
  emulator: Store LE advertising data length in btdev
  emulator: Implement basic LE set adv enable command
  emulator: Store LE scan state of virtual controller
  emulator: Disallow LE set scan params command when scan is enabled
  emulator: Dummy LE set advertising parameters
  emulator: Implement LE advertising report

 emulator/btdev.c | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
 monitor/bt.h     |  13 +++++++
 2 files changed, 113 insertions(+), 2 deletions(-)

-- 
1.8.3.2


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH BlueZ 1/6] emulator: Store LE advertising data length in btdev
  2013-07-03 20:54 [PATCH BlueZ 0/6] emulator: add LE advertising and scanning support Jefferson Delfes
@ 2013-07-03 20:54 ` Jefferson Delfes
  2013-07-03 20:54 ` [PATCH BlueZ 2/6] emulator: Implement basic LE set adv enable command Jefferson Delfes
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Jefferson Delfes @ 2013-07-03 20:54 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: Jefferson Delfes

LE advertising data length will be used for emulating reports in other
virtual devices.
---
 emulator/btdev.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/emulator/btdev.c b/emulator/btdev.c
index a602c05..73174a5 100644
--- a/emulator/btdev.c
+++ b/emulator/btdev.c
@@ -90,6 +90,7 @@ struct btdev {
 	uint8_t  le_simultaneous;
 	uint8_t  le_event_mask[8];
 	uint8_t  le_adv_data[31];
+	uint8_t  le_adv_data_len;
 
 	uint16_t sync_train_interval;
 	uint32_t sync_train_timeout;
@@ -1487,6 +1488,7 @@ static void default_cmd(struct btdev *btdev, uint16_t opcode,
 		if (btdev->type == BTDEV_TYPE_BREDR)
 			goto unsupported;
 		lsad = data;
+		btdev->le_adv_data_len = lsad->len;
 		memcpy(btdev->le_adv_data, lsad->data, 31);
 		status = BT_HCI_ERR_SUCCESS;
 		cmd_complete(btdev, opcode, &status, sizeof(status));
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH BlueZ 2/6] emulator: Implement basic LE set adv enable command
  2013-07-03 20:54 [PATCH BlueZ 0/6] emulator: add LE advertising and scanning support Jefferson Delfes
  2013-07-03 20:54 ` [PATCH BlueZ 1/6] emulator: Store LE advertising data length in btdev Jefferson Delfes
@ 2013-07-03 20:54 ` Jefferson Delfes
  2013-07-03 20:54 ` [PATCH BlueZ 3/6] emulator: Store LE scan state of virtual controller Jefferson Delfes
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Jefferson Delfes @ 2013-07-03 20:54 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: Jefferson Delfes

Store advertising state of virtual controller in btdev struct.
---
 emulator/btdev.c | 15 +++++++++++++++
 monitor/bt.h     |  1 +
 2 files changed, 16 insertions(+)

diff --git a/emulator/btdev.c b/emulator/btdev.c
index 73174a5..060347d 100644
--- a/emulator/btdev.c
+++ b/emulator/btdev.c
@@ -91,6 +91,7 @@ struct btdev {
 	uint8_t  le_event_mask[8];
 	uint8_t  le_adv_data[31];
 	uint8_t  le_adv_data_len;
+	uint8_t  le_adv_enable;
 
 	uint16_t sync_train_interval;
 	uint32_t sync_train_timeout;
@@ -841,6 +842,7 @@ static void default_cmd(struct btdev *btdev, uint16_t opcode,
 	const struct bt_hci_cmd_set_event_mask_page2 *semp2;
 	const struct bt_hci_cmd_le_set_event_mask *lsem;
 	const struct bt_hci_cmd_le_set_adv_data *lsad;
+	const struct bt_hci_cmd_le_set_adv_enable *lsae;
 	struct bt_hci_rsp_read_default_link_policy rdlp;
 	struct bt_hci_rsp_read_stored_link_key rslk;
 	struct bt_hci_rsp_write_stored_link_key wslk;
@@ -1454,6 +1456,19 @@ static void default_cmd(struct btdev *btdev, uint16_t opcode,
 		cmd_complete(btdev, opcode, &lratp, sizeof(lratp));
 		break;
 
+	case BT_HCI_CMD_LE_SET_ADV_ENABLE:
+		if (btdev->type == BTDEV_TYPE_BREDR)
+			goto unsupported;
+		lsae = data;
+		if (btdev->le_adv_enable == lsae->enable)
+			status = BT_HCI_ERR_COMMAND_DISALLOWED;
+		else {
+			btdev->le_adv_enable = lsae->enable;
+			status = BT_HCI_ERR_SUCCESS;
+		}
+		cmd_complete(btdev, opcode, &status, sizeof(status));
+		break;
+
 	case BT_HCI_CMD_LE_SET_SCAN_PARAMETERS:
 		if (btdev->type == BTDEV_TYPE_BREDR)
 			goto unsupported;
diff --git a/monitor/bt.h b/monitor/bt.h
index f8759c7..da62a3d 100644
--- a/monitor/bt.h
+++ b/monitor/bt.h
@@ -1479,6 +1479,7 @@ struct bt_hci_evt_le_long_term_key_request {
 #define BT_HCI_ERR_UNKNOWN_CONN_ID		0x02
 #define BT_HCI_ERR_HARDWARE_FAILURE		0x03
 #define BT_HCI_ERR_PAGE_TIMEOUT			0x04
+#define BT_HCI_ERR_COMMAND_DISALLOWED		0x0c
 #define BT_HCI_ERR_INVALID_PARAMETERS		0x12
 
 struct bt_l2cap_hdr {
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH BlueZ 3/6] emulator: Store LE scan state of virtual controller
  2013-07-03 20:54 [PATCH BlueZ 0/6] emulator: add LE advertising and scanning support Jefferson Delfes
  2013-07-03 20:54 ` [PATCH BlueZ 1/6] emulator: Store LE advertising data length in btdev Jefferson Delfes
  2013-07-03 20:54 ` [PATCH BlueZ 2/6] emulator: Implement basic LE set adv enable command Jefferson Delfes
@ 2013-07-03 20:54 ` Jefferson Delfes
  2013-07-03 20:54 ` [PATCH BlueZ 4/6] emulator: Disallow LE set scan params command when scan is enabled Jefferson Delfes
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Jefferson Delfes @ 2013-07-03 20:54 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: Jefferson Delfes

The LE command set scan enable can change the scan state of virtual
controller.
---
 emulator/btdev.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/emulator/btdev.c b/emulator/btdev.c
index 060347d..925eaf7 100644
--- a/emulator/btdev.c
+++ b/emulator/btdev.c
@@ -91,6 +91,8 @@ struct btdev {
 	uint8_t  le_event_mask[8];
 	uint8_t  le_adv_data[31];
 	uint8_t  le_adv_data_len;
+	uint8_t  le_scan_enable;
+	uint8_t  le_filter_dup;
 	uint8_t  le_adv_enable;
 
 	uint16_t sync_train_interval;
@@ -843,6 +845,7 @@ static void default_cmd(struct btdev *btdev, uint16_t opcode,
 	const struct bt_hci_cmd_le_set_event_mask *lsem;
 	const struct bt_hci_cmd_le_set_adv_data *lsad;
 	const struct bt_hci_cmd_le_set_adv_enable *lsae;
+	const struct bt_hci_cmd_le_set_scan_enable *lsse;
 	struct bt_hci_rsp_read_default_link_policy rdlp;
 	struct bt_hci_rsp_read_stored_link_key rslk;
 	struct bt_hci_rsp_write_stored_link_key wslk;
@@ -1479,7 +1482,14 @@ static void default_cmd(struct btdev *btdev, uint16_t opcode,
 	case BT_HCI_CMD_LE_SET_SCAN_ENABLE:
 		if (btdev->type == BTDEV_TYPE_BREDR)
 			goto unsupported;
-		status = BT_HCI_ERR_SUCCESS;
+		lsse = data;
+		if (btdev->le_scan_enable == lsse->enable)
+			status = BT_HCI_ERR_COMMAND_DISALLOWED;
+		else {
+			btdev->le_scan_enable = lsse->enable;
+			btdev->le_filter_dup = lsse->filter_dup;
+			status = BT_HCI_ERR_SUCCESS;
+		}
 		cmd_complete(btdev, opcode, &status, sizeof(status));
 		break;
 
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH BlueZ 4/6] emulator: Disallow LE set scan params command when scan is enabled
  2013-07-03 20:54 [PATCH BlueZ 0/6] emulator: add LE advertising and scanning support Jefferson Delfes
                   ` (2 preceding siblings ...)
  2013-07-03 20:54 ` [PATCH BlueZ 3/6] emulator: Store LE scan state of virtual controller Jefferson Delfes
@ 2013-07-03 20:54 ` Jefferson Delfes
  2013-07-03 20:54 ` [PATCH BlueZ 5/6] emulator: Dummy LE set advertising parameters Jefferson Delfes
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Jefferson Delfes @ 2013-07-03 20:54 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: Jefferson Delfes

When LE scan is enabled, the command LE set scan parameters should
return a command disallowed in status of command complete event.
---
 emulator/btdev.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/emulator/btdev.c b/emulator/btdev.c
index 925eaf7..f3de1a5 100644
--- a/emulator/btdev.c
+++ b/emulator/btdev.c
@@ -1475,7 +1475,10 @@ static void default_cmd(struct btdev *btdev, uint16_t opcode,
 	case BT_HCI_CMD_LE_SET_SCAN_PARAMETERS:
 		if (btdev->type == BTDEV_TYPE_BREDR)
 			goto unsupported;
-		status = BT_HCI_ERR_SUCCESS;
+		if (btdev->le_scan_enable)
+			status = BT_HCI_ERR_COMMAND_DISALLOWED;
+		else
+			status = BT_HCI_ERR_SUCCESS;
 		cmd_complete(btdev, opcode, &status, sizeof(status));
 		break;
 
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH BlueZ 5/6] emulator: Dummy LE set advertising parameters
  2013-07-03 20:54 [PATCH BlueZ 0/6] emulator: add LE advertising and scanning support Jefferson Delfes
                   ` (3 preceding siblings ...)
  2013-07-03 20:54 ` [PATCH BlueZ 4/6] emulator: Disallow LE set scan params command when scan is enabled Jefferson Delfes
@ 2013-07-03 20:54 ` Jefferson Delfes
  2013-07-03 20:54 ` [PATCH BlueZ 6/6] emulator: Implement LE advertising report Jefferson Delfes
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Jefferson Delfes @ 2013-07-03 20:54 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: Jefferson Delfes

Implement basic LE set adv parameters command.
---
 emulator/btdev.c | 10 ++++++++++
 monitor/bt.h     | 12 ++++++++++++
 2 files changed, 22 insertions(+)

diff --git a/emulator/btdev.c b/emulator/btdev.c
index f3de1a5..c98a20d 100644
--- a/emulator/btdev.c
+++ b/emulator/btdev.c
@@ -1451,6 +1451,16 @@ static void default_cmd(struct btdev *btdev, uint16_t opcode,
 		cmd_complete(btdev, opcode, &lrlf, sizeof(lrlf));
 		break;
 
+	case BT_HCI_CMD_LE_SET_ADV_PARAMETERS:
+		if (btdev->type == BTDEV_TYPE_BREDR)
+			goto unsupported;
+		if (btdev->le_adv_enable)
+			status = BT_HCI_ERR_COMMAND_DISALLOWED;
+		else
+			status = BT_HCI_ERR_SUCCESS;
+		cmd_complete(btdev, opcode, &status, sizeof(status));
+		break;
+
 	case BT_HCI_CMD_LE_READ_ADV_TX_POWER:
 		if (btdev->type == BTDEV_TYPE_BREDR)
 			goto unsupported;
diff --git a/monitor/bt.h b/monitor/bt.h
index da62a3d..0f1c1d8 100644
--- a/monitor/bt.h
+++ b/monitor/bt.h
@@ -842,6 +842,18 @@ struct bt_hci_cmd_le_set_random_address {
 	uint8_t  addr[6];
 } __attribute__ ((packed));
 
+#define BT_HCI_CMD_LE_SET_ADV_PARAMETERS	0x2006
+struct bt_hci_cmd_le_set_adv_parameters {
+	uint16_t adv_interval_min;
+	uint16_t adv_interval_max;
+	uint8_t adv_type;
+	uint8_t own_address_type;
+	uint8_t direct_address_type;
+	uint8_t direct_address[6];
+	uint8_t adv_channel_map;
+	uint8_t adv_filter_policy;
+} __attribute__ ((packed));
+
 #define BT_HCI_CMD_LE_READ_ADV_TX_POWER		0x2007
 struct bt_hci_rsp_le_read_adv_tx_power {
 	uint8_t  status;
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH BlueZ 6/6] emulator: Implement LE advertising report
  2013-07-03 20:54 [PATCH BlueZ 0/6] emulator: add LE advertising and scanning support Jefferson Delfes
                   ` (4 preceding siblings ...)
  2013-07-03 20:54 ` [PATCH BlueZ 5/6] emulator: Dummy LE set advertising parameters Jefferson Delfes
@ 2013-07-03 20:54 ` Jefferson Delfes
       [not found] ` <51d54149.42a5420a.2de5.6abcSMTPIN_ADDED_BROKEN@mx.google.com>
  2013-07-05  9:00 ` Johan Hedberg
  7 siblings, 0 replies; 9+ messages in thread
From: Jefferson Delfes @ 2013-07-03 20:54 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: Jefferson Delfes

When a virtual device starts a LE advertising, emulator searches for
other virtual devices that are in scan mode, in order to send adv data
to these devices.
Inverse goes when LE scan is enabled. Emulator searches virtual devices
that are in advertising mode and copy adv data to them.
---
 emulator/btdev.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 58 insertions(+)

diff --git a/emulator/btdev.c b/emulator/btdev.c
index c98a20d..79d2f0e 100644
--- a/emulator/btdev.c
+++ b/emulator/btdev.c
@@ -811,6 +811,60 @@ static void remote_version_complete(struct btdev *btdev, uint16_t handle)
 							&rvc, sizeof(rvc));
 }
 
+static void le_send_adv_report(struct btdev *btdev, const struct btdev *remote)
+{
+	struct __packed {
+		uint8_t subevent;
+		union {
+			struct bt_hci_evt_le_adv_report lar;
+			uint8_t raw[10 + 31 + 1];
+		};
+	} meta_event;
+
+	meta_event.subevent = BT_HCI_EVT_LE_ADV_REPORT;
+
+	memset(&meta_event.lar, 0, sizeof(meta_event.lar));
+	meta_event.lar.num_reports = 1;
+	memcpy(meta_event.lar.addr, remote->bdaddr, 6);
+	meta_event.lar.data_len = remote->le_adv_data_len;
+	memcpy(meta_event.lar.data, remote->le_adv_data,
+						meta_event.lar.data_len);
+	/* Not available */
+	meta_event.raw[10 + meta_event.lar.data_len] = 127;
+	send_event(btdev, BT_HCI_EVT_LE_META_EVENT, &meta_event,
+					1 + 10 + meta_event.lar.data_len + 1);
+}
+
+static void le_set_adv_enable_complete(struct btdev *btdev)
+{
+	int i;
+
+	for (i = 0; i < MAX_BTDEV_ENTRIES; i++) {
+		if (!btdev_list[i] || btdev_list[i] == btdev)
+			continue;
+
+		if (!btdev_list[i]->le_scan_enable)
+			continue;
+
+		le_send_adv_report(btdev_list[i], btdev);
+	}
+}
+
+static void le_set_scan_enable_complete(struct btdev *btdev)
+{
+	int i;
+
+	for (i = 0; i < MAX_BTDEV_ENTRIES; i++) {
+		if (!btdev_list[i] || btdev_list[i] == btdev)
+			continue;
+
+		if (!btdev_list[i]->le_adv_enable)
+			continue;
+
+		le_send_adv_report(btdev, btdev_list[i]);
+	}
+}
+
 static void default_cmd(struct btdev *btdev, uint16_t opcode,
 						const void *data, uint8_t len)
 {
@@ -1480,6 +1534,8 @@ static void default_cmd(struct btdev *btdev, uint16_t opcode,
 			status = BT_HCI_ERR_SUCCESS;
 		}
 		cmd_complete(btdev, opcode, &status, sizeof(status));
+		if (status == BT_HCI_ERR_SUCCESS && btdev->le_adv_enable)
+			le_set_adv_enable_complete(btdev);
 		break;
 
 	case BT_HCI_CMD_LE_SET_SCAN_PARAMETERS:
@@ -1504,6 +1560,8 @@ static void default_cmd(struct btdev *btdev, uint16_t opcode,
 			status = BT_HCI_ERR_SUCCESS;
 		}
 		cmd_complete(btdev, opcode, &status, sizeof(status));
+		if (status == BT_HCI_ERR_SUCCESS && btdev->le_scan_enable)
+			le_set_scan_enable_complete(btdev);
 		break;
 
 	case BT_HCI_CMD_LE_READ_WHITE_LIST_SIZE:
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH BlueZ 0/6] emulator: add LE advertising and scanning support
       [not found] ` <51d54149.42a5420a.2de5.6abcSMTPIN_ADDED_BROKEN@mx.google.com>
@ 2013-07-04 17:15   ` Jefferson Delfes
  0 siblings, 0 replies; 9+ messages in thread
From: Jefferson Delfes @ 2013-07-04 17:15 UTC (permalink / raw)
  To: Tim Wei; +Cc: linux-bluetooth

Hi Tim.

We are using emulator to write test tools. You can find some usage at
tools/mgmt-tester.c.
That way you don't need to have real device (or features) to test some
specific code.

Regads,
Jefferson Delfes.

On Thu, Jul 4, 2013 at 5:32 AM, Tim Wei <junping.wei@ivtcorporation.com> wrote:
> Hi Jefferson,
>
> I am new to BlueZ.
> Could you please let me know what the purpose of having this module, I mean
> emulator?
>
> Thank you and Best Regards,
> Tim Wei
>
> -----Original Message-----
> From: linux-bluetooth-owner@vger.kernel.org
> [mailto:linux-bluetooth-owner@vger.kernel.org] On Behalf Of Jefferson Delfes
> Sent: Thursday, July 04, 2013 4:55 AM
> To: linux-bluetooth@vger.kernel.org
> Cc: Jefferson Delfes
> Subject: [PATCH BlueZ 0/6] emulator: add LE advertising and scanning support
>
> In order to write discovery tests for LE, we need some implementation
> on emulator side.
> This patch series basically reports virtual devices in adv mode for
> devices in scan mode.
>
> This new series was reorganized by merging some commits and removing
> others not related to discovery tests. Note that this is just a first
> set, based on a RFC sent a while ago by Bruna Moreira. Future patches
> will build on these patches.
>
> Jefferson Delfes (6):
>   emulator: Store LE advertising data length in btdev
>   emulator: Implement basic LE set adv enable command
>   emulator: Store LE scan state of virtual controller
>   emulator: Disallow LE set scan params command when scan is enabled
>   emulator: Dummy LE set advertising parameters
>   emulator: Implement LE advertising report
>
>  emulator/btdev.c | 102
> +++++++++++++++++++++++++++++++++++++++++++++++++++++--
>  monitor/bt.h     |  13 +++++++
>  2 files changed, 113 insertions(+), 2 deletions(-)
>
> --
> 1.8.3.2
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth"
> in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH BlueZ 0/6] emulator: add LE advertising and scanning support
  2013-07-03 20:54 [PATCH BlueZ 0/6] emulator: add LE advertising and scanning support Jefferson Delfes
                   ` (6 preceding siblings ...)
       [not found] ` <51d54149.42a5420a.2de5.6abcSMTPIN_ADDED_BROKEN@mx.google.com>
@ 2013-07-05  9:00 ` Johan Hedberg
  7 siblings, 0 replies; 9+ messages in thread
From: Johan Hedberg @ 2013-07-05  9:00 UTC (permalink / raw)
  To: Jefferson Delfes; +Cc: linux-bluetooth

Hi Jefferson,

On Wed, Jul 03, 2013, Jefferson Delfes wrote:
> In order to write discovery tests for LE, we need some implementation
> on emulator side.
> This patch series basically reports virtual devices in adv mode for
> devices in scan mode.
> 
> This new series was reorganized by merging some commits and removing
> others not related to discovery tests. Note that this is just a first
> set, based on a RFC sent a while ago by Bruna Moreira. Future patches
> will build on these patches.
> 
> Jefferson Delfes (6):
>   emulator: Store LE advertising data length in btdev
>   emulator: Implement basic LE set adv enable command
>   emulator: Store LE scan state of virtual controller
>   emulator: Disallow LE set scan params command when scan is enabled
>   emulator: Dummy LE set advertising parameters
>   emulator: Implement LE advertising report
> 
>  emulator/btdev.c | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
>  monitor/bt.h     |  13 +++++++
>  2 files changed, 113 insertions(+), 2 deletions(-)

All patches in this set have been applied. Thanks.

Johan

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2013-07-05  9:00 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-03 20:54 [PATCH BlueZ 0/6] emulator: add LE advertising and scanning support Jefferson Delfes
2013-07-03 20:54 ` [PATCH BlueZ 1/6] emulator: Store LE advertising data length in btdev Jefferson Delfes
2013-07-03 20:54 ` [PATCH BlueZ 2/6] emulator: Implement basic LE set adv enable command Jefferson Delfes
2013-07-03 20:54 ` [PATCH BlueZ 3/6] emulator: Store LE scan state of virtual controller Jefferson Delfes
2013-07-03 20:54 ` [PATCH BlueZ 4/6] emulator: Disallow LE set scan params command when scan is enabled Jefferson Delfes
2013-07-03 20:54 ` [PATCH BlueZ 5/6] emulator: Dummy LE set advertising parameters Jefferson Delfes
2013-07-03 20:54 ` [PATCH BlueZ 6/6] emulator: Implement LE advertising report Jefferson Delfes
     [not found] ` <51d54149.42a5420a.2de5.6abcSMTPIN_ADDED_BROKEN@mx.google.com>
2013-07-04 17:15   ` [PATCH BlueZ 0/6] emulator: add LE advertising and scanning support Jefferson Delfes
2013-07-05  9:00 ` Johan Hedberg

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.