The firmware update
Yesterday, (the 15th of April, aka Tax day) DJI released a long awaited firmware update for the Inspire 1 (v1.2.1.0) which was supposed to fix several issues, mainly the GPS/Atti twitchiness and some gimbal horizon drift.
tl;dr
The short version: My Inspire 1 is bricked. The strange thing is that the problems started AFTER I updated the firmware and AFTER a full-blown live test flight… not during the update process. It was fine for one flight, and then wouldn’t boot properly again. I have no idea why. JUST LUCKY, I GUESS.
The long version for those interested:
Throughout the day I was keeping up with the news via the RCGroups forum and trying to get a gauge for how users were faring with this new version. Overwhelmingly, folks were reporting success – both installing and flying with the new firmware, so I decided I’d update mine after work.
The instructions in the included .pdf were clear and straightforward… and I followed them to the letter. Not my first time at the rodeo… this was the third time I’d updated the firmware in the Inspire, so I knew what to expect and what sounds it makes when finished.
- Update the AC (aircraft). Controller off. Took about twenty minutes of listening to the “D-D-D-D” beeps, followed by a distinct change to the “D-DD” tones. Check. Everything good.
- Update the RC (controller). Only took about 10 minutes. Blue lights, beeps, a pause, then more blue lights and the final green “good-to-go”. Check. Everything good.
- Update the batteries by leaving the firmware on the microSD card and swapping each battery out. I’ve got 3 TB47’s and 3 TB48’s. They took about two minutes each, doing the light flash thing and then sounding the “all done” tone… then a reboot.
o after all of these steps, I updated the DJI pilot app (Android version, Nvidia Shield) to version 1.0.9. Experienced some issues with the app continually crashing so I completely uninstalled it from the Shield and then re-installed. Everything was working so I took the Inspire out to the yard to do a compass calibration. Good to go. Check.
Might as well press my luck and go for a test flight, right? Why not. Boxed her up into travel mode and headed down to the C&D Canal. Unpacked everything and flew a single TB48 battery. The Inspire flew great – very responsive, very smooth. Had a little bit of gimbal horizon drift but nowhere near as bad as before. Probably could have used a gimbal calibration in-air, but just wanted to fly it around for now. The flight records show I flew for 17 minutes on one TB48 battery, covering 18117ft. I took 14 photos and 10:50 of video. I was stoked. Things seemed to be good.
After the test flight I put her back into travel mode and packed things up, headed home. After arriving home I wanted to see the footage and check some of the gain/expo/braking settings – so I unpacked everything and took her out of travel mode using the controller (cycling the landing gear switch a few times). She came out of travel mode and then I shut her down again to re-attach the gimbal.
When I powered the Inspire 1 back up, everything seemed normal – but after a few seconds the gimbal went dead/limp and started beeping twice. “DD… DD… DD… “ The status light on the aircraft was blinking yellow, sometimes green twice every second or so, as if it was bouncing between ATTI mode and GPS. The DJI pilot app reported “No Signal” and I also noticed the internal cooling fan on the Inspire 1 would spin up and then suddenly cut out, then spin up again and then cut out, over and over. Puzzled, I turned everything off and rebooted/restarted. Same results, over and over.
Here’s a video illustrating what happened (I’m gently using my hand to cover the vision positioning unit’s ultrasonic emitters because they made it really hard to hear anything in the video):
Weird, right? So I tried a ton of things to fix it and none of them worked. Decided I better open a support ticket and get ready for the possibility that I might have to send the thing out to LA for repair. Rather than type everything out again I’ll just copy and paste bits and pieces of the support tickets I’ve sent to DJI:
Things I’ve tried to fix the situation with no luck:
- Reformat/erase memory card in PC as FAT and/or ExFat, re-insert, reboot. Tried 3 different cards, SanDisk and Lexar. The inspire is writing a “DCIM” folder to each, but no change when it comes to booting up.
- Check contacts on gimbal and pins to make sure connection is good.. they’re all straight and everything is clean. No response.
- Re-bind the controller using the small red re-bind button and the app “linking controller” function. No response.
- Try different batteries. Tried 3. Two TB48, one TB47. No change.
- Delete and re-install DJI pilot app. No change.
- Format memory card, copy current firmware to it and then boot the Inspire 1. (this just beeps four times D-D-D-D, see txt output below).
- Power on the Inspire 1 without the camera/gimbal… same results but with no beeping. Fan just continually restarts, and no signal.
- Went and rebooted everything in the middle of my yard, thinking possibly there was some kind of interference in my house. No change.
This was the contents of the txt file “WM610_FW_RESULT_AB” that was written to one of the cards I tested:
========== 2014.01.01 00:00:11 unsynchronized ======
Packet: WM610_FW_V01.02.01.00.bin
Result: Abort.
The firmware on the SD card is identical to or older than the current firmware on the aircraft.
========== 2014.01.01 00:00:11 unsynchronized ======
Packet: WM610_FW_V01.02.01.00.bin
Thursday Morning Update:
This morning (just for the hell of it) I thought I’d try booting up my Inspire 1 after letting it sit overnight. Same battery, empty card.
To my surprise, it started up normally, with the exception of the app not showing any kind of connection or video. I could pan/tilt the gimbal, CSC to start the motors, and if I had props on I’m sure I could’ve flown. The controller was definitely linked to the aircraft and was controlling it… it just seemed as if the app wasn’t receiving any type of connection or video output.
I grabbed my phone and tried to get a quick video of it in action:
After I turned everything off and tried to restart it again, the Inspire 1 returned to the exact same “boot loop” behavior as in the first video from last night (limp camera, double beep, no connectivity at all – as described in my first ticket). Just thought this behavior might help in diagnosing the issue. Very odd.
Thursday Night Update:
Still no word from DJI support, as I’m sure they’re slammed. Read a bunch of forum posts and one guy from Canada (flitelab) had a very similar sounding issue. He fixed his by loading up the firmware again on a clean card so I figured I’d give it a shot on mine. Used a freshly formatted microSD card and re-downloaded firmware from DJI site:
Gimbal beeped four times for a short while followed by bad noises. Here’s the contents of the hidden log file:
—
[00010249]========== 2014.01.01 00:00:10 unsynchronized ======
[00010257]Packet [C:\WM610_FW_V01.02.01.00.bin] detected.
[00010262]Packet upgrade start…
[00010280]Packet checking…
[00010285]Done.
[00010291]Version checking[1]…
[00010297][01 00] v1.7.2499 -> v1.7.2499
[00010306][01 01] v1.7.2499 -> v1.7.2499
[00022813][03 05] device not detected.
[00035321][03 06] device not detected.
[00035338][04 00] v1.16.0.76 -> v1.16.0.76
[00047844][05 00] device not detected.
[00047864][08 00] v1.11.0.19 -> v1.11.0.19
[00060377][09 00] device not detected.
[00072882][11 00] device not detected.
[00085387][12 00] device not detected.
[00097892][12 01] device not detected.
[00110401][12 02] device not detected.
[00122906][12 03] device not detected.
[00122968][15 00] v1.1.2.0 -> v1.1.2.0
[00135474][17 00] device not detected.
[00147979][17 01] device not detected.
[00160485][19 00] device not detected.
[00160490]Packet upgrade failed at version checking.
—
See all those lines that say “not detected”? If I’m reading this correctly, those are all components that have been borked by the firmware and aren’t coming back without some kind of massive hail mary.
I’m beaten down by the whole situation. It would appear that my Inspire is proper fucked, just before the weather starts getting nice. Going to have to pick up the phone and get ahold of someone out in California to get an RMA set up. The thought of not having this thing for 5-6 weeks (probably longer) during prime time really, really sucks.
Friday Update
Waited until 1pm EST and called the DJI NA/LA support hotline/office. After sitting on hold for an hour, I spoke to a very nice support rep named Thomas and explained everything in detail. He said there were a few others that called in with a similar problem and that he “thinks he knows what’s happening and might have a fix, but it’ll take a couple hours to get back to me”. As I sit writing this on Saturday night, there is still no response.
Saturday Morning
I had an idea this morning related what happened Thursday (when the Inspire started up normally after sitting overnight) and wanted to experiment. Here’s what I tried:
First, I wanted to make sure the RC unit was up-to-date so I put a freshly formatted microSD with the firmware bin on it (in the same card reader I used when I updated it on Wednesday) It didn’t do anything after two minutes so I took it out and checked the log file.
==========2015.04.18 08:17:39==========
Packet: /mnt/usb/WM610_FW_V01.02.01.00.bin,
Result: Abort
The firmware on the SD card is identical to or older than the current firmware on the remote controller.
So I’m up to date there (I think).
Next, I booted up the Inspire 1 (without a microSD card in the camera) with the controller off. Just like it did on Thursday morning (to my amazement) it started up normally after sitting all night – no boot loop, with a yellow light every second or so, similar to being in atti mode (not fast) switching to two green flashes if I set it near a window (similar to as if it had a GPS signal).
Then I turned on the RC unit, connected my iPad Air 2 and opened the DJI pilot app. The light on the RC unit was red and the pilot app reported “No Signal”. Unlike Thursday I could not control the gimbal or execute a CSC so I thought maybe the controller had become “un-bound”. I went into the app and hit the “Link controller” option, then pressed and held the tiny red button behind the nosecone for a while. Nothing. Nada. It didn’t link, and when I let go of the button it was flashing green. Also tried to initiate a compass calibration but there was no response from the Inspire 1. Meh. I don’t know – no real progress, but may try again tomorrow.
The next thing I wanted to try was tricking the craft to attempt to update the firmware again. I knew that if I turned the Inspire off it would go right back the the boot loop fiasco as soon as I started it a second time… so I very carefully removed the camera/gimbal unit with the Inspire still on (ill-advised while the unit is powered, I know… but at this point I figured what do i have to lose?) and put a freshly formatted microSD card containing the firmware .bin file in it. Then I reconnected the gimbal/camera to the Inspire (still on). Nothing really happened… the gimbal spun around a couple times and then just went back to normal. I let it sit for about ten minutes and then said the hell with it, shut it down, then rebooted it again. As expected, it went right back to the boot loop with fans cycling and the camera going limp and beeping twice.. “DD… DD… DD…”
I took the card out of the camera and was curious to see the hidden log. What I saw there came as a surprise to me. I think it tried to update the firmware again… but everything showed as up-to-date so it did nothing. Here is what was in the hidden log:
[00010467]========== 2014.01.01 00:00:11 unsynchronized ======
[00010480]Packet [C:\WM610_FW_V01.02.01.00.bin] detected.
[00010485]Packet upgrade start…
[00010494]Packet checking…
[00010503]Done.
[00010507]Version checking[1]…
[00010513][01 00] v1.7.2499 -> v1.7.2499
[00010517][01 01] v1.7.2499 -> v1.7.2499
[00010565][03 05] v34.1.0.5 -> v34.1.0.5
[00010606][03 06] v2.0.5.10 -> v2.0.5.10
[00010618][04 00] v1.16.0.76 -> v1.16.0.76
[00010645][05 00] v2.5.6.1 -> v2.5.6.1
[00010663][08 00] v1.11.0.19 -> v1.11.0.19
[00010675][09 00] v1.7.0.3 -> v1.7.0.3
[00010705][11 00] v3.2.1.0 -> v3.2.1.0
[00010765][12 00] v1.3.0.60 -> v1.3.0.60
[00010805][12 01] v1.3.0.60 -> v1.3.0.60
[00010845][12 02] v1.3.0.60 -> v1.3.0.60
[00010905][12 03] v1.3.0.60 -> v1.3.0.60
[00010966][15 00] v1.1.2.0 -> v1.1.2.0
[00010985][17 00] v1.1.0.1 -> v1.1.0.1
[00011045][17 01] v2.0.0.1 -> v2.0.0.1
[00011060][19 00] v1.0.8.59 -> v1.0.8.59
[00011064]Packet upgrade cancelled at version checking.
[00010377]========== 2014.01.01 00:00:11 unsynchronized ======
[00010386]Packet [C:\WM610_FW_V01.02.01.00.bin] detected.
[00010396]Packet upgrade start…
[00010411]Packet checking…
[00010423]Done.
[00010430]Version checking[1]…
[00010436][01 00] v1.7.2499 -> v1.7.2499
[00010441][01 01] v1.7.2499 -> v1.7.2499
[00022948][03 05] device not detected.
[00035453][03 06] device not detected.
[00035471][04 00] v1.16.0.76 -> v1.16.0.76
[00047975][05 00] device not detected.
[00047991][08 00] v1.11.0.19 -> v1.11.0.19
[00060495][09 00] device not detected.
[00073001][11 00] device not detected.
So the first set of version checking (i think) was when I attached the gimbal to the Inspire while it was running in the “non-boot-loop” – and all the components look like they’re up do date! Except… my Inspire still won’t boot. The second set is from the reboot I did where it went back into the boot loop mode (I think). I don’t know why it’s cut off, maybe I didn’t let it run fully or something. Even if I had let it run, it wasn’t detecting a lot of components. This is all really weird, but seeing that first section gave me a glimmer of hope and made me feel like I wasn’t losing my mind. My Inspire 1 was up-to-date when I flew it for that single test flight after I upgraded on Wednesday. Will be updating my ticket with DJI with this info and trying again tomorrow.
Monday: Still no luck.
After several hours and many repeated attempts, I gave up. Tried empty card, no card, card with firmware, letting it sit… I got nuthin’ – and still no word from DJI.
Tuesday: Sounds like we may need to take it in
Finally received a response from DJI support, days later.
“Thanks for all the info, Where are we at now with everything?”
So I explained everything again, stuck in “boot loop” etc. and that was it. Next reply was:
Sounds like we may need to take it in. I appreciate you taking action and trying everything thoroughly as well as providing feedback. Can you reply with your return shipping address and I will set up the repair ticket for you.
Begrudgingly, I complied – knowing that once I did this my Inspire would be gone for many, many days.
Please send your unit to our DJI repair facility in North America.
Luckily I saved the box the Inspire was shipped in, so the next task was to get it into travel mode sans controller. I took a small flathead screwdriver and manually unscrewed (counterclockwise, if you ever find yourself needing to do this shit) the main worm gear that adjusts the angle of the landing gear until they looked about right/flat-across for “travel mode”. Then took all the accessories, batteries, etc out of the carrying case and loaded up only the aircraft, controller and gimbal. Boxed that sucker up and off to the UPS store I went.
It was a sad feeling seeing the plain brown box containing my Inspire get carted off to the back room of the UPS store. Kind of like the end of Indiana Jones where they wheel the Ark of the Covenant into that endless warehouse, lost in obscurity amidst an endless sea of cargo. I muttered under my breath “I wonder if I’ll ever see her again” and then walked away. The $76 fee to ship it back to Kalifornia definitely added a nice bitter sting to the entire experience (no call-tag or prepaid labels provided by DJI).
So now I’m Inspire-less. Un-Inspired, un-inspiring for sure. I’ve still got my two little Phantom 2’s which have been flying very nicely (knock on wood) with their recent firmware updates so I can at least get my flying fix with them.
Thoughts
My opinion? Comments? Thoughts? I’ve tried to remain relatively calm throughout this whole process – no need to get upset over a very “first world problem”. I’m very aware that components may fail suddenly/randomly. Murphy is always lurking. I am also aware that this hobby is still very much in its infancy and shit is bound to go sideways from time to time on the bleeding edge. I know i’m in the minority here and the majority of Inspire owners haven’t had any problems with this firmware release and are out flying right now.
Inside though, I still feel like screaming… what the fuck? I don’t think I did anything wrong. Keep in mind my Inspire flew perfectly for a single flight after the firmware upgrade. Who knows what the hell went wrong between the time I turned it off, put it in the case and then turned it back on. I guess I was randomly chosen to win the “Free two-month vacation from your Inspire One” monopoly card. Except it isn’t really free. At a minimum DJI could be picking up shipping costs, but I understand. Honestly, what irritates me the most is the turnaround time. 5-6+ weeks is insane for a company that just announced it’s on track for a billion dollars in revenue this year.
DJI, you listening? If repairs are going to take that long and you don’t have enough techs to get them fixed and back out the door, start sending replacements the day you receive and inspect them. Especially in the case of firmware issues. There’s nothing physically wrong with my Inspire. No crashes, no parts to replace. If situations like mine are so rare, why not have a surplus stock of oh, I don’t know… maybe a few dozen Inspires squirreled away in a back room? You receive my unit, inspect it and then send out the replacement. Then your techs can take their sweet ass time dissecting and fixing the one your firmware update rendered inoperable, then sell mine as a refurbished unit. Or maybe just hire more techs with all that money we’ve given you. Better yet, how about coding firmware that doesn’t do this kind of thing in the first place? Gah. It’s unbelievably frustrating… I told myself I wouldn’t get worked up over it, but it’s hard to make sense of what DJI is doing.
So check back in about 5-6 weeks. Maybe I’ll have her back, maybe I won’t. The saga continues.
An update to the neverending Inspire 1 saga can be found on this page.
Recent Comments