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

BluetoothLE Sample fails to connect to Silicon Labs device after it reboots in OTA mode #1395

Open
rfontao-centi opened this issue Jul 26, 2023 · 0 comments
Labels

Comments

@rfontao-centi
Copy link

Which sample are you reporting a bug in?

BluetoothLE sample C++/WinRT

Describe the bug

I am unable to connect to a Silicon Labs MCU after the MCU closes the connection. I have developed a UWB App before based on this sample, with the purpose of executing an OTA DFU on a Silicon Labs MCU. However, the laptops were changed and now I am using a Windows 11 PC.

That said, the process of the OTA DFU in Silicon Labs basically follows this procedure:

  1. Write in OTA Control Characteristic
  2. MCU reboots in OTA mode, closing the connection
  3. Connect and send new firmware image

The problem lies in step 2, where the Windows UWP Sample is unable to establish a connection again to the device. I don't have any of these problems using any other BLE Mobile Apps like EFR Connect or nRF Connect.

I believe the problem might be in here , where the device tries to discover the services and it fails, but I am guessing the problem/incompatibility is deeper than only this function call.

So I want to ask the UWP dev team if there is anything that the Windows API needs to receive in order to establish a connection (i am sure the connection is opened but not maintained since the device exit OTA mode) since this only happens when the MCU is rebooted into the called OTA mode.

Expected behavior
Windows PC should connect to the MCU after the MCU reboots.

Screenshots
image
imageimage

Configuration

  • C++/WinRT x64 Debug
  • Windows 11 SDK (10.0.22621.0)
  • Visual Studio 17.6.5

Additional context
I can also add that advertising packets sent in normal mode are as follows:

  • Flags = 0x06
  • Complete Local Name

In OTA Mode the advertising packets contain:

  • Flags = 0x06;
  • Complete Local Name
  • LE Bluetooth Device Address (random type)
  • TX Power Level
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant