- Introduction
- Concepts
- 1. Architecture overview
- 2. Interface isolation
- 3. An interface that holds several peers
- 4. The core lock budget
- 5. The self-deadlock tripwire
- 6. Bluetooth interfaces
- 7. Media profiles
- 8. How far one firmware build reaches
- 9. The firmware's host-test seam
- 10. Flashing an LNode
- 11. OTA stage 1: entering BLE DFU on a command from the mesh
- 12. OTA stage 2: the image itself over the mesh
- 13. Python-RNS compatibility
- 14. Client tools
- 15. Cryptographic identity and forward secrecy
- 16. Storage and embedding
- 17. Time and clocks
- 18. Wire field semantics
- 19. Regulatory airtime
- 20. lnmsg: a terminal LXMF messenger
- 20.1. lnmsg: architecture
- 20.2. lnmsg: the user interface
- 20.3. lnmsg: conversation storage
- 20.4. lnmsg: the mailbox, and who you talk to
- 21. Public channels over LXMF
- 22. Telemetry
- 23. An LXMF propagation node on a board
- 24. Evidence and honesty in testing
- 25. Checks that are actually checks
- 26. The randomised pre-transmit window
- 27. Self-hosted infrastructure
- 28. Licensing and third-party notices
- User Guide
- 29. Installation
- 30. Configuration reference
- 31. Running lnsd
- 32. lnstest command-line utility
- 33. lncp file transfer
- 34. lnstatus network status
- 35. Field testing
- 36. Manual page: lnsd(1)
- 37. Manual page: lnstest(1)
- 38. Manual page: lncp(1)
- 39. Manual page: lnstatus(1)
- 40. Manual page: lnprobe(1)
- 41. Manual page: lnpath(1)
- 42. Manual page: lnomad(1)
- 43. Manual page: lblogd(1)
- 44. Manual page: lnpnd(1)
- 45. Manual page: lnflash(1)
- Firmware (LNode)
- 46. Supported boards
- 47. Building and flashing
- 48. Serial ports and udev
- 49. The USB control envelope
- 50. Recovery and troubleshooting
- 51. Debugging with the Debug Probe (SWD)
- Developer Guide
- 52. Choosing a layer
- 53. Rust API tutorial
- 54. Rust API specification
- 55. Embedded integration
- 56. C API: overview and concepts
- 57. C API: tutorial
- 58. C API: how-to
- 59. C API: reference
- Reference and Internals
- 60. RNode serial protocol
- 61. SX1262 datasheet reference
- 62. Structured event logs
- 63. jl / jldiff tools
- 64. Storage trait analysis
- 65. Broadcast Python-RNS parity
- 66. Hop counting
- 67. Announce dedup and path replacement
- 68. When a transport node repeats a data packet
- 69. Four things RNS 1.5.x changed
- 70. Testing quick reference
- 71. CI pipeline
- 72. Soak and endurance
- Appendix
- 73. Reticulum Protocol Specification
- 73.1. Introduction and scope
- 73.2. Cryptographic primitives
- 73.3. Identity
- 73.4. Destination
- 73.5. Packet format
- 73.6. Announce
- 73.7. Link
- 73.8. Resource
- 73.9. Channel and Buffer
- 73.10. Transport
- 73.11. Framing and IFAC
- 73.12. Constants reference
- 73.13. Coverage ledger
- 73.14. Test vectors
- 73.15. Symbol inventory (frozen)
- 74. LXMF Protocol Specification
- 74.1. Introduction and scope
- 74.2. Cryptographic primitives
- 74.3. Identifiers and sizes
- 74.4. Message binary format
- 74.5. Fields
- 74.6. Delivery methods and sizing
- 74.7. On-air sequences
- 74.8. Stamps and proof-of-work
- 74.9. Tickets
- 74.10. Announce application data
- 74.11. Propagation
- 74.12. Router internals (informative)
- 74.13. Constants reference
- 74.14. Coverage ledger
- 74.15. Test vectors
- 74.16. Python 1.1.0 and RNS 1.4.0 parity status
- 74.17. Symbol inventory (frozen)