Convert Aruba CAP to IAP

Attention: This article only works for legacy devices like AP-XX, AP-1XX, AP-2XX and AP-3XX, since the newer models are unified models (including AP-203X, AP-365, AP-367 and latest SKUs).

According to the naming schema of Aruba, the CAP stands for Campus AP that used for centralized management, and the IAP stands for Instant AP, which has the ability to self-manage by creating an ad-hoc cluster.

Aruba said that the regulation domain and the IAP/CAP model was constant when an AP was manufactured, however, it’s a trick on the software layer.

Thanks to @shalzz who provide a copy of the Aruba Instant sourcecode, so that we have the opportunity to go deep into.

Inside of the aruba-ap-310-master\sap\flash\ap60_flash_common.h, you can find the following snippet.

1
2
3
/* country-code = mfg offset + 512 bytes */
#define AP10x_CCODE_OFFSET 0xFE0100 /* CCODE-<ccode>-<sha1> */
#define AP10x_CCODE_SIZE 64 /* 6 (CCODE-) + 7 (<CC>-) + 40 (SHA1) + 11 spare bytes */

Now the answer is clear, the format of CCODE is

1
CCODE-<Regulatory Domain>-<SHA1(<Regulatory Domain>-<Serial Number>)>

Thanks to @BFXR who provides a online CCODE calculator.

Here is the list of regulatory domain.

  • US - Restricted Regulatory Domain - US
  • JP - Restricted Regulatory Domain - Japan
  • IL - Restricted Regulatory Domain - Israel
  • RW or UNRST - Rest of the World (Unrestricted)

Let’s move on to flash the CCODE.

  1. Power on the AP with the Console cable installed.
  2. Hit the <ENTER> to interrupt the boot process.
  3. Flash the CCODE into the AP: proginv system ccode <YOUR_CCODE>.
  4. Process conversion: invent -w.
  5. Obtain IP address from DHCP server by dhcp, or you can use setenv ipaddr <ipaddr> and setenv netmask <netmaskip> to assign a valid IP address manually.
  6. Set the TFTP server IP for downloading OS image: setenv serverip [TFTP_Server].
  7. Upgrade the partition 0 on the flash: upgrade os 0 ArubaInstant_xxx_6.x.x.x-4.x.x.x_5xxxx, the file must exists on the TFTP directory. To change the boot partition, see here. By default, partition 0 is the boot partition, while partition 1 is the recovery partition.
  8. Upgrade the partition 1 on the flash: upgrade os 1 ArubaInstant_xxx_6.x.x.x-4.x.x.x_5xxxx.
  9. Do a factory reset to clear the configuration remains: factory_reset.
  10. Save environment variables to persistent storage: saveenv.
  11. Trigger a hardware reset (reboot): reset.

See more AP boot commands at Managing AP Console Settings.