From 6f9873d47f0f2414942e793be02fcd95fd318283 Mon Sep 17 00:00:00 2001 From: Smittix Date: Sun, 8 Feb 2026 15:51:16 +0000 Subject: [PATCH] Parse grgsm_scanner stderr output (GNU Radio outputs data to stderr) grgsm_scanner (like many GNU Radio tools) writes scan results to stderr, not stdout. The stderr reader was only logging at debug level and discarding lines. Now feeds stderr into the parse queue. Also added info-level logging for all scanner output lines to aid debugging. Co-Authored-By: Claude Opus 4.6 --- routes/gsm_spy.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/routes/gsm_spy.py b/routes/gsm_spy.py index 4cacc2f..ba3b7ff 100644 --- a/routes/gsm_spy.py +++ b/routes/gsm_spy.py @@ -1252,7 +1252,9 @@ def scanner_thread(cmd, device_index): try: for line in iter(process.stderr.readline, ''): if line: - logger.debug(f"grgsm_scanner: {line.strip()}") + logger.debug(f"grgsm_scanner stderr: {line.strip()}") + # grgsm_scanner outputs scan results to stderr + output_queue_local.put(('stderr', line)) except Exception as e: logger.error(f"stderr read error: {e}") @@ -1279,6 +1281,7 @@ def scanner_thread(cmd, device_index): break # EOF last_output = time.time() + logger.info(f"Scanner [{msg_type}]: {line.strip()}") parsed = parse_grgsm_scanner_output(line) if parsed: