TheCellule / python-bleson

Python Bluetooth LE Module
https://groups.google.com/group/python-bleson
MIT License
118 stars 24 forks source link

Bluetooth device name not being resolved while scanning #43

Open palande-dev opened 6 years ago

palande-dev commented 6 years ago

I am using the observer to scan for nearby BLE devices and seeing a lot of BLE traffic but their device names are always 'None'. There are Apple TVs and plenty BLE devices around which show up in complete local name when I use other tools Any suggestions what can I do to resolve names of devices? Thanks!

ukBaz commented 6 years ago

I suspect it is because there isn't a scan response being requested. https://stackoverflow.com/questions/25159222/bluethooth-4-0-scan-response As the local Name will be added at the end of the scan response data.

This is often referred to as passive and active scanning. Some more background information at: http://microchipdeveloper.com/wireless:ble-link-layer-discovery

The seems to be some support for the different scan types. https://github.com/TheCellule/python-bleson/blob/8566949729706159d6cc11c0c07c63d86f74f9f3/bleson/core/hci/constants.py#L7-L8

Which platform are you on?

palande-dev commented 6 years ago

I am using the repo as it is without any changes, and isn't the scan type set to ACTIVE in here by default? https://github.com/TheCellule/python-bleson/blob/8566949729706159d6cc11c0c07c63d86f74f9f3/bleson/providers/linux/linux_adapter.py#L116

Which platform are you on? I am on ubuntu 16.04

WayneKeenan commented 6 years ago

It’s late and I’ve just done a whole day followed by a 3 hour drive, so this might be best ignored...

Setting the scan type may just be informative to the BLE stack

Performing the actual scan response parsing and update of the data struct needs to be handheld by Bleson in response to an HCI event, I don’t recall Bleson doing this but I’m too tired to check at the moment, sorry.