From patchwork Mon Jan 22 12:46:55 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [v2] fff-wireless: Provide device-specific WiFi settings and set TX power From: Adrian Schmutzler X-Patchwork-Id: 767 Message-Id: <1516625215-2486-1-git-send-email-freifunk@adrianschmutzler.de> To: franken-dev@freifunk.net Date: Mon, 22 Jan 2018 13:46:55 +0100 Like the network.* files, this introduces wifi.* files to set device-specific settings. In contrast to the former, the wifi.* settings are only run during firstboot and only if there is a file present. In this patch, we set the antenna gain values for the devices not treated correctly in OpenWRT. Side conditions: - The script requires 50-fff-boardname and 60-fff-wireless beforehand, so I chose 62 as number. - The wifi command is not necessary, since after firstboot configurehood will run "wifi" in any case Signed-off-by: Adrian Schmutzler --- Changes in v2: - Provide data for Ubiquiti devices. Not Tested. --- src/packages/fff/fff-wireless/Makefile | 4 ++-- .../fff/fff-wireless/files/etc/uci-defaults/62-config-wireless | 9 +++++++++ src/packages/fff/fff-wireless/files/etc/wifi.tl-wr1043nd-v1 | 2 ++ src/packages/fff/fff-wireless/files/etc/wifi.ubnt-bullet-m | 3 +++ src/packages/fff/fff-wireless/files/etc/wifi.ubnt-loco-m-xw | 3 +++ src/packages/fff/fff-wireless/files/etc/wifi.ubnt-nano-m | 2 ++ src/packages/fff/fff-wireless/files/etc/wifi.ubnt-unifi | 3 +++ src/packages/fff/fff-wireless/files/etc/wifi.ubnt-unifiac-lite | 3 +++ 8 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 src/packages/fff/fff-wireless/files/etc/uci-defaults/62-config-wireless create mode 100644 src/packages/fff/fff-wireless/files/etc/wifi.tl-wr1043nd-v1 create mode 100644 src/packages/fff/fff-wireless/files/etc/wifi.ubnt-bullet-m create mode 100644 src/packages/fff/fff-wireless/files/etc/wifi.ubnt-loco-m-xw create mode 100644 src/packages/fff/fff-wireless/files/etc/wifi.ubnt-nano-m create mode 100644 src/packages/fff/fff-wireless/files/etc/wifi.ubnt-unifi create mode 100644 src/packages/fff/fff-wireless/files/etc/wifi.ubnt-unifiac-lite diff --git a/src/packages/fff/fff-wireless/Makefile b/src/packages/fff/fff-wireless/Makefile index 6c62449..c548654 100644 --- a/src/packages/fff/fff-wireless/Makefile +++ b/src/packages/fff/fff-wireless/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=fff-wireless -PKG_VERSION:=5 +PKG_VERSION:=6 PKG_RELEASE:=1 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) @@ -13,7 +13,7 @@ define Package/$(PKG_NAME) CATEGORY:=Freifunk TITLE:= Freifunk-Franken wireless configuration URL:=http://www.freifunk-franken.de - DEPENDS:=+@ATH_USER_REGD +wireless-tools + DEPENDS:=+@ATH_USER_REGD +wireless-tools +fff-boardname endef define Package/$(PKG_NAME)/description diff --git a/src/packages/fff/fff-wireless/files/etc/uci-defaults/62-config-wireless b/src/packages/fff/fff-wireless/files/etc/uci-defaults/62-config-wireless new file mode 100644 index 0000000..f900b2c --- /dev/null +++ b/src/packages/fff/fff-wireless/files/etc/uci-defaults/62-config-wireless @@ -0,0 +1,9 @@ +#!/bin/sh +# Copyright 2018 Adrian Schmutzler +# License GPLv3 + +BOARD="$(uci get board.model.name)" + +if [ -s "/etc/wifi.$BOARD" ] ; then + . "/etc/wifi.$BOARD" +fi diff --git a/src/packages/fff/fff-wireless/files/etc/wifi.tl-wr1043nd-v1 b/src/packages/fff/fff-wireless/files/etc/wifi.tl-wr1043nd-v1 new file mode 100644 index 0000000..f1a7017 --- /dev/null +++ b/src/packages/fff/fff-wireless/files/etc/wifi.tl-wr1043nd-v1 @@ -0,0 +1,2 @@ +uci -q set wireless.radio0.antenna_gain=3 +uci -q commit wireless diff --git a/src/packages/fff/fff-wireless/files/etc/wifi.ubnt-bullet-m b/src/packages/fff/fff-wireless/files/etc/wifi.ubnt-bullet-m new file mode 100644 index 0000000..0d521d7 --- /dev/null +++ b/src/packages/fff/fff-wireless/files/etc/wifi.ubnt-bullet-m @@ -0,0 +1,3 @@ +grep -i "Pico" /var/sysinfo/model && uci -q set wireless.radio0.antenna_gain=2 +grep -i "Loco" /var/sysinfo/model && uci -q set wireless.radio0.antenna_gain=9 +uci -q commit wireless diff --git a/src/packages/fff/fff-wireless/files/etc/wifi.ubnt-loco-m-xw b/src/packages/fff/fff-wireless/files/etc/wifi.ubnt-loco-m-xw new file mode 100644 index 0000000..b48b7f6 --- /dev/null +++ b/src/packages/fff/fff-wireless/files/etc/wifi.ubnt-loco-m-xw @@ -0,0 +1,3 @@ +grep -i "Loco" /var/sysinfo/model && uci -q set wireless.radio0.antenna_gain=9 +grep -i "Power" /var/sysinfo/model && uci -q set wireless.radio0.antenna_gain=18 +uci -q commit wireless diff --git a/src/packages/fff/fff-wireless/files/etc/wifi.ubnt-nano-m b/src/packages/fff/fff-wireless/files/etc/wifi.ubnt-nano-m new file mode 100644 index 0000000..8b44ac8 --- /dev/null +++ b/src/packages/fff/fff-wireless/files/etc/wifi.ubnt-nano-m @@ -0,0 +1,2 @@ +uci -q set wireless.radio0.antenna_gain=11 +uci -q commit wireless diff --git a/src/packages/fff/fff-wireless/files/etc/wifi.ubnt-unifi b/src/packages/fff/fff-wireless/files/etc/wifi.ubnt-unifi new file mode 100644 index 0000000..903c7b6 --- /dev/null +++ b/src/packages/fff/fff-wireless/files/etc/wifi.ubnt-unifi @@ -0,0 +1,3 @@ +# No support for Unifi AP Pro! +uci -q set wireless.radio0.antenna_gain=3 +uci -q commit wireless diff --git a/src/packages/fff/fff-wireless/files/etc/wifi.ubnt-unifiac-lite b/src/packages/fff/fff-wireless/files/etc/wifi.ubnt-unifiac-lite new file mode 100644 index 0000000..9b4438d --- /dev/null +++ b/src/packages/fff/fff-wireless/files/etc/wifi.ubnt-unifiac-lite @@ -0,0 +1,3 @@ +uci -q set wireless.radio0.antenna_gain=4 +uci -q set wireless.radio1.antenna_gain=3 +uci -q commit wireless