chore: 导入旧记忆备份供恢复
This commit is contained in:
+105
@@ -0,0 +1,105 @@
|
||||
---
|
||||
title: Common Issues & Remedies
|
||||
type: curated
|
||||
permalink: main/projects/4f53c06a-c6c3-40ec-b2fc-5f019ea45fc0/curated/development/common-issues-remedies
|
||||
stable_id: b74934b7-77c3-4cbc-acd6-f6f7d8dc350e
|
||||
scope: project
|
||||
project_id: 4f53c06a-c6c3-40ec-b2fc-5f019ea45fc0
|
||||
workspace_type: development
|
||||
usage_profile_id: null
|
||||
preference_context: development
|
||||
document_type: troubleshooting
|
||||
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: openai/gpt-oss-120b
|
||||
source_count: 188
|
||||
source_revisions: {}
|
||||
source_dispositions:
|
||||
processed: 188
|
||||
unchanged: 0
|
||||
unsupported: 0
|
||||
skipped: 0
|
||||
cited_source_ids:
|
||||
- git:backend/src/handlers.rs
|
||||
- git:backend/src/dbus.rs
|
||||
- git:backend/src/iptables.rs
|
||||
- git:backend/src/usb_switch.rs
|
||||
job_cited_source_ids:
|
||||
- git:backend/src/handlers.rs
|
||||
- git:backend/src/dbus.rs
|
||||
- git:backend/src/iptables.rs
|
||||
- git:backend/src/usb_switch.rs
|
||||
conflicts: []
|
||||
supersedes: []
|
||||
preferences: []
|
||||
source_cursor: 87
|
||||
source_hash: 96f0e4026558c8a03161f53b392fcec7359d4d701c4f33576b44e2f308b0ec5a
|
||||
prompt_version: 2026-08-12.3
|
||||
schema_version: '3'
|
||||
curation_job_id: a9f69899-ee39-4900-b39a-a54d737f9614
|
||||
created_at: '2026-08-19T18:49:42.050675+00:00'
|
||||
updated_at: '2026-08-19T18:49:42.051299+00:00'
|
||||
tags:
|
||||
- troubleshooting
|
||||
- issues
|
||||
- solutions
|
||||
---
|
||||
|
||||
## 1. Concurrent AT / DBus Commands → `org.ofono.Error.InProgress`
|
||||
- **Cause**: Overlapping AT commands sent to ofono.
|
||||
- **Solution**: Use the global serial lock (`with_serial`) provided in `backend/src/serial.rs`. All AT‑related paths in `dbus.rs` and `handlers.rs` already wrap calls with this lock.
|
||||
- **Reference**: `git:backend/src/dbus.rs`.
|
||||
|
||||
## 2. Stale iptables Rules After Crash
|
||||
- **Cause**: Crash leaves NAT/iptables rules active.
|
||||
- **Solution**: `iptables_watchdog` (started after a 5 s delay) periodically flushes iptables. Ensure `flush_iptables()` is invoked before any data‑connection change.
|
||||
- **Reference**: `git:backend/src/iptables.rs`.
|
||||
|
||||
## 3. OTA Package Corruption
|
||||
- **Cause**: Missing files, wrong architecture, or checksum mismatch.
|
||||
- **Solution**: Run `validate_ota_package()` (in `backend/src/ota.rs`) before install. The CI pipeline also validates checksums via `scripts/pack-ota.sh`.
|
||||
- **Reference**: `memory:e92dbe0b…`.
|
||||
|
||||
## 4. Missing Authentication on AT Gateway
|
||||
- **Cause**: `/api/at` endpoint is unauthenticated.
|
||||
- **Remedy**: Implement token‑based auth or whitelist allowed AT commands.
|
||||
- **Reference**: `git:backend/src/handlers.rs` (open issue).
|
||||
|
||||
## 5. Sensitive Fields Redacted
|
||||
- **Cause**: APN passwords, FRPC tokens stored as `[REDACTED]`.
|
||||
- **Remedy**: Integrate secure storage (Vaultwarden or encrypted file) and expose UI controls for entry.
|
||||
- **Reference**: `git:backend/src/config.rs`, `git:frontend/src/pages/Network.tsx`.
|
||||
|
||||
## 6. USB Hot‑Switch Instability
|
||||
- **Cause**: Re‑configuring configfs gadget may fail, leaving the device without USB networking.
|
||||
- **Remedy**: Use the `switch_usb_mode_advanced` routine; if it fails, fallback to a reboot. Mark the UI option as experimental.
|
||||
- **Reference**: `git:backend/src/usb_switch.rs`.
|
||||
|
||||
## 7. Band‑Mask Mismatch
|
||||
- **Cause**: UI allows bands unsupported by hardware; backend rejects silently.
|
||||
- **Remedy**: Capture the backend error response and display it in the UI; validate band selections before sending.
|
||||
- **Reference**: `git:frontend/src/pages/Network.tsx`.
|
||||
|
||||
## 8. FRPC Log Growth
|
||||
- **Cause**: Logs grow beyond 512 KB without rotation.
|
||||
- **Remedy**: Adjust `log_rotation_size` in `state.rs` or enable compression.
|
||||
- **Reference**: `git:backend/src/state.rs`.
|
||||
|
||||
## 9. CORS Wide Open
|
||||
- **Cause**: Development CORS set to `*`.
|
||||
- **Remedy**: Restrict allowed origins in production (`main.rs`). Add environment‑specific configuration.
|
||||
- **Reference**: `git:backend/src/main.rs`.
|
||||
|
||||
## 10. No Unit Tests
|
||||
- **Cause**: Repository lacks test suites.
|
||||
- **Remedy**: Add Rust unit tests for utilities (`utils.rs`) and Jest/RTL tests for frontend components.
|
||||
- **Reference**: Various source files.
|
||||
|
||||
*Each troubleshooting entry is traceable to its source ID as indicated.*
|
||||
Reference in New Issue
Block a user