This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

pc-ble-driver connectivity increase MTU size

Looks like pc-ble-driver connectivity (hex file) firmware is limited to MTU of 250 via NRF_SDH_BLE_GATT_MAX_MTU_SIZE. We need to use MTU 515 to match what is supported by most recent Android mobile devices. What is the simplest way to recompile the connectivity with the increased MTU? Best would be to release a version that supports this for the community. The github documentation is pretty thin on how to do this (beyond building the default) or what projects connectivity hex file contains. Thanks!

  • Hi,

    What is the simplest way to recompile the connectivity with the increased MTU?

     Download SDK 15.3, apply the patch found here (nRF5_SDK_15.3.0_connectivity.patch). Then find the project in SDK_folder\examples\connectivity\ble_connectivity, change the value of NRF_SDH_BLE_GATT_MAX_MTU_SIZE in sdk_config.h, and compile the project.

  • Thanks! I am trying to build pca10059\ser_s140_usb_hci\ses (USB Dongle) with no changes in the patched SDK and am encountering the following error:

    Building ‘ble_connectivity_s140_usb_hci_pca10059’ from solution ‘ble_connectivity_s140_usb_hci_pca10059’ in configuration ‘Debug’
    
    ..
    
    Compiling ‘main.c’
    main.c
    'BSP_QSPI_SCK_PIN' undeclared (first use in this function)
    in expansion of macro 'QSPI_PIN_SCK'
    in expansion of macro 'NRFX_QSPI_PIN_SCK'
    in expansion of macro 'NRFX_QSPI_DEFAULT_CONFIG'
    in expansion of macro 'NRF_DRV_QSPI_DEFAULT_CONFIG'
    each undeclared identifier is reported only once for each function it appears in
    in expansion of macro 'QSPI_PIN_SCK'
    in expansion of macro 'NRFX_QSPI_PIN_SCK'
    in expansion of macro 'NRFX_QSPI_DEFAULT_CONFIG'
    in expansion of macro 'NRF_DRV_QSPI_DEFAULT_CONFIG'
    'BSP_QSPI_CSN_PIN' undeclared (first use in this function); did you mean 'QSPI_PIN_CSN'?
    in expansion of macro 'QSPI_PIN_CSN'
    in expansion of macro 'NRFX_QSPI_PIN_CSN'
    in expansion of macro 'NRFX_QSPI_DEFAULT_CONFIG'
    in expansion of macro 'NRF_DRV_QSPI_DEFAULT_CONFIG'
    'BSP_QSPI_IO0_PIN' undeclared (first use in this function)
    in expansion of macro 'QSPI_PIN_IO0'
    in expansion of macro 'NRFX_QSPI_PIN_IO0'
    in expansion of macro 'NRFX_QSPI_DEFAULT_CONFIG'
    in expansion of macro 'NRF_DRV_QSPI_DEFAULT_CONFIG'
    'BSP_QSPI_IO1_PIN' undeclared (first use in this function)
    in expansion of macro 'QSPI_PIN_IO1'
    in expansion of macro 'NRFX_QSPI_PIN_IO1'
    in expansion of macro 'NRFX_QSPI_DEFAULT_CONFIG'
    in expansion of macro 'NRF_DRV_QSPI_DEFAULT_CONFIG'
    'BSP_QSPI_IO2_PIN' undeclared (first use in this function)
    in expansion of macro 'QSPI_PIN_IO2'
    in expansion of macro 'NRFX_QSPI_PIN_IO2'
    in expansion of macro 'NRFX_QSPI_DEFAULT_CONFIG'
    in expansion of macro 'NRF_DRV_QSPI_DEFAULT_CONFIG'
    'BSP_QSPI_IO3_PIN' undeclared (first use in this function)
    in expansion of macro 'QSPI_PIN_IO3'
    in expansion of macro 'NRFX_QSPI_PIN_IO3'
    in expansion of macro 'NRFX_QSPI_DEFAULT_CONFIG'
    in expansion of macro 'NRF_DRV_QSPI_DEFAULT_CONFIG'
    Compiling ‘SEGGER_RTT.c’
    Build failed

    ble_connectivity\pca10056\ser_s140_usb_hci\ses builds fine.

    Have not tried using other compilers.

  • Hi,

    For pc-ble-driver I believe you should actually use the pca10056\ser_s140_usb_hci project, also for the dongle. The firmware(after being patched) has this BOARD_DETECTION functionality were it's using the qspi to detect if it's running on the DK or the dongle automatically.

  • Hi, thanks for this answer.

    I have the exact same problem using SDK 16, and pca10040 devkit. I tried to compile connectivity uart example, then ran it without success (ie pc-ble-driver-py says Failed to open. Error code: NRF_ERROR_TIMEOUT), Am I missing something ? Is there still a patch or something to apply on this sdk version ? Launching it with debugger it did not crash with error about ram section for soft device too small, is this normal ?

    All the best,

  • for SDK16 version is this patch not relevant anymore? or is it still necessary to apply it?

Related