Since replacing the router of my ISP with a dedicated modem in bridge mode and an OpenWrt router, I have significant packet loss I'm trying to troubleshoot.
When testing with ping, the packet loss sometimes seems random with up to 80%, sometimes it is very regular, like this test shows:
# ping6 heise.de
PING heise.de (2a02:2e0:3fe:1001:302::): 56 data bytes
64 bytes from 2a02:2e0:3fe:1001:302::: seq=0 ttl=57 time=17.556 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=1 ttl=57 time=2216.467 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=2 ttl=57 time=1220.436 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=3 ttl=57 time=220.281 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=4 ttl=57 time=15.672 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=5 ttl=57 time=20.234 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=6 ttl=57 time=15.188 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=7 ttl=57 time=14.546 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=8 ttl=57 time=18.034 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=9 ttl=57 time=16.970 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=10 ttl=57 time=16.341 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=11 ttl=57 time=16.138 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=15 ttl=57 time=244.938 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=16 ttl=57 time=14.679 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=17 ttl=57 time=14.573 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=18 ttl=57 time=13.830 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=19 ttl=57 time=17.910 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=20 ttl=57 time=17.226 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=21 ttl=57 time=17.063 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=22 ttl=57 time=16.362 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=23 ttl=57 time=15.397 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=27 ttl=57 time=273.743 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=28 ttl=57 time=13.939 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=29 ttl=57 time=13.952 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=30 ttl=57 time=13.412 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=31 ttl=57 time=17.251 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=32 ttl=57 time=16.758 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=33 ttl=57 time=16.566 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=34 ttl=57 time=16.367 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=35 ttl=57 time=15.981 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=40 ttl=57 time=14.442 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=41 ttl=57 time=13.643 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=42 ttl=57 time=13.029 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=43 ttl=57 time=16.756 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=44 ttl=57 time=16.601 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=45 ttl=57 time=17.038 ms
^C
--- heise.de ping statistics ---
46 packets transmitted, 36 packets received, 21% packet loss
round-trip min/avg/max = 13.029/129.703/2216.467 ms
I also installed tcpdump and looked at the wan traffic, which revealed that indeed my OpenWrt router does not send the ping at all. Here is the filtered output of wireshark showing the ping above.
No. Time Protocol Length Info
549 21.335786 ICMPv6 118 Echo (ping) request id=0x0ee4, seq=0, hop limit=64 (reply in 552)
552 21.352725 ICMPv6 118 Echo (ping) reply id=0x0ee4, seq=0, hop limit=57 (request in 549)
641 24.535473 ICMPv6 118 Echo (ping) request id=0x0ee4, seq=1, hop limit=64 (reply in 647)
642 24.536528 ICMPv6 118 Echo (ping) request id=0x0ee4, seq=2, hop limit=64 (reply in 648)
643 24.536565 ICMPv6 118 Echo (ping) request id=0x0ee4, seq=3, hop limit=64 (reply in 649)
647 24.552192 ICMPv6 118 Echo (ping) reply id=0x0ee4, seq=1, hop limit=57 (request in 641)
648 24.556523 ICMPv6 118 Echo (ping) reply id=0x0ee4, seq=2, hop limit=57 (request in 642)
649 24.556524 ICMPv6 118 Echo (ping) reply id=0x0ee4, seq=3, hop limit=57 (request in 643)
650 25.337210 ICMPv6 118 Echo (ping) request id=0x0ee4, seq=4, hop limit=64 (reply in 651)
651 25.352344 ICMPv6 118 Echo (ping) reply id=0x0ee4, seq=4, hop limit=57 (request in 650)
677 26.337568 ICMPv6 118 Echo (ping) request id=0x0ee4, seq=5, hop limit=64 (reply in 678)
678 26.357303 ICMPv6 118 Echo (ping) reply id=0x0ee4, seq=5, hop limit=57 (request in 677)
681 27.337936 ICMPv6 118 Echo (ping) request id=0x0ee4, seq=6, hop limit=64 (reply in 682)
682 27.352616 ICMPv6 118 Echo (ping) reply id=0x0ee4, seq=6, hop limit=57 (request in 681)
729 28.338416 ICMPv6 118 Echo (ping) request id=0x0ee4, seq=7, hop limit=64 (reply in 730)
730 28.352455 ICMPv6 118 Echo (ping) reply id=0x0ee4, seq=7, hop limit=57 (request in 729)
750 29.339957 ICMPv6 118 Echo (ping) request id=0x0ee4, seq=8, hop limit=64 (reply in 751)
751 29.357472 ICMPv6 118 Echo (ping) reply id=0x0ee4, seq=8, hop limit=57 (request in 750)
779 30.340320 ICMPv6 118 Echo (ping) request id=0x0ee4, seq=9, hop limit=64 (reply in 780)
780 30.356788 ICMPv6 118 Echo (ping) reply id=0x0ee4, seq=9, hop limit=57 (request in 779)
804 31.340679 ICMPv6 118 Echo (ping) request id=0x0ee4, seq=10, hop limit=64 (reply in 805)
805 31.356525 ICMPv6 118 Echo (ping) reply id=0x0ee4, seq=10, hop limit=57 (request in 804)
810 32.341114 ICMPv6 118 Echo (ping) request id=0x0ee4, seq=11, hop limit=64 (reply in 811)
811 32.356742 ICMPv6 118 Echo (ping) reply id=0x0ee4, seq=11, hop limit=57 (request in 810)
923 36.568116 ICMPv6 118 Echo (ping) request id=0x0ee4, seq=15, hop limit=64 (reply in 925)
925 36.586737 ICMPv6 118 Echo (ping) reply id=0x0ee4, seq=15, hop limit=57 (request in 923)
927 37.342803 ICMPv6 118 Echo (ping) request id=0x0ee4, seq=16, hop limit=64 (reply in 929)
929 37.356977 ICMPv6 118 Echo (ping) reply id=0x0ee4, seq=16, hop limit=57 (request in 927)
971 38.343167 ICMPv6 118 Echo (ping) request id=0x0ee4, seq=17, hop limit=64 (reply in 972)
972 38.357260 ICMPv6 118 Echo (ping) reply id=0x0ee4, seq=17, hop limit=57 (request in 971)
984 39.343519 ICMPv6 118 Echo (ping) request id=0x0ee4, seq=18, hop limit=64 (reply in 985)
985 39.356855 ICMPv6 118 Echo (ping) reply id=0x0ee4, seq=18, hop limit=57 (request in 984)
1011 40.343889 ICMPv6 118 Echo (ping) request id=0x0ee4, seq=19, hop limit=64 (reply in 1012)
1012 40.361290 ICMPv6 118 Echo (ping) reply id=0x0ee4, seq=19, hop limit=57 (request in 1011)
1036 41.344450 ICMPv6 118 Echo (ping) request id=0x0ee4, seq=20, hop limit=64 (reply in 1037)
1037 41.361153 ICMPv6 118 Echo (ping) reply id=0x0ee4, seq=20, hop limit=57 (request in 1036)
1045 42.344855 ICMPv6 118 Echo (ping) request id=0x0ee4, seq=21, hop limit=64 (reply in 1046)
1046 42.361388 ICMPv6 118 Echo (ping) reply id=0x0ee4, seq=21, hop limit=57 (request in 1045)
1097 43.345306 ICMPv6 118 Echo (ping) request id=0x0ee4, seq=22, hop limit=64 (reply in 1098)
1098 43.361145 ICMPv6 118 Echo (ping) reply id=0x0ee4, seq=22, hop limit=57 (request in 1097)
1112 44.345682 ICMPv6 118 Echo (ping) request id=0x0ee4, seq=23, hop limit=64 (reply in 1113)
1113 44.360575 ICMPv6 118 Echo (ping) reply id=0x0ee4, seq=23, hop limit=57 (request in 1112)
1229 48.599835 ICMPv6 118 Echo (ping) request id=0x0ee4, seq=27, hop limit=64 (reply in 1231)
1231 48.620089 ICMPv6 118 Echo (ping) reply id=0x0ee4, seq=27, hop limit=57 (request in 1229)
1233 49.347276 ICMPv6 118 Echo (ping) request id=0x0ee4, seq=28, hop limit=64 (reply in 1234)
1234 49.360658 ICMPv6 118 Echo (ping) reply id=0x0ee4, seq=28, hop limit=57 (request in 1233)
1266 50.347652 ICMPv6 118 Echo (ping) request id=0x0ee4, seq=29, hop limit=64 (reply in 1267)
1267 50.361001 ICMPv6 118 Echo (ping) reply id=0x0ee4, seq=29, hop limit=57 (request in 1266)
1294 51.348012 ICMPv6 118 Echo (ping) request id=0x0ee4, seq=30, hop limit=64 (reply in 1295)
1295 51.360936 ICMPv6 118 Echo (ping) reply id=0x0ee4, seq=30, hop limit=57 (request in 1294)
1305 52.348399 ICMPv6 118 Echo (ping) request id=0x0ee4, seq=31, hop limit=64 (reply in 1306)
1306 52.365143 ICMPv6 118 Echo (ping) reply id=0x0ee4, seq=31, hop limit=57 (request in 1305)
1355 53.348750 ICMPv6 118 Echo (ping) request id=0x0ee4, seq=32, hop limit=64 (reply in 1356)
1356 53.365016 ICMPv6 118 Echo (ping) reply id=0x0ee4, seq=32, hop limit=57 (request in 1355)
1379 54.349160 ICMPv6 118 Echo (ping) request id=0x0ee4, seq=33, hop limit=64 (reply in 1380)
1380 54.365219 ICMPv6 118 Echo (ping) reply id=0x0ee4, seq=33, hop limit=57 (request in 1379)
1414 55.349514 ICMPv6 118 Echo (ping) request id=0x0ee4, seq=34, hop limit=64 (reply in 1415)
1415 55.365399 ICMPv6 118 Echo (ping) reply id=0x0ee4, seq=34, hop limit=57 (request in 1414)
1448 56.349885 ICMPv6 118 Echo (ping) request id=0x0ee4, seq=35, hop limit=64 (reply in 1449)
1449 56.365358 ICMPv6 118 Echo (ping) reply id=0x0ee4, seq=35, hop limit=57 (request in 1448)
1575 61.351522 ICMPv6 118 Echo (ping) request id=0x0ee4, seq=40, hop limit=64 (reply in 1576)
1576 61.365463 ICMPv6 118 Echo (ping) reply id=0x0ee4, seq=40, hop limit=57 (request in 1575)
1582 62.351908 ICMPv6 118 Echo (ping) request id=0x0ee4, seq=41, hop limit=64 (reply in 1583)
1583 62.364921 ICMPv6 118 Echo (ping) reply id=0x0ee4, seq=41, hop limit=57 (request in 1582)
1626 63.352255 ICMPv6 118 Echo (ping) request id=0x0ee4, seq=42, hop limit=64 (reply in 1627)
1627 63.364752 ICMPv6 118 Echo (ping) reply id=0x0ee4, seq=42, hop limit=57 (request in 1626)
1641 64.352854 ICMPv6 118 Echo (ping) request id=0x0ee4, seq=43, hop limit=64 (reply in 1642)
1642 64.369104 ICMPv6 118 Echo (ping) reply id=0x0ee4, seq=43, hop limit=57 (request in 1641)
1670 65.353209 ICMPv6 118 Echo (ping) request id=0x0ee4, seq=44, hop limit=64 (reply in 1671)
1671 65.369318 ICMPv6 118 Echo (ping) reply id=0x0ee4, seq=44, hop limit=57 (request in 1670)
1699 66.353583 ICMPv6 118 Echo (ping) request id=0x0ee4, seq=45, hop limit=64 (reply in 1700)
1700 66.370108 ICMPv6 118 Echo (ping) reply id=0x0ee4, seq=45, hop limit=57 (request in 1699)
I tried already two different devices, namely TP-Link TL-WDR3600 v1 and TP-Link Archer C5 AC1200 v1, each with a fresh install of both 21.02.3 and 22.03.0. My ISP uses ds-lite to provide IPv4 and I have to install the ds-lite package to get any access to the internet at all. Both devices show the same packet loss.
So I assume there is a software issue with OpenWrt. How could I troubleshoot this problem?