For hours I've been dealing with this and no one has documented the same issue online. I tried the following with no success:
- Changed permissions of parent folder
/var/folders/r4/s_j4c02s3wvcx6wy41__rnwh0000gp/T
- Ran APM as sudo
- Multiple versions of APM
- Multiple operating systems
I had to get a bit creative to come up with a workable solution:
Solution
When APM tried to download the firmware, you could see the temp file until you clicked "OK" in regard to the firmware failure. What I did was copied that file and found the following html in there:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>302 Found</title>
</head><body>
<h1>Found</h1>
<p>The document has moved <a href="http://firmware.ardupilot.org/Copter/stable/apm2-hexa/ArduCopter.hex">here</a>.</p>
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at firmware.diydrones.com Port 80</address>
</body></html>
Obviously this is a server issue so here's what I did to get around it:
- Downloaded the file mentioned in the html (
http://firmware.ardupilot.org/Copter/stable/apm2-hexa/ArduCopter.hex
) to my desktop
- Changed the file format from
txt
to hex
- Set APM Planner to advanced mode via
File
> Advanced Mode
- In
Initial Setup
> Install Firmware Menu
I selected Firmware Options
> Custom
- Chose the hex file I had downloaded
Violá