UniFi - Using SYSTEM.CFG for Persistent Changes


Overview


This article describes how to customize system.cfg for device specific changes, or site-wide configuration.

ATTENTION: This article describes advanced configurations and should only be attempted by advanced users. It is not in our Support team's scope to give assistance to these configurations, so please remove them from your environment prior to contacting support. 

Table of Contents


  1. Introduction
  2. Example Configuration
  3. Related Articles

Introduction


Back to Top

Using the config.properties file, you can implement site-wide changes, or make changes specific to an individual device. Any variable in the system.cfg can be customized. The settings are applied just like any other setting in config.properties, so once you have made your customizations you need to trigger a provision of the device (or site).

An important limitation to consider is that you can only add to the system.cfg, it will not replace existing lines. You currently cannot remove existing lines either, so it's possible to create conflicts and/or introduce instability into the configurations.

  • To make site-wide changes, use config.system_cfg.1=
  • To make changes to a specific UAP you would also include its MAC address without colons :, periods ., or any other symbol like so: config.system_cfg.24a43c010203.1=

Note that the lines are numbered: that is the number after the period and before the equals sign =, so for a second customization on this same access point, you would use config.system_cfg.24a43c010203.2= and so forth.


Example Configuration


Back to Top

The example below shows what would be added to the config.properties file to change the ebtables rules (these are defaults, just provided as an example):

config.system_cfg.1=ebtables.1.cmd=-t nat -A PREROUTING --in-interface eth2 -d BGA -j DROP
config.system_cfg.2=ebtables.2.cmd=-t nat -A POSTROUTING --out-interface eth2 -d BGA -j DROP
config.system_cfg.3=ebtables.3.cmd=-t nat -A PREROUTING --in-interface eth2 --proto 0x888e -j ACCEPT
config.system_cfg.4=ebtables.4.cmd=-t nat -A PREROUTING --in-interface eth2 --proto 0x886c -j ACCEPT
config.system_cfg.5=ebtables.5.cmd=-t nat -A PREROUTING --in-interface eth2 --proto LENGTH -j ACCEPT
config.system_cfg.6=ebtables.6.cmd=-t nat -A PREROUTING --in-interface eth1 -d BGA -j DROP
config.system_cfg.7=ebtables.7.cmd=-t nat -A POSTROUTING --out-interface eth1 -d BGA -j DROP
config.system_cfg.8=ebtables.8.cmd=-t nat -A PREROUTING --in-interface eth1 --proto 0x888e -j ACCEPT
config.system_cfg.9=ebtables.9.cmd=-t nat -A PREROUTING --in-interface eth1 --proto 0x886c -j ACCEPT
config.system_cfg.10=ebtables.10.cmd=-t nat -A PREROUTING --in-interface eth1 --proto LENGTH -j ACCEPT
config.system_cfg.11=ebtables.11.cmd=-t broute -A BROUTING -i eth2 -p 802_1Q -j DROP

The following example shows how to change the TX power on a UniFi Access Point. You would first have to make sure that TX power is set to custom in the UI, by clicking on the UAP in question in the Devices screen to open the Properties panel, then setting the Transmit Power to Custom in Config > Radios. After clicking Queue Changes, you would add the following in the config.properties file:

config.system_cfg.1=radio.1.txpower_mode=custom
config.system_cfg.2=radio.1.txpower=6
config.system_cfg.3=radio.2.txpower_mode=custom
config.system_cfg.4=radio.2.txpower=6

If a user wishes to apply this configuration to a single UAP, you would use the MAC ID to specify:

config.system_cfg.24a43c10xxxx.1=radio.1.txpower_mode=custom
config.system_cfg.24a43c10xxxx.2=radio.1.txpower=6
config.system_cfg.24a43c10xxxx.3=radio.2.txpower_mode=custom
config.system_cfg.24a43c10xxxx.4=radio.2.txpower=6
User Tip: A minimum TX power is set for stability reasons. If you set TX power too low you may introduce instability. The configuration shown above is only an example, there are hard limits set in the firmware. 

Related Articles


Back to Top

UniFi - Explaining the config.properties File


We're sorry to hear that!