Skip to content

[RAK3401/RAK13302] Intermittent RX/TX failure (error 4) — possible GPS Slot D conflict? #3738

Open

Description

@Seeker1028

Description

I'm experiencing a reproducible radio failure with two new RAK3401 + RAK13302 (1W) MeshCore repeaters running the official v1.18.0 firmware.

Both units appear to initialize and operate normally through the serial CLI but fail to transmit or receive packets. The radio consistently reports errors:4 (ERR_EVENT_STARTRX_TIMEOUT), with zero completed transmissions or receptions.

Downgrading one unit to the official v1.17.1 firmware immediately restored normal RX/TX operation. The repeater is now successfully communicating with nodes at considerable distances.

Neither unit had previously run any MeshCore firmware other than v1.18.0 before this troubleshooting.

Hardware

Both units have similar configurations:

  • Baseboard: RAK19007
  • MCU: RAK3401 (nRF52840)
  • LoRa module: RAK13302 (1W, SX1262)
  • GPS: RAK WisBlock GPS module installed
  • Sensors: WisBlock temperature/humidity sensor installed
  • Bootloader: 0.9.2-OTAFIX2.3-BP1.4 (confirmed on tested unit)
  • Power: Battery and external power; battery readings approximately 4.08–4.15V

Affected firmware

  • Version: v1.18.0-81dbae5
  • Build date: October 15, 2026
  • Board: RAK 3401
  • Firmware: Official, unmodified repeater build

Radio configuration

get radio
  -> 911.0,62.5,7,5

get tx
  -> 22

get radio.rxgain
  -> on

get cad
  -> off

get int.thresh
  -> 0

powersaving
  -> off

Symptoms on v1.18.0

The serial CLI responds normally, but no packets are successfully transmitted or received.

Example after reboot, at 58 seconds uptime:

stats-core
  -> {"battery_mv":4086,"uptime_secs":58,"errors":4,"queue_len":1}

stats-radio
  -> {"noise_floor":0,"last_rssi":0,"last_snr":-20.00,"tx_air_secs":0,"rx_air_secs":0}

stats-packets
  -> {"recv":0,"sent":0,"flood_tx":0,"direct_tx":0,"flood_rx":0,"direct_rx":0,"recv_errors":0}

The following behavior was observed:

  • Error flag 4 repeatedly appears shortly after boot, even without manually initiating transmissions.
  • Packet counters remain at zero.
  • The noise floor normally reports 0.
  • Outbound queue length sometimes increases without completed transmissions.
  • advert.zerohop returns OK - zerohop advert sent, but the sent counter remains at zero after allowing time for transmission.
  • Occasionally, plausible RSSI/SNR values appear (e.g., -73 dBm / +14.5 dB), despite no packets being counted.

Troubleshooting performed

  1. Verified correct board identification and radio configuration.
  2. Rebooted repeatedly; error 4 returned shortly after startup.
  3. Cleared statistics and attempted zero-hop advertisements; no successful TX.
  4. Disabled periodic AGC resets using set agc.reset.interval 0; no improvement.
  5. Confirmed power saving was disabled.
  6. Confirmed adequate reported battery voltage.
  7. Observed similar RX/TX failure behavior on a second new RAK3401/RAK13302 repeater running the same v1.18.0 firmware.

Successful workaround: Downgrade to v1.17.1

Flashed the official v1.17.1 repeater firmware onto one affected unit, retaining the same hardware, bootloader, and radio settings.

Firmware information:

ver
  -> v1.17.1-d929643 (Build: 14-Aug-2026)

board
  -> RAK 3401

get radio
  -> 911.0,62.5,7,5

Diagnostics approximately 70 seconds after boot:

stats-core
  -> {"battery_mv":4151,"uptime_secs":70,"errors":0,"queue_len":0}

stats-packets
  -> {"recv":3,"sent":1,"flood_tx":0,"direct_tx":1,"flood_rx":3,"direct_rx":0,"recv_errors":0}

stats-radio
  -> {"noise_floor":-112,"last_rssi":-6,"last_snr":12.00,"tx_air_secs":0,"rx_air_secs":1}

The repeater is now working correctly. Its RF transmissions have been independently confirmed by other nodes over considerable distances.

The second unit has not yet been confirmed working with the older firmware.

Expected behavior

RAK3401 + RAK13302 repeaters should initialize the SX1262 radio, enter receive mode, and transmit normally using the official v1.18.0 firmware.

Actual behavior

With v1.18.0, both new units exhibit radio communication failures. Error flag 4 repeatedly appears, and the radio fails to record completed TX/RX operations.

Downgrading one unit to v1.17.1 resolves the issue.

Possible areas to investigate

Given that the affected hardware works with v1.17.1, this appears to be a firmware regression or firmware-dependent initialization issue introduced between v1.17.1 and v1.18.0.

Potential areas worth examining:

  • SX1262 RX initialization and state transitions
  • RAK13302 amplifier/front-end power initialization
  • RAK3401 GPIO/DIO1 interrupt handling
  • Interactions between GPS/sensor initialization and radio control
  • Changes in radio driver behavior between the two versions

There were previous RAK3401 GPS/amplifier-related changes:

I don't know whether those changes are related to this issue, but they may be worth reviewing.

I have not modified or debugged the firmware source. All testing has been performed using official firmware builds and the standard serial CLI.

The successful v1.17.1 downgrade provides a working baseline for comparison.

Activity

  1. changed the title [-][RAK3401/RAK13302] v1.18.0 regression: RX/TX failure (error 4), resolved by downgrading to v1.17.1[/-] [+][RAK3401/RAK13302] Intermittent RX/TX failure (error 4) — possible GPS Slot D conflict?[/+] on Oct 30, 2026
  2. Seeker1028 commented on Oct 30, 2026

    @Seeker1028
    Author

    Update — Additional testing and possible GPS conflict

    I have some important new findings that change my original assessment.

    The problem is NOT exclusive to v1.18.0. After downgrading to v1.17.1, the repeater initially operated normally, transmitting and receiving successfully. However, after 40 minutes, it stopped communicating and returned to the same failure state observed under v1.18.0.

    Diagnostic output from v1.17.1 after the failure:

    stats-core
      -> {"battery_mv":4167,"uptime_secs":687,"errors":4,"queue_len":1}
    
    stats-packets
      -> {"recv":0,"sent":0,"flood_tx":0,"direct_tx":0,"flood_rx":0,"direct_rx":0,"recv_errors":0}
    
    stats-radio
      -> {"noise_floor":0,"last_rssi":0,"last_snr":-20.00,"tx_air_secs":0,"rx_air_secs":0}
    

    The processor continued running normally, but the radio stopped transmitting and receiving. Attempts to generate a zero-hop advertisement were unsuccessful.

    Possible cause: GPS module in Slot D

    Both affected RAK19007 builds have the following hardware:

    • RAK3401
    • RAK13302 1W LoRa module
    • RAK GPS module installed in Slot D
    • Temperature/humidity sensor
    • OTAFIX bootloader

    I've since learned that the RAK13302's SX1262 radio-control signals may conflict with signals exposed on Slot D.

    I have now physically removed the GPS module from one repeater while leaving the temperature/humidity sensor installed.

    Initial results without GPS are promising: the repeater is operating normally so far. However, testing is still ongoing, and I have not yet established whether removing the GPS permanently resolves the problem.

    I'll update this issue again after extended testing.

    At this point, this appears to be a possible hardware pin-assignment or peripheral-initialization compatibility issue rather than a regression specific to v1.18.0.

    I'd appreciate confirmation from the developers about whether the RAK3401 + RAK13302 combination officially supports a GPS module installed in Slot D on the RAK19007.

  3. Seeker1028 commented on Oct 30, 2026

    @Seeker1028
    Author

    Update — Root cause strongly indicated: RAK12500 GNSS in Slot D

    After extensive troubleshooting, I believe I've isolated the cause of the RX/TX failures on my RAK3401 + RAK13302 (1W) repeaters.

    With the RAK12500 GNSS module physically removed from Slot D, my repeater has operated all day on official MeshCore v1.18.0 without a single error or communication failure.

    Previously, with the RAK12500 installed, both v1.17.1 and v1.18.0 developed errors:4 (ERR_EVENT_STARTRX_TIMEOUT), stopped transmitting and receiving, and reported zero packet activity.

    Additional observations

    • RX/TX now operate normally on v1.18.0.
    • No further error 4 events after extended operation.
    • Packet transmission, reception, and forwarding are functioning correctly.
    • Serial CLI commands respond noticeably faster with the RAK12500 removed.
    • The temperature/humidity sensor remains installed.
    • The OTAFIX bootloader remains unchanged (0.9.2-OTAFIX2.3-BP1.4).
    • Firmware and radio settings are otherwise unchanged.

    Suspected hardware pin conflict

    The RAK3401 firmware defines:

    • P0.09 (WB_IO5) = SX1262 BUSY
    • P0.10 (WB_IO6) = SX1262 DIO1 interrupt

    On the RAK19007, Slot D exposes these same signals, which are used by the RAK12500 GNSS module for PPS and reset functions.

    This appears to create a direct pin conflict between the RAK12500 GNSS module and the RAK13302 SX1262 radio.

    Firmware reference:
    https://github.com/meshcore-dev/MeshCore/blob/81dbae5/variants/rak3401/variant.h

    Corrected conclusion

    My original conclusion that this was specifically a v1.18.0 regression was incorrect.

    Both firmware versions exhibited the failure with the RAK12500 installed. Downgrading to v1.17.1 temporarily restored operation, but the radio eventually stopped communicating again.

    After removing the RAK12500, v1.17.1 operated without errors for over 30 minutes. I subsequently upgraded back to v1.18.0, which has now operated continuously throughout the day without errors.

    This strongly suggests a hardware pin-assignment or peripheral compatibility issue involving the RAK12500 in Slot D, rather than a firmware regression.

    Recommendation

    I recommend documenting this potential incompatibility for users combining the RAK3401, RAK13302, and RAK12500 on the RAK19007 baseboard.

    It would also be helpful to determine whether the RAK12500 can be supported through alternative pin assignments or another hardware configuration.

    I have a second RAK3401/RAK13302 repeater with the same hardware configuration and similar symptoms. Testing on that unit remains to be completed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions