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,
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