From patchwork Mon Jan 29 22:50:58 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [v3] fff-wireless: Provide device-specific WiFi settings and set TX power From: Adrian Schmutzler X-Patchwork-Id: 769 Message-Id: <1517266258-4047-1-git-send-email-freifunk@adrianschmutzler.de> To: franken-dev@freifunk.net Date: Mon, 29 Jan 2018 23:50:58 +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 Reviewed-by: Fabian Bläse --- Changes in v2: - Provide data for Ubiquiti devices. Changes in v3: - Allow for amplifier in Picostation 2 dB -> 12 dB - Use a single file for common ubnt devices since images are frequently not correctly chosen --- 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 | 5 +++++ src/packages/fff/fff-wireless/files/etc/wifi.ubnt-bullet-m | 1 + src/packages/fff/fff-wireless/files/etc/wifi.ubnt-loco-m-xw | 1 + src/packages/fff/fff-wireless/files/etc/wifi.ubnt-nano-m | 1 + src/packages/fff/fff-wireless/files/etc/wifi.ubnt-unifi | 3 +++ src/packages/fff/fff-wireless/files/etc/wifi.ubnt-unifiac-lite | 3 +++ 9 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 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 c15b2f1..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:=0.0.2 +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 b/src/packages/fff/fff-wireless/files/etc/wifi.ubnt new file mode 100644 index 0000000..68d4624 --- /dev/null +++ b/src/packages/fff/fff-wireless/files/etc/wifi.ubnt @@ -0,0 +1,5 @@ +grep -i "Nano" /var/sysinfo/model && uci -q set wireless.radio0.antenna_gain=11 +grep -i "Pico" /var/sysinfo/model && uci -q set wireless.radio0.antenna_gain=12 +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-bullet-m b/src/packages/fff/fff-wireless/files/etc/wifi.ubnt-bullet-m new file mode 100644 index 0000000..8b282c0 --- /dev/null +++ b/src/packages/fff/fff-wireless/files/etc/wifi.ubnt-bullet-m @@ -0,0 +1 @@ +. /etc/wifi.ubnt 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..8b282c0 --- /dev/null +++ b/src/packages/fff/fff-wireless/files/etc/wifi.ubnt-loco-m-xw @@ -0,0 +1 @@ +. /etc/wifi.ubnt 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..8b282c0 --- /dev/null +++ b/src/packages/fff/fff-wireless/files/etc/wifi.ubnt-nano-m @@ -0,0 +1 @@ +. /etc/wifi.ubnt 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