TCP on RIOT OS

Hi everyone,

I am currently trying to use TCP on RIOT, but I’m having problems with it, since the “gnrc_tcp_server” and “gnrc_tcp_client” tests are not working on the latest version of RIOT. I tried to run these tests on the 2017.01 release where they were added the first time and everything works fine here, but when I run them on the 2018.01 or 2018.04 release, wireshark doesn’t show any TCP pakets and the client always receives a timeout after a while, so somehow the client and the server aren’t able to establish a connection. Maybe one of you knows what caused this change in behaviour and how this could be fixed.

Thanks a lot for your help!

Best regards, Theresa

1 Like

Hi Theresa,

were you using link local addresses (i.e. are they prefixed fe80::/64) for your trials? If yes, newer versions require to also provide an interface with that (as it is the case e.g. also on Linux) so this might be your problem. The client and server needs to be fixed then of course to have the interface provided or warn the user that it is missing…

Best regards, Martine

Hi Theresa,

Martine is right, link local adresses don't currently work with gnrc tcp (even with the mandatory interface specifier). This is a known issue, I am currently working on it. I intend to merge it on the next Hack'n'Ack (next Tuesday).

If you need it faster, there is a development branch for the fix on github. It should compile and work however, it could have some undesired side effects.

Kind regards

Simon

Hi Simon,

thanks for your reply! I would like to use TCP on RIOT for a project at my university which is related to my bachelor thesis, so would you rather recommend waiting until Tuesday since it would be better if I use a stable version for it?

Best regards Theresa

Hi Theresa,

I would recommend waiting for tuesday.

Cheers Simon