Skip to content

Cannot connect on Android 11 device #1069

@0xDE57

Description

@0xDE57

Describe the bug
Android 11 device fails on connect: Unknown error from transport layer com.flipperdevices.bridge.connection.transport.ble.impl.model.BLEConnectionPermissionException

But all bluetooth permissions are granted, so it shouldn't be denied. Even the log says:
Received permissionState: ALL_GRANTED

2026-01-11 17:58:47.796 2356-2356 PermissionStateBuilder com.flipperdevices.app I All permission granted

To Reproduce
Steps to reproduce the behavior:

  1. Have android 11 device
  2. Connect to flipper
  3. Enter pin
  4. throws exception in BleDeviceConnectionApiImpl.connectUnsafe()

Expected behavior
Should connect.

Logs

2026-01-11 17:26:05.951 26250-30586 FTransportListener      com.flipperdevices.app               E  Unknown error from transport layer
                                                                                                    com.flipperdevices.bridge.connection.transport.ble.impl.model.BLEConnectionPermissionException
                                                                                                    	at com.flipperdevices.bridge.connection.transport.ble.impl.BleDeviceConnectionApiImpl.connectUnsafe(BleDeviceConnectionApiImpl.kt:43)
                                                                                                    	at com.flipperdevices.bridge.connection.transport.ble.impl.BleDeviceConnectionApiImpl.connect-BWLJW6A(BleDeviceConnectionApiImpl.kt:32)
                                                                                                    	at com.flipperdevices.bridge.connection.transport.ble.impl.BleDeviceConnectionApiImpl.connect-BWLJW6A(BleDeviceConnectionApiImpl.kt:21)
                                                                                                    	at com.flipperdevices.bridge.connection.connectionbuilder.impl.FDeviceConfigToConnectionImpl.connect-BWLJW6A(FDeviceConfigToConnectionImpl.kt:34)
                                                                                                    	at com.flipperdevices.bridge.connection.ble.impl.FDeviceHolder$connectJob$1.invokeSuspend(FDeviceHolder.kt:52)
                                                                                                    	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
                                                                                                    	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
                                                                                                    	at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1411)
                                                                                                    	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:285)
                                                                                                    	at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1155)
                                                                                                    	at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1993)
                                                                                                    	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1941)
                                                                                                    	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
2026-01-11 17:26:05.953 26250-30083 BluetoothAdapter        com.flipperdevices.app               D  isLeEnabled(): ON
2026-01-11 17:26:05.954 26250-26250 InAppNotif...ionStorage com.flipperdevices.app               I  #subscribe. Current listener: null, updated: com.flipperdevices.bottombar.impl.viewmodel.InAppNotificationViewModel@acf79d8
2026-01-11 17:26:05.966 26250-30586 FDeviceOrchestrator     com.flipperdevices.app               E  Failed connect
                                                                                                    com.flipperdevices.bridge.connection.transport.ble.impl.model.BLEConnectionPermissionException
                                                                                                    	at com.flipperdevices.bridge.connection.transport.ble.impl.BleDeviceConnectionApiImpl.connectUnsafe(BleDeviceConnectionApiImpl.kt:43)
                                                                                                    	at com.flipperdevices.bridge.connection.transport.ble.impl.BleDeviceConnectionApiImpl.connect-BWLJW6A(BleDeviceConnectionApiImpl.kt:32)
                                                                                                    	at com.flipperdevices.bridge.connection.transport.ble.impl.BleDeviceConnectionApiImpl.connect-BWLJW6A(BleDeviceConnectionApiImpl.kt:21)
                                                                                                    	at com.flipperdevices.bridge.connection.connectionbuilder.impl.FDeviceConfigToConnectionImpl.connect-BWLJW6A(FDeviceConfigToConnectionImpl.kt:34)
                                                                                                    	at com.flipperdevices.bridge.connection.ble.impl.FDeviceHolder$connectJob$1.invokeSuspend(FDeviceHolder.kt:52)
                                                                                                    	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
                                                                                                    	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
                                                                                                    	at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1411)
                                                                                                    	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:285)
                                                                                                    	at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1155)
                                                                                                    	at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1993)
                                                                                                    	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1941)
                                                                                                    	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
2026-01-11 17:26:05.999 26250-26250 SearchStateBuilder      com.flipperdevices.app               I  Received permissionState: ALL_GRANTED, scanState: com.flipperdevices.firstpair.impl.model.ScanState$Founded@f4a9e2e, pairState: NotInitialized

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions