Photonicat 2 固件更新日志

来自Photonicat Wiki
C2h2留言 | 贡献2026年8月11日 (二) 19:42的版本 (说明上游 WiFi 功能改进)
跳转到导航 跳转到搜索

English version: Photonicat 2 固件 Changelog.

2025-08-22

  • 首个正式版本。

2025-09-19 r7612

  • 简化多 WAN 路由,停用 mwan3
  • 默认内置 Docker 相关软件包。
  • 内核升级至 6.12.45。
  • 合入上游 PCIe 补丁。
  • 增加 USB Hub 复位时序与看门狗。
  • 状态指示灯与蜂鸣器可由用户关闭。
  • 提升小屏幕显示性能。
  • 增加 LED、蜂鸣器与风扇控制,并加入过温保护算法。
  • 简化网络 WAN 接口选择:autoeth_onlycell_onlyall_off
  • 新增 /update 管理界面。
  • MCU:优化库仑计算法。
  • MCU:修复充电指示灯偶尔不亮的问题。

2025-12-12 r7618

  • 去掉不必要的网络复位,加快开机速度。
  • 更新 OpenWrt netifd,改善 NFA765 无线模块兼容性。
  • 改进风扇控制策略与整体散热表现。
  • 优化智能调速逻辑:smart_quietsmart_coolmanual
  • 修复网络模式设为 仅蜂窝网络 时界面崩溃的问题。
  • 修复界面不显示 4G/5G 频段信息的问题。
  • 修复部分 5G 模块信息页面内容缺失的问题。
  • 修复 5G 信号不显示的问题。
  • 修复重启后 记住我 登录选项失效的问题。

2026-03-06 r7660

  • 内核与系统更新 —— 内核升级至 6.12.74,mac80211 升级至 6.12.61,python3 升级至 3.13.9 并同步更新相关软件包(改用基于 PAM 的认证,替代已废弃的 spwd),系统版本升级至 26.04,修复多个 CVE。
  • 支持广和通 FM350-GL 5G 模块 —— 完整支持信号强度、温度监控、IMEI、运营商显示、服务小区信息、漫游偏好、4G/5G 网络模式与频段选择、通过 rfkill 关闭 WWAN 供电、流量统计,以及十六进制编码运营商名称的解码。
  • 短信可靠性 —— 所有模块统一改用 PDU 模式,修复 FM350-GL 的串口处理、提示符检测与响应超时问题。
  • 网页终端 —— 新增网页终端(/terminal),支持持久 PTY 会话、全屏切换、断开/重连、JetBrains Mono 字体与移动端视口优化。
  • 直流供电模式与 TCP BBR v3 —— 新增开机模式选项,适用于无电池及需要快速响应的场景(接入适配器即自动开机,无需电池)。新增 TCP BBR v3 支持,可在常规设置中配置拥塞控制算法。
  • 电池历史与电源事件记录 —— 新增基于 SQLite 存储的电池历史曲线,固定电压刻度、区域填充、功率显示,以及开关机事件时间轴。持久记录电源事件,包含电压、电流、电量数据与 DC 插拔跟踪。
  • 空闲与低电量关机 —— 空闲关机倒计时实时显示、低电量自动关机、WiFi 客户端空闲监测(OR 模式)、仅电池供电时自动关机选项,以及电量估算跳变 2% 的容差处理。
  • 常规设置与定时页面重做 —— 新增常规设置页面,可设置语言、时区、主机名并与 LuCI 同步。定时页面改为现代化的左右分栏布局,面板更紧凑并占满宽度,车载/UPS 模式说明更清晰。
  • 仪表盘与顶栏改进 —— 优先显示当前活动 WAN、公网 IPv6 检测、模块温度显示、网络图标行中的 5G/4G 标识、按状态渲染、网关下划线,以及移动端顶栏布局优化。
  • 性能与界面细节打磨 —— 原生 Python ubus/uci 封装、非阻塞 IO 缓存、CPU 省电模式下关闭大核(A72)、静态资源缓存 3 个月、温度与功率曲线图、刷新后保留标签页状态、通知只用单一语言、图标改进、页脚新增 Wiki 与社区按钮、智能手机号格式化,以及更详细的固件升级进度显示。

2026-06-15 r7714

  • 内核与系统更新 —— 内核升级至 6.12.91,修复近期若干严重安全问题。mac80211 升级至 6.18.26,修复多个 CVE。
  • OpenWRT 基础系统 —— 基础系统与 LuCI 升级至 25.12。新增 IEEE 802.11be 支持(可在 QCNCM865 与 MT7925 上启用 6GHz 信道)。
  • Smart WAN(WiFi 当作 WAN) —— 新增 Smart WAN 模式,把板载无线变成上级 WiFi 客户端,并在以太网 → WiFi → 蜂窝之间自动故障切换。像手机一样自动重连已知的上级 WiFi,扫描设备解析更稳健,切换前会有确认对话框。被停用的 STA 射频现在会正确显示为独立的 "WAN (WiFi)" 状态。
  • WiFi 7(802.11be)与 WPA3 —— PCIe 网卡新增 WiFi 7(BE)与 WPA3-SAE 支持,正确处理 5GHz BE 与 6GHz BE 的 htmode/信道,支持 PCIe 卡型号识别,并统一了界面中的加密方式取值。
  • 仪表盘与顶栏改进 —— 当前出口实时高亮(只有正在使用的 WAN 行会亮起);显示 WiFi 信号、当前出口与网络模式;网络图标随状态变化,带网关下划线、准确的 WAN 下划线、被禁用链路的红叉与提示文字。新增公网 IPv6 / 公网 IP 别名。
  • 电池与充电控制 —— 在设备控制页面新增电池充电限制滑块(80–100%),以充电限制作为唯一数据源,修正电池图标显示真实电量百分比,并在从未设置过时稳妥地默认为 100%。
    • 硬件要求:充电限制功能仅 A3 版本 PCB 的机器支持,更早的 PCB 版本不支持该功能。
  • 小屏幕可视化编辑器 —— 新增 Figma 风格的屏幕布局可视化编辑器,与 JSON 视图合并为同一个"编辑器"标签页。支持增删页面、单个元素位置重置、居中与吸附工具、恢复默认布局、JSON 实时差异对比、标签/数据键画布切换,并修正了编辑器坐标到设备显示区域的映射。修复设备端 graph 元素类型的渲染问题。
  • 小屏幕自定义数据源 —— 编辑器中新增自定义指标(command / uci / env / json_file / HTTPS),附带设备端示例、一键保存并重启、刷新时实时预览取值、重复键名警告、更清晰的 data_key 说明、通过官方 Photonicat 行情 API 提供的黄金/AAPL 示例,以及无闪烁的实时预览。
  • 设备控制与网络模式 —— 重新排列网络模式并使用组合式 WAN 图标;把充电限制设置统一收纳到设备控制页面。
  • FM350-GL 漫游 —— 通过 AT+COPS=0 启用自动漫游,并隐藏了实际无法生效的"禁止漫游"选项;修复轮询刷新会覆盖频段选择的问题;移除会导致 LAN/WAN 失效的 USB 3.12 10Gbps 选项。
  • 安全加固 —— 为 WebSocket 端点增加 socketio_auth_required 装饰器,为 /switch_locale 与低电量关机相关路由增加鉴权,并移除未使用或权限过高的 API 端点。
  • 性能 —— 降低空闲 CPU 占用(默认只写文件日志、减少 select 唤醒与 uci 进程调用),缓存 data_stats.json 并让仪表盘缓存与屏幕轮询对齐,去掉一个空转的屏幕线程,改为直接从 sysfs 读取 WWAN rfkill 状态。
  • 小屏幕性能 —— 显示循环 CPU 占用大幅下降(静态页面约 3.2% → 约 1.4%,降低约 55%):通过数据版本门控跳过画面无变化时的重绘与 SPI 传输,传输前先做字节比较,并把各类轮询频率减半。字体(包括约 37MB 的中日韩字体集)改为只解析一次并缓存预加载,网络信息查询(无线 SSID、iwinfo 客户端枚举、公网 IP)也做了缓存,进程调用从约 3.8 次/秒降到约 1.7 次/秒。

2026-06-16 r7715

  • 小屏幕 SPI 时钟可靠性 —— 将屏幕 SPI 时钟从 120 MHz 降到 50 MHz,消除高频率下的画面异常或显示问题;保守的时序只带来可忽略的刷新延迟,换来稳定无杂点的画面。
  • 序列号校验修复 —— 有效的设备序列号在设备上被错误显示为 (invalid),原因是签名校验依赖 cryptography 模块,而目标 OpenWrt 固件中并未安装该模块。

2026-06-23 r7720

  • OpenWRT 基础系统 —— 路由与电话相关软件包更新至 OpenWRT 25.12 分支。默认防火墙切换为 fw4。

2026-07-31 r7854

  • 开机时间缩短 59% —— 17.4 秒 → 7.2 秒 —— 完整重启一次现在只需 16.6 秒,之前是 28.0 秒。最大的单一原因是一条多余的 fstab 条目,导致每次开机所有服务都要等待一块根本没有装的硬盘。此外:根文件系统压缩从 xz 改为 zstd,squashfs 重新调整为 256 KiB 块并启用直接读取,U-Boot 不再扫描 USB 与网络寻找启动介质,开机 Logo 改为一次 SPI 传输完成(此前是 110,080 次单字节传输),failsafe 等待窗口从 1 秒缩短到 300 毫秒。
  • 可选服务出厂不再自启 —— Docker、Samba、collectd、aria2、nlbwmon、watchcat、frp、filebrowser、rclone、adbyby、OpenAppFilter、Tailscale 与 ZeroTier 仍然预装,但不再开机自启(运行中的服务从 73 个降到 59 个);需要时在 系统 → 启动项 中一键启用即可。vnstat 与网页终端有意保持运行。
  • WAN 优先级表取代 Smart WAN 模式 —— r7714 的 Smart WAN 开关改为基于路由 metric 的优先级表,按固定槽位顺序列出所有已启用的上行链路 —— 以太网、上级 WiFi、PPPoE 与蜂窝 —— 并逐级向下切换。它完全取代了 mwan3。有线 WAN 现在在链路断开时立即切换,而不用等探测超时;PPPoE 也能被正确识别为当前出口。
  • 上级 WiFi(WiFi 当作 WAN) —— 同一 SSID 同时广播 2.4G 与 5G 时自动接入信号更强的频段;已连接状态下也会漫游到重新进入范围的已保存网络;漫游离开后能更快重新接入已知网络;实时显示关联与待机状态并带有各射频的图标;附近没有已保存网络时降低扫描频率。
  • 全新 /dev 诊断页面 —— 由内置 G-sensor 驱动的实时 3D 设备模型,并提供引导式姿态校准;显示各段电压的 2S2P 18650 电池组示意图;MCU 电量计日志;以及模块拨号日志查看器。还有内置蜂鸣器的音调测试与 MIDI 播放。
  • 广和通 FM350-GL 5G 模块 —— 拨号程序由 Python 重写为原生 C 实现,可靠性更高。现在会遵循网页界面中设置的网络模式偏好,需要时锁定 4G 并在 5G 可用时自动回到 5G,5G 拨号失败会回退到 LTE,并监控数据面以发现"连接已建立但不通流量"的情况。修复了仅支持 4G 的 SIM 卡导致模块无限重启上电的问题,以及自动模式被误报为 5G 的问题。现在会显示模块固件版本,并提供固件更新对话框。
  • 模块拨号日志 —— 最近 16 MB 的拨号活动会保存在内存中并可在网页界面查看,便于事后排查间歇性的连接问题。
  • 电池充电限制 —— 1% 精度的滑块,带防抖保存并同步给 MCU,同时实时回读,界面始终反映硬件实际执行的限制值。该限制现在在 MCU 重启后依然保留。
    • 硬件要求:充电限制功能仅 A3 版本 PCB 的机器支持,更早的 PCB 版本不支持该功能。
  • 固件与 MCU 更新流程 —— 版本下拉框中可查看各版本更新说明并支持降级;MCU 与固件更新不能再同时进行;当已安装的 MCU 版本比服务器上的更新时不再提示更新;OTA 默认使用 sysupgrade -c -p,各个参数以勾选框形式开放。
  • PhotonDNS —— 全新的高性能 DNS 转发器,使用 Rust 编写:分片 LRU 缓存、过期仍可用(serve-stale)、预取、缓存持久化,支持 UDP/TCP/DoT/DoH 上游与并发竞速故障切换,并对每个上游做健康跟踪,另附国内域名列表与广告列表辅助功能。自带 LuCI 页面,但默认关闭
  • 安全加固 —— 强制启用 CSRF 校验,LuCI 密码不再泄露到页面中,所有 API 路由都需要鉴权,状态变更只允许 POST,开发者端点受到限制,修复了一处开放重定向,记住我 改用基于 SQLite 的正规令牌实现。
  • 访客门户(Captive Portal) —— 一键接受、无需 DNS 也能打开的门户地址、带品牌样式的错误页、启用/停用操作串行化(快速反复切换不会留下半配置状态),失败会明确提示而不是静默忽略。
  • 更低空闲 CPU 与更少闪存写入 —— 只有打开模块页面时才执行较重的 AT 查询,使用统计批量写入闪存并带保留期与索引,PMU 设置改为每 60 秒轮询一次而非持续轮询,公网 IP 探测采用退避策略,浏览器标签页隐藏时完全停止轮询。
  • 小屏幕 —— 全新的猫咪苏醒开机动画。改为按页面设置刷新率(时钟与 CPU 页面 2 Hz,ping 时 1 Hz),不再是统一固定刷新率。新增每核心 CPU 条、数值内嵌的内存条、各磁盘占用条与滚动的 SSID 跑马灯。iStat 风格的进度条采用超采样抗锯齿,文字更柔和。新增电池剩余时间栏位、WAN 模式行、可配置的公网 IP 查询、亮度为 0 时真正的物理全黑背光,以及上级链路未关联时进入待机。
  • WiFi 修复 —— 修复开机后 AP 已启动却不广播 SSID 的间歇性问题,以及新版 OpenWrt 下的 WLAN 启用状态判断(射频需要接口与设备同时启用才会工作)。新增 恢复 WiFi 默认设置 按钮,便于从错误配置中恢复。
  • eMMC 兼容性 —— 内部存储在 bootloader 与内核中都固定为 HS200 @ 52 MHz,消除了一类间歇性存储错误。
  • 其他修复 —— CPU 省电设置重启后保持生效;手动风扇转速在页面刷新后保留;通过 USB Type-C 为外部设备供电时电池能正确显示为放电状态;PPPoE keepalive 放宽为 5 5,避免误断线;移除 irqbalance,改为静态绑定以太网中断(此前发现它会把两个网口中断都放到同一个核心上);补齐缺失的英文字符串;Alpine.js 升级至 3.15.12。

MCU 更新

  • 待机功耗更低 —— 待机电流从约 2.6 mA 降到 1.1 mA,关机状态下充满电的电池组可以保持数周而不是几天。电流监测芯片、加速度计与闪存现在会正确断电,主板关闭时风扇也会真正停转。
  • 更准确的电量百分比 —— 电量计从头到尾重做,加入温度补偿、内阻自学习与周期性重新锚定。读数不再跳变(例如固件更新后从 40% 跳到 80%),能在重启与固件更新后保持,并可上报学习到的真实容量与循环次数。整体表现已经非常接近手机。
  • 全新指示灯行为 —— MacBook 式指示灯:颜色表示充电状态,动态表示设备状态,充电时为平滑的伽马校正呼吸效果,低电量时持续红色闪烁。修复了开机时以及电池充满时出现的多次误报纯红闪烁。
  • 抬起唤醒改进 —— 重写为真正的手势识别,和手机一样。设备竖立静置时不会再自行唤醒,而真正拿起时响应更快。
  • 稳定性与开机速度 —— 修复长时间运行后的随机死机,以及较少见的、只能通过取出电池才能恢复的永久性死锁。开机更快:按键按住 200 毫秒后主板即上电,与长按判定窗口重叠进行。修正蜂鸣器时序,包括插入充电器后可能延迟 40–50 秒才响的提示音;复位与更新操作现在会播放一小段确认旋律。

2026-08-11 r7897

GPS

  • 新增 GPS 页面 —— 地图定位、精度、速度、航向和各卫星信号。默认关闭,可在"通用设置"中开启。
  • 离线地图与轨迹记录 —— 内置世界地图包,可下载区域地图,并可记录和回放行驶轨迹。
  • 可在 GPS 之外启用 GLONASS、北斗和伽利略。

蜂窝网络

  • 5G 连接中断后可自行恢复,不再出现显示已连接、实际不通、必须重启的情况。
  • 修复可能导致蜂窝网络完全不通的启动时序问题,且不再覆盖您的路由优先级。
  • 未安装模块的设备不再显示"无服务"。

网络与 WiFi

  • 默认设置下故障切换现在真正生效 —— 此前大部分设备从未迁移到当前的路由机制。
  • 上游 WiFi 功能改进,更加稳定 —— 重启后仍保留您自己的网络名称和密码,关闭中继后也会自动恢复。
  • 刷机后外接 PCIe WiFi 网卡即可使用,无需额外重启或手动开启。
  • 修复 AIC8800 WiFi 的单客户端流量统计,并可在网页界面查看。

电话功能(开发中)

  • 初步支持在网页界面拨打和接听电话,包含通话音频、拨号盘、联系人和语音信箱。默认关闭。仅支持 RM500U 和 RM500Q,EM05 待支持。

电池与 MCU

  • 电量百分比与健康度估算改进 —— 读数稳定后才显示,不再在插电后或首次放电后跳变。
  • 充电上限在 MCU 重启后保留,休眠期间 LED 与蜂鸣器定时计划继续运行。
  • 新增读数 —— 电池内阻、MCU 运行时长和主板版本。

网页界面

  • 网页服务器由 werkzeug 开发服务器改为 granian,其 HTTP 解析由 Rust 实现 —— 页面和文件加载速度提升数倍,静态文件无需进入 Python 即可直接返回。
  • 语言与浅色/深色改为设备级设置,不再随浏览器变化,并新增恢复默认按钮。
  • 显示屏主题新增取色器,重启页面在设备恢复后自动刷新。

迷你显示屏

  • 新增 GPS 页面,仅在支持 GPS 的模块上显示。
  • 存储页面重新设计 —— eMMC、NVMe 和 SD 各自独立的进度条,布局更清晰。
  • 刷新更智能,新增配色主题与公网 IP 实时跟踪,唤醒后时钟和电量不再是旧值。

NAS 与共享

  • 现在可以挂载 SMB 共享,NFS 服务器也能真正导出共享。
  • 修复 eMMC 分区失败问题,NTFS 磁盘现在也能正常挂载。