Photonicat 2 r7908 + MCU 升级后使用报告:r7897 反馈问题已解决,但发现持续 CMA 内存告警

Started by alfred_zheng

alfred_zheng

先反馈一下 r7897 版本反馈 中提到的问题。

经过本次系统固件和 MCU 升级,以及后续连续运行测试,之前反馈的蜂窝网络启动异常、5G 连接后无流量、wwan0 无地址或默认路由,以及 QMI 与另一套拨号路径可能产生争用的问题,目前已经解决或不再复现。

当前实际运行情况:

  • 系统固件:R26.04.1 / r7908-e9d43baf74
  • 内核:6.12.91
  • MCU:RA2E1260813002
  • Modem:RM500Q-CN
  • 中国广电 5G 注册正常
  • quectel-cm 单独负责 QMI 拨号
  • wwan0 IPv4/IPv6 地址和默认路由正常
  • 未发现 MBIM、umbim 或第二套拨号程序
  • OpenClash、DNS、Samba、Wi-Fi 均正常

这部分基本可以确认,之前反馈的蜂窝网络问题已经得到解决。实际使用中也不再需要同时启用第二套拨号器。

不过现在发现一个新的问题。这个问题在本次固件升级前就已经存在,升级到 r7908、同时升级 MCU 后仍然持续,并不是本次升级新引入的。

CMA 内存分配告警

系统日志中每隔大约 64 秒出现一次:

cma: __cma_alloc: reserved: alloc failed, req-size: 2 pages, ret: -12
cma: number of available pages: ... => 8 free of 16384 total pages
rk_gmac-dwmac 2a220000.ethernet eth0: Register MEM_TYPE_PAGE_POOL RxQ-0

现场数据:

CmaTotal:      65536 kB
CmaFree:          32 kB
MemAvailable: 约 3.4 GB

也就是说,系统普通内存并没有耗尽,仍有约 3.4 GB 可用;真正耗尽的是 64 MB 的 CMA 专用连续内存区,目前只剩约 32 KB,而且剩余页是分散的。

进一步观察发现:

  • 告警均关联到 rk_gmac-dwmac ... eth0
  • eth0 当前处于断开状态
  • eth0 收发包均为 0
  • 实际工作的 eth1 正常,收发错误为 0
  • 告警约每 64 秒重复一次
  • 当前没有影响 QMI、OpenClash、管理网络或存储使用

目前的判断

目前能够确定的直接原因是:

空闲的 eth0 网卡驱动周期性注册或初始化 page-pool 时,需要从 CMA 区申请连续物理页,但 CMA 区已经基本耗尽,因此返回 -12

但是还有一些问题需要进一步确认:

  • CMA 区的内存到底被哪个驱动长期占用?
  • 是否存在某个 DMA 驱动没有正确释放 CMA 内存?
  • 为什么 eth0 在没有连接网线、没有收发数据的情况下仍然周期性重新初始化?
  • 64 MB CMA 预留是否适合当前硬件配置?
  • 这个问题是否与 rk_gmac-dwmac 的 page-pool 处理有关?

目前不能仅凭日志直接断言一定是某个驱动泄漏,但可以确认这不是普通 RAM 不足,也不是 MCU、QMI 或 OpenClash 配置造成的。

希望官方确认的问题

  1. 这是已知的 r7908 内核或网卡驱动问题吗?
  2. 为什么断开的 eth0 仍然每隔约 64 秒触发 page-pool 初始化?
  3. 是否有办法确认 CMA 区的实际占用者?
  4. 是否计划修复 rk_gmac-dwmac 的内存申请或释放逻辑?
  5. 是否建议在设备树中增大 CMA,还是应该优先修复驱动占用问题?
  6. 如果该网口在当前硬件配置中未使用,是否可以由官方在设备树中禁用?
  7. 是否可以提供包含相关修复的测试固件或补丁?

目前我没有修改启动参数,也没有强行增大 CMA,没有禁用网卡。因为当前设备功能正常,希望先得到官方对根因和处理方式的确认。

官方 r7897/r7908 更新记录中已经包含蜂窝网络启动、连接恢复和 netifd 拨号相关修复,但没有看到 CMA 或 rk_gmac-dwmac 相关说明:

  • [Photonicat 2 固件更新日志]

superlynx

Hi,
可以尝试增加CMA到256M看看还会不会出现占用满的情况。我们也会进行测试。

Want to reply to this topic?

Sign in to participate

Don't have an account? Sign up