Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[watchAdvertisements] Support Extended Advertising #604

Open
larsgk opened this issue Apr 18, 2023 · 8 comments
Open

[watchAdvertisements] Support Extended Advertising #604

larsgk opened this issue Apr 18, 2023 · 8 comments

Comments

@larsgk
Copy link

larsgk commented Apr 18, 2023

Legacy advertising (plus Scan response) can only hold a fairly limited amount of data and extended advertising will see more and more use with e.g. multi-purpose devices. Extended advertising was introduced with BT 5.0 and most devices sold today support it.

Would it be possible to (also) include data from Extended Advertising, where the OS and hardware (controller) supports it in parallel to the current Legacy Advertising + Scan Response data.

I see a reference to Bluetooth 4.2 in the Web Bluetooth spec. Is there something preventing this to be bumped to 5.0 (or later)?

@reillyeon
Copy link
Contributor

I'm struggling to find examples of how platform APIs handle receiving Extended Advertising data. If there isn't anything an application needs to do different to receive such data then it should already work in existing Web Bluetooth implementations, though it would be good to update the specification to explicitly mention it.

@larsgk
Copy link
Author

larsgk commented Apr 18, 2023

I'm struggling to find examples of how platform APIs handle receiving Extended Advertising data. If there isn't anything an application needs to do different to receive such data then it should already work in existing Web Bluetooth implementations, though it would be good to update the specification to explicitly mention it.

It's a different type of response than legacy advertising and scan response, so it has to be included/handled explicitly. Also, I did a quick check against a device advertising both legacy and extended (with the same bt name) and only the legacy data came up (using the watch Advertisements demo page)

@dlech
Copy link
Contributor

dlech commented Apr 18, 2023

Did you test this on all supported operating systems? (Windows, Mac, Android, ChromeOS)

@larsgk
Copy link
Author

larsgk commented Apr 18, 2023

Did you test this on all supported operating systems? (Windows, Mac, Android, ChromeOS)

Good point. I tested on Android 13/Pixel 7 (TQ2A.230305.008.C1) - will check if the others are also missing extended advertising. However, unless the scanning code is made to support it (like you would combine legacy + scan response), it's probably not going to show up. Also, it will (most likely) have a different random (privacy) address than legacy.

@reillyeon
Copy link
Contributor

If you happen to find example code for Windows, macOS or Android showing how to receive extended advertising data that would be helpful because so far I haven't been able to find anything, which is why I'm assuming it should just work.

@larsgk
Copy link
Author

larsgk commented Apr 18, 2023

If you happen to find example code for Windows, macOS or Android showing how to receive extended advertising data that would be helpful because so far I haven't been able to find anything, which is why I'm assuming it should just work.

Is there a good place to discuss this and collect the info? Doing some quick web searches, it seems there is a bit of confusion around it. Also, I know the controller needs to support it.

@larsgk
Copy link
Author

larsgk commented Apr 18, 2023

@reillyeon
Copy link
Contributor

Thanks. That was exactly what I was looking for.

I've filed https://bugs.chromium.org/p/chromium/issues/detail?id=1434454 to track this from an implementation perspective.

@WebBluetoothCG WebBluetoothCG deleted a comment from Rakhaau Jul 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants