]> git.ipfire.org Git - people/ms/network.git/blobdiff - src/hooks/ports/wireless-ap
wireless-ap: Enable ACS only for ath* devices
[people/ms/network.git] / src / hooks / ports / wireless-ap
index 983f0f970fadb704014f7a8c2eed72e79ece7208..0c42b61c5b7dc6f085f3c0d7b4b131992e775944 100644 (file)
@@ -28,7 +28,7 @@ HOOK_SETTINGS="${HOOK_SETTINGS} ENCRYPTION KEY SSID"
 
 ADDRESS=$(mac_generate)
 BROADCAST_SSID=on
-CHANNEL=0
+CHANNEL=
 CHANNEL_BANDWIDTH=
 ENCRYPTION=""
 KEY=""
@@ -125,6 +125,13 @@ hook_parse_cmdline() {
                return ${EXIT_ERROR}
        fi
 
+       # Automatically enable ACS if no channel is set and ACS is available
+       if ! isset CHANNEL && phy_supports_acs "${PHY}"; then
+               CHANNEL="0"
+
+               log INFO "Automatic Channel Selection (ACS) enabled"
+       fi
+
        # Channel bandwidth must match the mode
        if isset CHANNEL_BANDWIDTH && ! wireless_channel_bandwidth_is_valid "${MODE}" "${CHANNEL_BANDWIDTH}"; then
                error "Channel Bandwidth '${CHANNEL_BANDWIDTH}' is not supported for ${MODE}"