68 lines
3.8 KiB
Markdown
68 lines
3.8 KiB
Markdown
---
|
||
title: Project CPE Glossary
|
||
type: curated
|
||
permalink: main/projects/4f53c06a-c6c3-40ec-b2fc-5f019ea45fc0/curated/project-cpe-glossary
|
||
stable_id: c78e3afc-4da6-4358-8901-c96c647b71d5
|
||
scope: project
|
||
project_id: 4f53c06a-c6c3-40ec-b2fc-5f019ea45fc0
|
||
workspace_type: development
|
||
usage_profile_id: null
|
||
preference_context: development
|
||
document_type: glossary
|
||
revision: 1
|
||
source_memory_ids: []
|
||
source_checkpoint_ids: []
|
||
source_file_ids: []
|
||
source_git_commit: de28dc8246094e2bc17cab7c764fb4d4a2da71e0
|
||
source_git_commits:
|
||
- de28dc8246094e2bc17cab7c764fb4d4a2da71e0
|
||
source_agent_sync_ids: []
|
||
model_connection: Sub2API
|
||
model_name: git-restore
|
||
source_count: 188
|
||
source_revisions: {}
|
||
source_dispositions:
|
||
processed: 188
|
||
unchanged: 0
|
||
unsupported: 0
|
||
skipped: 0
|
||
cited_source_ids: []
|
||
job_cited_source_ids: []
|
||
conflicts: []
|
||
supersedes: []
|
||
preferences: []
|
||
source_cursor: 87
|
||
source_hash: 96f0e4026558c8a03161f53b392fcec7359d4d701c4f33576b44e2f308b0ec5a
|
||
prompt_version: 2026-08-12.3
|
||
schema_version: '3'
|
||
curation_job_id: null
|
||
created_at: '2026-08-19T18:49:35.064057+00:00'
|
||
updated_at: '2026-09-23T14:54:57.353100+00:00'
|
||
tags:
|
||
- glossary
|
||
- definitions
|
||
- project‑cpe
|
||
restored_from_commit: 6a6a895eafcca6052e81a14fca103a42635dd1c2
|
||
---
|
||
|
||
## Glossary
|
||
|
||
| Term | Definition |
|
||
|------|------------|
|
||
| **OTA** | Over‑The‑Air update package containing the backend binary, the compiled front‑end `www/` assets and the FRPC client. Packaged as `udx710-ota-{VERSION}.tar.gz` with a `meta.json` manifest (version, commit, checksums, architecture). |
|
||
| **FRPC** | Fast Reverse Proxy client (v0.70.1) bundled with the OTA. Used to expose services from the device to a remote server. Managed by `backend/src/state.rs` (install, config render, start/stop, log rotation). |
|
||
| **DBus / ofono** | Linux D‑Bus interface to the modem stack, provided by the `ofono` daemon. The project communicates via the `zbus` crate, wrapping interfaces such as `MessageManager`, `VoiceCallManager`, etc. |
|
||
| **Serial AT lock** | Global mutex (`DBUS_LOCK`) that serialises all AT commands and DBus calls to avoid `org.ofono.Error.InProgress`. Implemented in `backend/src/serial.rs` and used via `with_serial`. |
|
||
| **USB Gadget Hot‑Switch** | Runtime re‑configuration of the USB‑OTG gadget (NCM, ECM, RNDIS) using configfs. Implemented in `backend/src/usb_switch.rs`. Persistent mode stored in `/mnt/data/mode.cfg`. |
|
||
| **Band‑mask** | Bit‑mask representation of LTE/NR carrier bands. Mapping is hardware‑specific (Rockchip/Unisoc) and handled by utility functions in `backend/src/utils.rs`. |
|
||
| **Vite** | Front‑end build tool (v7) used to compile the React 19 source into a static `dist/` directory. |
|
||
| **MUI** | Material‑UI React component library (v7) providing theming and UI widgets. |
|
||
| **TanStack Query** | Data‑fetching library (`@tanstack/react-query` v5) used for API calls with caching and background refetch. |
|
||
| **Vaultwarden** | Self‑hosted Bitwarden compatible password manager; the sole source of stored secrets for this project. |
|
||
| **UPX** | Optional executable compressor used in the CI pipeline to shrink the backend binary size. |
|
||
| **CORS** | Cross‑Origin Resource Sharing configuration; currently set to allow any origin (`*`). |
|
||
| **CI pipeline** | GitHub Actions workflow (`.github/workflows/build-ota.yml`) that builds backend and frontend, optionally compresses binaries, creates OTA tarball, verifies checksums, and uploads artifacts. |
|
||
| **Refresh interval** | UI polling frequency controlled via `RefreshContext`; default 5 s, adjustable through the Top‑Bar menu. |
|
||
| **InitScript** | Device initialization shell script (`init.sh`) editable via the UI; static analysis warns about syntax issues and potentially dangerous commands. |
|
||
|
||
All definitions are extracted directly from the evidence (see source IDs in the surrounding documents). |