EVK-X20P: UBX-RXM-RAWX stops after ~2–3 minutes while NAV/SFRBX continue

We are experiencing a repeatable UBX-RXM-RAWX output failure on one EVK-X20P and would appreciate advice on whether this could be a firmware issue or defective hardware.

Setup

  • EVK-X20P-00 / ZED-X20P

  • Hardware: 000B0000

  • Firmware: HPG 2.02 (43e74c)

  • Protocol: 50.10

  • Connection: EVK USB-C to Linux/Raspberry Pi (/dev/ttyACM0)

  • Measurement rate: 2 Hz

  • UBX-RXM-RAWX and UBX-RXM-SFRBX enabled

  • Supplied active all-band EVK antenna

We use essentially the same configuration procedure on three EVK-X20P units, but only this unit consistently shows the problem.

Failure

After a power cycle, RAWX starts normally.

Latest capture:

  • 296 consecutive RAWX messages

  • Exactly 2.0000 Hz

  • 100% of intervals = 0.500 s

  • Continuous RAWX span = 147.5 s

  • No missing epochs before the failure

  • Populated RAWX messages are approximately 2.4–2.9 kB

  • After 147.5 s, RAWX stops completely and does not resume

A previous capture showed the same behavior after 271 RAWX messages / 135 s, so the cutoff is repeatable but not at an identical elapsed time.

Importantly, the receiver itself continues operating after RAWX stops:

  • UBX-RXM-SFRBX continues

  • UBX-NAV-PVT and other NAV messages continue

  • Receiver maintains a 3D fix with ~27–28 satellites

  • No USB disconnect occurs

  • The host continues receiving valid UBX messages

Immediately after RAWX stops, the RAM configuration still reports:

CFG-MSGOUT-UBX_RXM_RAWX_USB = 1
CFG-MSGOUT-UBX_RXM_SFRBX_USB = 1
CFG-RATE-MEAS = 500
CFG-RATE-NAV = 1

Rewriting CFG-MSGOUT-UBX_RXM_RAWX_USB = 1 does not restore RAWX. Restarting the host-side logger also does not restore it. A power cycle reliably restores RAWX, but only temporarily.

We have also reset/restarted the EVK and reapplied the configuration, but the behavior remains.

Important comparison

There is a strong dependency on whether RAWX contains actual observations.

Without an antenna connected:

  • RAWX contains numMeas = 0

  • Payload is only 16 bytes

  • Receiver ran for one full hour

  • Exactly 7,200 RAWX messages at 2 Hz

  • No interruption

With the supplied active antenna outdoors:

  • Approximately 76–90 observations per RAWX epoch

  • RAWX payload approximately 2.4–2.9 kB

  • RAWX stops after roughly 2–3 minutes

  • Other UBX messages and navigation continue normally

This makes us suspect an issue related to populated RAWX generation/output rather than a general USB or receiver failure.

Questions

  1. Is this a known issue with HPG 2.02 on ZED-X20P / hardware 000B0000?

  2. Is there a newer or recommended firmware version for this hardware?

  3. For the EVK USB-C connection, should RAWX output be controlled by the *_USB CFG-MSGOUT keys, or should *_UART1 keys be used?

  4. Are there diagnostic messages you recommend capturing around the failure, such as MON-TXBUF, MON-HW, MON-RF, or MON-MSGPP?

  5. Is there a supported command/reset that can restart RAWX generation without power-cycling the EVK?

  6. Given that the same configuration is used on three EVK-X20P units and only this unit consistently fails, could this indicate a defective receiver/evaluation kit?

We can provide the original binary UBX captures from both the failing outdoor test and the one-hour no-antenna test, complete MON-VER output, configuration dumps, and host-side logs.

Hello,

Welcome to the TechForum!

We are looking into this issue, if you have any other details, please add them to this.

Thank you
Ryan

Thank you for your answer. Currently I handed over the X20P to a colleague of mine. The X2-P is connected to a Raspberry Pi 3B+ and only next week I will have access again to the RP (remotely) and can provide additional information. If you want… I can provide the configuration script I use to set up the X20P.

configure_zed_x20p_usb_raw_output.py (12.0 KB)

check_ubx_hz_health.py (13.1 KB)

  • configure_zed_x20p_usb_raw_output.py: enables UBX-RXM-RAWX and UBX-RXM-SFRBX on USB and sets the measurement rate.

  • log_gnss.py: records the raw byte stream from the receiver without filtering.

  • check_ubx_hz_health.py: checks RAWX cadence and reports if RAWX disappears while other UBX traffic continues.

Please run the same sequence twice: once with the antenna connected outdoors, and once with no antenna connected. On our failing unit, RAWX stops after about 2 to 3 minutes only when RAWX contains real observations.

  1. Install ubxtool if needed

sudo apt install gpsd-clients

  1. Configure the receiver for RAWX/SFRBX on USB at 2 Hz

python3 configure_zed_x20p_usb_raw_output.py --device /dev/ttyACM0 --hz 2 --verify-persistent

  1. Power-cycle the receiver

  2. Log the raw UBX stream for 10 minutes

python3 log_gnss.py --device /dev/ttyACM0 --output x20p_test.ubx --duration 600

  1. Analyze whether RAWX stayed continuous

python3 check_ubx_hz_health.py x20p_test*.ubx --expected-hz 2

he next message is the script for collecting the data.

log_gnss.py (2.4 KB)

This could not be sent in the previous message.

This strongly suggests a RAWX processing or buffering issue. Populated measurements trigger failure after several minutes. Zero-measurement RAWX runs continuously for one hour. USB transport and navigation remain functional afterward. Compare working and failing units using MON diagnostics. Check MON-TXBUF, MON-MSGPP, MON-HW, and MON-RF.