Hi Chris, Thank you very much, that is the perfect explanation. I got MTU exchanged work with Adafruit Bluefruit app and doing statistics of tx time for several combination of <number of packet> <packet size> now :)
Best regards, Ha Thach > -----Original Message----- > From: Christopher Collins [mailto:[email protected]] > Sent: Saturday, September 24, 2016 12:07 AM > To: [email protected] > Subject: Re: Notify with more than 20 bytes > > On Fri, Sep 23, 2016 at 10:02:32AM -0700, Christopher Collins wrote: > [...] > > If your application needs to send larger ATT packets, it needs to > > negotiate a greater MTU with its peer. This is accomplished by > > calling > > ble_gattc_exchange_mtu() > > (http://mynewt.apache.org/develop/network/ble/ble_hs/ble_gattc/functio > > ns/ble_gattc_exchange_mtu/) > > There is something else I forgot to add. After MTU negotiation, the > connection's ATT MTU is set to the *lower* of the two peers' preferred MTU > values. So, if the peer specifies a small preferred MTU, your application may > still be unable to send full-sized notifications. In the worst case, the peer could > specify a preferred MTU of 23 bytes. If this happens, MTU negotiation will > have no effect on the maximum size ATT packets your application can send. > > Thanks, > Chris
