Commit Graph

1242 Commits

Author SHA1 Message Date
Will Greenberg 8d8099f66b Remove Mac UL/DL message support
These weren't parsing correctly despite the parser seemingly matching
SCATs, so disable these for now. They weren't being used for anything
yet, anyway.
2026-06-25 07:38:37 -07:00
Will Greenberg 7831c5085e If a Message isn't convertable to GSMTAP, don't try
This also removes the pseudo GSMTAP packets added for measurement
results, since they add a ton of noise to PCAPs. Eventually, we should
keep track of the latest signal for a given PCI, and annotate actual
packets with that value.
2026-06-25 07:36:23 -07:00
Will Greenberg 956b719e12 hardcode build_log_mask_request() unit test input
Instead of having to change the expected value every time we add a log
type to our list, let's just hardcode it to a known value.
2026-06-24 16:17:31 -07:00
Will Greenberg 73bcb05a0b rm unimplemented diag message format 2026-06-24 15:52:08 -07:00
Will Greenberg 6c8b6ec64f run cargo fmt 2026-06-24 12:43:29 -07:00
Will Greenberg 63ea5df6f7 appease clippy 2026-06-24 12:42:58 -07:00
Will Greenberg 2d63fc00c7 add more comments 2026-06-24 12:42:58 -07:00
Will Greenberg 2927f791e4 cleanups from rebase 2026-06-24 12:42:58 -07:00
Will Greenberg ec5b306311 refactors/tweaks 2026-06-24 12:42:58 -07:00
Will Greenberg a5c86bc408 run cargo fmt 2026-06-24 12:42:58 -07:00
Will Greenberg 338d41dceb lib: serialize MAC RACH attempts to GSMTAP
This also refactors the gsmtap code into a neater module, and adds MAC
UL & DL logs to our diag capture.
2026-06-24 12:42:55 -07:00
Will Greenberg 759b2ea4c5 run cargo fmt 2026-06-24 12:40:03 -07:00
Will Greenberg a51cafbb14 lib/diag/diaglog: add MAC parsing for RACH attempts
This adds a deku parser for MAC RACH packets, along with some unit tests
adapted from SCAT's parser.
2026-06-24 12:39:11 -07:00
Will Greenberg ddc39cf516 Update diag log mask for new messages 2026-06-24 12:39:11 -07:00
Will Greenberg 66d83ea575 trim test case
These measurement packets are of a fixed length, and the SCAT test case
had excess data
2026-06-24 12:39:11 -07:00
Will Greenberg 0028847b73 lib/gsmtap_parser: downgrade unsupported log to debug msg
Previously this was an error message to help underscore when a device
was sending unexpected messages, but now that we're receiving
measurement logs which have no place in GSMTAP frames, it's expected to
skip some log messages.
2026-06-24 12:39:11 -07:00
Will Greenberg 6fec428c5b lib/diag: add ML1 Neighbor cell measurement
This adds support for Neighboring Cells Measurements, and makes some
minor changes to Serving Cell Measurements.
2026-06-24 12:39:10 -07:00
Carlos Guerra 11b6af96c7 format fixes for linters to be happy 2026-06-24 12:37:38 -07:00
Carlos Guerra 76c2039556 addressing review comments: minor refactor for optimization, and correction of rrc_rel size 2026-06-24 12:37:37 -07:00
Carlos Guerra c424902560 linting and polishing for PR 2026-06-24 12:35:29 -07:00
Carlos Guerra 8f03ad8f4a Collect signal strength and timing advances. LTE serving cell measurements (0xb17f) and RACH Timing Advance (0xb062) 2026-06-24 12:32:11 -07:00
Will Greenberg 68ba2ab625 run cargo fmt 2026-06-24 12:25:56 -07:00
Will Greenberg 38f476b664 lib: refactor gsmtap/gsmtap_parser into a single module
This'll allow us to break out more specific GSMTAP parsing into
submodules more easily.
2026-06-24 12:24:01 -07:00
Will Greenberg cae056d959 lib/diag.rs refactor
This splits diag.rs, which was growing way too big for my taste, into a
number of submodules. This should help us compartmentalize tests better,
as well as use mod namespaces to shorten our struct/enum names.
2026-06-24 12:19:11 -07:00
Will Greenberg 9627cec737 Refactors in response to review comments
A few minor refactors, and a more major one that renames
RecordingStore's update_entry_qmdl_size to
update_current_entry_qmdl_size, since the only time we're ever updating
an entry's QMDL size is when it's the current one.
2026-06-22 19:40:54 -07:00
Will Greenberg 10f560b5e4 more clippy appeasement 2026-06-22 19:40:54 -07:00
Will Greenberg 88d2725427 fix clippy 2026-06-22 19:40:54 -07:00
Will Greenberg 76ae8fccd9 run cargo fmt 2026-06-22 19:40:54 -07:00
Will Greenberg 94b989c3c0 Add support for compressed QMDL
Major changes:
* QmdlWriter now outputs gzipped QMDL files by default
* QmdlReader renamed to QmdlMessageReader, and reads both compressed and
  uncompressed QMDL. It no longer requires bounding to avoid reading
  partially written files.
2026-06-22 19:40:54 -07:00
Brad Warren f5a0cddc88 improve basic logging 2026-06-18 15:25:12 -07:00
Brad Warren 2702ee0828 add basic logging
Co-authored-by: Will Greenberg <ifnspifn@gmail.com>
2026-06-18 15:25:12 -07:00
Brad Warren 58338850dd move comment to better location 2026-06-18 15:25:12 -07:00
Brad Warren d122ce6e6d convert introspect::Argument::new to ::try_new 2026-06-18 15:25:12 -07:00
Brad Warren 9280067e31 better document the effect of arg_modifiers order 2026-06-18 15:25:12 -07:00
Brad Warren 3b3532d3fd add modifiers.rs 2026-06-18 15:25:12 -07:00
Brad Warren 30c4cb0e0c add basic rayhunter_options endpoint 2026-06-18 15:25:12 -07:00
Deven Ducommun 17a9dfe0ff fix(parsing): mask EARFCN to 14 bits to prevent GSMTAP serialization panic
LTE EARFCNs can exceed the 14-bit GSMTAP ARFCN field maximum (16383),
causing Deku to panic with "bit size of input is larger than bit
requested size: 16 exceeds 14". This broke pcap generation for
international captures (e.g. UK, Switzerland).

Mask the value to 14 bits per the GSMTAP spec instead of panicking.

Fixes #1012, fixes #945

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-17 11:28:23 -07:00
dependabot[bot] b3f63864ad Bump vite in /daemon/web in the security group across 1 directory
Bumps the security group with 1 update in the /daemon/web directory: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 8.0.10 to 8.0.16
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v8.0.16/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 8.0.16
  dependency-type: direct:development
  dependency-group: security
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-16 10:29:37 -07:00
dependabot[bot] cfefa3c901 Bump vite in /installer-gui in the security group across 1 directory
Bumps the security group with 1 update in the /installer-gui directory: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 8.0.9 to 8.0.16
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v8.0.16/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 8.0.16
  dependency-type: direct:development
  dependency-group: security
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-16 10:29:11 -07:00
Brad Warren ce821b825f add set_versions.sh 2026-06-12 15:52:01 -07:00
Brad Warren 772dac681e run everything on tag pushes 2026-06-12 15:50:17 -07:00
Brad Warren 2df331a0bc run the release when the tag is pushed 2026-06-12 15:50:17 -07:00
Deven Ducommun 0a1dce3215 fix(daemon): drain UI channel in headless mode to prevent panic
On PinePhone (headless display), the UI update receiver was dropped
immediately, causing sends from diag.rs to fail with SendError and
panic. Spawn a task that drains the channel until shutdown.

Fixes #657

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-10 11:06:34 -07:00
KAI Maintainer 2df31300e3 fix(installer): improve error message when port 4000 is already in use
Replace .unwrap() on TcpListener::bind with .with_context() so users
see a clear message about the port conflict instead of a panic.

Fixes #906
2026-06-10 00:11:43 +02:00
Brad Warren fbd8110be9 remove another instance of outdated docs 2026-05-29 13:17:32 -07:00
Brad Warren e17842c1b9 bump versions to 0.11.2 v0.11.2 2026-05-28 09:27:46 -07:00
Markus Unterwaditzer 754faf10d9 Remove redundant helper functions 2026-05-27 18:51:32 +02:00
Markus Unterwaditzer 4bad8356ac Refactor record deletion to use FileKind 2026-05-27 18:51:32 +02:00
Markus Unterwaditzer 7aaa7e589e Fix similar bug in zip download, also use FileKind there 2026-05-27 18:51:32 +02:00
Markus Unterwaditzer e3e84a0185 Fix WebDAV not uploading GPS files
When merging WebDAV and GPS features, we forgot to update the WebDAV
feature to also upload the GPS files.

WebDAV had hardcoded knowledge of which files exist and its own FileKind
enum. Move the FileKind enum into QMDL store so that webdav can be
agnostic over which files belong to a recording, so this is less likely
to happen again.

(This refactor was AI-assisted)
2026-05-27 18:51:32 +02:00