OZEO-DOOZ / nrf_mesh_plugin

A Flutter plugin to enable mesh network management and communication using Nordic Semiconductor's SDKs.
https://pub.dev/packages/nordic_nrf_mesh
BSD 3-Clause "New" or "Revised" License
27 stars 16 forks source link

Example App iOS timeout on Provisioning #261

Open DevHachi opened 1 year ago

DevHachi commented 1 year ago

It seems like the app works only for android on iOS its not working. This is the last log i can see before time out: Provisioner Public Key (0x98D7F97432229137B48B88156422E4F675B501D5CC28DB5411C22E07AFE6454D893648BD1C725DAB46A8FB39DA02BC2BCD85780A4FE5E175631F693DE939E103)

phone: iPhone XR os: 16.1.1

Additional Info: It does work on Android

ghost commented 1 year ago

Hello @DevHachi Thank you for the report 👍

Can you share more details ? Could be cool to have the full provisioning log and your flutter doctor 🧐

DevHachi commented 1 year ago

Sure no problem.

Her ist the full log for provisioning:

[CoreBluetooth] XPC connection invalid
flutter: deviceUuid: dddd7cdf-a1da-eaea-0000-000000000000
flutter: [NordicNrfMesh] calling disconnect without connected device..
flutter: [NordicNrfMesh] received unexpected connection state update : ConnectionStateUpdate(deviceId: 13D1CB25-6A03-90CF-7892-205702F8A4C1, connectionState: DeviceConnectionState.connecting, failure: null)
flutter: [NordicNrfMesh] received ConnectionStateUpdate(deviceId: 13D1CB25-6A03-90CF-7892-205702F8A4C1, connectionState: DeviceConnectionState.connected, failure: null)
flutter: [NordicNrfMesh] services [DiscoveredService(serviceId: 1827, characteristicIds: [2adb, 2adc], characteristics: [DiscoveredCharacteristic(characteristicId: 2adb, serviceId: 1827), DiscoveredCharacteristic(characteristicId: 2adc, serviceId: 1827)], includedServices: [])]
🥂 [DoozMeshManagerApi] Received flutter call : setMtuSize
flutter: [NordicNrfMesh] connect took 1912ms
🥂 [DoozMeshManagerApi] Received flutter call : identifyNode
[DoozProvisioningManager] Requesting Provisioning Capabilities
[DoozProvisioningManager] Sending Provisioning Invite (attention timer: 5 sec)
🥂 [DoozMeshManagerApi] Received flutter call : handleNotifications
[DoozProvisioningManager] Device Capabilities: Number of elements: 3
Algorithms: FIPS P-256 Elliptic Curve
Public Key Type: None
Static OOB Type: None
Output OOB Size: 0
Output OOB Actions: None
Input OOB Size: 0
Input OOB Actions: None received
[DoozProvisioningManager] Provisioning Capabilities received
🥂 [DoozUnprovisionedDevice] Received flutter call : getNumberOfElements
🥂 [DoozMeshManagerApi] Received flutter call : provisioning
[DoozProvisioningManager] Provisioning started
[DoozProvisioningManager] Sending Provisioning Start (algorithm: FIPS P-256 Elliptic Curve, public Key: No OOB Public Key, authentication Method: No OOB)
[DoozProvisioningManager] Sending Provisioner Public Key (0x77262C2CBF476B02749689EAEB2860298017AEAC24B4C7F1453AF6666173587F85F72559681035CEBDA282E55B3409BA94CA2E4128B48E92031E0C89967E526C)
[CoreBluetooth] XPC connection invalid
flutter: deviceUuid: dddd7cdf-a1da-eaea-0000-000000000000

And flutter doctor -v:

[✓] Flutter (Channel stable, 3.3.10, on macOS 12.6.2 21G320 darwin-x64, locale de-DE)
    • Flutter version 3.3.10 on channel stable at /Users/xxx/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 135454af32 (5 weeks ago), 2022-12-15 07:36:55 -0800
    • Engine revision 3316dd8728
    • Dart version 2.18.6
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/xxx/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14C18
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[✓] VS Code (version 1.74.3)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.56.0

[✓] Connected device (4 available)
    • SM A520F (mobile)       • 5210e12e436424c1                         • android-arm64  • Android 8.0.0 (API 26)
    • iPhone 6S+ DEV (mobile) • 36f31bdfb663ed795af90592e3cf913cade24e0e • ios            • iOS 15.7 19H12
    • macOS (desktop)         • macos                                    • darwin-x64     • macOS 12.6.2 21G320 darwin-x64
    • Chrome (web)            • chrome                                   • web-javascript • Google Chrome 109.0.5414.87

[✓] HTTP Host Availability
    • All required HTTP hosts are available

At last here is what info i got from device itself. Maybe it helps ;)

[0;32mI (273324) EXAMPLE: ESP_BLE_MESH_NODE_PROV_LINK_OPEN_EVT, bearer PB-GATT[0m
[0;33mW (273474) BLE_MESH: No Health Server context provided[0m
[0;31mE (273714) BLE_MESH: Invalid length 18 for type 0x03[0m
[0;33mW (273744) BLE_MESH: Proxy PDU type doesn't match GATT service[0m
[0;33mW (273774) BLE_MESH: Proxy PDU type doesn't match GATT service[0m
[0;33mW (273804) BLE_MESH: Proxy PDU type doesn't match GATT service[0m
[0;33mW (333624) BLE_MESH: Protocol timeout[0m
[0;33mW (333624) BLE_MESH: No Health Server context provided[0m
[0;32mI (333624) EXAMPLE: ESP_BLE_MESH_NODE_PROV_LINK_CLOSE_EVT, bearer PB-GATT[0m
[0;31mE (463014) BLE_MESH: Not connected[0m
luan20495 commented 1 year ago

.