GENERAL

DJI Assistant 2 percentages are not standardized across every model/version—so “stuck at X%” usually tells you which stage is failing, not a specific coded meaning.

Here’s the practical breakdown most updates follow:

  • 0–5% (start / handshake)
    • Meaning: device detection + entering update mode.
    • Stalls usually point to: wrong Assistant 2 version for that product, USB driver issue (Windows), bad cable/port, hub/adapter problems.
  • 5–30% (package prep / download)
    • Meaning: firmware file download + unpack/precheck.
    • Stalls usually point to: internet/network issues, DJI server throttling, firewall/AV blocking the download or unpack.
  • 30–60% (firmware transfer to device)
    • Meaning: PC → drone/RC data transfer.
    • Stalls usually point to: USB cable/port/hub/adapter, flaky connection, power management on USB, driver instability.
  • 60–80% (writing/flash to modules)
    • Meaning: device is programming firmware to internal modules.
    • Stalls usually point to: module not responding, low power/battery, internal comms issue, corrupted package.
  • 80–99% (verification / finalization)
    • Meaning: checksum/verify + cleanup + reboot prep.
    • Stalls usually point to: verify failed (corrupt download), device reboot not happening cleanly, PC/USB drop right at the end.
  • At exactly 100% but “still updating”
    • Meaning: reboot + post-flash checks.
    • Stalls usually point to: device didn’t reboot, needs power-cycle, or Assistant 2 UI froze.

MINI 2

If you’re on a modern Mac (macOS 11+, especially Apple-silicon like M-series), DJI’s own compatibility page lists DJI Assistant 2 (Consumer Drones Series) as not supported on macOS ≥11.0, and some versions only work on Intel Macs. That alone can cause weird behavior, including stalls.  

(If you’re on Mac and it won’t even install/open normally, DJI’s install workaround is here.)  

What “stuck at X%” usually means in Assistant 2 (practical mapping)

  • 0–10% → Handshake / device connection / entering update modeMost often: USB data/cable/port, hub/adapter, driver/connection issues.  
  • 10–35% → Firmware download + prepMost often: network instability, firewall/AV interference, corrupted cached download.  
  • 35–70% → Transfer of firmware from computer → aircraftMost often: USB link dropping (bad cable, loose port, hub).  
  • 70–90% → Writing/flash to internal modulesMost often: power/battery issue, something interrupting the process (disconnects/restarts). DJI’s guidance is basically “don’t interrupt; if it fails, restart and retry.”  
  • 90–99% → Verification/finalizationMost often: corrupted download or a last-step connection drop; retry usually succeeds after fixing cable/network.  
  • 100% but still “updating” → Reboot + post-flash checksIf it sits there, power-cycle and recheck firmware version after reconnecting.  

Fixes that actually move the needle (works for “stuck at any %”)

  1. Battery > 50% (aircraft)  
  2. Use a known-good data USB cable + direct USB port (no hub)  
  3. Disable antivirus/firewall temporarily and/or reinstall DJI Assistant 2  
  4. Restart aircraft + computer and retry (DJI explicitly recommends retrying after failures)  
  5. If it keeps failing at the “download-ish” range (often 10–35%): switch networks (hotspot)  
  6. If you’re on macOS 11+ / Apple-silicon: use a Windows PC for Assistant 2 (or update through DJI Fly instead), because DJI lists that Mac setup as not supported for this Assistant 2 line.

For the Air series in DJI Assistant 2, the percentage isn’t a code with fixed meanings—it’s just progress through stages, and “stuck at X%” usually points to which stage is failing (connection vs download vs write/verify).  

Air models that use DJI Assistant 2 (Consumer Drones Series) include Mavic Air, Mavic Air 2, Air 2S, Air 3, Air 3S(per DJI’s own download page).  

What “stuck at X%” usually means (practical mapping)

  • 0–10% → handshake / entering upgrade modeMost common causes: USB cable/port/hub/adapter, driver/connection issues.
  • 10–35% → firmware download + prepMost common causes: network/firewall/AV blocking, bad/corrupt download cache.
  • 35–70% → transfer PC → aircraftMost common causes: USB data link instability (cable/port/hub).
  • 70–90% → writing firmware to modulesMost common causes: power interruption/low battery, disconnects, internal module not responding.
  • 90–99% → verification/finalizationMost common causes: corrupted download or last-step connection drop.
  • 100% but still “updating” → reboot + post-flash checksMost common causes: reboot didn’t complete cleanly; power-cycle then reconnect and recheck.

DJI’s own guidance for “stuck for an extended period” is basically: don’t interrupt during update; if it’s stuck too long, restart and retry.  

One Air-series gotcha (Mac)

On macOS ≥ 11, DJI’s compatibility table shows limitations (notably Intel-only support in some cases, and it explicitly lists Mavic 3 and Air 2S under that macOS category). If you’re updating an Air 3 / Air 3S on a modern Apple-silicon Mac, that can be the reason it stalls—use a Windows PC or update through DJI Fly instead.  

Fastest fixes that resolve most “stuck at %” cases

  1. Battery > 50% on the aircraft
  2. Known-good data cable (not charge-only)
  3. Direct USB port (no hub/adapter)
  4. Temporarily disable AV/firewall, reinstall Assistant 2
  5. If stuck in the 10–35% zone: switch networks (hotspot)
  6. Retry: DJI’s standard method is connect → Assistant 2 → device → firmware list → Upgrade (it should auto-restart after).  

Same deal for the Mavic series in DJI Assistant 2: the percentage is not an official “code” with fixed meanings across models/versions. It’s just progress through update stages. (support.dji.comAttachment.tiff)

Mavic models that use DJI Assistant 2 (Consumer Drones Series)

DJI’s download page lists supported product families including Mavic 2 / Mavic 2 Enterprise / Mavic 3 / Mavic 3 Enterprise / Mavic Air / Mavic Air 2 / Mini series / Air series, etc. (dji.comAttachment.tiff)

(Mavic Pro / Mavic 2 / Mavic 3 generations can behave a bit differently, but the “stuck %” interpretation is still stage-based, not percent-coded.)

What “stuck at X%” usually means (stage-based)

  • 0–10% → handshake / entering upgrade modeTypical causes: wrong Assistant 2 flavor, USB cable/port/hub issues, Windows driver problems.
  • 10–35% → firmware download + prepTypical causes: network problems, firewall/AV blocking, corrupt cached download.
  • 35–70% → transfer computer → aircraftTypical causes: USB link instability (bad cable, loose port, hubs/adapters).
  • 70–90% → writing firmware to modulesTypical causes: power/battery issues, disconnects, internal module not responding.
  • 90–99% → verification / finalizeTypical causes: corrupt download, last-step disconnect, verify failure.
  • 100% but still “updating” → reboot + post-flash checksTypical causes: reboot didn’t complete cleanly; power-cycle and reconnect.

DJI’s general guidance: don’t interrupt; if it’s stuck/failed, restart and retry the update. (support.dji.comAttachment.tiff)

One big Mavic gotcha (Mac)

DJI’s macOS compatibility table shows limitations on macOS ≥11 and calls out multiple product lines under that category (including Mavic 3 / Air 2S). On Apple-silicon Macs, Assistant 2 support can be a problem—Windows often resolves “stuck %” issues immediately. (support.dji.comAttachment.tiff)

Fastest fixes (Mavic series)

  1. Aircraft battery > 50%
  2. Known-good data cable + direct USB port (no hub)
  3. Disable AV/firewall, reinstall Assistant 2
  4. Switch networks if stuck early (10–35%)
  5. Retry update (DJI’s standard flow is connect → device → firmware → Upgrade). 
Scroll to Top