nRF conect SDK throughput with iOS isn't as good as old nRF5 sdk or same as Android throughput

Hi, 

Wanted to report an issue with iOS BLE transfer speed being lower than expected on nRF5340 (nRF connect SDK)
We tried to get the same throughput on BLE as nRF52840 and iOS, but failed. The iOS application, and code are unchanged between the tests. 
 

For baseline testing:
Used the  https://github.com/NordicPlayground/nrf52-ble-image-transfer-demo example 
We modified this application to remove camera dependency. (attached in google drive link below)

And for iOS application, we used https://github.com/NordicPlayground/iOS-Image-Transfer-Demo as the iOS aplication for baseline testing.

With MTU=498, and 244 BLE transfer length (244+7 headers) is what gave us north of 80KBps - 100 KBps 



For nRF5340 evaluation:

Another experiment we tried was taking a basicBLE Nordic  UART example and modified it for maximux througput.
Tuned MTU, connection interval from 7.5ms, 15ms, and all values around it. MTU and payload size were also explored, but the best I got was the same settings as above, MTU=498, interval = 15ms.


Link to all code and experiments along with packaet captures is available here:

https://drive.google.com/drive/folders/1Oh1i5HmAwgHEyc-FIOyb4Uvi-NBMpFAr?usp=drive_link 

File included are:
nRF_Connect_iOS_ble_image_transfer.zip (nRF5340 FW for image transfer demo)
peripheral_uart_2.6_sdk.zip(nRF5340 FW for image transfer demo over NUS)

image-transfer-demo_ios.zip (iOS application for image tasnfer demo)
Basic-Chat_ios.zip (iOS application for image tasnfer demo over NUS)

iOS-nRF_Connect_sdk_slow_throughput_x.pcap (slow throughput packet capture)
working_image_transfer_old_sdk_x.pcapng (nRF5 connect sdk high speed transfer)


Can you please help us achieve same speeds or better with nRF5 connect SDK. 

On a side note, Android will happily give us the expected 1.2Mbps data throughput. 

 

Related