Flipper Zero: NFC Read Crash & Device Hang Fix
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:
- Navigate to the Main Menu: Press the center button on your Flipper Zero to open the main menu.
- Select NFC: Scroll through the menu options and choose "NFC."
- Initiate Read: Select the "Read" option within the NFC menu.
- 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!