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

Issue 636078 link

Starred by 25 users

Issue metadata

Status: Verified
Owner:
Last visit > 30 days ago
Closed: Oct 2017
Cc:
Components:
EstimatedDays: ----
NextAction: 2017-01-30
OS: Chrome
Pri: 1
Type: Bug

Blocking:
issue 630581
issue 672236
issue 677547



Sign in to add a comment

Handle Dual-mode Bluetooth devices correctly.

Project Member Reported by r...@chromium.org, Aug 9 2016

Issue description

Dual mode devices are currently not being handled correctly by Chrome OS. There are issues with pairing, connecting profiles and even making the correct connection.

The Bluetooth 4.0 and 4.2 spec have different suggestions on how to handle dual mode devices. There are various ways this can be solved, which are discussed in this design doc,

https://docs.google.com/a/chromium.org/document/d/1TDR90wWbsBS3rftjyPcETpvX94ulAtxpjFZzwQ94qKU/edit?usp=sharing

 
As a side note. The 4.0 verbiage is not a suggestion. It is a strict rule.

Comment 2 by r...@chromium.org, Aug 9 2016

Yep, that's how I've put it in the design doc.
In case anyone couldn't get access to the doc, it was restricted to chromium.org accounts, I've just opened it to all users.

Blocking: 630581
Blocking: 630586

Comment 5 by st...@chromium.org, Aug 24 2016

Cc: st...@chromium.org

Comment 6 by st...@chromium.org, Aug 24 2016

Cc: -r...@chromium.org

Comment 7 by st...@chromium.org, Aug 24 2016

Owner: st...@chromium.org
Status: Assigned (was: Available)
I posted 3 patches that attempt fix this and also clarify the Device1.Connect API:

http://www.spinics.net/lists/linux-bluetooth/msg68243.html
http://www.spinics.net/lists/linux-bluetooth/msg68244.html
http://www.spinics.net/lists/linux-bluetooth/msg68245.html

With those Im able to connect properly to Bose AE2 SoundLink, LE is only triggered if Device1.Connect is called a second time.

Comment 9 by st...@chromium.org, Aug 25 2016

The plan here is to take the patches and cherry pick them into our local BlueZ code.
I am waiting to see if we'll just do a full roll of BlueZ to the latest build instead.

Blocking: -630586

Comment 11 by st...@chromium.org, Sep 19 2016

Owner: mcchou@chromium.org
Assigning to Maio, since she is backporting these patches already.

Project Member

Comment 12 by bugdroid1@chromium.org, Oct 6 2016

Labels: merge-merged-chromeos-5.41
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/bluez/+/4c1e35b79af4a5f85648fc92aed04106657754f8

commit 4c1e35b79af4a5f85648fc92aed04106657754f8
Author: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Date: Mon Aug 22 10:04:15 2016

UPSTREAM: core/device: Fix marking auto-connect flag

Device auto-connect shall be set only if the profile is able to accept
incoming connections, this fixes the wrong behavior or connecting LE
with dual mode devices immediatelly after probing service as profiles
may have auto-connect flag for outgoing connection (usually BR/EDR only).

BUG= chromium:636078 
TEST=emerge

Change-Id: Ib927669fd545f1c3d426b30fdc3d58ae1c71f9b9
Reviewed-on: https://chromium-review.googlesource.com/394573
Reviewed-by: Shyh-In Hwang <josephsih@chromium.org>
Reviewed-by: Miao-chen Chou <mcchou@chromium.org>
Commit-Queue: Miao-chen Chou <mcchou@chromium.org>
Tested-by: Miao-chen Chou <mcchou@chromium.org>
Trybot-Ready: Miao-chen Chou <mcchou@chromium.org>

[modify] https://crrev.com/4c1e35b79af4a5f85648fc92aed04106657754f8/src/device.c

Project Member

Comment 13 by bugdroid1@chromium.org, Oct 6 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/bluez/+/ec1d105ed24713c7c0f115e92d397b2e5770f3b0

commit ec1d105ed24713c7c0f115e92d397b2e5770f3b0
Author: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Date: Tue Aug 23 09:58:03 2016

UPSTREAM: core/device: Prefer bonded bearers when connecting

When attempting to connect a dual-mode device prefer bonded bearer if
only one has been marked as bonded. This prevents connecting to a
different bearer after pairing is complete and cross transport pairing
is not supported.

BUG= chromium:636078 
TEST=emerge

Change-Id: Iad3937b7cf6cafd503a490ea5ad3feb60c3b82e6
Reviewed-on: https://chromium-review.googlesource.com/394574
Reviewed-by: Shyh-In Hwang <josephsih@chromium.org>
Reviewed-by: Miao-chen Chou <mcchou@chromium.org>
Commit-Queue: Miao-chen Chou <mcchou@chromium.org>
Tested-by: Miao-chen Chou <mcchou@chromium.org>
Trybot-Ready: Miao-chen Chou <mcchou@chromium.org>

[modify] https://crrev.com/ec1d105ed24713c7c0f115e92d397b2e5770f3b0/src/device.c

Project Member

Comment 14 by bugdroid1@chromium.org, Oct 6 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/bluez/+/21b96bc668294af84b3a3458f0e388ff2f4bb723

commit 21b96bc668294af84b3a3458f0e388ff2f4bb723
Author: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Date: Tue Aug 23 10:14:21 2016

UPSTREAM: doc/device-api: Document Connect behavior for dual-mode

Adds description of how Device1.Connect behave with dual-mode devices.

BUG= chromium:636078 
TEST=emerge

Change-Id: Id2483e85dd2df88c90305711d6ee1affacb004f1
Reviewed-on: https://chromium-review.googlesource.com/394575
Reviewed-by: Shyh-In Hwang <josephsih@chromium.org>
Reviewed-by: Miao-chen Chou <mcchou@chromium.org>
Commit-Queue: Miao-chen Chou <mcchou@chromium.org>
Tested-by: Miao-chen Chou <mcchou@chromium.org>
Trybot-Ready: Miao-chen Chou <mcchou@chromium.org>

[modify] https://crrev.com/21b96bc668294af84b3a3458f0e388ff2f4bb723/doc/device-api.txt

Comment 15 by chaok@google.com, Oct 9 2016

Samus on 55.0.2882.0
LG PLatinum (HBS1100) with iPhone 7 and Samus

Most issues are on Google Pixel 2 side:
1. Not able to re-connect using Bluetooth in Status Tray
2. It took a lot of fiddling to get it to pair in chrome://md-settings
3. Once it was connected, Bluetooth headset had to be toggled off/on 2x
4. It didn't auto-connect on iPhone 7,, but multi-point did work after going into iOS bluetooth settings
5. After headset was toggled off, sound went to built-in speakers instead of connected wired headphones, and it required changing audio-output
6. Only HFP worked on phone, not A2DP, where I would have expected to be able to hear VoiceOver on iPhone 7 and ChromeVOx Next on Samus
Status: Fixed (was: Assigned)
All dual-mode related patches have been ported both cros/chromeos-5.39 and cros/chromeos-5.41. After the recent branch switch, we are now on cros/chromeos-5.41.

chaok@, can you file a separate bug for Pixel 2? We are seeing a lot of reports on Pixel 2 Bluetooth connectivity issues, so comment #15 this should be treated as a different issue. Thanks.

Comment 17 by st...@chromium.org, Oct 31 2016

Cc: oka@chromium.org chaok@google.com kschmidty@google.com hychao@chromium.org
 Issue 615111  has been merged into this issue.
Blocking: 672236 chrome-os-partner:61751
Labels: M-57 M-56
Status: Assigned (was: Fixed)
Reopen and mark the issues being blocked by this issue.
I went through the upstream patches and picked the following 2 patches from BlueZ upstream.
core/device: Fix not connecting services properly @ 
http://git.kernel.org/cgit/bluetooth/bluez.git/commit/?id=aa0b1a0c10a6a18ef35f5da1ca598d3d83603546
core: Fix BR/EDR pairing for dual mode devices @ http://git.kernel.org/cgit/bluetooth/bluez.git/commit/?id=2d3685252a21cda4b918ad1cc4dd0572bd5c6d3c

The above fixes are verified with the following DUT settings.
Platfrom: Samus
Build:    samus-release/R56-9000.52.0
Blocking: -chrome-os-partner:61751
Blocking: 677547
Project Member

Comment 22 by bugdroid1@chromium.org, Jan 19 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/bluez/+/89a8aabb85a591147214a9c4d5cdaff7c4a8ce7a

commit 89a8aabb85a591147214a9c4d5cdaff7c4a8ce7a
Author: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Date: Fri Aug 12 08:20:10 2016

UPSTREAM: core/device: Fix not connecting services properly

Device.Connect shall check if the service discovery is pending or no
service have been connected yet before switching to LE otherwise these
services may never be connected.

BUG= chromium:636078 
TEST=None

Change-Id: I6945f5af3939b5583b2478938215bf1ef54c22bd
Reviewed-on: https://chromium-review.googlesource.com/428365
Commit-Ready: Miao-chen Chou <mcchou@chromium.org>
Tested-by: Miao-chen Chou <mcchou@chromium.org>
Reviewed-by: Shyh-In Hwang <josephsih@chromium.org>
Reviewed-by: Miao-chen Chou <mcchou@chromium.org>

[modify] https://crrev.com/89a8aabb85a591147214a9c4d5cdaff7c4a8ce7a/src/device.c

Project Member

Comment 23 by bugdroid1@chromium.org, Jan 19 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/bluez/+/758a5e9425a1c95a32591499367bbeeab001109c

commit 758a5e9425a1c95a32591499367bbeeab001109c
Author: Szymon Janc <szymon.janc@codecoup.pl>
Date: Fri Oct 21 19:41:18 2016

UPSTREAM: core: Fix BR/EDR pairing for dual mode devices

For dual mode devices we need to pass address type used in pairing
events to reply with correct one on agent reply. Otherwise reply for
BR/EDR pairing of dual mode device would use address type (which is
valid only for LE address) resulting in reply being ignored by kernel
and eventually pairing timeout.

BUG= chromium:636078 
TEST=1) emerge bluez, deploy bluez
2) pair and connect to Bose AE2 SoundLink headphone
3) see if the headphone shows up in the audio device menu

Change-Id: I9720f60b9270d05ead5113a590e953231834cb18
Reviewed-on: https://chromium-review.googlesource.com/428366
Commit-Ready: Miao-chen Chou <mcchou@chromium.org>
Tested-by: Miao-chen Chou <mcchou@chromium.org>
Reviewed-by: Shyh-In Hwang <josephsih@chromium.org>
Reviewed-by: Miao-chen Chou <mcchou@chromium.org>

[modify] https://crrev.com/758a5e9425a1c95a32591499367bbeeab001109c/src/device.h
[modify] https://crrev.com/758a5e9425a1c95a32591499367bbeeab001109c/src/adapter.c
[modify] https://crrev.com/758a5e9425a1c95a32591499367bbeeab001109c/src/device.c

Status: Fixed (was: Assigned)
Labels: -M-55 -merge-merged-chromeos-5.41 Merge-Request-56
Project Member

Comment 26 by sheriffbot@chromium.org, Jan 19 2017

Labels: -Merge-Request-56 Merge-Review-56 Hotlist-Merge-Review
This bug requires manual review: We are only 11 days from stable.
Please contact the milestone owner if you have questions.
Owners: amineer@(clank), cmasso@(bling), gkihumba@(cros), bustamante@(desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Owner: gkihumba@chromium.org
Status: Assigned (was: Fixed)
Labels: Merge-Approved-56

Comment 30 Deleted

Project Member

Comment 32 by bugdroid1@chromium.org, Jan 24 2017

Labels: merge-merged-release-R56-9000.B
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/bluez/+/fbe755f9fc157be10142f86674bd0a5d84b2240b

commit fbe755f9fc157be10142f86674bd0a5d84b2240b
Author: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Date: Fri Aug 12 08:20:10 2016

UPSTREAM: core/device: Fix not connecting services properly

Device.Connect shall check if the service discovery is pending or no
service have been connected yet before switching to LE otherwise these
services may never be connected.

BUG= chromium:636078 
TEST=None

Change-Id: I6945f5af3939b5583b2478938215bf1ef54c22bd
Reviewed-on: https://chromium-review.googlesource.com/428365
Commit-Ready: Miao-chen Chou <mcchou@chromium.org>
Tested-by: Miao-chen Chou <mcchou@chromium.org>
Reviewed-by: Shyh-In Hwang <josephsih@chromium.org>
Reviewed-by: Miao-chen Chou <mcchou@chromium.org>
(cherry picked from commit 89a8aabb85a591147214a9c4d5cdaff7c4a8ce7a)
Reviewed-on: https://chromium-review.googlesource.com/431142
Trybot-Ready: Miao-chen Chou <mcchou@chromium.org>
Commit-Queue: Miao-chen Chou <mcchou@chromium.org>

[modify] https://crrev.com/fbe755f9fc157be10142f86674bd0a5d84b2240b/src/device.c

Project Member

Comment 33 by bugdroid1@chromium.org, Jan 24 2017

Labels: merge-merged-release-R56-9000.B
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/bluez/+/1d84e3b77df0ae5f4817b8e97a8ebd48f56dbbc9

commit 1d84e3b77df0ae5f4817b8e97a8ebd48f56dbbc9
Author: Szymon Janc <szymon.janc@codecoup.pl>
Date: Fri Oct 21 19:41:18 2016

UPSTREAM: core: Fix BR/EDR pairing for dual mode devices

For dual mode devices we need to pass address type used in pairing
events to reply with correct one on agent reply. Otherwise reply for
BR/EDR pairing of dual mode device would use address type (which is
valid only for LE address) resulting in reply being ignored by kernel
and eventually pairing timeout.

BUG= chromium:636078 
TEST=1) emerge bluez, deploy bluez
2) pair and connect to Bose AE2 SoundLink headphone
3) see if the headphone shows up in the audio device menu

Change-Id: I9720f60b9270d05ead5113a590e953231834cb18
Reviewed-on: https://chromium-review.googlesource.com/428366
Commit-Ready: Miao-chen Chou <mcchou@chromium.org>
Tested-by: Miao-chen Chou <mcchou@chromium.org>
Reviewed-by: Shyh-In Hwang <josephsih@chromium.org>
Reviewed-by: Miao-chen Chou <mcchou@chromium.org>
(cherry picked from commit 758a5e9425a1c95a32591499367bbeeab001109c)
Reviewed-on: https://chromium-review.googlesource.com/431143
Commit-Queue: Miao-chen Chou <mcchou@chromium.org>
Trybot-Ready: Miao-chen Chou <mcchou@chromium.org>

[modify] https://crrev.com/1d84e3b77df0ae5f4817b8e97a8ebd48f56dbbc9/src/device.h
[modify] https://crrev.com/1d84e3b77df0ae5f4817b8e97a8ebd48f56dbbc9/src/adapter.c
[modify] https://crrev.com/1d84e3b77df0ae5f4817b8e97a8ebd48f56dbbc9/src/device.c

Owner: mcchou@chromium.org
Status: Started (was: Assigned)
Although the audio issue with dual-mode headphones have been resolved, this issue should stay open until the dual-mode behavior is fixed and verified, e.g. simultaneous class and LE connections.

Comment 35 by chaok@google.com, Jan 24 2017

Should I be able to connect and use my Bose SoundSport Wireless with this fix?
I work in the mobile industry and don't consider myself to tech-challenged but I have no idea what is being said here or how to fix it. Sounds like the issue is resolved with some sort of by pass but my bose qc 35 still will not play any audio still even when the devices shows it as connected. Could I get some guidance, please? 
Re #36 

Can you let us know what version of chrome you are on?

The fix landed in M-57 9199.0.0 dev channel and M-56 9174.0.0 beta channel.Please check on a version after these builds.

As I check on M-56 9176.0.0 beta build, I am able to connect the Bose AE2 headphones and listen music.
Project Member

Comment 38 by sheriffbot@chromium.org, Jan 27 2017

This issue has been approved for a merge. Please merge the fix to any appropriate branches as soon as possible!

If all merges have been completed, please remove any remaining Merge-Approved labels from this issue.

Thanks for your time! To disable nags, add the Disable-Nags label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
This is where I my Asus c302ca is currently.
1485672096141251946187.jpg
2.2 MB View Download
I just switched to the dev channel and the bluetooth works perfectly!!! Interesting it still wouldn't work in the beta channel.
Re #37 , fix landed in M-56 9000.74.0 and i checked on 9000.76.0 build.

Sorry for the typo.

Comment 42 by chaok@google.com, Jan 30 2017

Samus, CrOS 57.0.2987.11, Bose SoundSport Wireless:
1. It took a while for the headset to show up in Bluetooth list of nearby devices, as most were "unknown"
2. Not possible to use multipoint to switch to other devices (e.g. Pixel phone/Pixel ChromeBook)
3. Volume of Bluetooth has to be 80%, which is 2x that of wired to have equivalent volume
4. There is lag, distortion, static, and clipping, which are most noticeable when using ChromeVox Next to TAB through Bluetooth items in status tray.

Comment 43 by chaok@google.com, Jan 31 2017

NextAction: 2017-01-30
In Bose Connect app and via spoken feedback on SoundSport:
"Chromebook_EFF2" is how Samus is recognized, which is non-friendly.
Project Member

Comment 44 by sheriffbot@chromium.org, Jan 31 2017

This issue has been approved for a merge. Please merge the fix to any appropriate branches as soon as possible!

If all merges have been completed, please remove any remaining Merge-Approved labels from this issue.

Thanks for your time! To disable nags, add the Disable-Nags label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Cc: r...@chromium.org
Cc: -st...@chromium.org

Authentication failed while connecting to "04:52:C7:63:B3:53".

DEV BRANCH - Acer c720-3605

Version 58.0.3029.6 dev (64-bit)
Platform 9334.2.0 (Official Build) dev-channel peppy
Firmware Google_Peppy.4389.93.0
Check for and apply updates


Bluetooth - Bose Quiet Comfort 35 headphones - still won't sync!!

Comment 49 by wcha...@stuy.edu, Mar 10 2017

I believed I have solved the issue, finally. 
I have no experience in using chrome OS or anything but here is what I tried for over an hour and finally managed to do it, no experience in commands or anything at all. PLEASE TELL ME IF THIS WORKS!!!

1. Set Bose QC35 to pair mode (move the power button right for like a few seconds until it saids "Ready to pair" through the headphone speakers.)
2. Connect through Chromebook bluetooth regularly. It should fail and give you an Authentication Error with numbers like XX:XX:XX:XX:XX:XX. If you don't get those numbers, try to connect again. 
3. Copy those numbers (highlight and ctrl+c)
4. Go to chrome://chrome/ in the address bar and click More info > Change Channel > Developer-unstable 
Make sure you are now developer mode
5. Now press ctrl + alt + T
A command prompt (crosh) should pop up. 
6. Type (without the ") "bt_console"
7. Type trust [paste the XX:XX:XX:XX:XX:XX you copied earlier in this part by right clicking]
So it should be "trust XX:XX:XX:XX:XX:XX"
8. Hit enter. Your headphones should instantly pair, and if it didn't then pair normally again and it will work this time. 

Please TELL ME IF THIS WORKS.
### did not work; and I have just updated to the latest Bose QC35 firmware

$ trust 04:52:C7:63:B3:53
Device 04:52:C7:63:B3:53 not available

Comment 51 by wcha...@stuy.edu, Mar 10 2017

After step 7, connect the bose once more. It should show it connect on the command prompt but instantly disconnect. Use that address and continue the steps, instead of using the address in step 3. Continue the steps.

Comment 52 by rdcar...@gmail.com, Mar 10 2017

Also did not work for me. I had to issue the connect command via a shell
command. And now a bigger problem I have is the damn headphones
disconnecting every time the sound stops!!!  SO FRUSTRATING

Comment 53 by mcchou@google.com, Mar 10 2017

[Re comment52]
Hi rdcarson@gmail.com,

We would be more than happy to investigate any existing issue here. According to the description in #52, it is a different issue which has been resolved recently in in the following builds and the newer builds:
Version 57.0.2987.81 Platform 9202.39.0
Version 58.0.3021.0 Platform 9314.0.0

As a note, I had reach out to dgillies@ for further investigation on connection issue with Bose QC 35.

Thanks,
Miao

Comment 54 by mcchou@google.com, Mar 24 2017

[Re comment52]
Hi wchan00@stuy.edu,

Setting a device as a trusted device will skip the authentication process and connect directly, so that WORKs in terms of connection but not successful pairing.

Thanks,
Miao

I tried to pair connect the Bose Soundlink headphones to cave on 58.0.3029.31 / 9334.18.0

1. When i tried to connect it for about 5 times , I also got the authentication failed message

2. Now i cleared all Bluetooth devices paired to the headphones and then tried to pair and connect the headphones, it gave authentication failed message few times and eventually connected to the device.I am able to use it and listen the audio.
hcidump (3).log
49.1 KB View Download
debug-logs_20170324-121753 (1).tgz
341 KB Download
Labels: -Hotlist-Merge-Review -Merge-Review-56
Project Member

Comment 57 by sheriffbot@chromium.org, May 19 2017

Labels: -Merge-Approved-56
This issue hasn't been updated in the last 6 weeks, so removing its merge approval label. Please re-request a merge if needed.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 58 by r...@chromium.org, May 19 2017

Miao, did we ever investigate how much work this would take?
Even with the split stack, we will still need to ensure that we connect dual mode devices on BR/EDR, instead of the two connections that are currently being created.

Hello,

I also own a Bose QC 35 headset, and am having difficulty connecting it to my Toshiba Chromebook 2.

I would really appreciate a solution to this, and am wondering if there is any way I can help.

Best,

Zach

Comment 60 Deleted

Comment 61 Deleted

I did some experiments with QC35 on different platforms/images:

- I was not able to pair QC35 headphone with Caroline R59-9460.60.2
- I was able to pair QC35 to Caroline R61-9693.0.0 correctly and smoothly. Could listen to youtube for hours without problem.
- The headphone also works well on samus-release/R60-9592.0.0

It is possible that the problem was somehow fixed in R60 or R61.

Comment 63 by ingen...@gmail.com, Jul 21 2017

I'm also having issues with Bose QC35 on a Toshiba Chromebook 2 with 59.0.3071.134. The first day I was able to pair and use them just fine. The second day I noticed audio had started lagging behind video. Now, on the third day, anything playing audio (Google Play Music, Netflix, a local video file) just stutters, both audibly and visibly. It stutters about every half second. 

If I turn off the headphones or disconnect them, everything starts playing smoothly. As soon as I reconnect them though, it stutters and lags. 

If I disconnect my QC35 from my phone, the stuttering rate drops in half. My phone (Pixel XL) has no issues with the QC35. Wifi is 5ghz only, no other 2.4 ghz devices in the room (or really the whole house).
Re: comment 49. Switching to developer mode worked for me!  Thanks.  Question: If I want to switch back to stable channel will headphones still be connected?  Guessing not since it requires powerwashing...
Just updated to Chrome OS Stable 60.0.3112.112  on my Samsung Chromebook plus and my QC35 is now working!
Sony MDR-XB950N1 over the ear headphones not connecting to Samsung S3 Chromebox (Celeron B840).  It was a few months ago.  I'm on the latest Dev build.

Comment 67 by r...@chromium.org, Oct 5 2017

Status: Fixed (was: Started)
This should now be fixed.

Status: Verified (was: Fixed)
The Bose QC 35 and soundlink headphones now work fine on the chromebooks.

Sign in to add a comment