Skip to content

ieee802154/submac: add automatic ACK transmission when AUTO_ACK is not supported by driver #21533

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

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

Conversation

fabian18
Copy link
Contributor

@fabian18 fabian18 commented Jun 4, 2025

Contribution description

Adds transmission of ACK on the IEEE802154 layer, if the driver does not support automatic ACK.
A submac state is added. The ACK transmission is synchronous to the driver to not accept further frame transmissions in between.

Testing procedure

sudo ./dist/tools/tapsetup/tapsetup

make -C examples/networking/gnrc/gnrc_border_router flash term PORT=tap0

USE_ZEP=1 make -C examples/networking/gnrc/gnrc_networking flash term PORT=tap1

2025-06-09 11:31:31,639 # ping fe80::acf6:8ba:b4b9:d1e3
2025-06-09 11:31:31,643 # 12 bytes from fe80::acf6:8ba:b4b9:d1e3%7: icmp_seq=0 ttl=64 rssi=-27 dBm time=3.619 ms
2025-06-09 11:31:32,643 # 12 bytes from fe80::acf6:8ba:b4b9:d1e3%7: icmp_seq=1 ttl=64 rssi=-27 dBm time=3.680 ms
2025-06-09 11:31:33,643 # 12 bytes from fe80::acf6:8ba:b4b9:d1e3%7: icmp_seq=2 ttl=64 rssi=-26 dBm time=3.677 ms
2025-06-09 11:31:33,644 # 
2025-06-09 11:31:33,644 # --- fe80::acf6:8ba:b4b9:d1e3 PING statistics ---
2025-06-09 11:31:33,644 # 3 packets transmitted, 3 packets received, 0% packet loss
2025-06-09 11:31:33,644 # round-trip min/avg/max = 3.619/3.658/3.680 ms
> 

socket_zep.pcapng.zip

Issues/PRs references

split out from #21202

@github-actions github-actions bot added Area: network Area: Networking Area: drivers Area: Device drivers Area: sys Area: System labels Jun 4, 2025
@crasbe crasbe added Type: new feature The issue requests / The PR implemements a new feature for RIOT CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR labels Jun 4, 2025
@riot-ci
Copy link

riot-ci commented Jun 4, 2025

Murdock results

FAILED

c09c7d1 fixup! socket_zep: add option to disable auto ACK

Success Failures Total Runtime
263 0 9394 01m:18s

Artifacts

@benpicco benpicco requested review from jia200x and bergzand June 4, 2025 16:45
@github-actions github-actions bot added Platform: native Platform: This PR/issue effects the native platform Area: cpu Area: CPU/MCU ports labels Jun 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: cpu Area: CPU/MCU ports Area: drivers Area: Device drivers Area: network Area: Networking Area: sys Area: System CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Platform: native Platform: This PR/issue effects the native platform Type: new feature The issue requests / The PR implemements a new feature for RIOT
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants