Disable 15.4 Acknowledgements

Hello Everybody,

Currently I am testing my TCP implementation between two samr21 Boards and a Raspberry Pi as sniffing Probe in between.

My measured network dump contains a few unexpected retransmissions and i am unable to distinguish between retransmissions caused by 15.4 and retransmissions caused by TCP. Is there a way to disable the 15.4 acknowledgement and retransmission mechanism?

Thanks, Simon

Hi Simon!

Currently I am testing my TCP implementation between two samr21 Boards and a Raspberry Pi as sniffing Probe in between.

My measured network dump contains a few unexpected retransmissions and i am unable to distinguish between retransmissions caused by 15.4 and retransmissions caused by TCP. Is there a way to disable the 15.4 acknowledgement and retransmission mechanism?

IIRC auto acknowledgement can currently not be disabled with the at86rf2xx driver, but you can set the retransmissions to zero. You can do this either using the shell:

ifconfig 7 set retrans 0

or directly via netapi:

gnrc_netapi_set(CCNLRIOT_NETIF, NETOPT_CSMA_RETRIES, 0, 0, sizeof(uint8_t));

Cheers, Oleg

Hi Oleg,

netopt_enable_t opt = NETOPT_DISABLE; gnrc_netif_get(ifs); gnrc_netapi_set(ifs[0], NETOPT_AUTOACK, 0, &opt, sizeof(opt)); gnrc_netapi_set(ifs[0], NETOPT_ACK_REQ, 0, &opt, sizeof(opt));

Did the trick. So there is a way to disable acknowledgements.

Cheers,

Simon

Hi Simon!

Hi,

NETOPT_ACK_REQ is currently not handled by the at86rf2xx driver but IIRC NETOPT_AUTOACK covers both for that device (didn't check that).

Best Peter

Hi Oleg,

According to the earlier posted TCP packet dump, all 15.4 Acks are gone after disabling NETOPT_AUTOACK.

Cheers Simon