nrf7002: raw_tx_packet sequence numbers out of order and some performance questions

Hi,

I am running the raw_tx_packet sample (ncs v3.1.0) on nrf7002dk with the following configuration (additions to prj.conf in the sample)

# APPLICATION
CONFIG_RAW_TX_PKT_SAMPLE_INTER_FRAME_DELAY_MS=1000
CONFIG_RAW_TX_PKT_SAMPLE_TX_MODE_FIXED=y
CONFIG_RAW_TX_PKT_SAMPLE_FIXED_NUM_PACKETS=10000
CONFIG_RAW_TX_PKT_SAMPLE_QUEUE_NUM=3

# RATE
CONFIG_RAW_TX_PKT_SAMPLE_RATE_VALUE=5
CONFIG_RAW_TX_PKT_SAMPLE_RATE_FLAGS=2

# DRIVER
CONFIG_NRF70_MAX_TX_AGGREGATION=1

# CHANNEL
CONFIG_RAW_TX_PKT_SAMPLE_CHANNEL=56

The captured output looks like this


The expected behaviour is that each second there a new packet will be sent. However, the sequence numbers are not increasing monotonically. Rather, it seems like every each packet is sent twice, and odd sequence numbers are skipped. I did another test with very low values for CONFIG_RAW_TX_PKT_SAMPLE_INTER_FRAME_DELAY_MS and then I see even more duplicates and out of order sequence like 8004, 8012, 7086 etc. This leads to two questions
  1. Is the nrf7002 doing retransmissions on raw tx packets?
  2. Is there any sort of re-ordering of packets in the driver/rf7002?

I also have some questions about performance tuning. I saw some numbers posted in: https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/protocols/wifi/stack_configuration.html#usage_profiles. None of those are using the raw packet tx injection. Is it possible to get close to those limits in this mode? Does the nrf7002 have e.g a known max number of smaller packets, lets say 600 bytes long that it can send per second?

Best regards,

Rulle

Related