AW1000固件 - 最新版
5gcpe-AW1000-N-大分区-WebUi-V3.0-openwrt满血nss

这是一个为市面上成品 5G CPE 设备开发的高级后台管理系统项目。本项目旨在为现有的 5G CPE 设备提供更多高级功能和可玩性,让用户能够更好地控制和定制他们的 5G CPE 设备。
基于 Rust + Axum + zbus 的 5G/LTE 调制解调器后端服务,通过 ofono D-Bus 接口控制。
powered by Cursor Claude Opus 4.5 & Sonnet 4.5 & OpenAI GPT-5.1/5.2
欢迎pr 和 issue 看到后会尽快处理。
本项目仅供技术交流和学习使用,不得用于任何非法用途。任何使用本项目造成的任何后果,均与本项目无关,由使用者自行承担。
且目前测试通过的设备仅有:
其余设备由于缺少设备,本人未做测试,你如果手里有多余的设备,可尝试小心的尝试使用,但不提供任何 担保或保证。对设备的造成任何的损坏 本人不承担任何责任。
或者愿意捐献设备来测试,可联系我,我将在第一时间进行测试并更新本项目。
本项目采用 GNU General Public License v3.0 (GPLv3) 开源协议
鉴于目前大部分人对版权意识薄弱,特此声明
本项目采用 GPLv3 开源协议,您可以自由使用、研究、修改本软件,但必须保留所有版权声明和许可证声明,并且公开源代码,任何基于本项目的衍生作品也必须使用 GPLv3 协议。
# 交叉编译 (macOS -> Linux aarch64)
./scripts/build.sh
# 带 UPX 压缩
./scripts/build.sh --upx
cd frontend && npm run build
./scripts/deploy.sh
# 1. 安装 Rust
brew install rust rustup
rustup default stable
rustup target add aarch64-unknown-linux-musl
# 2. 安装交叉编译工具链
brew tap messense/macos-cross-toolchains
brew install aarch64-unknown-linux-musl
# 3. 验证
rustup target list --installed
which aarch64-unknown-linux-musl-gcc
| 接口 | 说明 |
|---|---|
org.ofono.Manager |
调制解调器管理 |
org.ofono.Modem |
Modem 属性和控制 |
org.ofono.NetworkRegistration |
网络注册状态 |
org.ofono.SimManager |
SIM 卡管理 |
org.ofono.ConnectionManager |
数据连接管理 |
org.ofono.VoiceCallManager |
语音通话管理 |
org.ofono.MessageManager |
短信管理 |
# 查看 Modem 属性
dbus-send --system --print-reply \
--dest=org.ofono /ril_0 org.ofono.Modem.GetProperties
# 查看网络状态
dbus-send --system --print-reply \
--dest=org.ofono /ril_0 org.ofono.NetworkRegistration.GetProperties
# 查看 SIM 卡信息
dbus-send --system --print-reply \
--dest=org.ofono /ril_0 org.ofono.SimManager.GetProperties
# 设置飞行模式
dbus-send --system --print-reply \
--dest=org.ofono /ril_0 org.ofono.Modem.SetProperty \
string:"Online" variant:boolean:false
# 发送 AT 指令
dbus-send --system --print-reply \
--dest=org.ofono /ril_0 org.ofono.Modem.SendAtcmd \
string:"AT+CGSN"
# 监听 ofono 发出的所有信号
dbus-monitor --system "sender='org.ofono'"
# 监听发给 ofono 的调用
dbus-monitor --system "destination='org.ofono'"
# 监听短信信号
dbus-monitor --system "interface='org.ofono.MessageManager'"
仅供参考 真实性有待考证,请以实际设备为准
| 频段 | 位掩码 | 说明 |
|---|---|---|
| B1 | 1 | FDD 2100MHz |
| B3 | 4 | FDD 1800MHz |
| B5 | 16 | FDD 850MHz |
| B8 | 128 | FDD 900MHz |
| B38 | 32 (TDD) | TDD 2600MHz |
| B40 | 128 (TDD) | TDD 2300MHz |
| B41 | 256 (TDD) | TDD 2500MHz |
| 频段 | 位掩码 | 说明 |
|---|---|---|
| N1 | 1 (FDD) | 2100MHz |
| N28 | 512 (FDD) | 700MHz |
| N41 | 16 (TDD) | 2500MHz |
| N77 | 128 (TDD) | 3700MHz |
| N78 | 256 (TDD) | 3500MHz |
| N79 | 512 (TDD) | 4500MHz |
# 查询当前 LTE 频段
AT+SPLBAND=0
# 查询当前 NR 频段
AT+SPLBAND=3
# 锁定 LTE B1+B3
AT+SPLBAND=1,0,0,0,0,5,0
# 锁定 NR N78
AT+SPLBAND=2,0,0,256,0
# 解锁所有频段
AT+SPLBAND=1,0,0,0,0,0,0
AT+SPLBAND=2,0,0,0,0
| 接口 | 方法 | 说明 |
|---|---|---|
/api/health |
GET | 健康检查 |
/api/device |
GET | 设备信息 (IMEI/ICCID/型号) |
/api/device/imeisv |
GET | 软件版本号 |
/api/sim |
GET | SIM 卡信息 |
/api/sim/slot |
GET | SIM 卡槽状态 |
/api/sim/slot/switch |
POST | 切换 SIM 卡槽 |
| 接口 | 方法 | 说明 |
|---|---|---|
/api/network |
GET | 网络注册信息 |
/api/network/interfaces |
GET | 网络接口信息 |
/api/network/signal-strength |
GET | 信号强度 |
/api/network/nitz |
GET | 网络时间 |
/api/network/operators |
GET | 运营商列表 |
/api/network/operators/scan |
GET | 扫描运营商 (耗时) |
/api/network/register-manual |
POST | 手动注册运营商 |
/api/network/register-auto |
POST | 自动注册运营商 |
/api/cells |
GET | 基站信息 |
/api/location/cell-info |
GET | 基站定位参数 |
/api/qos |
GET | QoS 信息 |
| 接口 | 方法 | 说明 |
|---|---|---|
/api/data |
GET/POST | 数据连接开关 |
/api/roaming |
GET/POST | 漫游开关 |
/api/airplane-mode |
GET/POST | 飞行模式开关 |
/api/radio-mode |
GET/POST | 射频模式 (4G/5G/自动) |
/api/band-lock |
GET/POST | 频段锁定 |
/api/cell-lock |
GET/POST | 小区锁定 |
/api/cell-lock/unlock-all |
POST | 解锁所有小区 |
/api/apn |
GET/POST | APN 配置 |
/api/usb-mode |
GET/POST | USB 模式切换 |
/api/usb-advance |
POST | 高级 USB 模式设置 |
| 接口 | 方法 | 说明 |
|---|---|---|
/api/calls |
GET | 当前通话列表 |
/api/call/dial |
POST | 拨打电话 |
/api/call/hangup |
POST | 挂断指定电话 |
/api/call/hangup-all |
POST | 挂断所有电话 |
/api/call/answer |
POST | 接听来电 |
/api/call/volume |
GET/POST | 通话音量设置 |
/api/call/forwarding |
GET/POST | 呼叫转移设置 |
/api/call/settings |
GET/POST | 通话设置 |
/api/call/history |
GET | 通话记录列表 |
/api/call/history/{id} |
DELETE | 删除指定通话记录 |
/api/call/history/clear |
POST | 清空通话记录 |
| 接口 | 方法 | 说明 |
|---|---|---|
/api/sms/send |
POST | 发送短信 |
/api/sms/list |
GET | 短信列表 |
/api/sms/conversation |
GET | 短信会话列表 |
/api/sms/stats |
GET | 短信统计 |
/api/sms/clear |
POST | 清空短信 |
| 接口 | 方法 | 说明 |
|---|---|---|
/api/ims/status |
GET | IMS 状态 |
/api/voicemail/status |
GET | 语音信箱状态 |
| 接口 | 方法 | 说明 |
|---|---|---|
/api/stats |
GET | 系统统计(网速/内存/运行时间) |
/api/stats/cpu |
GET | CPU 信息 |
/api/connectivity |
GET | 网络连通性检查 |
/api/system/reboot |
POST | 重启系统 |
/api/at |
POST | 执行 AT 指令 |
| 接口 | 方法 | 说明 |
|---|---|---|
/api/webhook/config |
GET/POST | Webhook 配置管理 |
/api/webhook/test |
POST | 测试 Webhook |
| 接口 | 方法 | 说明 |
|---|---|---|
/api/ota/status |
GET | OTA 更新状态 |
/api/ota/upload |
POST | 上传 OTA 包 (最大 50MB) |
/api/ota/apply |
POST | 应用 OTA 更新 |
/api/ota/cancel |
POST | 取消 OTA 更新 |
所有 D-Bus/AT 操作必须通过 with_serial 串行执行:
use crate::serial::with_serial;
pub async fn send_at_command(conn: &Connection, cmd: &str) -> zbus::Result<String> {
with_serial(async {
let proxy = Proxy::new(conn, "org.ofono", "/ril_0", "org.ofono.Modem").await?;
proxy.call("SendAtcmd", &(cmd)).await
}).await
}
#[derive(Serialize)]
pub struct ApiResponse<T> {
pub status: String, // "ok" 或 "error"
pub message: String,
pub data: Option<T>,
}