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

Issue 898192 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

web-bluetooth: Unable to enable notifications on ChromeOS

Reported by eric.lun...@modrobotics.com, Oct 23

Issue description

Chrome Version       : 69.0.3497
Other browsers tested:
     Chrome MacOS (70.0.3538): OK
     Chrome Win10 (70.0.3538): OK
     Chrome Android (70.0.3538): OK

What steps will reproduce the problem?
(1) Discover/pair/connect with navigator.bluetooth.requestDevice, device.gatt.connect()
(2) Fetch the service with server.getPrimaryService
(3) Fetch the characteristic that has notifications with service.getCharacteristic
(4) Try to enable notifications on the characteristic with characteristic.startNotifications()

What is the expected result?
The promise is resolved, notifications are enabled for the characteristic.

What happens instead?
"NotSupportedError: GATT Error Unknown" is returned.

This is happening with a simple device that has a single service, one WriteWithoutReponse characteristic and one Notify characteristic. The device using the Nordic UART/Serial emulation service. Enabling notifications works on Android (native and web bluetooth), iOS (native), MacOS(web-bluetooth), Windows10(web-bluetooth). 

Log messages are attached, along with the demo being used to test.

 
btmon.btsnoop
51.8 KB Download
chromeos.log
108 KB View Download
dbus_log.log
274 KB View Download
Screenshot 2018-10-23 at 9.33.19 AM.png
78.1 KB View Download
var.log.messages.txt
18.0 KB View Download
index.html
5.9 KB View Download
BlueZ package version: 5.44-r150
Labels: Needs-Triage-M69
Owner: josephsih@chromium.org
Interesting. Based on the logs, it seems that even though our call to StartNofications fails, the request was actually sent to the device and the device started notifying. The bug appears to be at a lower layer.

josephsih: do you know what could be going on?
Status: Assigned (was: Unconfirmed)
josephsih: Any luck figuring out what's going on here?
Would anyone else be able to take a look at this? I have access to the hardware if you'd like me to try anything.
Cc: odejesush@chromium.org reillyg@chromium.org
Cc: sonnysasaka@chromium.org adlr@chromium.org
sonnysasaka: Any chance you could take a look at this? It seems StartNotifications is taking too long to reply.
I found a work-around, or cause of the problem. On the device I am testing on, there was a Scan Parameters Service being advertised, when I removed this, everything worked as expected. 

I however still do not understand why this is causing a problem on ChromeOS, and not other platforms. Attached is a screenshot of the service from the Nordic nRF Connect app. If anyone has any insight on why this would be an issue, I would really appreciate it.  Happy to provide any additional details. 
scan_params_service.png
307 KB View Download

Sign in to add a comment