After reducing the simulation time and using
WifiHelper::EnableLogComponents();
This is the loop that repeats itself:
+3.700416164s 0 [link=0][mac=00:00:00:00:00:01] No frames available for transmission
+3.700416164s 0 [link=0][mac=00:00:00:00:00:01] No frame transmitted
+3.700416164s 0 [mac=00:00:00:00:00:01] QosTxop:NotifyChannelReleased(0x55f9c94ea320, 0)
+3.700416164s 0 [mac=00:00:00:00:00:01] Txop:NotifyChannelReleased(0x55f9c94ea320, 0)
+3.700416164s 0 [mac=00:00:00:00:00:01] Txop:GenerateBackoff(0x55f9c94ea320, 0)
+3.700416164s 0 [mac=00:00:00:00:00:01] Txop:StartBackoffNow(0x55f9c94ea320, 13, 0)
+3.700416164s 0 [mac=00:00:00:00:00:01] start backoff=13 slots
+3.700416164s 0 WifiMacQueue:WipeAllExpiredMpdus(0x55f9c94ea410)
+3.700416164s 0 WifiMacQueue:ExtractAllExpiredMpdus(0x55f9c94ea410)
+3.700416164s 0 WifiMacQueue:PeekFirstAvailable(0x55f9c94ea410, 0, 0)
+3.700416164s 0 WifiMacQueue:ExtractExpiredMpdus(0x55f9c94ea410)
+3.700416164s 0 [mac=00:00:00:00:00:01] QosTxop:HasFramesToTransmit(0x55f9c94ea320, 1)
+3.700416164s 0 [link=0] ChannelAccessManager:DoRestartAccessTimeoutIfNeeded(0x55f9c93b3240)
+3.700416164s 0 [link=0] Access timeout needed: 0
+3.700416164s 0 [mac=00:00:00:00:00:01] Txop:RequestAccess(0x55f9c94ea320, 0)
+3.700416164s 0 [link=0] ChannelAccessManager:RequestAccess(0x55f9c93b3240, 0x55f9c94ea320)
+3.700416164s 0 WifiPhy:NotifyChannelAccessRequested(0x55f9c94e8b40)
+3.700416164s 0 [link=0] ChannelAccessManager:GetAccessGrantStart(0x55f9c93b3240)
+3.700416164s 0 [link=0] access grant start=+3.05012e+09ns, rx access start=+3.05012e+09ns, busy access start=+3.0501e+09ns, tx access start=+3.05007e+09ns, nav access start=+10000ns
+3.700416164s 0 [mac=00:00:00:00:00:01] Txop:UpdateBackoffSlotsNow(0x55f9c94ea320, 0, +3.70044e+09ns, 0)
+3.700416164s 0 [mac=00:00:00:00:00:01] update slots=0 slots, backoff=13
+3.700416164s 0 [link=0] ChannelAccessManager:UpdateBackoff(0x55f9c93b3240)
+3.700416164s 0 [link=0] ChannelAccessManager:GetBackoffStartFor(0x55f9c93b3240, 0x55f9c94e9a10)
+3.700416164s 0 [link=0] ChannelAccessManager:GetAccessGrantStart(0x55f9c93b3240)
+3.700416164s 0 [link=0] access grant start=+3.05012e+09ns, rx access start=+3.05012e+09ns, busy access start=+3.0501e+09ns, tx access start=+3.05007e+09ns, nav access start=+10000ns
+3.700416164s 0 [link=0] Backoff start: +3.05016e+06us
+3.700416164s 0 [link=0] dcf 0 dec backoff slots=0
+3.700416164s 0 [mac=00:00:00:00:00:01] Txop:UpdateBackoffSlotsNow(0x55f9c94e9a10, 0, +3.05016e+09ns, 0)
+3.700416164s 0 [mac=00:00:00:00:00:01] update slots=0 slots, backoff=0
+3.700416164s 0 [link=0] ChannelAccessManager:GetBackoffStartFor(0x55f9c93b3240, 0x55f9c94e9d30)
+3.700416164s 0 [link=0] ChannelAccessManager:GetAccessGrantStart(0x55f9c93b3240)
+3.700416164s 0 [link=0] access grant start=+3.05012e+09ns, rx access start=+3.05012e+09ns, busy access start=+3.0501e+09ns, tx access start=+3.05007e+09ns, nav access start=+10000ns
+3.700416164s 0 [link=0] Backoff start: +3.05016e+06us
+3.700416164s 0 [link=0] dcf 1 dec backoff slots=0
+3.700416164s 0 [mac=00:00:00:00:00:01] Txop:UpdateBackoffSlotsNow(0x55f9c94e9d30, 0, +3.05016e+09ns, 0)
+3.700416164s 0 [mac=00:00:00:00:00:01] update slots=0 slots, backoff=0
+3.700416164s 0 [link=0] ChannelAccessManager:GetBackoffStartFor(0x55f9c93b3240, 0x55f9c94ea320)
+3.700416164s 0 [link=0] ChannelAccessManager:GetAccessGrantStart(0x55f9c93b3240)
+3.700416164s 0 [link=0] access grant start=+3.05012e+09ns, rx access start=+3.05012e+09ns, busy access start=+3.0501e+09ns, tx access start=+3.05007e+09ns, nav access start=+10000ns
+3.700416164s 0 [link=0] Backoff start: +3.70044e+06us
+3.700416164s 0 [link=0] ChannelAccessManager:GetBackoffStartFor(0x55f9c93b3240, 0x55f9c94eb090)
+3.700416164s 0 [link=0] ChannelAccessManager:GetAccessGrantStart(0x55f9c93b3240)
+3.700416164s 0 [link=0] access grant start=+3.05012e+09ns, rx access start=+3.05012e+09ns, busy access start=+3.0501e+09ns, tx access start=+3.05007e+09ns, nav access start=+10000ns
+3.700416164s 0 [link=0] Backoff start: +3.05026e+06us
+3.700416164s 0 [link=0] dcf 3 dec backoff slots=0
+3.700416164s 0 [mac=00:00:00:00:00:01] Txop:UpdateBackoffSlotsNow(0x55f9c94eb090, 0, +3.05026e+09ns, 0)
+3.700416164s 0 [mac=00:00:00:00:00:01] update slots=0 slots, backoff=0
+3.700416164s 0 [mac=00:00:00:00:00:01] Txop:NotifyAccessRequested(0x55f9c94ea320, 0)
+3.700416164s 0 [link=0] ChannelAccessManager:DoGrantDcfAccess(0x55f9c93b3240)
+3.700416164s 0 [link=0] ChannelAccessManager:GetBackoffEndFor(0x55f9c93b3240, 0x55f9c94ea320)
+3.700416164s 0 [link=0] ChannelAccessManager:GetBackoffStartFor(0x55f9c93b3240, 0x55f9c94ea320)
+3.700416164s 0 [link=0] ChannelAccessManager:GetAccessGrantStart(0x55f9c93b3240)
+3.700416164s 0 [link=0] access grant start=+3.05012e+09ns, rx access start=+3.05012e+09ns, busy access start=+3.0501e+09ns, tx access start=+3.05007e+09ns, nav access start=+10000ns
+3.700416164s 0 [link=0] Backoff start: +3.70044e+06us
+3.700416164s 0 [link=0] Backoff end: +3.7007e+06us
+3.700416164s 0 [link=0] ChannelAccessManager:DoRestartAccessTimeoutIfNeeded(0x55f9c93b3240)
+3.700416164s 0 [link=0] ChannelAccessManager:GetBackoffEndFor(0x55f9c93b3240, 0x55f9c94ea320)
+3.700416164s 0 [link=0] ChannelAccessManager:GetBackoffStartFor(0x55f9c93b3240, 0x55f9c94ea320)
+3.700416164s 0 [link=0] ChannelAccessManager:GetAccessGrantStart(0x55f9c93b3240)
+3.700416164s 0 [link=0] access grant start=+3.05012e+09ns, rx access start=+3.05012e+09ns, busy access start=+3.0501e+09ns, tx access start=+3.05007e+09ns, nav access start=+10000ns
+3.700416164s 0 [link=0] Backoff start: +3.70044e+06us
+3.700416164s 0 [link=0] Backoff end: +3.7007e+06us
+3.700416164s 0 [link=0] Access timeout needed: 1
+3.700416164s 0 [link=0] expected backoff end=+3.7007e+09ns
+3.700696164s 0 [link=0] ChannelAccessManager:AccessTimeout(0x55f9c93b3240)
+3.700696164s 0 [link=0] ChannelAccessManager:UpdateBackoff(0x55f9c93b3240)
+3.700696164s 0 [link=0] ChannelAccessManager:GetBackoffStartFor(0x55f9c93b3240, 0x55f9c94e9a10)
+3.700696164s 0 [link=0] ChannelAccessManager:GetAccessGrantStart(0x55f9c93b3240)
+3.700696164s 0 [link=0] access grant start=+3.05012e+09ns, rx access start=+3.05012e+09ns, busy access start=+3.0501e+09ns, tx access start=+3.05007e+09ns, nav access start=+10000ns
+3.700696164s 0 [link=0] Backoff start: +3.05016e+06us
+3.700696164s 0 [link=0] dcf 0 dec backoff slots=0
+3.700696164s 0 [mac=00:00:00:00:00:01] Txop:UpdateBackoffSlotsNow(0x55f9c94e9a10, 0, +3.05016e+09ns, 0)
+3.700696164s 0 [mac=00:00:00:00:00:01] update slots=0 slots, backoff=0
+3.700696164s 0 [link=0] ChannelAccessManager:GetBackoffStartFor(0x55f9c93b3240, 0x55f9c94e9d30)
+3.700696164s 0 [link=0] ChannelAccessManager:GetAccessGrantStart(0x55f9c93b3240)
+3.700696164s 0 [link=0] access grant start=+3.05012e+09ns, rx access start=+3.05012e+09ns, busy access start=+3.0501e+09ns, tx access start=+3.05007e+09ns, nav access start=+10000ns
+3.700696164s 0 [link=0] Backoff start: +3.05016e+06us
+3.700696164s 0 [link=0] dcf 1 dec backoff slots=0
+3.700696164s 0 [mac=00:00:00:00:00:01] Txop:UpdateBackoffSlotsNow(0x55f9c94e9d30, 0, +3.05016e+09ns, 0)
+3.700696164s 0 [mac=00:00:00:00:00:01] update slots=0 slots, backoff=0
+3.700696164s 0 [link=0] ChannelAccessManager:GetBackoffStartFor(0x55f9c93b3240, 0x55f9c94ea320)
+3.700696164s 0 [link=0] ChannelAccessManager:GetAccessGrantStart(0x55f9c93b3240)
+3.700696164s 0 [link=0] access grant start=+3.05012e+09ns, rx access start=+3.05012e+09ns, busy access start=+3.0501e+09ns, tx access start=+3.05007e+09ns, nav access start=+10000ns
+3.700696164s 0 [link=0] Backoff start: +3.70044e+06us
+3.700696164s 0 [link=0] dcf 2 dec backoff slots=13
+3.700696164s 0 [mac=00:00:00:00:00:01] Txop:UpdateBackoffSlotsNow(0x55f9c94ea320, 13, +3.7007e+09ns, 0)
+3.700696164s 0 [mac=00:00:00:00:00:01] update slots=13 slots, backoff=0
+3.700696164s 0 [link=0] ChannelAccessManager:GetBackoffStartFor(0x55f9c93b3240, 0x55f9c94eb090)
+3.700696164s 0 [link=0] ChannelAccessManager:GetAccessGrantStart(0x55f9c93b3240)
+3.700696164s 0 [link=0] access grant start=+3.05012e+09ns, rx access start=+3.05012e+09ns, busy access start=+3.0501e+09ns, tx access start=+3.05007e+09ns, nav access start=+10000ns
+3.700696164s 0 [link=0] Backoff start: +3.05026e+06us
+3.700696164s 0 [link=0] dcf 3 dec backoff slots=0
+3.700696164s 0 [mac=00:00:00:00:00:01] Txop:UpdateBackoffSlotsNow(0x55f9c94eb090, 0, +3.05026e+09ns, 0)
+3.700696164s 0 [mac=00:00:00:00:00:01] update slots=0 slots, backoff=0
+3.700696164s 0 [link=0] ChannelAccessManager:DoGrantDcfAccess(0x55f9c93b3240)
+3.700696164s 0 [link=0] ChannelAccessManager:GetBackoffEndFor(0x55f9c93b3240, 0x55f9c94ea320)
+3.700696164s 0 [link=0] ChannelAccessManager:GetBackoffStartFor(0x55f9c93b3240, 0x55f9c94ea320)
+3.700696164s 0 [link=0] ChannelAccessManager:GetAccessGrantStart(0x55f9c93b3240)
+3.700696164s 0 [link=0] access grant start=+3.05012e+09ns, rx access start=+3.05012e+09ns, busy access start=+3.0501e+09ns, tx access start=+3.05007e+09ns, nav access start=+10000ns
+3.700696164s 0 [link=0] Backoff start: +3.7007e+06us
+3.700696164s 0 [link=0] Backoff end: +3.7007e+06us
+3.700696164s 0 [link=0] dcf 2 needs access. backoff expired. access granted. slots=0
+3.700696164s 0 [link=0][mac=00:00:00:00:00:01] QosFrameExchangeManager:StartTransmission(0x55f9c93c2480, 0x55f9c94ea320, 20)
+3.700696164s 0 [link=0][mac=00:00:00:00:00:01] QosFrameExchangeManager:StartTransmission(0x55f9c93c2480, 0x55f9c94ea320, +0ns)
+3.700696164s 0 [link=0][mac=00:00:00:00:00:01] HtFrameExchangeManager:StartFrameExchange(0x55f9c93c2480, 0x55f9c94ea320, +9.22337e+18ns, 1)
+3.700696164s 0 [link=0][mac=00:00:00:00:00:01] HtFrameExchangeManager:GetBar(0x55f9c93c2480, 0, 0, 0)
+3.700696164s 0 [mac=00:00:00:00:00:01] Txop:GetWifiMacQueue(0x55f9c94ea320)
+3.700696164s 0 WifiMacQueue:WipeAllExpiredMpdus(0x55f9c94ea410)
+3.700696164s 0 WifiMacQueue:ExtractAllExpiredMpdus(0x55f9c94ea410)
+3.700696164s 0 WifiMacQueue:PeekByQueueId(0x55f9c94ea410, 0)
+3.700696164s 0 WifiMacQueue:ExtractExpiredMpdus(0x55f9c94ea410)
+3.700696164s 0 The queue is empty
+3.700696164s 0 [mac=00:00:00:00:00:01] QosTxop:PeekNextMpdu(0x55f9c94ea320, 0, 8, ff:ff:ff:ff:ff:ff, 0)
+3.700696164s 0 WifiMacQueue:PeekFirstAvailable(0x55f9c94ea410, 0, 0)
+3.700696164s 0 WifiMacQueue:ExtractExpiredMpdus(0x55f9c94ea410)
+3.700696164s 0 MacTxMiddle:PeekNextSequenceNumberFor(0x55f9c943e0b0)
+3.700696164s 0 WifiRemoteStationManager:LookupState(0x55f9c94e93a0, 00:00:00:00:00:02)
+3.700696164s 0 WifiRemoteStationManager::LookupState returning existing state
+3.700696164s 0 BlockAckManager:GetAgreementAsOriginator(0x55f9c94ea690, 00:00:00:00:00:02, 0)
+3.700696164s 0 [mac=00:00:00:00:00:01] Packet beyond the end of the current transmit window
+3.700696164s 0 [link=0][mac=00:00:00:00:00:01] No frames available for transmission
+3.700696164s 0 [link=0][mac=00:00:00:00:00:01] No frame transmitted
+3.700696164s 0 [mac=00:00:00:00:00:01] QosTxop:NotifyChannelReleased(0x55f9c94ea320, 0)
+3.700696164s 0 [mac=00:00:00:00:00:01] Txop:NotifyChannelReleased(0x55f9c94ea320, 0)
+3.700696164s 0 [mac=00:00:00:00:00:01] Txop:GenerateBackoff(0x55f9c94ea320, 0)
+3.700696164s 0 [mac=00:00:00:00:00:01] Txop:StartBackoffNow(0x55f9c94ea320, 8, 0)