Skip to content

[Bug] Android BLE scan finds Flipper but connect can hang at Connecting #72

@0-CYBERDYNE-SYSTEMS-0

Description

@0-CYBERDYNE-SYSTEMS-0

Description

On Android, Vesper can discover a Flipper over Bluetooth but then remain stuck on Connecting instead of reaching a usable connected state.

During repro, the BLE link came up and service discovery completed, but transport readiness never finished. The Flipper serial service was found, yet notification setup did not complete and the app stayed in the connecting state.

This does not appear to be a Momentum firmware incompatibility. The failure occurs after scan and service discovery and appears to be caused by Android-side BLE setup sequencing.

Steps to Reproduce

  1. Open Vesper on Android.
  2. Go to the Device screen.
  3. Scan for nearby Flipper devices.
  4. Select a discovered Flipper running Momentum firmware.
  5. Observe that the UI stays on Connecting.

Expected Behavior

After selecting the discovered Flipper, Vesper should complete BLE setup, enable the serial notifications, and transition to a connected/transport-ready state.

Actual Behavior

The Flipper is discovered successfully, but the connect flow can hang indefinitely on Connecting.

Screenshots / Logs

Observed during local debugging:

  • BLE onConnectionStateChange(... state=CONNECTED) succeeds
  • service discovery succeeds
  • the Flipper serial service is found
  • notification setup does not complete, leaving the app stuck in Connecting

A local fix that serialized requestMtu -> discoverServices -> enable notifications and added MTU / notification timeouts resolved the problem on the affected device.

Environment

  • Android version: Samsung Android device (exact release not captured during session)
  • Phone model: SM-G781V
  • Flipper firmware: Momentum firmware (user-reported)
  • Vesper version/commit: main at 8195199
  • AI model used: N/A

Additional Context

The issue reproduced while the Flipper was visible in scan results but failed to complete transport setup. USB OTG connectivity worked, which helped isolate this to the BLE connection flow rather than general device compatibility.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions