首页
/ Momentum-Firmware项目中的NFC读取崩溃问题分析与解决

Momentum-Firmware项目中的NFC读取崩溃问题分析与解决

2025-06-02 11:31:50作者:范靓好Udolf

问题背景

在Momentum-Firmware项目中,用户报告了一个与NFC功能相关的严重问题:当使用Flipper设备扫描MIFARE Plus卡时,系统会崩溃并显示"furi_check failed"错误。这一问题最初出现在Momentum 007固件版本中,而在之前的固件版本中功能正常。

问题表现

多位用户报告了类似的问题表现:

  1. 当使用NFC→读取功能扫描MIFARE Plus卡时,设备立即崩溃
  2. 错误信息显示"furi_check failed"
  3. 类似问题也出现在尝试读取受密码保护的Ultralight Ev1标签时
  4. 在"写入初始卡"操作时也会出现相同崩溃

技术分析

从用户反馈和测试结果来看,这个问题具有以下特点:

  1. 固件版本相关性:问题出现在Momentum 007版本,而在官方1.1.2固件和最新Unleashed固件中不存在此问题
  2. 特定卡片类型:主要影响MIFARE Plus卡和受保护的Ultralight Ev1标签
  3. 工作变通方法:如果用户提供密码,Momentum固件可以成功读取受保护标签
  4. 修复情况:在Momentum 009版本(2025年1月23日)中,该问题已被修复

问题根源推测

虽然具体的修复代码未在issue中展示,但根据问题表现可以推测可能的原因:

  1. 安全检查失败:furi_check失败通常表示某个断言条件未满足,可能是对卡片类型的检查不完善
  2. MIFARE Plus处理逻辑:MIFARE Plus卡具有向后兼容MIFARE Classic的特性,可能在兼容性处理代码中存在缺陷
  3. 加密卡处理:对受密码保护的卡片处理流程可能缺少必要的错误处理机制

解决方案

对于遇到此问题的用户,建议采取以下措施:

  1. 升级固件:升级到Momentum 009或更高版本,该版本已修复此问题
  2. 使用替代固件:如需立即使用此功能,可暂时切换到官方1.1.2或Unleashed固件
  3. 提供密码:对于受密码保护的卡片,直接提供密码可以绕过崩溃问题

技术启示

这一问题为嵌入式设备开发提供了几个重要启示:

  1. 兼容性测试的重要性:新增功能时需全面测试各种卡片类型的兼容性
  2. 错误处理的健壮性:对非标准或受保护卡片的处理需要完善的错误处理机制
  3. 固件升级的价值:及时更新固件可以解决已知问题并提升设备稳定性

结论

NFC功能在物联网设备中扮演着重要角色,Momentum-Firmware项目团队通过快速响应和修复这一问题,展现了他们对产品质量的重视。用户只需简单升级到最新固件即可解决此崩溃问题,继续享受完整的NFC功能体验。

登录后查看全文
热门项目推荐
相关项目推荐