service: "Device Information" will be created automatically with the PnP_ID characteristic Bluez version above 5.50
inonoob opened this issue · 0 comments
inonoob commented
Hey,
I' currently working on a project where I use the GATT Server and the GATT advertiser.
Problem:
- If Bluez is compiled from source following this post link](https://scribles.net/updating-bluez-on-raspberry-pi-from-5-43-to-5-50/). (Please replace the Bluez version with the actual one Bluez5.5 )
- Then if the Python script is used with bluez version 5.50 or 5.54 in order to create the Gatt Server then the service: "Device Information" will be created automatically with the PnP_ID characteristic.
- If in the Gatt Server python script the service: "Device Information" is also defined, then it will result in having 2 "Device Information" Services which are not combined. (Checkable via nRF app)
- In my case for example, my scripts checks if "Device Information" is available and want to check the software version string characteristic. But as it already sees the "Device Information" service with only having the PnP_ID characteristic, my script fails.
I have no idea for the moment how to prevent Bluez version above 5.50 to create "Device Information" service with the PnP_ID characteristic.
Short Term solution:
- Do not upgrade Bluez higher as 5.50 if the full control over the Service: Device Information wants be maintained.
Tested on/with:
- Raspberry pi 1 (Gatt Server)
- Bluetooth dongle 4.1
- Raspberry Pi OS Lite 02.12.2020
- Bluez 5.44 ==> Service: Device Information automatically created with PnP_ID characteristic
- Bluez 5.55 ==> Service: Device Information automatically created with PnP_ID characteristic
- Bluez 5.50 ==> No Service Device Information automatically created
- Raspberry pi zero W (Gatt Server)
- Bluetooth on board 4.1
- Raspberry Pi OS Lite 02.12.2020
- Bluez 5.44 ==> Service: Device Information automatically created with PnP_ID characteristic
- Bluez 5.55 ==> Service: Device Information automatically created with PnP_ID characteristic
- Bluez 5.50 ==> No Service Device Information automatically created
- Android: (BLE client)
- Version 6.0
- Version 8.0
- Version 10.0
- Checked with nRF app
Request:
- Has someone already a longterm solution for this problem. Should I change something during the compilation ? or can I control via the python GATT server script and DBUS that Bluez shouldn't create the "Device Information" service on it's own.