Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

{drivers/sx126x, ieee802154/submac, sys/net/ieee802154} run LoRa for sx126x over IEEE802.15.4 using submac #21202

Open
wants to merge 14 commits into
base: master
Choose a base branch
from

Conversation

fabian18
Copy link
Contributor

Contribution description

Picked up #19172 to run IEEE802.15.4 over LoRa using the submac layer.

Testing procedure

Used to test with two adafruit-metro-m4-express having attached a shield_llcc68.
Fragmented pings over 6lowpan was only working with increased timeouts.
Output of gnrc_networking will be added.

DEVELHELP=1 VERBOSE_ASSERT=1 USEMODULE+="shell_cmd_ps shield_llcc68 sx126x_ieee802154 bhp gnrc_txtsnd gnrc_pktdump" BOARD=adafruit-metro-m4-express make -C examples/gnrc_networking flash term PORT=/dev/ttyACM0

Issues/PRs references

#19172 continued
#19668 is necessarily included

@github-actions github-actions bot added Area: network Area: Networking Area: tests Area: tests and testing framework Area: drivers Area: Device drivers Area: LoRa Area: LoRa radio support Area: sys Area: System Area: examples Area: Example Applications labels Feb 10, 2025
@fabian18 fabian18 requested a review from maribu February 10, 2025 10:11
@@ -24,7 +24,7 @@
#include "kernel_defines.h"
#include "errno.h"

#define ENABLE_DEBUG 0
#define ENABLE_DEBUG 1
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#define ENABLE_DEBUG 1
#define ENABLE_DEBUG 0

@benpicco benpicco requested a review from jia200x February 10, 2025 15:06
@fabian18
Copy link
Contributor Author

Output of gnrc_networking will be added.

This is how (well) it works at the moment. 1232 bytes to me seems to be a buffer limit.
When sending multiple pings something is breaks.
And the more bytes you want to send, especially with DEBUG output you need to increase the ping timeout: e85704e

> ping -c 1 -s 1232  fe80::6477:aa29:ecd5:ef9f
2025-02-16 16:02:19,295 # ping -c 1 -s 1232  fe80::6477:aa29:ecd5:ef9f
2025-02-16 16:02:25,640 # 1240 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=0 ttl=64 rssi=-37 dBm time=6342.848 ms
2025-02-16 16:02:25,641 # 
2025-02-16 16:02:25,641 # --- fe80::6477:aa29:ecd5:ef9f PING statistics ---
2025-02-16 16:02:25,642 # 1 packets transmitted, 1 packets received, 0% packet loss
2025-02-16 16:02:25,642 # round-trip min/avg/max = 6342.848/6342.848/6342.848 ms

> ping -c 1 -s 1232  fe80::6477:aa29:ecd5:ef9f
2025-02-16 16:02:26,660 # ping -c 1 -s 1232  fe80::6477:aa29:ecd5:ef9f
2025-02-16 16:02:33,003 # 1240 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=0 ttl=64 rssi=-37 dBm time=6341.239 ms
2025-02-16 16:02:33,004 # 
2025-02-16 16:02:33,004 # --- fe80::6477:aa29:ecd5:ef9f PING statistics ---
2025-02-16 16:02:33,005 # 1 packets transmitted, 1 packets received, 0% packet loss
2025-02-16 16:02:33,005 # round-trip min/avg/max = 6341.239/6341.239/6341.239 ms

> ping -c 1 -s 1232  fe80::6477:aa29:ecd5:ef9f
2025-02-16 16:02:33,816 # ping -c 1 -s 1232  fe80::6477:aa29:ecd5:ef9f
2025-02-16 16:02:40,159 # 1240 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=0 ttl=64 rssi=-37 dBm time=6340.294 ms
2025-02-16 16:02:40,159 # 
2025-02-16 16:02:40,160 # --- fe80::6477:aa29:ecd5:ef9f PING statistics ---
2025-02-16 16:02:40,160 # 1 packets transmitted, 1 packets received, 0% packet loss
2025-02-16 16:02:40,161 # round-trip min/avg/max = 6340.294/6340.294/6340.294 ms

ping -c 1 -s 1233  fe80::6477:aa29:ecd5:ef9f
2025-02-16 16:02:49,750 # ping -c 1 -s 1233  fe80::6477:aa29:ecd5:ef9f
2025-02-16 16:03:19,751 # 
2025-02-16 16:03:19,752 # --- fe80::6477:aa29:ecd5:ef9f PING statistics ---
2025-02-16 16:03:19,753 # 1 packets transmitted, 0 packets received, 100% packet loss

ping -c 1 -s 1232  fe80::6477:aa29:ecd5:ef9f
2025-02-16 16:03:27,979 # ping -c 1 -s 1232  fe80::6477:aa29:ecd5:ef9f
2025-02-16 16:03:34,323 # 1240 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=0 ttl=64 rssi=-37 dBm time=6341.591 ms
2025-02-16 16:03:34,323 # 
2025-02-16 16:03:34,324 # --- fe80::6477:aa29:ecd5:ef9f PING statistics ---
2025-02-16 16:03:34,324 # 1 packets transmitted, 1 packets received, 0% packet loss
2025-02-16 16:03:34,325 # round-trip min/avg/max = 6341.591/6341.591/6341.591 ms

> ping -c 2 -s 1232  fe80::6477:aa29:ecd5:ef9f
2025-02-16 16:03:51,438 # ping -c 2 -s 1232  fe80::6477:aa29:ecd5:ef9f
2025-02-16 16:03:52,440 # gnrc_netif: can't queue packet for sending, try sending
2025-02-16 16:03:52,441 # gnrc_netif: can't queue packet for sending, drop it
2025-02-16 16:03:52,441 # gnrc_netif: can't queue packet for sending, try sending
2025-02-16 16:03:52,442 # gnrc_netif: can't queue packet for sending, drop it
2025-02-16 16:03:52,442 # gnrc_netif: can't queue packet for sending, try sending
2025-02-16 16:03:52,443 # gnrc_netif: can't queue packet for sending, drop it
2025-02-16 16:03:52,443 # gnrc_netif: can't queue packet for sending, try sending
2025-02-16 16:03:52,444 # gnrc_netif: can't queue packet for sending, drop it
2025-02-16 16:03:52,444 # gnrc_netif: can't queue packet for sending, try sending
2025-02-16 16:03:52,445 # gnrc_netif: can't queue packet for sending, drop it
2025-02-16 16:04:22,440 # 
2025-02-16 16:04:22,441 # --- fe80::6477:aa29:ecd5:ef9f PING statistics ---
2025-02-16 16:04:22,441 # 2 packets transmitted, 0 packets received, 100% packet loss

> ping -c 2 -s 128  fe80::6477:aa29:ecd5:ef9f
2025-02-16 16:04:30,501 # ping -c 2 -s 128  fe80::6477:aa29:ecd5:ef9f
2025-02-16 16:04:31,333 # 136 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=0 ttl=64 rssi=-37 dBm time=828.884 ms
2025-02-16 16:04:32,335 # 136 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=1 ttl=64 rssi=-37 dBm time=831.762 ms
2025-02-16 16:04:32,335 # 
2025-02-16 16:04:32,336 # --- fe80::6477:aa29:ecd5:ef9f PING statistics ---
2025-02-16 16:04:32,336 # 2 packets transmitted, 2 packets received, 0% packet loss
2025-02-16 16:04:32,337 # round-trip min/avg/max = 828.884/830.323/831.762 ms

> ping -c 2 -s 150  fe80::6477:aa29:ecd5:ef9f
2025-02-16 16:04:43,532 # ping -c 2 -s 150  fe80::6477:aa29:ecd5:ef9f
2025-02-16 16:04:44,428 # 158 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=0 ttl=64 rssi=-37 dBm time=893.404 ms
2025-02-16 16:04:45,429 # 158 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=1 ttl=64 rssi=-37 dBm time=894.340 ms
2025-02-16 16:04:45,429 # 
2025-02-16 16:04:45,430 # --- fe80::6477:aa29:ecd5:ef9f PING statistics ---
2025-02-16 16:04:45,430 # 2 packets transmitted, 2 packets received, 0% packet loss
2025-02-16 16:04:45,430 # round-trip min/avg/max = 893.404/893.872/894.340 ms

> ping -c 2 -s 250  fe80::6477:aa29:ecd5:ef9f
2025-02-16 16:04:52,441 # ping -c 2 -s 250  fe80::6477:aa29:ecd5:ef9f
2025-02-16 16:05:23,443 # 
2025-02-16 16:05:23,444 # --- fe80::6477:aa29:ecd5:ef9f PING statistics ---
2025-02-16 16:05:23,445 # 2 packets transmitted, 0 packets received, 100% packet loss

@fabian18
Copy link
Contributor Author

> ping -c 100 -s 175 fe80::6477:aa29:ecd5:ef9f
2025-02-16 16:24:22,391 # ping -c 100 -s 175 fe80::6477:aa29:ecd5:ef9f
2025-02-16 16:24:23,358 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=0 ttl=64 rssi=-38 dBm time=965.339 ms
2025-02-16 16:24:24,361 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=1 ttl=64 rssi=-38 dBm time=967.900 ms
2025-02-16 16:24:25,358 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=2 ttl=64 rssi=-38 dBm time=964.708 ms
2025-02-16 16:24:26,358 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=3 ttl=64 rssi=-38 dBm time=965.666 ms
2025-02-16 16:24:27,359 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=4 ttl=64 rssi=-38 dBm time=966.315 ms
2025-02-16 16:24:28,357 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=5 ttl=64 rssi=-38 dBm time=964.703 ms
2025-02-16 16:24:29,356 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=6 ttl=64 rssi=-38 dBm time=964.067 ms
2025-02-16 16:24:30,359 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=7 ttl=64 rssi=-38 dBm time=966.302 ms
2025-02-16 16:24:31,359 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=8 ttl=64 rssi=-38 dBm time=966.623 ms
2025-02-16 16:24:32,359 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=9 ttl=64 rssi=-38 dBm time=965.971 ms
2025-02-16 16:24:33,360 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=10 ttl=64 rssi=-38 dBm time=967.263 ms
2025-02-16 16:24:34,356 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=11 ttl=64 rssi=-36 dBm time=962.793 ms
2025-02-16 16:24:35,359 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=12 ttl=64 rssi=-38 dBm time=966.294 ms
2025-02-16 16:24:36,359 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=13 ttl=64 rssi=-36 dBm time=966.293 ms
2025-02-16 16:24:37,358 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=14 ttl=64 rssi=-38 dBm time=965.026 ms
2025-02-16 16:24:38,354 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=15 ttl=64 rssi=-38 dBm time=961.215 ms
2025-02-16 16:24:39,360 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=16 ttl=64 rssi=-38 dBm time=966.633 ms
2025-02-16 16:24:40,357 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=17 ttl=64 rssi=-38 dBm time=965.031 ms
2025-02-16 16:24:41,355 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=18 ttl=64 rssi=-37 dBm time=962.456 ms
2025-02-16 16:24:42,357 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=19 ttl=64 rssi=-38 dBm time=964.055 ms
2025-02-16 16:24:43,359 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=20 ttl=64 rssi=-38 dBm time=965.666 ms
2025-02-16 16:24:44,359 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=21 ttl=64 rssi=-38 dBm time=966.280 ms
2025-02-16 16:24:45,361 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=22 ttl=64 rssi=-38 dBm time=968.213 ms
2025-02-16 16:24:46,354 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=23 ttl=64 rssi=-38 dBm time=960.867 ms
2025-02-16 16:25:08,394 # gnrc_netif: can't queue packet for sending, try sending
2025-02-16 16:25:08,395 # gnrc_netif: can't queue packet for sending, drop it

[...]

2025-02-16 16:26:00,395 # gnrc_netif: can't queue packet for sending, try sending
2025-02-16 16:26:00,396 # gnrc_netif: can't queue packet for sending, drop it
2025-02-16 16:26:02,394 # 
2025-02-16 16:26:02,395 # --- fe80::6477:aa29:ecd5:ef9f PING statistics ---
2025-02-16 16:26:02,396 # 100 packets transmitted, 24 packets received, 76% packet loss
2025-02-16 16:26:02,396 # round-trip min/avg/max = 960.867/965.236/968.213 ms

> ping -c 100 -s 175 fe80::6477:aa29:ecd5:ef9f
2025-02-16 16:26:27,871 # ping -c 100 -s 175 fe80::6477:aa29:ecd5:ef9f
2025-02-16 16:26:28,835 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=0 ttl=64 rssi=-39 dBm time=962.152 ms
2025-02-16 16:26:29,837 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=1 ttl=64 rssi=-39 dBm time=964.373 ms
2025-02-16 16:26:30,835 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=2 ttl=64 rssi=-37 dBm time=961.830 ms
2025-02-16 16:26:31,835 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=3 ttl=64 rssi=-39 dBm time=962.457 ms
2025-02-16 16:26:32,837 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=4 ttl=64 rssi=-39 dBm time=964.401 ms
2025-02-16 16:26:33,839 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=5 ttl=64 rssi=-38 dBm time=965.975 ms
2025-02-16 16:26:34,840 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=6 ttl=64 rssi=-38 dBm time=966.934 ms
2025-02-16 16:26:35,837 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=7 ttl=64 rssi=-38 dBm time=964.069 ms
2025-02-16 16:26:36,837 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=8 ttl=64 rssi=-38 dBm time=964.366 ms
2025-02-16 16:26:37,839 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=9 ttl=64 rssi=-38 dBm time=965.980 ms
2025-02-16 16:26:38,839 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=10 ttl=64 rssi=-38 dBm time=965.649 ms
2025-02-16 16:26:39,838 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=11 ttl=64 rssi=-38 dBm time=965.038 ms
2025-02-16 16:26:40,842 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=12 ttl=64 rssi=-38 dBm time=968.213 ms
2025-02-16 16:26:41,839 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=13 ttl=64 rssi=-38 dBm time=965.659 ms
2025-02-16 16:26:42,839 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=14 ttl=64 rssi=-38 dBm time=965.334 ms
2025-02-16 16:26:43,838 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=15 ttl=64 rssi=-38 dBm time=965.321 ms
2025-02-16 16:26:44,839 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=16 ttl=64 rssi=-37 dBm time=964.689 ms
2025-02-16 16:26:45,835 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=17 ttl=64 rssi=-37 dBm time=960.875 ms
2025-02-16 16:26:46,841 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=18 ttl=64 rssi=-38 dBm time=968.211 ms
2025-02-16 16:27:04,874 # gnrc_netif: can't queue packet for sending, try sending
2025-02-16 16:27:04,875 # gnrc_netif: can't queue packet for sending, drop it

[...]

2025-02-16 16:28:05,876 # gnrc_netif: can't queue packet for sending, try sending
2025-02-16 16:28:05,876 # gnrc_netif: can't queue packet for sending, drop it
2025-02-16 16:28:06,875 # 
2025-02-16 16:28:06,876 # --- fe80::6477:aa29:ecd5:ef9f PING statistics ---
2025-02-16 16:28:06,876 # 100 packets transmitted, 19 packets received, 81% packet loss
2025-02-16 16:28:06,877 # round-trip min/avg/max = 960.875/964.817/968.213 ms
> ping -c 100 -s 175 fe80::6477:aa29:ecd5:ef9f
2025-02-16 16:28:10,058 # ping -c 100 -s 175 fe80::6477:aa29:ecd5:ef9f
2025-02-16 16:28:16,060 # gnrc_netif: can't queue packet for sending, try sending
2025-02-16 16:28:16,061 # gnrc_netif: can't queue packet for sending, drop it

[...]

2025-02-16 16:29:48,595 # gnrc_netif: can't queue packet for sending, try sending
2025-02-16 16:29:48,595 # gnrc_netif: can't queue packet for sending, drop it
2025-02-16 16:30:18,594 # 
2025-02-16 16:30:18,595 # --- fe80::6477:aa29:ecd5:ef9f PING statistics ---
2025-02-16 16:30:18,596 # 100 packets transmitted, 0 packets received, 100% packet loss

> ping -c 100 -s 175 fe80::6477:aa29:ecd5:ef9f
2025-02-16 16:30:24,758 # ping -c 100 -s 175 fe80::6477:aa29:ecd5:ef9f
2025-02-16 16:30:25,725 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=0 ttl=64 rssi=-38 dBm time=965.348 ms
2025-02-16 16:30:26,725 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=1 ttl=64 rssi=-39 dBm time=965.031 ms
2025-02-16 16:30:27,727 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=2 ttl=64 rssi=-39 dBm time=966.926 ms
2025-02-16 16:30:28,724 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=3 ttl=64 rssi=-39 dBm time=964.071 ms
2025-02-16 16:30:29,726 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=4 ttl=64 rssi=-39 dBm time=965.681 ms
2025-02-16 16:30:30,724 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=5 ttl=64 rssi=-39 dBm time=964.704 ms
2025-02-16 16:30:31,723 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=6 ttl=64 rssi=-38 dBm time=962.786 ms
2025-02-16 16:30:32,722 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=7 ttl=64 rssi=-39 dBm time=962.478 ms
2025-02-16 16:30:33,724 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=8 ttl=64 rssi=-37 dBm time=963.751 ms
2025-02-16 16:30:34,727 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=9 ttl=64 rssi=-38 dBm time=967.249 ms
2025-02-16 16:30:35,726 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=10 ttl=64 rssi=-38 dBm time=965.654 ms
2025-02-16 16:30:36,727 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=11 ttl=64 rssi=-39 dBm time=967.243 ms
2025-02-16 16:30:37,724 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=12 ttl=64 rssi=-37 dBm time=964.047 ms
2025-02-16 16:30:38,725 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=13 ttl=64 rssi=-38 dBm time=965.016 ms
2025-02-16 16:30:39,727 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=14 ttl=64 rssi=-38 dBm time=966.921 ms
2025-02-16 16:30:40,725 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=15 ttl=64 rssi=-39 dBm time=965.030 ms
2025-02-16 16:30:41,723 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=16 ttl=64 rssi=-39 dBm time=962.795 ms
2025-02-16 16:30:42,733 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=17 ttl=64 rssi=-39 dBm time=972.361 ms
2025-02-16 16:30:43,726 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=18 ttl=64 rssi=-39 dBm time=965.663 ms
2025-02-16 16:30:44,729 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=19 ttl=64 rssi=-38 dBm time=968.847 ms
2025-02-16 16:30:45,721 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=20 ttl=64 rssi=-39 dBm time=961.216 ms
2025-02-16 16:30:46,730 # 183 bytes from fe80::6477:aa29:ecd5:ef9f%7: icmp_seq=21 ttl=64 rssi=-38 dBm time=969.815 ms
2025-02-16 16:31:06,764 # gnrc_netif: can't queue packet for sending, try sending
2025-02-16 16:31:06,765 # gnrc_netif: can't queue packet for sending, drop it

[...]

2025-02-16 16:31:58,763 # gnrc_netif: can't queue packet for sending, try sending
2025-02-16 16:31:58,764 # gnrc_netif: can't queue packet for sending, drop it
2025-02-16 16:32:04,761 # 
2025-02-16 16:32:04,762 # --- fe80::6477:aa29:ecd5:ef9f PING statistics ---
2025-02-16 16:32:04,763 # 100 packets transmitted, 22 packets received, 78% packet loss
2025-02-16 16:32:04,763 # round-trip min/avg/max = 961.216/965.574/972.361 ms

@miri64
Copy link
Member

miri64 commented Feb 17, 2025

1232 bytes to me seems to be a buffer limit.

1280 bytes is is the 6LoWPAN and SCHC maximum MTU for IPv6 [1] [2], take a 40 bytes IPv6 header and a 8 bytes UDP header from that and you get 1232 bytes.

@miri64
Copy link
Member

miri64 commented Feb 17, 2025

For more bytes you need IPv6 fragmentation which you can activate with gnrc_ipv6_ext_frag. However, the chance of buffer congestion then only increases (see also #16998, #17924), as you now put (IPv6) fragmentation on top of (6LoWPAN/SCHC) fragmentation.

@miri64
Copy link
Member

miri64 commented Feb 17, 2025

(see also https://ieeexplore.ieee.org/document/9580895 ;-))

Copy link
Contributor

@benpicco benpicco left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like a neat feature, even though it's pretty slow.

#endif
}
}
/* Do not compute IEEE 802.15.4 CRC because LoRa frame also provides CRC */
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

but we still have to send it over the aether?

gnrc_netreg_entry_t dump = GNRC_NETREG_ENTRY_INIT_PID(GNRC_NETREG_DEMUX_CTX_ALL,
gnrc_pktdump_pid);
_netreg_dump = dump;
gnrc_netreg_register(CONFIG_GNRC_PKTBUF_NETTYPE, &_netreg_dump);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That seems unrelated

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it worth to be split out or is there a reason not to have this in gnrc_pkdump.c

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's fine to keep it if it makes your life easier, but from the commit message alone I don't understand what it does and how it relates to this PR.

}

LL_PREPEND(netreg[type], entry);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems unrelated

@benpicco
Copy link
Contributor

This needs a rebase

@fabian18 fabian18 force-pushed the mlpa/sx126x_ieee802154_lora branch from 3169eeb to 19c50ef Compare February 24, 2025 15:31
@github-actions github-actions bot removed the Area: tests Area: tests and testing framework label Feb 24, 2025
@fabian18 fabian18 force-pushed the mlpa/sx126x_ieee802154_lora branch from 6a7f19e to ed79d3a Compare March 1, 2025 11:38
@fabian18
Copy link
Contributor Author

fabian18 commented Mar 2, 2025

When sending multiple pings something is breaks.

The issue with multiple pings is that the sender (IPV6) pushes to send the second ping request even before the last reply could be fully received. The receiver is sending parts of the first reply and the sender is sending parts of the second request and both dont get an ACK. [W]ait timeout and [i]nterval can be adjusted. I dont know if that has to work, or why it does not work.

ping -c 20 -s 1200 -W 10000 -i 10000 fe80::6462:e5ab:1ec1:c065

2025-03-02 17:59:44,813 # 
2025-03-02 17:59:44,814 # --- fe80::6462:e5ab:1ec1:c065 PING statistics ---
2025-03-02 17:59:44,814 # 20 packets transmitted, 20 packets received, 0% packet loss
2025-03-02 17:59:44,814 # round-trip min/avg/max = 6489.899/6609.152/6784.936 ms

@fabian18 fabian18 force-pushed the mlpa/sx126x_ieee802154_lora branch from feeba31 to 30e7657 Compare March 5, 2025 08:07
@fabian18 fabian18 force-pushed the mlpa/sx126x_ieee802154_lora branch from 30e7657 to 85c8c3b Compare March 7, 2025 08:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: drivers Area: Device drivers Area: examples Area: Example Applications Area: LoRa Area: LoRa radio support Area: network Area: Networking Area: sys Area: System
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants