Not able to connect mambo until to reboot iPad


#1

Product: Mambo
Product version: 3.0.17
SDK version: 3.13.1
Use of libARController: YES
SDK platform:iOS
Reproductible with the official app: Yes

This problem can be reproducible by using latest SDK Samples with latest SDK 3.13.1. Procedure is given as follow

  1. power on mambo, firmware version 3.0.17
  2. run latest SDK Samples on iPad Air 2, iOS 11.2.6
  3. click on the mambo ID shown on the “Parrot SDK Sample” list view to connect mambo
  4. wait until the flight controll UI is shown
  5. remove the battery from mambo
  6. wait until the UI back to “Parrot SDK Sample” list view
  7. insert battery back to mambo
  8. repeat 3 - 7 above several times until the mambo can’t be connected anymore
  9. When not able to connect mambo, the flight control UI is shown with “connecting…” message for few seconds and then back to “Parrot SDK Sample” list view automatically.
  10. on the Xcode debug console, following messages are shown

2018-03-07 18:46:26.377616+0800 SDKSample[273:10587] centralManager <CBCentralManager: 0x1c0261580> didDisconnectPeripheral <CBPeripheral: 0x1c8105460, identifier = 63742847-EB30-4B06-B8C2-A293B244D448, name = Mambo_111953, state = disconnected> error: (null)
[ERR] ARDISCOVERY_Device | 18:46:26:377 | ARDISCOVERY_Device_NewARNetworkAL:243 - error: Unknown generic error
[ERR] ARCONTROLLER_Network | 18:46:26:377 | ARCONTROLLER_Network_New:321 - error: BLE disconnection error
[ERR] ARCONTROLLER_Network | 18:46:26:377 | ARCONTROLLER_Network_New:355 - error: Error during the getting of the ARNETWORKAL_Manager from the device
[INF] ARCONTROLLER_Device | 18:46:26:378 | ARCONTROLLER_Device_StartRun:5891 - Start failed or canceled.
[ERR] ARCONTROLLER_Device | 18:46:26:378 | ARCONTROLLER_Device_StopNetwork:7112 - Error occured durring unregistering ARCommands to the feature ARCONTROLLER_DICTIONARY_KEY_COMMON; error :Bad parameters
[ERR] ARCONTROLLER_Device | 18:46:26:378 | ARCONTROLLER_Device_StopNetwork:7175 - Error occured durring unregistering ARCommands to the feature ARCONTROLLER_DICTIONARY_KEY_MAPPER_MINI; error :Bad parameters
[ERR] ARCONTROLLER_Device | 18:46:26:379 | ARCONTROLLER_Device_StopNetwork:7184 - Error occured durring unregistering ARCommands to the feature ARCONTROLLER_DICTIONARY_KEY_MINIDRONE; error :Bad parameters
[ERR] ARCONTROLLER_Device | 18:46:26:379 | ARCONTROLLER_Device_StopRun:5934 - StopNetwork failed with error :Bad parameters
[ERR] ARCONTROLLER_Device | 18:46:26:379 | ARCONTROLLER_Device_StartRun:5899 - Start fail error :Error during the getting of the ARNETWORKAL_Manager from the device

  1. use Freeflight Mini app on the same iPad can’t connect to the mambo as well
  2. have to reboot the iPad in order that the SDK Samples and Freeflight Mini app are able to connect to the mambo again.

Thanks
Sam


#2

Hi,

Thanks for the report. We will need to check that problem and try to reproduce it. I’ll get back to you if we managed to find a fix.


#3

Problem reproduced on Tynker and Swift Playground.


#4

Product: Mambo
Product version: ?
SDK version: 3.13.1
Use of libARController: YES
SDK platform:iOS
Reproductible with the official app: No

More info

  • Tynker app was using 3.10.1. The app worked with the iOS version at the time of the 3.10.1 release.
  • Don’t know which iOS release first caused issues.
  • Tynker app has this issue with both the 3.10.1 and 3.13.1 SDKs

Steps to repro in the Tynker App

  1. Create Tynker coding project and add Drone actor
  2. Turn on drone (Tynker project successfully connects to drone)
  3. Turn off drone (Tynker project successfully disconnects from drone)
  4. Turn on drone (Tynker project no longer connects to drone, Freeflight Mini no longer connects to drone.)

Here are logs using the 3.13.1 SDK (with additional logging from the Tynker app and with some comments)

2018-03-26 11:09:36.005460-0700 Tynker[218:5841] stopConnection 0 0
2018-03-26 11:09:36.022854-0700 Tynker[218:6098] Discovery will not start: Discovery Not Requested
2018-03-26 11:09:39.403341-0700 Tynker[218:5841] stopConnection 0 0
2018-03-26 11:09:50.551943-0700 Tynker[218:5841] [CoreBluetooth] API MISUSE: <CBCentralManager: 0x11347b5c0> has no restore identifier but the delegate implements the centralManager:willRestoreState: method. Restoring will not be supported
2018-03-26 11:09:50.556199-0700 Tynker[218:6098] New CBCentralManager state : CBCentralManagerStatePoweredOn
2018-03-26 11:10:02.179338-0700 Tynker[218:6262] [BoringSSL] Function boringssl_session_errorlog: line 2871 [boringssl_session_read] SSL_ERROR_ZERO_RETURN(6): operation failed because the connection was cleanly shut down with a close_notify alert
2018-03-26 11:10:02.181537-0700 Tynker[218:6262] [BoringSSL] Function boringssl_session_errorlog: line 2871 [boringssl_session_read] SSL_ERROR_ZERO_RETURN(6): operation failed because the connection was cleanly shut down with a close_notify alert
2018-03-26 11:10:02.181745-0700 Tynker[218:6262] [BoringSSL] Function boringssl_session_errorlog: line 2871 [boringssl_session_read] SSL_ERROR_ZERO_RETURN(6): operation failed because the connection was cleanly shut down with a close_notify alert

Turned on drone

2018-03-26 11:10:12.686098-0700 Tynker[218:6099] New device Mambo_088950
2018-03-26 11:10:12.699265-0700 Tynker[218:5841] ARCONTROLLER_DEVICE_STATE_STARTING
2018-03-26 11:10:13.288519-0700 Tynker[218:6314] Service : 9a66fa00-0800-9191-11e4-012d1540cb8e
2018-03-26 11:10:13.577011-0700 Tynker[218:6314] Service : 9a66fb00-0800-9191-11e4-012d1540cb8e
2018-03-26 11:10:13.849033-0700 Tynker[218:6314] Service : 9a66fd21-0800-9191-11e4-012d1540cb8e
2018-03-26 11:10:13.889636-0700 Tynker[218:6314] Service : 9a66fd51-0800-9191-11e4-012d1540cb8e
2018-03-26 11:10:13.951230-0700 Tynker[218:6314] Service : 9a66fe00-0800-9191-11e4-012d1540cb8e
2018-03-26 11:10:14.068712-0700 Tynker[218:6314] Service : 9a66fa00-0800-9191-11e4-012d1540cb8e, fa00, 3600080
2018-03-26 11:10:14.069314-0700 Tynker[218:6314] Service : 9a66fb00-0800-9191-11e4-012d1540cb8e, fb00, 367c820
2018-03-26 11:10:14.069631-0700 Tynker[218:6314] Sender service : fa00
2018-03-26 11:10:14.069836-0700 Tynker[218:6314] Receiver service : fb00
2018-03-26 11:10:14.667348-0700 Tynker[218:6314] ==REGISTERED Characteristic : fd23, dcb9350
2018-03-26 11:10:14.787343-0700 Tynker[218:6314] ==REGISTERED Characteristic : fd53, aad09e0
2018-03-26 11:10:16.048817-0700 Tynker[218:5841] ARDrone battery updated… 42% (Mambo_088950)
2018-03-26 11:10:16.115682-0700 Tynker[218:5841] ARDrone flying state changed 7
[ERR] ARCONTROLLER_Network | 11:10:16:194 | ARCONTROLLER_Network_ReaderRun:1294 - ARCOMMANDS_Decoder_DecodeBuffer () failed : 2 MiniDrone.RemoteControllerState.UNKNOWN -> Unknown command
[ERR] ARCONTROLLER_Network | 11:10:16:194 | ARCONTROLLER_Network_ReaderRun:1294 - ARCOMMANDS_Decoder_DecodeBuffer () failed : 2 MiniDrone.RemoteControllerState.UNKNOWN -> Unknown command
2018-03-26 11:10:16.498880-0700 Tynker[218:5841] ARCONTROLLER_DEVICE_STATE_RUNNING
2018-03-26 11:10:23.315964-0700 Tynker[218:5841] ARDrone flying state changed 0
2018-03-26 11:10:23.316138-0700 Tynker[218:5841] ARDrone landed

everything looks good in the Tynker app
turned off drone

2018-03-26 11:10:46.670005-0700 Tynker[218:6063] centralManager <CBCentralManager: 0x11347b5c0> didDisconnectPeripheral <CBPeripheral: 0x10dc06d50, identifier = 6336C9A1-B64F-D5DF-D833-A195D21D760F, name = Mambo_088950, state = disconnected> error: Error Domain=CBErrorDomain Code=6 “The connection has timed out unexpectedly.” UserInfo={NSLocalizedDescription=The connection has timed out unexpectedly.}
2018-03-26 11:10:46.670390-0700 Tynker[218:6063] Will remove BLE service: <ARService: 0x1036dd040>
2018-03-26 11:10:46.670577-0700 Tynker[218:6063] Removed service Mambo_088950 : ARBLEService
2018-03-26 11:10:46.670850-0700 Tynker[218:6063] -[ARNETWORKAL_BLENetwork onBLEDisconnect]:568
2018-03-26 11:10:46.686220-0700 Tynker[218:5841] ARCONTROLLER_DEVICE_STATE_STOPPING
2018-03-26 11:10:47.150181-0700 Tynker[218:5841] ARCONTROLLER_DEVICE_STATE_STOPPED

turned on drone

2018-03-26 11:11:25.304638-0700 Tynker[218:6099] New device Mambo_088950
2018-03-26 11:11:25.317804-0700 Tynker[218:5841] ARCONTROLLER_DEVICE_STATE_STARTING
2018-03-26 11:11:55.547804-0700 Tynker[218:6099] centralManager <CBCentralManager: 0x11347b5c0> didDisconnectPeripheral <CBPeripheral: 0x10dc06d50, identifier = 6336C9A1-B64F-D5DF-D833-A195D21D760F, name = Mambo_088950, state = disconnected> error: (null)
2018-03-26 11:11:55.561534-0700 Tynker[218:6099] Will remove BLE service: <ARService: 0x10365e5d0>
2018-03-26 11:11:55.561811-0700 Tynker[218:6099] Removed service Mambo_088950 : ARBLEService
[ERR] ARDISCOVERY_Device | 11:11:55:569 | ARDISCOVERY_Device_NewARNetworkAL:243 - error: Unknown generic error
[ERR] ARCONTROLLER_Network | 11:11:55:569 | ARCONTROLLER_Network_New:321 - error: BLE disconnection error
[ERR] ARCONTROLLER_Network | 11:11:55:569 | ARCONTROLLER_Network_New:355 - error: Error during the getting of the ARNETWORKAL_Manager from the device
[INF] ARCONTROLLER_Device | 11:11:55:571 | ARCONTROLLER_Device_StartRun:5891 - Start failed or canceled.
[ERR] ARCONTROLLER_Device | 11:11:55:572 | ARCONTROLLER_Device_StopNetwork:7112 - Error occured durring unregistering ARCommands to the feature ARCONTROLLER_DICTIONARY_KEY_COMMON; error :Bad parameters
[ERR] ARCONTROLLER_Device | 11:11:55:578 | ARCONTROLLER_Device_StopNetwork:7175 - Error occured durring unregistering ARCommands to the feature ARCONTROLLER_DICTIONARY_KEY_MAPPER_MINI; error :Bad parameters
[ERR] ARCONTROLLER_Device | 11:11:55:578 | ARCONTROLLER_Device_StopNetwork:7184 - Error occured durring unregistering ARCommands to the feature ARCONTROLLER_DICTIONARY_KEY_MINIDRONE; error :Bad parameters
[ERR] ARCONTROLLER_Device | 11:11:55:578 | ARCONTROLLER_Device_StopRun:5934 - StopNetwork failed with error :Bad parameters
[ERR] ARCONTROLLER_Device | 11:11:55:579 | ARCONTROLLER_Device_StartRun:5899 - Start fail error :Error during the getting of the ARNETWORKAL_Manager from the device
2018-03-26 11:11:55.586209-0700 Tynker[218:5841] ARCONTROLLER_DEVICE_STATE_STOPPING
2018-03-26 11:11:55.586370-0700 Tynker[218:5841] ARCONTROLLER_DEVICE_STATE_STOPPED
2018-03-26 11:11:56.816548-0700 Tynker[218:6262] New device Mambo_088950
2018-03-26 11:11:56.835786-0700 Tynker[218:5841] ARCONTROLLER_DEVICE_STATE_STARTING
2018-03-26 11:12:27.091006-0700 Tynker[218:6262] centralManager <CBCentralManager: 0x11347b5c0> didDisconnectPeripheral <CBPeripheral: 0x10dc06d50, identifier = 6336C9A1-B64F-D5DF-D833-A195D21D760F, name = Mambo_088950, state = disconnected> error: (null)
2018-03-26 11:12:27.091411-0700 Tynker[218:6262] Will remove BLE service: <ARService: 0x10dcf5220>
2018-03-26 11:12:27.091562-0700 Tynker[218:6262] Removed service Mambo_088950 : ARBLEService
[ERR] ARDISCOVERY_Device | 11:12:27:092 | ARDISCOVERY_Device_NewARNetworkAL:243 - error: Unknown generic error
[ERR] ARCONTROLLER_Network | 11:12:27:092 | ARCONTROLLER_Network_New:321 - error: BLE disconnection error
[ERR] ARCONTROLLER_Network | 11:12:27:094 | ARCONTROLLER_Network_New:355 - error: Error during the getting of the ARNETWORKAL_Manager from the device
[INF] ARCONTROLLER_Device | 11:12:27:094 | ARCONTROLLER_Device_StartRun:5891 - Start failed or canceled.
[ERR] ARCONTROLLER_Device | 11:12:27:094 | ARCONTROLLER_Device_StopNetwork:7112 - Error occured durring unregistering ARCommands to the feature ARCONTROLLER_DICTIONARY_KEY_COMMON; error :Bad parameters
[ERR] ARCONTROLLER_Device | 11:12:27:105 | ARCONTROLLER_Device_StopNetwork:7175 - Error occured durring unregistering ARCommands to the feature ARCONTROLLER_DICTIONARY_KEY_MAPPER_MINI; error :Bad parameters
[ERR] ARCONTROLLER_Device | 11:12:27:105 | ARCONTROLLER_Device_StopNetwork:7184 - Error occured durring unregistering ARCommands to the feature ARCONTROLLER_DICTIONARY_KEY_MINIDRONE; error :Bad parameters
[ERR] ARCONTROLLER_Device | 11:12:27:105 | ARCONTROLLER_Device_StopRun:5934 - StopNetwork failed with error :Bad parameters
[ERR] ARCONTROLLER_Device | 11:12:27:105 | ARCONTROLLER_Device_StartRun:5899 - Start fail error :Error during the getting of the ARNETWORKAL_Manager from the device
2018-03-26 11:12:27.094812-0700 Tynker[218:5841] ARCONTROLLER_DEVICE_STATE_STOPPING
2018-03-26 11:12:27.108039-0700 Tynker[218:5841] ARCONTROLLER_DEVICE_STATE_STOPPED
2018-03-26 11:12:29.799924-0700 Tynker[218:6262] New device Mambo_088950
2018-03-26 11:12:29.803156-0700 Tynker[218:5841] ARCONTROLLER_DEVICE_STATE_STARTING

Code continues to loop through STARTING->STOPPING->STOPPED.
ARCONROLLER_DEVICE_STATE_* is logged in

  • (void)miniDrone:(MiniDrone*)miniDrone connectionDidChange:(eARCONTROLLER_DEVICE_STATE)state

Tynker app never gets RUNNING.


#5

Hi!

Thanks for these logs.
We’re currently working on this bug. I’ll let you know when we have something new.


#6

May I ask any update for this issue?

Thanks
Sam


#7

Yes you may!

We’ve seen the bug.
We tested it with the latest beta release of iOS (iOS 11.4 beta 2) and we could not reproduce it on this version. Can you try on your side?

Thanks


#8

Thanks for your update. We cannot reproduce this issue on iOS 11.4 beta 2 as well.

Sam