[PATCH v3] fff-wireless: Provide device-specific WiFi settings and set TX power

Adrian Schmutzler freifunk at adrianschmutzler.de
Mo Jan 29 23:50:58 CET 2018


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 <freifunk at adrianschmutzler.de>

---

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:=+ at ATH_USER_REGD +wireless-tools
+    DEPENDS:=+ at 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
-- 
2.7.4



Mehr Informationen über die Mailingliste franken-dev