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

Issue 909045 link

Starred by 1 user

Issue metadata

Status: Started
Owner:
Last visit > 30 days ago
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

Enable LE kernel splitter configuration

Project Member Reported by sonnysasaka@chromium.org, Nov 28

Issue description

Steps needed:
* Add kernel support to accept configuration via sysfs file
* Add upstart script that writes the config to this sysfs file
* Make Bluetooth daemons to depend on the completion of this configuration step
 
Project Member

Comment 1 by bugdroid1@chromium.org, Dec 1

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/board-overlays/+/9dde0267550c4e5959f471913a6d667f3e181b0e

commit 9dde0267550c4e5959f471913a6d667f3e181b0e
Author: Sonny Sasaka <sonnysasaka@chromium.org>
Date: Sat Dec 01 05:01:40 2018

veyron: Don't wait for emit brcm-sdio-added

udev's initctl emit should return immediately regardless whether the
signal is handled by anything. This is necessary to prevent deadlock
when brcm_patchram_plus needs to depend to multiple signals to complete.

BUG=chromium:909045
TEST=Manual test, check that udev-trigger upstart job doesn't get
blocked.

Change-Id: Ib82e87475fd48f94f8fe4987e46755cb1d937146
Reviewed-on: https://chromium-review.googlesource.com/1354525
Commit-Ready: Sonny Sasaka <sonnysasaka@chromium.org>
Tested-by: Sonny Sasaka <sonnysasaka@chromium.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Brian Norris <briannorris@chromium.org>

[modify] https://crrev.com/9dde0267550c4e5959f471913a6d667f3e181b0e/overlay-veyron/chromeos-base/chromeos-bsp-veyron/files/99-veyron-brcm.rules
[rename] https://crrev.com/9dde0267550c4e5959f471913a6d667f3e181b0e/overlay-veyron/chromeos-base/chromeos-bsp-veyron/chromeos-bsp-veyron-0.0.1-r30.ebuild

Project Member

Comment 2 by bugdroid1@chromium.org, Dec 1

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/964ae8ee4a9be6ec856c134690ec17c54e08d540

commit 964ae8ee4a9be6ec856c134690ec17c54e08d540
Author: Sonny Sasaka <sonnysasaka@chromium.org>
Date: Sat Dec 01 09:08:33 2018

bluetooth: Install upstart script to configure LE kernel splitter

At this moment there is no device built with the kernel splitter. So
currently the script will fallback to ignore (no-op).

BUG=chromium:909045
TEST=Tested on device with kernel splitter built into the kernel. Start
the device and check that:
  cat /sys/devices/virtual/misc/hci_le/le_splitter_enabled
is set.
CQ-DEPEND=CL:1352383

Change-Id: I9463ffd382380194d22d776b0e99845ed61c9921
Reviewed-on: https://chromium-review.googlesource.com/1351759
Commit-Ready: Sonny Sasaka <sonnysasaka@chromium.org>
Tested-by: Sonny Sasaka <sonnysasaka@chromium.org>
Reviewed-by: Dmitry Grinberg <dmitrygr@google.com>
Reviewed-by: Miao-chen Chou <mcchou@chromium.org>

[modify] https://crrev.com/964ae8ee4a9be6ec856c134690ec17c54e08d540/chromeos-base/bluetooth/bluetooth-9999.ebuild

Project Member

Comment 3 by bugdroid1@chromium.org, Dec 1

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/4a045506155606bc80b4528e7c9deee73256f12b

commit 4a045506155606bc80b4528e7c9deee73256f12b
Author: Sonny Sasaka <sonnysasaka@chromium.org>
Date: Sat Dec 01 09:08:34 2018

bluez: BlueZ daemon should start after bluetooth-setup finishes

BUG=chromium:909045
TEST=Manual test: Restart device, verify that bluetoothd runs on boot
after bluetooth-setup
CQ-DEPEND=CL:1351759

Change-Id: I8b4a75edd93a589616892cadf7975c63f17fca99
Reviewed-on: https://chromium-review.googlesource.com/1352567
Commit-Ready: Sonny Sasaka <sonnysasaka@chromium.org>
Tested-by: Sonny Sasaka <sonnysasaka@chromium.org>
Reviewed-by: Dmitry Grinberg <dmitrygr@google.com>
Reviewed-by: Miao-chen Chou <mcchou@chromium.org>

[modify] https://crrev.com/4a045506155606bc80b4528e7c9deee73256f12b/net-wireless/bluez/files/bluez-upstart.conf

Project Member

Comment 4 by bugdroid1@chromium.org, Dec 1

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/545550c71f7f901c33391e64eecded2f9f4bca89

commit 545550c71f7f901c33391e64eecded2f9f4bca89
Author: Sonny Sasaka <sonnysasaka@chromium.org>
Date: Sat Dec 01 09:08:33 2018

bluetooth: Add upstart script to prepare kernel splitter

This adds an upstart task that runs early to prepare the LE kernel
splitter configuration before any Bluetooth daemon (BlueZ or NewBlue)
starts. Future patches will make those daemons depend on the completion
of this task.

BUG=chromium:909045
TEST=Tested on device with kernel splitter built into the kernel. Start
the device and check that:
  cat /sys/devices/virtual/misc/hci_le/le_splitter_enabled
is set.

Change-Id: I31715b8e28f12c2e2b611c2feaf710f736448dec
Reviewed-on: https://chromium-review.googlesource.com/1352383
Commit-Ready: Sonny Sasaka <sonnysasaka@chromium.org>
Tested-by: Sonny Sasaka <sonnysasaka@chromium.org>
Reviewed-by: Dmitry Grinberg <dmitrygr@google.com>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[add] https://crrev.com/545550c71f7f901c33391e64eecded2f9f4bca89/bluetooth/init/scripts/bluetooth-setup.sh
[add] https://crrev.com/545550c71f7f901c33391e64eecded2f9f4bca89/bluetooth/init/upstart/bluetooth-setup.conf
[modify] https://crrev.com/545550c71f7f901c33391e64eecded2f9f4bca89/bluetooth/init/upstart/newblued.conf

Project Member

Comment 8 by bugdroid1@chromium.org, Dec 19

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/d5cd2e84c8990d6a6a877779dd428bb85f19af54

commit d5cd2e84c8990d6a6a877779dd428bb85f19af54
Author: Sonny Sasaka <sonnysasaka@chromium.org>
Date: Wed Dec 19 09:12:39 2018

bluetooth: Move util to common

newblued and btdispatch are going to share common functions so it's nice
to move this util to common/.

BUG=chromium:909045
TEST=build and test doesn't regress

Change-Id: I562fb00924a6a4e8fca87c89c72a696069010989
Reviewed-on: https://chromium-review.googlesource.com/1382640
Commit-Ready: Sonny Sasaka <sonnysasaka@chromium.org>
Tested-by: Sonny Sasaka <sonnysasaka@chromium.org>
Reviewed-by: Miao-chen Chou <mcchou@chromium.org>

[modify] https://crrev.com/d5cd2e84c8990d6a6a877779dd428bb85f19af54/bluetooth/newblued/agent_manager_interface_handler.cc
[rename] https://crrev.com/d5cd2e84c8990d6a6a877779dd428bb85f19af54/bluetooth/common/util.h
[modify] https://crrev.com/d5cd2e84c8990d6a6a877779dd428bb85f19af54/bluetooth/newblued/util_unittest.cc
[modify] https://crrev.com/d5cd2e84c8990d6a6a877779dd428bb85f19af54/bluetooth/BUILD.gn
[modify] https://crrev.com/d5cd2e84c8990d6a6a877779dd428bb85f19af54/bluetooth/newblued/newblue.cc
[modify] https://crrev.com/d5cd2e84c8990d6a6a877779dd428bb85f19af54/bluetooth/newblued/newblue.h
[modify] https://crrev.com/d5cd2e84c8990d6a6a877779dd428bb85f19af54/bluetooth/newblued/adapter_interface_handler.cc
[modify] https://crrev.com/d5cd2e84c8990d6a6a877779dd428bb85f19af54/bluetooth/newblued/newblue_daemon.h
[rename] https://crrev.com/d5cd2e84c8990d6a6a877779dd428bb85f19af54/bluetooth/common/util.cc
[modify] https://crrev.com/d5cd2e84c8990d6a6a877779dd428bb85f19af54/bluetooth/newblued/newblue_daemon.cc
[modify] https://crrev.com/d5cd2e84c8990d6a6a877779dd428bb85f19af54/bluetooth/newblued/newblue_daemon_unittest.cc

Project Member

Comment 9 by bugdroid1@chromium.org, Dec 19

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/b1be5640bf7375a14236868e6644d465ada0b6ac

commit b1be5640bf7375a14236868e6644d465ada0b6ac
Author: Sonny Sasaka <sonnysasaka@chromium.org>
Date: Wed Dec 19 09:12:38 2018

bluetooth: Add upstart script handling for boards without /dev/hci_le

Not all boards will have LE kernel splitter enabled. So the upstart
script needs to handle this case to prevent error when minijail tries to
bind this file.

BUG=chromium:909045
TEST=Deploy to boards without /dev/hci_le and verify that minijail can
start newblued successfully.

Change-Id: Ib4a993ff3df0b05c4b34a5db29f772702e113700
Reviewed-on: https://chromium-review.googlesource.com/1382644
Commit-Ready: Sonny Sasaka <sonnysasaka@chromium.org>
Tested-by: Sonny Sasaka <sonnysasaka@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/b1be5640bf7375a14236868e6644d465ada0b6ac/bluetooth/init/upstart/newblued.conf

Project Member

Comment 10 by bugdroid1@chromium.org, Dec 20

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/ee5ec2c5f2c87ce4025f9a19d28d496e7fb86aef

commit ee5ec2c5f2c87ce4025f9a19d28d496e7fb86aef
Author: Sonny Sasaka <sonnysasaka@chromium.org>
Date: Thu Dec 20 21:49:48 2018

bluetooth: Move IsBleSplitterEnabled() to util

newblued is going to need this utility to so it's useful to move this
function to common/util.

BUG=chromium:909045
TEST=build and test doesn't regress

Change-Id: I2fcea302ab4ebea2b707a6c3238473ff7ff2661e
Reviewed-on: https://chromium-review.googlesource.com/1383251
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Sonny Sasaka <sonnysasaka@chromium.org>
Reviewed-by: Miao-chen Chou <mcchou@chromium.org>

[modify] https://crrev.com/ee5ec2c5f2c87ce4025f9a19d28d496e7fb86aef/bluetooth/dispatcher/main.cc
[modify] https://crrev.com/ee5ec2c5f2c87ce4025f9a19d28d496e7fb86aef/bluetooth/common/util.cc
[modify] https://crrev.com/ee5ec2c5f2c87ce4025f9a19d28d496e7fb86aef/bluetooth/common/util.h

Project Member

Comment 11 by bugdroid1@chromium.org, Dec 24

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/ef16de6e66f3b5b8bd66adbb9033dd1ecd33b5e0

commit ef16de6e66f3b5b8bd66adbb9033dd1ecd33b5e0
Author: Sonny Sasaka <sonnysasaka@chromium.org>
Date: Mon Dec 24 03:19:34 2018

bluetooth: Add idle mode to newblued

As LE kernel splitter is not yet enabled for all boards, newblued should
not treat those as errors but it should still keep itself alive to
prevent false error reports.

BUG=chromium:909045
TEST=set /var/lib/bluetooth/newblued to 0 and run newblued, check that
it runs in idle mode.

Change-Id: Ie642635f013dec988c452b6a7a13fa173bc98609
Reviewed-on: https://chromium-review.googlesource.com/1382645
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Sonny Sasaka <sonnysasaka@chromium.org>
Reviewed-by: Sonny Sasaka <sonnysasaka@chromium.org>

[modify] https://crrev.com/ef16de6e66f3b5b8bd66adbb9033dd1ecd33b5e0/bluetooth/newblued/main.cc
[modify] https://crrev.com/ef16de6e66f3b5b8bd66adbb9033dd1ecd33b5e0/bluetooth/init/upstart/newblued.conf
[modify] https://crrev.com/ef16de6e66f3b5b8bd66adbb9033dd1ecd33b5e0/bluetooth/newblued/newblue_daemon.cc
[modify] https://crrev.com/ef16de6e66f3b5b8bd66adbb9033dd1ecd33b5e0/bluetooth/newblued/newblue_daemon.h
[modify] https://crrev.com/ef16de6e66f3b5b8bd66adbb9033dd1ecd33b5e0/bluetooth/newblued/newblue_daemon_unittest.cc

Project Member

Comment 12 by bugdroid1@chromium.org, Jan 8

Labels: merge-merged-chromeos-3.14
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/dcd2b2a224364091d601dd04e6a8945bb37b4831

commit dcd2b2a224364091d601dd04e6a8945bb37b4831
Author: Dmitry Grinberg <dmitrygr@google.com>
Date: Tue Jan 08 03:40:49 2019

CHROMIUM: Bluetooth: Enable BLuetooth LE splitter

With this change, BT splitter can be used and newblue can be run. By
default the functionality of the splitter is disabled (CL:1352383) and
users can enable it by using the crosh command (CL:1121542).

BUG=chromium:859239,chromium:909045
TEST=With this built on minnie, enable and disable newblue and check
that splitter is indeed enabled and disabled. Check that by default
(splitter disabled) Bluetooth works normally.
CQ-DEPEND=CL:1378961

Signed-off-by: Sonny Sasaka <sonnysasaka@chromium.org>
Change-Id: I3a142f746471db1d022b673b5418032ae4db5fa8
Reviewed-on: https://chromium-review.googlesource.com/736685
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Dmitry Grinberg <dmitrygr@google.com>
Reviewed-by: Dmitry Torokhov <dtor@chromium.org>

[modify] https://crrev.com/dcd2b2a224364091d601dd04e6a8945bb37b4831/chromeos/config/armel/chromiumos-rockchip.flavour.config

Sign in to add a comment