Skip to content

ACP properties

Samuel Elliott edited this page Nov 24, 2019 · 6 revisions

You can use acp, node-acp or AirPyrt to query / update ACP properties.

Some of the properties that I've said don't exist on the latest firmware may actually still exist but require a specific configuration to successfully return anything.

Types

These are the types supported in node-acp. As node-acp is based on AirPyrt most of them are supported in AirPyrt as well.

node-acp type Description
mac MAC address
boo Unsigned 8 bit integer where 0 means false and 1 means true
ui8 Unsigned 8 bit integer
u16 Unsigned 16 bit integer
dec Unsigned 8/16/32 bit integer - always writes as 32 bit
u32 Unsigned 32 bit integer
u64 Unsigned 64 bit integer (uses the JavaScript bigint type in node-acp)
hex Hexadecimal
bin Binary (this is normally used by node-acp when the format of a property is unknown or node-acp shouldn't decode it itself)
cfb CFL Binary Property List
log Null-separated log data
str String
ip4 IPv4 address
ip6 IPv6 address
bpl Binary Property List

TypeScript type definitions for (CFL) Binary Property Lists are included in node-acp. These all seem to match the format of the properties in AirPort Utility backups.

Backup Types

This is the type used in the backup XML property list created by AirPort Utility.

General

Name Description Type Backup Type Notes
raMA Wi-Fi 5GHz MAC address mac String [MAC address]
laMA Ethernet MAC address mac String [MAC address]
waMA Ethernet MAC address mac String [MAC address]
syNm Base Station Name str String
syPW Base Station Password str String The password is stored in plain text. No encryption / hashing.
syCt Contact - * String Used in older versions of AirPort Utility.
syLo Location - * String Used in older versions of AirPort Utility.
syVs Version str String *.*.*
SUEn Check for firmware updates boo Boolean true to automatically check for updates.
SUFq Update frequency u32 Number 3600 - Hourly,
86400 - Daily,
604800 - Weekly,
2678400 - Monthly
sySt Status cfl Dictionary An object containing an array with the key problems, containing objects containing a string with the key code, containing a 4-character code identifying the problem. See AirPort status codes.
sySN Serial Number str String
isAC Power boo Number 0 - Ethernet (802.3af),
1 - External AC Adapter
leAc Status Light u32 Number 1 - Always On (default),
2 - Flash On Activity
bsWC Allow configuration over WAN - * Boolean
bsSS Base Station Status - *

* Doesn't exist on latest firmware.

Product information

Name Description Type Backup Type Notes
syDs Description str String On my AirPort Extreme (802.11ac, version 7.7.8) this is set to Apple Base Station V7.7.8.
syRe Country u32 Number 0-54
syAP Product Name u32 Hexadecimal 0 - AirPort,
1 - AirPort,
3 - AirPort Extreme with 802.11g,
102 - AirPort Express,
104 - AirPort Extreme with 802.11n (Fast Ethernet),
105 - AirPort Extreme with 802.11n (Gigabit Ethernet),
115 - AirPort Express 2nd generation,
120 - AirPort Extreme 6th generation (with 802.11ac)
bsSP Product Name - * Number 0 - AirPort Base Station,
3 - AirPort Extreme,
102 - AirPort Express

* Doesn't exist on latest firmware.

Time

Name Description Type Backup Type Notes
time Base Station Time u32 Hexadecimal
timz Time Zone cfl Dictionary An object containing three elements - zoneFile, data, zoneName, a string containing the name of the timezone (e.g. Europe/London) and zoneVersion, a string containing the time the timezone information was last updated in the format YYYYr (e.g. 2017b).
ntSV Network Time Server - * String
bsNP Network Time Server - * String 1 - time.apple.com,
2 - time.euro.apple.com,
3 - time.asia.apple.com
bsTZ Time Zone - *

* Doesn't exist on latest firmware.

Bonjour

Name Description Type Backup Type Notes
wbEn Use wide-area Bonjour boo Boolean true to enable wide-area Bonjour (shown as Dynamic Global Hostname in AirPort Utility.
wbHN Wide-area Bonjour Hostname str String
wbHU Wide-area Bonjour TSIG Key str String Name of the TSIG key for updating the wide-area Bonjour hostname.
wbHP Wide-area Bonjour TSIG Pass str String hmac-md5 TSIG key data for updating the wide-area Bonjour hostname.
wbAC Wide-area Bonjour DNS-SD boo Boolean

File Sharing

Name Description Type Backup Type Notes
usrd File Sharing Users cfl Dictionary
MaSt Disks cfl Dictionary
bsFS Enable file sharing - * Boolean
bsRF Share disks over WAN - * Boolean
bsWF Advertise disks using wide-area Bonjour - * Boolean
bsGA Guest Access - * Number 0 - Not allowed,
1 - Read only,
2 - Read and write
bsFM Secure Shared Disks - * Number 0 - With accounts,
1 - With a disk password,
2 - With base station password

* Doesn't exist on latest firmware.

Printer Sharing

Name Description Type Backup Type Notes
prnI USB Printer Name str String
prni USB Printers cfb -
prnR USB Printers bin Unknown format
bsRP Share printers over WAN - * Boolean
bsWP Advertise printers using wide-area Bonjour - * Boolean

* Doesn't exist on latest firmware.

AirPlay

Name Description Type Backup Type Notes
auNN AirPlay Speaker Name ? String
auNP AirPlay Password str String
aWan Allow AirPlay over Ethernet ? Boolean
auRR Enable AirPlay u16 Boolean 0 - Disabled,
1 - Enabled
auHK AirPlay 2 HomeKit pairing data bpl Boolean
auHE Paired with HomeKit boo ? This seems to control whether AirPort Utility shows "This AirPort Express is set up as a HomeKit accessory. ..." but doesn't affect airtunesd.

When setting up HomeKit pairing auHE will be set to 1 and the HomeKit Accessories and HomeKit Enabled properties of auHK will be set. HomeKit Access Level is only set when changed from the default. auNP is still used to set the AirPlay password when a HomeKit pairing isn't required.

When removing from a home auHE will be set to 0 and all entries will removed from HomeKit Accessories and HomeKit Enabled will be set to false in auHK.

Logging

Name Description Type Backup Type Notes
slCl Syslog Destination - * String
slvl Level u32 Hexadecimal 0 - Emergency,
1 - Alert,
2 - Critical,
3 - Error,
4 - Warning,
5 - Notice (default),
6 - Informational,
7 - Debug

* Doesn't exist on latest firmware.

Simple Network Management Protocol

Name Description Type Backup Type Notes
snCS SNMP Community String - *
bsSN Enable SNMP - *
bsSW Allow SNMP over WAN - *

* Doesn't exist on latest firmware.

Wi-Fi

Name Description Type Backup Type Notes
WiFi Wi-Fi configuration cfl Dictionary Most Wi-Fi related settings are in this property.
acTa Access Control - *
tACL Timed Access Control cfl Dictionary Object containing an array with the key entries, containing objects with the keys description, string, expiryTime, number, macAddress, string [MAC address] and wirelessAccessTimes, array containing strings.
wdLs WDS Nodes - *
bsP1 RADIUS server #1 Port - * Number 1 - 1645,
2 - 1812
bsP2 RADIUS server #2 Port - * Number 1 - 1645,
2 - 1812
bsrT RADIUS Type - * Number 0 - Default,
1 - Alternate
bsSM Wireless Security - * Number 1 - None,
2 - WEP 40 bit,
3 - WEP 128 bit,
4 - WPA Personal,
5 - WPA/WPA2 Personal,
6 - WPA Personal,
7 - WPA2 Personal,
8 - WEP (Transitional Security Network),
9 - WPA Enterprise,
10 - WPA/WPA2 Enterprise,
11 - WPA Enterprise,
12 - WPA2 Enterprise
bsRC Channel - * Number ...,
1000 - Automatic
bsAC Allow wireless clients - * Boolean
bsSK Wireless Password - * String
bsWM WDS Mode - * Number 0 - WDS not enabled,
1 - WDS main,
2 - WDS relay,
3 - WDS remote
bsGK WPA Group Key Timeout - *
bsNM Wireless Mode - * Number 0 - Create a wireless network,
1 - Join a wireless network,
3 - Off,
10 - Participate in a WDS network,
20 - Extend a wireless network
bsAT MAC Address Access Control - * Number 0 - Not Enabled,
1 - Local,
2 - RADIUS,
3 - Timed Access
bsDA Allow wireless clients - * Boolean

* Doesn't exist on latest firmware.

Wi-Fi configuration

These are not ACP properties - they are properties of the WiFi property. They probably were ACP properties before 5 GHz capable AirPort base stations though.

Name Description Type Backup Type Notes
raNm Wi-Fi Network Name string String Or SSID
raCl Closed network boolean Boolean true if the SSID should not be broadcast.
raKT WPA Group Key Timeout number Number
raRO Use interference robustness boolean Boolean true to enable interference robustness.
raWC Use wide channels boolean Boolean
raMu Multicast Rate number Number 1 - 1 Mbps,
2 - 2 Mbps,
85 - 5.5 Mbps,
6 - 6 Mbps,
9 - 9 Mbps,
17 - 11 Mbps,
18 - 12 Mbps,
24 - 18 Mbps,
36 - 24 Mbps
raMd Radio Mode number Number 1 - 802.11b only,
2 - 802.11b/g compatible,
3 - 802.11g only,
4 - 802.11a only,
5 - 802.11n (802.11a compatible),
6 - 802.11n (802.11b/g compatible),
7 - 802.11n only (2.4 GHz),
8 - 802.11n only (5 GHz)
raPo Transmit Power number Number 10 - 10%,
25 - 25%,
50 - 50%,
100 - 100%
raSt Wireless Network Mode number Number 0 - Create a wireless network,
1 - Join an existing wireless network,
3 - Wireless disabled
dWDS Allow this network to be extended boolean
raI1 RADIUS server #1 IP address string String [IPv4]
raSe RADIUS server #1 secret string String
raI2 RADIUS server #2 IP address string String [IPv4]
raS2 RADIUS server #2 Secret string String

Ethernet

Code Name Type Backup Type Notes
waSD Ethernet WAN Port ui8 Number 0 - Automatic (default),
2 - 10 Mbps/Half Duplex,
3 - 10 Mbps/Full Duplex,
5 - 100 Mbps/Half Duplex,
6 - 100 Mbps/Full Duplex,
8 - 1000 Mbps/Half Duplex,
9 - 000 Mbps/Full Duplex,
15 - Ethernet Disabled

Wide Area Network

Name Description Type Backup Type Notes
waCV Configure IPv4 ? Number 768 - Using DHCP,
1024 - Manually
waD1 IPv4 DNS Server #1 ip4 String [IPv4]
waD2 IPv4 DNS Server #2 ip4 String [IPv4]
waD3 IPv4 DNS Server #3 ip4 String [IPv4] Set to 0.0.0.0 by default - a third DNS server is not sent by the DHCP server when set to something else.
waC1 Automatic IPv4 DNS Server #1 ip4 String [IPv4] DNS server advertised by DHCP / PPPoE.
waC2 Automatic IPv4 DNS Server #2 ip4 String [IPv4] DNS server advertised by DHCP / PPPoE.
waC3 Automatic IPv4 DNS Server #3 ip4 String [IPv4]
waIP WAN IPv4 Address ip4 String [IPv4]
waSM WAN Subnet Mask ip4 String [IPv4]
waRA WAN IPv4 Router Address ip4 String [IPv4]
waDC DHCP Client ID str String
waDN Search Domain str String
bsIC Connect Using - * Number 1 - Ethernet,
2 - PPPoE,
3 - Modem,
4 - AirPort (WDS),
5 - Wireless Network
bsUA Use AOL - * Boolean
bsDI PPP Dial-in - *
bsTP Dialing - * Number 1 - Tone,
2 - Pulse
bsCC Country Code - *
bsPC Connection - * Number 0 - Always On,
1 - Automatic,
2 - Manual
bsRM Connection Sharing - * Number 0 - Share a public IP address,
1 - Distribute a range of IP addresses,
2 - Using NAT Only,
3 - Off (Bridge Mode)

* Doesn't exist on latest firmware.

Local Network

Name Description Type Backup Type Notes
raDS Enable DHCP server boo Boolean true to enable DHCP server.
raNA Enable NAT boo Boolean true to enable Network Address Translation.
laIP LAN IPv4 Address ip4 String [IPv4]
laSM LAN Subnet Mask ip4 String [IPv4]
dhBg DHCP Beginning Address ip4 String [IPv4]
dhEn DHCP Ending Address ip4 String [IPv4]
dhLe DHCP Lease u32 Number
dhMg DHCP Message - * String
dh95 LDAP Server - * String [IPv4]
DRes DHCP Reservations cfl Array
naFl Enable NAT-PMP u32 Boolean 0 - Disabled,
1 - Enabled
(requires Mac OS X 10.4 or later)
naAF Enable AOL Parental Controls - * Boolean
nDMZ Default Host ip4 String [IPv4]
fire IPv4 Port Mappings cfl Dictionary
pmTa IPv4 Port Mappings - *
SMBw Workgroup - * String
SMBs WINS Server - * String [IP]

* Doesn't exist on latest firmware.

IPv6

Name Description Type Backup Type Notes
6cfg IPv6 Mode u32 Number 0 - Link-local only,
1 - Node,
3 - Tunnel
6aut Configure IPv6 boo Boolean true if IPv6 is configured automatically.
6Wad WAN IPv6 address ip6 String [IPv6]
6Wfx WAN Prefix Length ? Number
6Wgw WAN IPv6 Router Address ip6 String [IPv6]
6Wte Tunnel Server IPv4 Address ip4 String [IPv4]
6Lfw LAN forwarding boo Boolean true to allow devices on the LAN to use IPv6 addresses on a prefix delegated to the AirPort device.
6Lad LAN IPv6 Address ip6 String [IPv6]
6Lfx LAN Prefix Length u32 Hexadecimal
6sfw Enable IPv6 Firewall boo Boolean true to enable the IPv6 firewall. "Block incoming IPv6 connections" in AirPort Utility.
6trd Allow Teredo tunnels boo Boolean true to allow Teredo tunnels. Has no effect when the IPv6 firewall is disabled.
6sec Allow IPSec authentication ? Boolean true to allow incoming IPSec authentication though the IPv6 firewall.
6fwl IPv6 Firewall ? Dictionary Object containing IPv6 firewall rules.

PPPoE

Name Description Type Backup Type Notes
peSN Service Name ? String
peUN Username str String
pePW Password str String
peSC Always stay connected - * Boolean
peAC Automatically connect - * Boolean
peID Disconnect if Idle - * Number 30 - 30 seconds,
60 - 1 minute,
120 - 2 minutes,
300 - 5 minutes,
600 - 10 minutes,
900 - 5 minutes,
1200 - 20 minutes,
1800 - 30 minutes,
0 - Never

* Doesn't exist on latest firmware.

Modem

Code Name Type Backup Type Notes
moPN Phone Number - *
moAP Secondary Phone Number - *
moUN Account Name - *
moPW Password - *
moID Disconnect if Idle - * 30 - 30 seconds,
60 - 1 minute,
120 - 2 minutes,
300 - 5 minutes,
600 - 10 minutes,
900 - 15 minutes,
1200 - 20 minutes,
1800 - 30 minutes,
0 - Never
moDT Ignore Dial Tone - *
moAD Automatically Dial - * Boolean
moMP Protocol - * 1 - v.90,
2 - v.34

* Doesn't exist on latest firmware.

...

Name Description Type Backup Type Notes
pdUN Account Name - *
pdPW Password - *
pdAR Answer on ring - *
pdID Idle Disconnect After - * 30 - 30 seconds,
60 - 1 minute,
120 - 2 minutes,
300 - 5 minutes,
600 - 10 minutes,
900 - 15 minutes,
1200 - 20 minutes,
1800 - 30 minutes,
0 - Never
pdMC Maximum Connect Time - * 900 - 15 minutes,
1800 - 30 minutes,
3600 - 1 hour,
7200 - 2 hours,
14400 - 4 hours,
28800 - 8 hours,
0 - Never Disconnect

* Doesn't exist on latest firmware.