BOZHENG001 commented on issue #1788:
URL: https://github.com/apache/mynewt-nimble/issues/1788#issuecomment-2232677845

   Update:
   
   When 3 devices are connected to one another, it seems that the memory blocks 
are used out due to infeasible arrangement and shifting of anchor points. The 
devices are connected to one another at random time points. Hence, the anchor 
points of the connections on a device are also random. Imagine two connections 
on a device, as a result, 2 anchor points.
   
   Due to the randomness of connection establishment, these 2 anchor points 
might be quite close to each other, such as 5 ms or 15 ms away from each other. 
Such a small time difference between the 2 anchor points does not allow 
multiple big packets to be exchanged, such as 4 or 8 packets of 200 bytes or 
250 bytes. Hence, the memory blocks are quickly used up. Then continuous 
retransmissions occur.
   
   Also due to the randomness of connection establishment, these 2 anchor 
points might be located quite decently away from each other, such as 50 ms when 
both connection intervals are set to 100 ms. However, anchor point shifting is 
observed. Such shifting is observed by monitoring the difference between the 2 
anchor points. The shifting seems random since sometimes the difference between 
the 2 anchor points increases, and sometimes decreases. The changing speed of 
the difference between the 2 anchor points can be really fast. For instance, 
within 1 hour, the difference between the 2 anchor points changed from around 
950 to 1500, and finally to 0, and of course used-up memory blocks, continuous 
retransmissions, and connection loss after that. I guess the shifting is 
impacted by the crystal oscillator accuracy difference, connection role 
difference, etc.
   
   I do not think it is a problem of NimBLE, but more like BLE protocol itself, 
but maybe NimBLE has some suggestions how I can avoid such cases?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to