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 %”)
- Battery > 50% (aircraft)
- Use a known-good data USB cable + direct USB port (no hub)
- Disable antivirus/firewall temporarily and/or reinstall DJI Assistant 2
- Restart aircraft + computer and retry (DJI explicitly recommends retrying after failures)
- If it keeps failing at the “download-ish” range (often 10–35%): switch networks (hotspot)
- 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
- Battery > 50% on the aircraft
- Known-good data cable (not charge-only)
- Direct USB port (no hub/adapter)
- Temporarily disable AV/firewall, reinstall Assistant 2
- If stuck in the 10–35% zone: switch networks (hotspot)
- 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.com)
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.com)
(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.com)
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.com)
Fastest fixes (Mavic series)
- Aircraft battery > 50%
- Known-good data cable + direct USB port (no hub)
- Disable AV/firewall, reinstall Assistant 2
- Switch networks if stuck early (10–35%)
- Retry update (DJI’s standard flow is connect → device → firmware → Upgrade).