You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by GitBox <gi...@apache.org> on 2020/01/15 12:12:45 UTC
[GitHub] [mynewt-nimble] andrzej-kaczmarek opened a new pull request #733:
nimble/ll: Fix connection create if CONNECT_IND was not txed
andrzej-kaczmarek opened a new pull request #733: nimble/ll: Fix connection create if CONNECT_IND was not txed
URL: https://github.com/apache/mynewt-nimble/pull/733
Consider following scenario:
- we are receiving ADV_IND at the end of scan window
- scan timer fires in the middle of that PDU and we are handling
scan proc to switch window
- in the meantime ADV_IND is received and we decide to transmit
CONNECT_IND
- CONNECT_IND is setup for TX, but then we are back handling window
switch which decides to disable PHY since it already checked that
it should move to next window; this effectively stops TX and
CONNECT_IND in the air is truncated (i.e. corrupted)
- ADV_IND is handed over to LL which assumes, according to flags, that
CONNECT_IND was transmitted so it should start connection.
And here's the problem: we did not send proper CONNECT_IND so we should
not start connection, because peer does not really expects it.
The solution here is to delay connection on legacy adv until CONNECT_IND
was transmitted completly. Basically, when processing ADV_IND for which
we sent CONNECT_IND (according to flags set in isr) we setup conns as
usual, but we do not start connection. Instead, this will be done from
separate event which is sent from txpdu_cb which means PDU was sent
successfully. The same event is also used for AUX_CONNECT_RSP for
consistency. At the time we receive such event we know that connsm is
aready setup properly so we just need to stop scanning and create
connection.
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
With regards,
Apache Git Services
[GitHub] [mynewt-nimble] andrzej-kaczmarek commented on issue #733:
nimble/ll: Fix connection create if CONNECT_IND was not txed
Posted by GitBox <gi...@apache.org>.
andrzej-kaczmarek commented on issue #733: nimble/ll: Fix connection create if CONNECT_IND was not txed
URL: https://github.com/apache/mynewt-nimble/pull/733#issuecomment-586200700
this does not fix the problem properly and introduces some side-effects, need to think more about it...
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
With regards,
Apache Git Services