Description
Hi Nordic team,
I observed a behavior in the Nordic Softdevice Controller regarding Instant-based LL Control procedures.
When an LL Control Indication containing an Instant is scheduled (for example LL_CONNECTION_UPDATE_IND), the Nordic Controller continues transmitting the same LL Control Indication even after the Instant has already expired.
From my understanding, after the Instant point is reached, the related Link Layer state transition should already have taken effect. Therefore, retransmitting the old LL Control Indication after the Instant does not seem to have any functional meaning.
Example scenario
Assume a connection parameter update procedure:
LL_CONNECTION_UPDATE_IND
connInterval = NewInterval
Instant = N
Before Instant:
Event N-3:
LL_CONNECTION_UPDATE_IND
Event N-2:
LL_CONNECTION_UPDATE_IND (retry)
Event N-1:
LL_CONNECTION_UPDATE_IND (retry)
At Instant:
Event N:
New connection parameters become active
However, I observed that after Event N, the Controller still sends:
Event N+1:
LL_CONNECTION_UPDATE_IND
Event N+2:
LL_CONNECTION_UPDATE_IND
instead of transmitting normal data/empty packets using the new connection parameters.
Why I think this matters
If the peer already received the LL Control Indication before Instant:
- Both devices have already switched to the new parameters.
- Sending the old Indication again is unnecessary.
If the peer did not receive the LL Control Indication:
- The Instant has already passed.
- The old Indication can no longer synchronize the peer because the expected transition time has already expired.
Therefore, retransmitting the Indication after Instant appears ineffective in both cases.
Small Instant value may reduce robustness under interference
I also noticed that the default Instant value used by the Nordic Controller is relatively small (for example Instant = 6).
I understand that a small Instant value is beneficial for reducing update latency and improving responsiveness.
However, in an environment with RF interference, a small Instant value significantly increases the probability that the LL Control Indication is lost before the Instant is reached.


The attached sniffer log shows that LL_CONNECTION_UPDATE_IND is transmitted after the Instant event counter has already been reached.