New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 650226 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Closed: Nov 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Feature

Blocking:
issue 420284



Sign in to add a comment

bluetooth: See "Simultaneous LE and BR/EDR (Controller)" devices in bluetooth chooser

Project Member Reported by fbeaufort@chromium.org, Sep 26 2016

Issue description

Google Chrome	55.0.2858.0 (Official Build) dev (64-bit)
Platform	8798.0.0 (Official Build) dev-channel link

What steps will reproduce the problem?
(1) Make sure a nearby BLE beacon advertises itself as "non connectable undirected" but doesn't advertise any service UUIDs.
(2) Go to https://googlechrome.github.io/samples/web-bluetooth/read-characteristic-value-changed.html
(3) Click button
(4) Bluetooth chooser shows up


What is the expected output?
Nearby BLE beacon should be visible.

What do you see instead?
It is not.

This is because BlueZ now requires a filtered scan for getting "non connectable undirected" devices.

Here's what I think we need to do there:
1. We should apply http://git.kernel.org/cgit/bluetooth/bluez.git/commit/client/main.c?id=17360a49811e4d89f66d76b8a2d187f7fca5ec8f in Chromium BlueZ (https://chromium.googlesource.com/chromiumos/third_party/bluez/+log/chromeos-5.39)
2. Chrome Web Bluetooth discovery session should always specify an empty UUID when no service UUIDs are set by developer.


See btmon logs:


> HCI Event: LE Meta Event (0x3e) plen 39                                                                                   [hci0] 8.457128
      LE Advertising Report (0x02)
        Num reports: 1
        Event type: Non connectable undirected - ADV_NONCONN_IND (0x03)
        Address type: Public (0x00)
        Address: 5C:F3:70:77:74:39 (OUI 5C-F3-70)
        Data length: 27
        Flags: 0x08
          Simultaneous LE and BR/EDR (Controller)
        Name (complete): Chromebox for Meetings
        RSSI: -80 dBm (0xb0)
@ Device Found: 5C:F3:70:77:74:39 (1) rssi -80 flags 0x0004
        02 01 08 17 09 43 68 72 6f 6d 65 62 6f 78 20 66  .....Chromebox f
        6f 72 20 4d 65 65 74 69 6e 67 73                 or Meetings
 

Comment 1 by scheib@chromium.org, Oct 17 2016

Labels: Type-Feature
Owner: fbeaufort@chromium.org
Status: Started (was: Available)

Comment 4 by mcchou@google.com, Nov 2 2016

Hello fbeaufort, the main branch of BlueZ is on cros/chromeos-5.41 starting from 8945.0.0. We probably don't need to apply this given that we have switched to 5.41.
Summary: bluetooth: See "Simultaneous LE and BR/EDR (Controller)" devices in bluetooth chooser (was: bluetooth: See non connectable devices in bluetooth chooser)
OK so after much more diving, I've realized that the root issue is NOT the fact that BLE device is advertising "non connectable undirected". It looks like it is due to the Flag "Simultaneous LE and BR/EDR (Controller)".

For info, I can see this device on macOS and Android but not on Chrome OS/Linux.
Weird that flag only makes use set BR/EDR as supported, I almost sure this is due to not have a filter:

	if (bdaddr_type == BDADDR_BREDR || adapter->filtered_discovery)
		discoverable = true;
	else
		discoverable = eir_data.flags & (EIR_LIM_DISC | EIR_GEN_DISC);

	ba2str(bdaddr, addr);

	dev = btd_adapter_find_device(adapter, bdaddr, bdaddr_type);
	if (!dev) {
		/*
		 * If no client has requested discovery or the device is
		 * not marked as discoverable, then do not create new
		 * device objects.
		 */
		if (!adapter->discovery_list || !discoverable) {
			eir_data_free(&eir_data);
			return;
		}

		dev = adapter_create_device(adapter, bdaddr, bdaddr_type);
Status: WontFix (was: Started)
In Chrome 56.0.2905.0 (Official Build) dev (64-bit), I can't reproduce this issue anymore. 

I think it's because Chrome OS BlueZ 5.41 branch now includes https://chromium.googlesource.com/chromiumos/third_party/bluez/+/1ca09244f3d9f755fcec81325f6f1d96d1498674%5E%21/#F0 while it didn't in BlueZ 5.39 branch

Sign in to add a comment