3 Replies Latest reply on Feb 21, 2017 6:11 AM by finke_1659276

    Android - Using MTU size of 512 byte

    finke_1659276

      Hi,

         

      in my current project we're designing a custom board acting as a Peripheral. Another company is designing an App (iOS & Android) acting as Central to control actions on our board.

      According to the engineer designing the Android App, it isn't possible to use a MTU greater than 23 byte under Android. So I set the MTU in my design to that value. Now that we're using OTA upgrade functionality it takes around 11min to do a upgrade the firmware with these MTU settings. So there is the need to change the MTU to 512 byte which would reduce the update time drastically.

         

      I did following test:

         

      - Changing the MTU size to 512 byte.

         

      - Disabled Write Long Characteristic support.

         

      - Writing a characteristic with a size of  50 byte on iOS via CySmart App -> Write succeeded.

         

      - Doing the same on Android -> Write succeeded.

         

      That just confused me, because the engineer of the Android App said that this shouldn't work.

         

       

         

      I did another test:

         

      - Changing the MTU size to 23 byte.

         

      - Disabled Write Long Characteristic support.

         

      - Writing a characteristic with a size of  50 byte on iOS via CySmart App -> Write succeeded.

         

      - Doing the same on Android-> Write succeeded.

         

      That confused me way more. In my opinion that shouldn't be possible, because I disabled Write Long Support.
       

         

      All that leads me to some questions:

         

      - Is it possible to use a MTU size of 512 byte under Android?

         

      - How is it possible that the CySmart could write characteristics with a size exceeding the MTU? How is that handled in the App?
       

         

      Hope you can help me.

      Best

         

      Philipp