-
Notifications
You must be signed in to change notification settings - Fork 2.1k
border_router: significant packet loss when sending out packets using USB cdc-ecm on nrf52 #16411
Description
Description
This evening I setup a border router using a nrf52840dongle board. After I got the setup configured correctly, I noticed a significant packet loss when pinging between RIOT nodes and my Linux host. As far as I can tell, the packet loss happens between the border router RIOT node and the host on the wired upstream interface.
The border router is configure to use the USB cdc-ecm as upstream interface, while my lowpan network is running IP-over-BLE. But the results are independent from BLE, running the same node as IEEE802.15.4 border router (default configuration for the gnrc_border_router), the results are exactly the same.
Example pings from border router node to Linux host over the wired interface:
2021-04-28 20:29:47,694 # --- fe80::1 PING statistics ---
2021-04-28 20:29:47,694 # 200 packets transmitted, 162 packets received, 19% packet loss
2021-04-28 20:29:47,695 # round-trip min/avg/max = 0.611/0.657/1.125 ms
2021-04-28 20:41:35,283 # --- fd5f:6d79:a254:0:5d5a:5818:8db1:864d PING statistics ---
2021-04-28 20:41:35,283 # 100 packets transmitted, 74 packets received, 26% packet loss
2021-04-28 20:41:35,284 # round-trip min/avg/max = 0.629/0.827/1.200 ms
2021-04-28 20:50:23,611 # --- fd5f:6d79:a254:0:5d5a:5818:8db1:864d PING statistics ---
2021-04-28 20:50:23,612 # 200 packets transmitted, 161 packets received, 19% packet loss
2021-04-28 20:50:23,613 # round-trip min/avg/max = 0.625/0.668/1.046 ms
...
This picture repeats itself, independent from ping interval etc. Packet loss is always around 15%-25%...
The connectivity between the BR node and some other RIOT node is just fine:
2021-04-28 20:29:18,991 # --- fd23:affe:0:2:dbe4:f4ff:fec2:21da PING statistics ---
2021-04-28 20:29:18,997 # 200 packets transmitted, 200 packets received, 0% packet loss
2021-04-28 20:29:19,001 # round-trip min/avg/max = 19.836/39.221/70.505 ms
Also pinging the border router node from Linux seems not to be impacted:
--- fd23:affe:0:2:dbe4:f4ff:fec2:21da ping statistics ---
60 packets transmitted, 60 received, 0% packet loss, time 59643ms
rtt min/avg/max/mdev = 0.776/0.996/1.848/0.227 ms
Did anyone notice this behavior before? Or does anyone have any idea what could be causing this?
Steps to reproduce the issue
Flash examples/gnrc_border_router with the following settings:
BOARD=nrf52840dongle STATIC_ROUTES=1 UPLINK=cdc-ecm make ...
Then simply ping your linux host, doesn't matter if you use link local or global addresses...
Expected results
No packet loss when pinging, we are talking about a fast, wired interface after all...
Actual results
Between 15% and 25% packet loss when pinging, independent of the ping interval etc.
Versions
- RIOT Master
- LInux Mint 20.1
- arm-none-eabi-gcc (GNU Arm Embedded Toolchain 10-2020-q4-major) 10.2.1 20201103