Commit Graph

297 Commits

Author SHA1 Message Date
Tom Hensel
6c26e8b1b1
Merge 3bbd43cc1b into e2efc61208 2024-11-20 21:39:44 +01:00
Mark Qvist
5de63d5bf2 Internal interface config handling for TCPClientInterface 2024-11-20 20:39:44 +01:00
Mark Qvist
c9d744f88a Internal interface config handling for TCPServerInterface 2024-11-20 20:27:01 +01:00
Mark Qvist
18e0dbddfa Internal interface config handling for UDPInterface 2024-11-20 20:20:40 +01:00
Mark Qvist
52c816cb27 Cleanup 2024-11-20 20:18:17 +01:00
Mark Qvist
582d2b91f5 Internal interface config handling for AutoInterface 2024-11-20 20:14:02 +01:00
Mark Qvist
5b8de73143 Correctly display IPv6 addresses in interface names 2024-11-20 19:24:06 +01:00
Mark Qvist
212af2f43b Automatically select IPv6 address for IPv6-only interfaces 2024-11-20 19:16:15 +01:00
Mark Qvist
1282061701 Add interface scope for link-local IPv6 addresses 2024-11-20 18:02:50 +01:00
Mark Qvist
49dba483a9 Use address structure according to target address family 2024-11-20 17:10:08 +01:00
Mark Qvist
ebec63487f Added prefer_ipv6 option to TCPServerInterface 2024-11-20 16:53:14 +01:00
Mark Qvist
9373819234 Add ability to bind to AF_INET6 sockets based on both device name and IP addresses 2024-11-20 16:44:39 +01:00
markqvist
04925d8004
Merge pull request #601 from deavmi/patch-2
Allow binding to IPv6 (if present)
2024-11-20 14:28:46 +01:00
gretel
3bbd43cc1b Fix KISS beacon frame formatting and add sync pattern
Two issues were resolved with KISS interface beacon transmissions:

1. Fixed frame length handling to meet minimum length requirements (15 bytes) for
   TNCs like Direwolf. Previously, raw beacon data was being sent directly,
   causing frame length errors:

```
<<< Data frame from KISS client application, channel 0, total length = 11
  000:  c0 00 44 4e 39 54 54 2d 31 35 c0                 ..FOOBAR-15.
Frame length 8 not in allowable range of 15 to 2123.
ERROR - Invalid KISS data frame from client app.
```

2. Added standard 0xAA 0xAA sync pattern to improve radio modem synchronization
   and compatibility with packet radio protocols like FX.25 and IL2P.

This ensures:
- Proper frame length for TNC compatibility
- Better bit synchronization with standard sync pattern
- Improved reception reliability
- Compatible with both KISS TNCs and packet radio protocols

```
<<< Data frame from KISS client application, channel 0, total length = 18
  000:  c0 00 aa aa 44 4e 39 54 54 2d 31 35 00 00 00 00  ....FOOBAR-15....
  010:  00 c0                                            ..
[0L 21:25:43 UTC] (Not AX.25)<0xaa><0xaa>FOOBAR-15<0x00><0x00><0x00><0x00><0x00>
IL2P frame, max_fec = 1, 49 encoded bytes total
  000:  f1 5e 48 87 b8 59 b7 a1 cc 24 57 d6 0b 36 7c f1  .^H..Y...$W..6|.
  010:  7c d5 af 85 db 12 99 80 9d b8 6b bb 6b 05 df 1e  |.........k.k...
  020:  69 0e d8 69 05 f6 ff c4 24 fa 58 f7 e7 f2 a4 df  i..i....$.X.....
  030:  a1                                               .
```
2024-11-19 20:55:16 +01:00
Tristan B. Velloza Kildaire
63ad2afe3f Reapply "Allow binding to IPv6 (if present)"
This reverts commit 61712d322a.
2024-11-04 13:25:55 +02:00
Tristan B. Velloza Kildaire
61712d322a Revert "Allow binding to IPv6 (if present)"
This reverts commit f55004a574.
2024-11-04 13:25:46 +02:00
Tristan B. Velloza Kildaire
3599066356 Revert "Test"
This reverts commit 18c2a38b97.
2024-11-04 13:05:27 +02:00
Tristan B. Velloza Kildaire
18c2a38b97
Test 2024-11-04 13:02:45 +02:00
Tristan B. Velloza Kildaire
f55004a574
Allow binding to IPv6 (if present)
If an interface has an IPv6 address record associated with it then, and only then, prefer that.

Otherwise AF_INET is used (Ipv4 address)
2024-11-03 17:54:59 +02:00
Tristan B. Velloza Kildaire
1768ddc459
Determine AF FAMILY from getaddrinfo BEFORE socket ctor
Before we call the `socket.socket(...)` constructor function, let us first provide `self.target_ip` and `self.target_port` to `socket.getaddrinfo(...)` (static function) and then get the AF family from it. Then we pass this into the ctor
2024-11-03 14:37:28 +02:00
Mark Qvist
3b23e2f37d Improved RNode BLE reconnection reliability 2024-10-11 13:38:16 +02:00
Mark Qvist
c57d927660 Cleanup 2024-10-09 19:38:46 +02:00
Mark Qvist
a0d61f6441 Added error descriptions for modem communication timeout 2024-10-07 20:55:34 +02:00
Mark Qvist
83a2999d29 Revert AF_INET6 addition to TCPInterface, since it breaks normal IPv4 connectivity for interface 2024-10-06 10:01:55 +02:00
markqvist
4465fa9882
Merge pull request #545 from deavmi/master
Support IPv6 for outbound TCP interface (TCPClientInterface)
2024-10-05 23:46:28 +02:00
markqvist
e6c1dc075b
Merge pull request #556 from jacobeva/rnode-multi-fix
Fix interface values not being set on RNodeSubInterface instances
2024-10-05 23:45:21 +02:00
markqvist
ef798e0d54
Merge pull request #543 from jacobeva/display-fix
Allow for use of display by master on NRF52
2024-10-05 23:43:56 +02:00
markqvist
3dc8729e70
Merge pull request #565 from jacobeva/framing-fix
Fix RNodeMultiInterface interface framing
2024-10-05 23:03:36 +02:00
Mark Qvist
b526e3554c Added low memory error decsription to RNodeInterface 2024-10-05 17:05:02 +02:00
Mark Qvist
903ab53fc9 Fixed init fail due to missing library on Android/Termux 2024-10-05 17:04:39 +02:00
Mark Qvist
62091b28b0 Fixed version comparison 2024-10-02 02:54:18 +02:00
Mark Qvist
72971d1aef Handle RNode BLE MTU request errors 2024-10-01 23:52:04 +02:00
Mark Qvist
8adab7ee7d Added BLE support to Android RNodeInterface 2024-10-01 17:27:45 +02:00
Mark Qvist
560c8e164c Added BLE support to RNodeInterface 2024-10-01 17:25:16 +02:00
jacob.eva
e059363f1d
Version bump for CE firmware version which will contain framing change 2024-10-01 16:02:07 +01:00
jacob.eva
4930477b99
Fix interface framing assignment conflict 2024-10-01 15:58:27 +01:00
jacob.eva
9a97195b8c
Fix interface values not being set on RNodeSubInterface instances 2024-09-20 17:50:34 +01:00
liamcottle
76362bad4a fix KISSInterface is not defined error for AX25KISSInterface 2024-09-16 14:27:08 +12:00
Mark Qvist
356ae378f9 Cleanup 2024-09-09 14:32:07 +02:00
markqvist
58a19610c4
Merge pull request #541 from jeremybox/t-echo
Add support for TECHO device
2024-09-09 14:18:15 +02:00
Tristan Brice Velloza Kildaire
5c6ee07d66 TCPInterface
- When connect(s, Bool)` is called construct a socket that supports both address families
2024-09-05 00:07:35 +02:00
jacob.eva
9d744e2317
Allow for display use by master on NRF52 on Android 2024-09-04 11:54:32 +01:00
jacob.eva
d64064691a
Allow for use of display by master on NRF52 2024-09-04 11:52:41 +01:00
jeremybox
5166596375
Update RNodeInterface.py
reverts extra debugging message detail
2024-09-03 17:14:07 -04:00
jacob.eva
063ea2bb7a
Remove match and therefore dependency on Python 3.10 2024-09-03 22:12:25 +01:00
jeremy
625db2622d Pushing changes to branch 2024-09-03 17:09:59 -04:00
jeremy
65a40aefb6 trying to get techo working 2024-09-03 01:57:07 -04:00
jacob.eva
5feb833573
Add RNodeMultiInterface 2024-08-19 08:19:42 +01:00
jacob.eva
60e6b712d2
Update minimum SF 2024-08-19 08:19:32 +01:00
Mark Qvist
3ef6c06b51 Fixed incorrect TX power limit on Android 2024-05-22 12:40:21 +02:00