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

Intermittent SX1280 packet errors #32

Open
jacobeva opened this issue Sep 4, 2024 · 2 comments
Open

Intermittent SX1280 packet errors #32

jacobeva opened this issue Sep 4, 2024 · 2 comments

Comments

@jacobeva
Copy link

jacobeva commented Sep 4, 2024

Despite packets having to pass CRC, somehow packets are sometimes received which are completely invalid. For an example, see below:

[2024-09-04 17:29:31] [Debug] Received invalid announce for <aa94e097d2d22b2b23343f746104f01c>: Invalid signature.
[2024-09-04 17:29:31] [Debug] Received invalid announce for <aa94e097d2d22b2b23343f746104f01c>: Invalid signature.

This happens intermittently. It should be noted that this was a double announce on two RNode interfaces at the same time. It may be this is some kind of race condition or something. I've caught the raw packet from one of these before and literally 1 or 2 bytes will be incorrect, making me think it could also be some kind of memory issue.

Currently I have no clue what causes it, but it happens rarely enough for it to not be a problem most of the time.

@jacobeva
Copy link
Author

jacobeva commented Sep 10, 2024

1 week later... I basically figured it out.

A large issue with the SX1280 is the sheer number of interrupts that it generates when operating at 203kbps (~550 per second). Currently I can't think of a great solution for this as I can't just sit polling the modem for ages since the firmware needs to be doing other stuff. For now, I'll leave this issue open until I think I can tackle it properly.

@jacobeva
Copy link
Author

Commit 51afd31 has temporarily addressed this by capping the data rate. The data rate can be increased again once this issue has been resolved, but for now this allows for greater reliability.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant