Connecting a Samsung device to a PC for firmware flashing via Odin — Photo: Unsplash
You're in Odin. Device is in Download Mode. Everything looks fine — and then the log freezes at NAND Write Start!! and never moves. A minute or two later: Complete(Write) operation failed. Back to square one.
It's one of the most frustrating Samsung flashing errors, mainly because the message tells you almost nothing useful. The real causes range from a wrong firmware file to a bad USB port. The fix depends entirely on which one you're hitting.
This guide covers every known root cause with a direct fix for each. Work through them top-to-bottom — most people solve it within the first two.
- What "NAND Write Start" actually means
- The 6 root causes
- Fix 1 — Remove hidden.img from firmware
- Fix 2 — Match firmware to exact model number
- Fix 3 — Reinstall Samsung USB drivers
- Fix 4 — Enable OEM Unlock + USB Debugging
- Fix 5 — Switch to USB 2.0 + original cable
- Fix 6 — Try a different Odin version
- Fix 7 — Smart Switch Emergency Recovery
- Quick comparison table
What "NAND Write Start" actually means
NAND is the flash memory your Samsung device uses to store everything — the OS, system partitions, user data. When you flash firmware through Odin, the first thing it does before writing any files is initialize a write session to that memory. That line in the log — NAND Write Start!! — is that initialization step.
If it fails here, Odin has not written a single byte to your device. Your existing firmware is completely untouched. That's actually good news — you're not dealing with a half-flashed brick. You just need to identify what's blocking the write.
Here's what a typical failure looks like in the Odin log:
<ID:0/003> Added!! <ID:0/003> Odin engine v(ID:3.1005).. <ID:0/003> File analysis.. <ID:0/004> SetupConnection.. <ID:0/003> Initialzation.. <ID:0/004> Get PIT for mapping.. <ID:0/003> Firmware update start.. <ID:0/003> NAND Write Start!! ← freezes here, or proceeds then fails <ID:0/003> sboot.bin <ID:0/003> system.img <ID:0/003> hidden.img <ID:0/003> FAIL! <ID:0/003> Complete(Write) operation failed. <OSM> All threads completed. (succeed 0 / failed 1)
Quick diagnosis: If the log stops completely atNAND Write Start!!with no movement for 2+ minutes — that's a connection or driver issue. If it progresses through some files then hitsFAIL!at a specific file likehidden.img— that's a firmware content issue. The fix path is different for each.
The Odin log tells you exactly which file or step caused the failure — read it carefully before picking a fix — Photo: Unsplash
Why it fails — the 6 most common root causes
Before diving into fixes, it helps to know what you're dealing with. The NAND write error appears for six distinct reasons, and each has its own solution:
Old Samsung firmware packages contain a hidden.img partition that causes modern Odin versions to fail mid-flash.
Using firmware for a similar but different variant (e.g. G930F vs G930FD) always fails at the write stage.
Outdated or corrupted Samsung USB drivers break the connection mid-flash, stalling the NAND write permanently.
Post-2017 Samsung devices require OEM Unlock enabled in Developer Options before Odin can write system partitions.
USB 3.0 ports cause protocol timing errors during write. Samsung officially recommends USB 2.0 for Odin.
Flashing firmware with a lower bootloader version than what's installed will always trigger this error.
This is the fix for roughly half the people who hit this error. If your Odin log shows the flash progressing normally then hitting FAIL! right after hidden.img, this is your issue.
The hidden.img file is a leftover from older Samsung firmware packaging. Modern Odin versions and newer devices simply don't know what to do with it — so the whole flash fails. The fix is to extract the firmware package and remove that one file before flashing.
Step-by-step: Remove hidden.img using 7-Zip
- Download and install 7-Zip from 7-zip.org if you don't have it
- Find your Samsung firmware — it's a .zip containing one or more .tar.md5 files
- Right-click the .zip → Open with 7-Zip → navigate to the .tar.md5 firmware file
- Rename the .tar.md5 to .tar (remove the .md5 extension) so 7-Zip can open it
- Open the .tar with 7-Zip, locate hidden.img, and delete it
- Rename the file back to .tar.md5
- Reload the modified firmware in Odin and flash again
⚠️ Important: Only removehidden.img. Do NOT touch theBL,AP,CP, orCSCfiles — removing those will cause a real brick.
✅ Success indicator: The log will progress past the previous failure point and continue flashing. A successful flash ends with PASS! in the Odin log.
Use 7-Zip to open the .tar.md5 firmware archive and remove the problematic hidden.img file — Photo: Unsplash
Samsung ships multiple hardware variants of the same phone — and flashing the wrong one triggers a NAND write failure almost every time. A Galaxy S21 sold in Europe (G991B) uses different partition tables than the US variant (G991U). Odin can't bridge that gap.
How to verify your exact model number
- On your device go to Settings → About Phone
- Find Model Number — write it down exactly, including suffix letters (e.g.
SM-G998B/DSnot justSM-G998B) - The
/DSsuffix means dual-SIM — firmware must match this exactly - Go to SamMobile.com or SamFW.com and search for your exact model
- Dial
*#1234#on your device — the second line starting withCSCshows your region (e.g.BTUUK,DBTGermany,XAAUS). Download firmware with matching CSC - Delete the old mismatched firmware and flash the correct one
⚠️ Never downgrade bootloaders: If the firmware you want has a lower bootloader version than what's installed, it will always fail with a NAND write error. The bootloader version must match or be newer than your current version.
If Odin freezes solid at NAND Write Start!! and never moves at all for 2+ minutes, the problem is almost always the USB driver. The flashing connection drops at the exact moment Odin tries to start writing.
Clean driver reinstall
- Disconnect your Samsung device
- Open Device Manager (right-click Start → Device Manager)
- Expand Universal Serial Bus controllers — find Samsung USB or ADB entries
- Right-click each Samsung entry → Uninstall device → check "Delete the driver software"
- Download the latest Samsung USB Driver for Mobile Phones from samsung.com
- Install it, then reconnect your device in Download Mode
- Retry the flash in Odin
💡 USB Debugging reset trick: With device connected, go to Settings → Developer Options, toggle USB Debugging off then back on. Your PC should prompt you to re-authorize — click Allow. This resets the ADB authorization and clears ghost connection issues.
Always use the original Samsung cable and a USB 2.0 port — USB 3.0 is one of the most common culprits — Photo: Unsplash
A commonly missed step: if OEM Unlock isn't enabled in Developer Options, your device physically blocks Odin from writing to certain system partitions. This is by design as a security feature — but it breaks legitimate flashing too.
Enabling Developer Options and OEM Unlock
- Go to Settings → About Phone → Software Information
- Tap Build Number seven times — you'll see a countdown then "Developer mode has been enabled"
- Go back to Settings — Developer Options now appears in the menu
- Open it and enable USB Debugging
- Scroll down and enable OEM Unlocking — enter PIN or Samsung account if prompted
- Boot into Download Mode and check: FRP should show OFF at the bottom of the screen
- Retry the Odin flash
⚠️ Carrier-locked devices: Some US carrier devices (AT&T, Verizon, T-Mobile variants) have OEM Unlock permanently greyed out. Contact your carrier for an unlock first, or use a third-party unlocking service.
This one sounds too simple — but it fixes a surprising number of cases. USB 3.0 ports (the blue ones) use a faster protocol that causes timing errors during the Odin write process. Samsung's own documentation recommends USB 2.0 for Odin flashing.
- Use a USB 2.0 port (usually black inside, not blue) on the back of your desktop or side of your laptop
- No USB 2.0 port available? Use a USB 2.0 hub as a middleman
- Use the original Samsung cable — cheap third-party cables cause this regularly
- Try a different port entirely — some individual ports are slightly faulty
- On laptops, try a completely different PC if possible — some laptops have power delivery issues on USB that interrupt Odin
Not all Odin versions work with all Samsung devices. Older devices (S5, S6, Note 4 era) often need Odin 3.09 or 3.10.7, while newer Galaxy devices prefer 3.13 or 3.14. Using the wrong version can cause a NAND stall even when everything else is correct.
- Odin 3.10.7 — best for 2014–2018 devices (S5 through S9 era)
- Odin 3.14.4 — best for 2019+ devices (S10 onwards)
Search "Odin 3.10.7 XDA" or "Odin 3.14 download" and download from the official XDA Developers forum thread. Avoid random download sites. Odin is a single .exe file — no installation needed. Close current Odin, reconnect device, open the new version, retry.
💡 Quick test: If Odin detects your device and the COM port turns yellow (not blue), that version may have better compatibility with your device. Yellow signals an older protocol mode that some devices prefer.
If none of the above fixes work, or if your device is now showing a "Firmware issue — use Smart Switch" message on the boot screen, Smart Switch has an emergency recovery mode that can restore the device without going through Odin at all.
- Download Samsung Smart Switch from samsung.com/smartswitch
- Connect your device via USB — Smart Switch detects it even on the firmware warning screen
- Open Smart Switch and wait for device recognition
- Click "More" in the top-right corner
- Select "Emergency software recovery and initialization"
- Follow on-screen steps — Smart Switch downloads and installs the correct firmware automatically
- Process takes 15–30 minutes depending on your connection
⚠️ This factory resets your device. All data will be erased. If your device still boots normally, back up everything first via Smart Switch's regular backup before running emergency recovery.
Most NAND write errors leave existing firmware completely intact — your device is not bricked — Photo: Unsplash
Before you go
The NAND write error looks bad, but it almost never is. Because the failure happens before Odin writes anything to the device, you're rarely worse off than when you started. Your phone works — you just need to fix the right variable.
Run through the fixes in order. In the vast majority of cases, removing hidden.img (Fix 1) or downloading the correct firmware for your exact model number (Fix 2) solves it. Everything else is edge cases.
If you've tried all seven fixes and are still stuck, paste your complete Odin log in the comments — from Added!! to the failure line. The exact error path tells us precisely what's happening, and someone in the community can usually pinpoint the issue fast.