Flipper Zero: NFC Read Crash & Device Hang Fix

by Admin 47 views
Flipper Zero NFC Reading Issues: "furi_check failed" Crash and Device Hang

Experiencing crashes or hangs with your Flipper Zero while reading NFC devices? You're not alone! This article dives into a common issue where the device either crashes with a "furi_check failed" error or hangs completely when trying to read certain NFC devices, especially when debug logs are active. We'll explore the bug, how to reproduce it, and potential workarounds.

Understanding the NFC Reading Bug

The main problem arises when the Flipper Zero attempts to read an NFC device that supports multiple protocols. Instead of smoothly prompting you to select a protocol, the device can either crash and display the "furi_check failed" error upon reboot, or it can freeze entirely, especially while you're actively monitoring the debug logs via a serial connection.

This issue seems to be more prevalent when dealing with devices like smartphones that utilize a variety of NFC protocols. Let's dig into the specifics and see how you can identify and potentially work around this frustrating problem.

How to Reproduce the NFC Reading Crash

If you want to see if you have a similar issue, just follow the steps below:

  1. Navigate to the Main Menu: Press the center button on your Flipper Zero to open the main menu.
  2. Select NFC: Scroll through the menu options and choose "NFC."
  3. Initiate Read: Select the "Read" option within the NFC menu.
  4. Present NFC Device: Hold your Flipper Zero near an NFC transmitter, such as the one on a smartphone.

If the bug is present, the device will likely crash or hang at this point. If you have debug logs enabled, you'll likely see the hang occur while the logs are actively being written.

Target Device and Firmware

  • Target Device: This issue has been observed when reading NFC from Android phones, specifically those running Android 16. However, it may not be limited to just this version.
  • Firmware: The bug has been reported on the release-cfw unlshd-083e (63bc04af built on 13-10-2025) firmware version, but could exist on other versions as well.

Diving into the Logs

Here's a snippet of the debug logs that are recorded when the issue occurs. It can give you an insight on the problem:

Firmware version: release-cfw unlshd-083e (63bc04af built on 13-10-2025)

>: log
Current log level: debug
Use <log ?> to list available log levels
Press CTRL+C to stop...
12015 [D][ViewDispatcher] View changed while key press 20009370 -> 20014710. Sen                                                            ding key: OK, type: Release, sequence: 00000004 to previous view
16309 [I][AnimationManager] Unload animation 'L3_Intruder_alert_128x64'
16326 [I][Loader] Loading /ext/apps/NFC/nfc.fap
...
20253 [D][NfcScanner] Found 5 base protocols
20258 [D][DolphinState] icounter 3031, butthurt 9
20267 [D][Nfc] FWT Timeout
20289 [D][Nfc] FWT Timeout
...
21169 [D][NfcScanner] Found 0 children
21171 [I][NfcScanner] Detected 1 protocols
21280 [W][ViewPort] ViewPort lockup: see applications/services/gui/view_port.c:2                                                            45
21286 [D][NfcProtocolSupport] Loading /assets/plugins/nfc_felica.fal
...
21374 [D][FelicaPoller] Idle
21376 [D][FelicaPoller] Activate
21382 [D][FelicaPoller] List System

Looking at the logs, we can see a few key things:

  • Loading NFC Components: The Flipper Zero loads various NFC-related libraries and plugins.
  • Protocol Detection: It detects multiple base protocols.
  • FWT Timeouts: A series of "FWT Timeout" messages appear, suggesting communication issues.
  • ViewPort Lockup: A warning indicates a potential lockup in the ViewPort, which handles the display.
  • Felica Activation: The device attempts to activate Felica polling.

Decoding Log Messages

FWT Timeout: This likely means the Flipper Zero isn't getting a response from the NFC device within the expected timeframe.

ViewPort Lockup: This suggests the display is freezing, which aligns with the observed hanging issue.

FelicaPoller: This indicates that the device is trying to use the Felica NFC protocol. Felica is a common NFC technology, particularly in Japan.

Potential Causes and Workarounds

Based on the logs and the described behavior, here are some possible causes and workarounds:

1. Protocol Conflicts

The Flipper Zero might be struggling to negotiate the correct protocol with the NFC device, especially when multiple protocols are supported. It's like trying to speak multiple languages at once and hoping the other person understands!

Workaround: If the Flipper Zero sometimes presents a protocol selection screen, try to avoid selecting FeliCa if possible. In some cases, selecting ISO14443-4 a/b allows the reading process to proceed normally.

2. Firmware Bug

There could be a bug in the firmware that causes a crash or hang when handling certain NFC protocols or devices. It is possible that the handling of the interrupts are not properly done and is crashing the system.

Workaround: Keep your firmware updated! Newer versions often include bug fixes that address these types of issues. The unleashed firmware is a community driven firmware and is not the official firmware. Make sure to report the issue to the developers so they can fix it as soon as possible.

3. Resource Exhaustion

Loading multiple NFC plugins and libraries might be taxing the Flipper Zero's resources, leading to a crash or hang, especially when debug logs are enabled. Writing the logs to the serial port can take up a lot of the devices processing power.

Workaround: Try disabling debug logs to see if it resolves the issue. While this makes debugging harder, it can help determine if logging is contributing to the problem.

4. NFC Chipset Issues

There might be underlying issues with the Flipper Zero's NFC chipset or its interaction with certain NFC devices.

Workaround: Unfortunately, there's not much you can do about this directly. However, providing detailed bug reports with specific device information can help developers identify and address these hardware-related issues.

Additional Tips and Troubleshooting

  • Try Different NFC Devices: See if the issue occurs with other NFC devices. This can help isolate whether the problem is specific to certain devices or a more general issue.
  • Check NFC Device Compatibility: Ensure that the NFC device you're trying to read is compatible with the Flipper Zero's supported protocols.
  • Report the Bug: If you encounter this issue, report it to the Unleashed Firmware developers with as much detail as possible, including firmware version, device type, and debug logs. The more information they have, the better they will be able to determine the issue.

Conclusion

The "furi_check failed" crash and device hang while reading NFC devices can be a frustrating problem for Flipper Zero users. By understanding the potential causes and workarounds, you can increase your chances of successfully reading NFC devices and help the developers improve the Flipper Zero's NFC functionality. Keep your firmware up to date, experiment with different settings, and provide detailed bug reports to contribute to a more stable and reliable experience for everyone. Happy Flipping!