mirror of
https://github.com/liquidraver/ZephCore.git
synced 2026-10-23 13:12:26 +00:00
wifi stall fix
This commit is contained in:
1 parent
54d708401e
commit
d2f65687ef
3 files changed
+6
-1
No files matched your search
@@ -1405,5 +1405,5 @@ Timeouts and deadlines that are watchdogs in everything but name:
|
||||
| CAD timeout | `Dispatcher::checkSend()` | 4 s (~20 retry attempts) → `ERR_EVENT_CAD_TIMEOUT` + `recoverRxState()`, rather than falling through to TX. See [5.2.2](#522-cad-timeout-recovery). |
|
||||
| Chip-side TX timeout | SX126x `SetTx` deadline (`patch 0003`, "Scale the chip-side Tx timeout from airtime instead of a fixed 10 s"; airtime +25% +500 ms, floored at 10 s, clamped 262143 ms); LR2021 `TIMEOUT` IRQ handler | The chip stops the transmission when this fires, so a fixed value is a truncation, not a safeguard — at SF12/BW62.5 the old flat 10 s cut every packet from 76 bytes up. |
|
||||
| Serial partial-frame resync | `ZephyrCompanionUSB.cpp` (`USB_FRAME_TIMEOUT_MS`) | 2 s. Parser-level only — deliberately **not** a session or idle timeout; an idle-but-connected companion sits in `RX_IDLE` indefinitely. |
|
||||
| TCP send timeout | `TcpCompanionTransport.c` | Native Linux and WiFi companions. A peer that can't accept a frame in the window is wedged → close it, rather than hang the whole queue. |
|
||||
| TCP send timeout | `TcpCompanionTransport.c` (`TX_SEND_TIMEOUT_SEC`, `SO_SNDTIMEO`) | 2 s per send. Native Linux and WiFi companions. A peer that can't accept a frame in the window is wedged → close it, rather than hang the whole queue. Needs `CONFIG_NET_CONTEXT_SNDTIMEO`, which `ZEPHCORE_TRANSPORT_TCP` selects; before 1.18.1 it was off, the option silently failed and sends waited up to 10 s per attempt (`NET_SOCKET_MAX_SEND_WAIT`). |
|
||||
| Bounded RXTO wait | `patches/zephyr/0010-uarte-pm-suspend-bounded-rxto-wait.patch` | `uarte_pm_suspend()` busy-waits for RXTO with no timeout upstream. Landing in the STOPRX race with bytes in flight spins forever on the main thread and wedges the entire mesh (observed: RAK3401 1W repeater on 1.16.6, CLI answering only `-> busy`). Backstop for the GPS UART PM path in [7.3](#73-gps-adaptersgps). |
|
||||
@@ -24,6 +24,10 @@ becomes 5).
|
||||
|
||||
## Other changes
|
||||
|
||||
- **WiFi companions no longer freeze when the app stops reading.** If an app connected over WiFi
|
||||
stopped reading (for example in the middle of a contact sync), the node could stop answering on
|
||||
USB, Bluetooth and WiFi, and stay stuck as long as that connection stayed open. The node now
|
||||
drops such a connection after 2 seconds, and the app can reconnect.
|
||||
- **`set leds.hb off` and `hb` now also stop the message blink.** Before, a node with the heartbeat
|
||||
LED off still flashed on every DM and channel message. `set leds on` with `set leds.hb off` now keeps
|
||||
a T1000-E dark in use while it still blinks three times when you switch it off with the buzzer muted;
|
||||
|
||||
@@ -461,6 +461,7 @@ menu "Companion TCP Transport"
|
||||
config ZEPHCORE_TRANSPORT_TCP
|
||||
bool "Companion over a TCP socket"
|
||||
default n
|
||||
select NET_CONTEXT_SNDTIMEO
|
||||
help
|
||||
Serve the companion protocol over TCP (TcpCompanionTransport), as one
|
||||
more interface in the MultiSerialInterface beside BLE and USB: the
|
||||
|
||||
Reference in new issue
Block a user