Cisco – Fixing ‘Unable to Create Temp Dir’ Error on Cisco AP

aironetciscocisco-wirelesswireless

When trying to update an Aironet 1262 to a new firmware, I received this error:

ap#archive download-sw /overwrite scp://root@10.10.10.10/ap3g1-k9w8-tar.152-4.JB5.tar
Unable to create temp dir "flash:/update"

My first thought is that the flash was full. Which is odd since normally updating the firmware, I overwrite the old firmware. However, even dir resulted in an error:

ap#dir
%Error opening flash:/ (Invalid argument)

How do I resolve this issue without trying a reboot of the AP and risking it not booting due to a flash error?

Best Answer

Many Cisco devices include the fsck command to check the file system with. If you run this command on the flash, it will attempt to fix file system errors for you. These were my results:

ap#fsck flash:
Fsck operation may take a while. Continue? [confirm]
flashfs[3]: WARNING - Unable to allocate backup blocks.
Please free some space on the flash file system.
flashfs[3]: 202 files, 7 directories
flashfs[3]: 0 orphaned files, 0 orphaned directories
flashfs[3]: Total bytes: 31610880
flashfs[3]: Bytes used: 31610880
flashfs[3]: Bytes available: 0
flashfs[3]: flashfs fsck took 19 seconds.
Fsck of flash: complete

Well, this appears to have proved that the file system is full. But did it fix the issue with the flash system so I could look at the flash system to find files to delete? Yes:

ap#dir
Directory of flash:/

    2  -rwx          64   Mar 1 1993 00:03:30 +00:00  sensord_CSPRNG0
    3  -rwx    12257280   Mar 1 2002 00:44:20 +00:00  ap3g1-k9w7-tar.152-2.JB.tar
    4  -rwx        1864   Mar 1 1993 00:04:03 +00:00  backup.config
    5  -rwx      294235   Apr 3 2014 22:01:12 +00:00  ap_log_r1_0.log
    6  -rwx           0   Apr 4 2014 08:12:42 +00:00  env_vars.tmp
    7  -rwx        2072   Mar 1 1993 20:26:00 +00:00  private-multiple-fs
    8  drwx         832   Mar 1 2002 00:54:21 +00:00  ap3g1-k9w7-mx.152-2.JB
   11  -rwx        3567   Mar 1 1993 20:26:00 +00:00  private-config
   12  -rwx          64   Apr 3 2014 22:16:37 +00:00  sensord_CSPRNG1
   13  -rwx       25960   Mar 1 1993 01:05:43 +00:00  event.log
   14  -rwx           4  Feb 18 2014 21:02:33 +00:00  FOC16441UX9
   15  -rwx      158878   Mar 7 1993 20:49:30 +00:00  event.r1
   16  -rwx      294235   Apr 3 2014 22:01:17 +00:00  ap_log_r1_1.log
   17  -rwx      294235   Apr 3 2014 22:01:22 +00:00  ap_log_r1_2.log
   18  -rwx     6111232   Apr 3 2014 22:16:23 +00:00  r1.rcore
   19  -rwx           0   Apr 3 2014 22:16:27 +00:00  r1.rcore.info
   20  -rwx         217   Apr 3 2014 20:16:20 +00:00  env_vars

31610880 bytes total (0 bytes free)
ap#

You can see why the file system is full, someone copied a firmware tarball direct to the AP's flash instead of using the archive command to pull it remotely. Easy fix though, just delete the tarball:

ap#del flash:ap3g1-k9w7-tar.152-2.JB.tar
Delete filename [ap3g1-k9w7-tar.152-2.JB.tar]? 
Delete flash:/ap3g1-k9w7-tar.152-2.JB.tar? [confirm]
ap#dir
Directory of flash:/

    2  -rwx          64   Mar 1 1993 00:03:30 +00:00  sensord_CSPRNG0
    4  -rwx        1864   Mar 1 1993 00:04:03 +00:00  backup.config
    5  -rwx      294235   Apr 3 2014 22:01:12 +00:00  ap_log_r1_0.log
    6  -rwx           0   Apr 4 2014 08:12:42 +00:00  env_vars.tmp
    7  -rwx        2072   Mar 1 1993 20:26:00 +00:00  private-multiple-fs
    8  drwx         832   Mar 1 2002 00:54:21 +00:00  ap3g1-k9w7-mx.152-2.JB
   11  -rwx        3567   Mar 1 1993 20:26:00 +00:00  private-config
   12  -rwx          64   Apr 3 2014 22:16:37 +00:00  sensord_CSPRNG1
   13  -rwx       25960   Mar 1 1993 01:05:43 +00:00  event.log
   14  -rwx           4  Feb 18 2014 21:02:33 +00:00  FOC16441UX9
   15  -rwx      158878   Mar 7 1993 20:49:30 +00:00  event.r1
   16  -rwx      294235   Apr 3 2014 22:01:17 +00:00  ap_log_r1_1.log
   17  -rwx      294235   Apr 3 2014 22:01:22 +00:00  ap_log_r1_2.log
   18  -rwx     6111232   Apr 3 2014 22:16:23 +00:00  r1.rcore
   19  -rwx           0   Apr 3 2014 22:16:27 +00:00  r1.rcore.info
   20  -rwx         217   Apr 3 2014 20:16:20 +00:00  env_vars

31610880 bytes total (12257280 bytes free)
ap#

Ok, file system fixed. Free space created. Did all of this fix the original issue of updating the firmware? Yes:

ap#archive download-sw /overwrite scp://root@10.10.10.10/ap3g1-k9w8-tar.152-4.JB5.tar
examining image...
Password: 
 Sending file modes: C0644 10475520 ap3g1-k9w8-tar.152-4.JB5.tar

extracting info (286 bytes)
Image info:
    Version Suffix: k9w8-.152-4.JB5
    Image Name: ap3g1-k9w8-mx.152-4.JB5
    Version Directory: ap3g1-k9w8-mx.152-4.JB5
    Ios Image Size: 594432
    Total Image Size: 10465792
    Image Feature: WIRELESS LAN|LWAPP
    Image Family: AP3G1
    Wireless Switch Management Version: 7.6.100.0
Extracting files...!
Related Topic