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

[sturgeon] BLE client mode doesn't discover services on some devices #279

Open
A-Emile opened this issue Jan 19, 2024 · 2 comments
Open

Comments

@A-Emile
Copy link

A-Emile commented Jan 19, 2024

Describe the bug
I am building an app to connect and lock/unlock my escooter via BLE. The Problem is, that after connecting to the scooter the services arnt getting discovered. I have tested other ble devices and the services are getting discovered succefully. nrf connect on my phone is discovering the services correctly.
I am using the simpleble library in cpp.
After connecting the size of services is 0 and mtu size is somehow also 0.
in bluetoothctl the UART services is being listed with the info command but in the gatt menu the list-attributes command also shows nothing.
Note that it only happens when connecting to the scooter iot. I have tested connecting to other devices like an esp32 with ble uart service and it worked..

Any Ideas how to fix that would be greatly appreciated

To reproduce
Steps to reproduce the behavior:

  1. get ssh shell
  2. bluetoothctl
  3. scan on
  4. connect <mac address>
  5. info (it shows the uart service (sometimes))
  6. menu gatt
  7. list-attributes (returns nothing)

Expected behavior
list-attributes should show me the services and characteristics of the connected device.

Device (please complete the following information):

  • Watch Codename: sturgeon
  • Version 1.1-nightly

Additional context
btmon log: https://gist.github.com/A-Emile/7d09cea00146529ec96f9d175d55c57a#file-btmon-txt

@beroset
Copy link
Member

beroset commented Jan 26, 2024

To help us work on the problem, I have two requests for more information:

  1. please post the contents of /etc/os-release from the watch
  2. if you temporarily change the line in /etc/bluetooth/main.conf from ControllerMode = le to ControllerMode = dual and reboot the watch, does it seem to work then?

@A-Emile
Copy link
Author

A-Emile commented Jan 29, 2024

Thanks for the respone!

So here is the conetent of /etc/os-release:

ID=asteroid
NAME="AsteroidOS"
VERSION="1.1-nightly"
VERSION_ID=1.1-nightly
VERSION_CODENAME="${DISTRO_CODENAME}"
PRETTY_NAME="AsteroidOS 1.1-nightly"
BUILD_ID="20240112002713"
LOGO=logo-asteroidos
HOME_URL="https://asteroidos.org/"

And i forgot to mention that i already changed ControllerMode to dual and it didnt seem change anything..

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

2 participants