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

Scan by Organizationally Unique Identifier (OUI) #154

Closed
beaufortfrancois opened this issue Aug 25, 2015 · 4 comments
Closed

Scan by Organizationally Unique Identifier (OUI) #154

beaufortfrancois opened this issue Aug 25, 2015 · 4 comments

Comments

@beaufortfrancois
Copy link
Member

It would be nice to be able to scan with filters on OUI.

Here's how it would look like for the Xiaomi Mi Band:

return navigator.bluetooth.requestDevice({
  filters: [{ ouiData: [0x880F10] }] // Huami Information Technology Co.,Ltd.
}).then(device => { ... })

According to https://standards.ieee.org/develop/regauth/tut/eui.pdf and http://standards-oui.ieee.org/oui.txt

@jyasskin
Copy link
Member

Where's the OUI in Bluetooth data? If it's in some of the advertising data, this is probably fine, but if it's in https://developer.bluetooth.org/gatt/characteristics/Pages/CharacteristicViewer.aspx?u=org.bluetooth.characteristic.system_id.xml, I believe it's too expensive to connect and gather that data while scanning.

@beaufortfrancois
Copy link
Member Author

According to http://git.kernel.org/cgit/bluetooth/bluez.git/tree/lib/bluetooth.c#n100, OUI is based on Bluetooth Address. For instance,

bluetooth address OUI Company Name
88:0F:10:9D:EB:42 88-0F-10 Huami Information Technology Co.,Ltd.

@g-ortuno
Copy link
Contributor

Hmm that's going to be tricky on Mac since they don't expose the address.

@jyasskin
Copy link
Member

Yeah, and lots of devices use random addresses, without the APIs telling us that the addresses are random. I don't think we can practically filter scans by OUI.

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