This took me a while to sort out, and so I thought I'd share. I recently pulled out an AIR-AP2802I-B-K9 that had set on the shelf long enough to be way behind on firmware. The AP was running version 8.3 CAPWAP / LWAPP code, and when it tried to join the Mobility Express environment, it would loop. It would show as “pre-downloading” in the main ME controller’s web interface, but then the 8.3 AP would say that there was no space for the file to be extracted, and then it would reboot and pre-download again, and again.
As for firmware version numbers, the first two sets are the core version number (8.5) and the rest seems to be build number, and they increment as bug fixes are applied. With Mobility Express images climbing in size, Cisco needed to make room for the newer / larger firmware files. In version 8.5.140.0 they addressed the space issue, and so regardless of what older version of software you are running, you should be able to download and install 8.5.140.0 first, and then jump forward to the firmware you need. For me it was 8.10.151.0 because that was the current star (stable and tested) version. There are a couple of ways to go about this.
Option 1 is to launch the Mobility Express web interface on the old AP (If it is already an ME AP), and just upgrade your environment to 8.5.140.0 using the extracted .zip file downloaded from Cisco. (Management>Software Update, and then the “Update” button). Another important note is that using the checksum of the file, you can verify that the 2802, 3802, etc. files are all the same file, just renamed for each model. If you are upgrading a 3802i and are not permitted to download the AIR-AP3800-K9-ME-8-5-140-0.zip, try going to the 2802’s version to see if you can download that (AIR-AP2800-K9-ME-8-5-140-0.zip). The file has the same MD5 checksum because it is the same firmware, just renamed to match the model. This was my exact situation for my AP. After you are on 8.5.140.0 you can then upgrade to the newer versions by repeating this process, but with your chosen newer software version rather than the 8.5.140.0. Again, mine was 8.10.151.0, and you just need to jump to 8.5.140.0 first.
Option 2 is to upgrade the AP from the CLI using the serial console port if the AP is running the CAPWAP/LWAPP version of the software rather than Mobility Express. For this you will go to the same software download page for your AP, but instead download the .tar file rather than the .zip. Once you have the file (AIR-AP2800-K9-ME-8-5-140-0.tar) just console into your booted AP and run the following command to upgrade it to 8.5.140.0:
ap# ap-type mobility-express tftp://192.168.1.3/AIR-AP2800-K9-ME-8-5-140-0.tar
I won’t cover here how to set everything up here, but in this example 192.168.1.3 is my PC’s IP and it is running a TFTP server with the root directory containing the .tar file. Once the process completes, you should have a Mobility Express AP running 8.5.140.0. Now with the console port just walk through the initial ME setup such as name and IP, and then Mobility Express is up and running. Now go to its web console using the IP you just set it to, and then use the software upgrade option in the ME web interface to upgrade the 8.5.140.0 software version to what one you’d like to use. Again, mine was 8.10.151.0.
Regardless of which option you used, if this is a new Mobility Express setup, you are done and the AP is ready for your new ME environment. If this AP is going into an environment that already has a controller, you need to erase your config of this AP’s ME to avoid blowing up your current ME network. In the Mobility Express web interface, just go to Advanced>Controller Tools, and then choose the “Configuration Management” tab, and then use the “Clear Controller Config” button to erase the temporary Mobility Express setup you entered to get this AP booting for the upgrades.
The AP is now ready to plug in to your existing network, join, and then update its config from the controller if it is joining an existing ME setup.
***FINAL NOTE*** This process does not apply to the AIR-AP4800-B-K9 4800 APs. 8.5.140.0 does not support the 4800, and so it will fail to boot if you use the 8.5.140.0 software on it. If the 4800 is running older software it will behave the same way as described here for the 2800s / 3800s with the predownload loop and space errors, but there is a different fix that I have found for them, and I will post that soon. Again, do NOT use 8.5.140.0 on 4800s stuck in the “no space” pre-download loop. It is fixed in a different way. This fix should apply to most of the X8XX AP family though. The 2802i, 2802E, 3802I, 3802E, 3802P, and so on