[PATCH 1/3] OpenWRT/fff-boardname: Add board detection for UBNT AC-Mesh

Adrian Schmutzler freifunk at adrianschmutzler.de
Mo Mär 19 16:50:17 CET 2018


Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>

---

This patch is independent of other unreviewed patches.
---
 ...71xx-add-board-detection-for-UBNT-AC-Mesh.patch | 61 ++++++++++++++++++++++
 src/packages/fff/fff-boardname/Makefile            |  2 +-
 .../files/etc/uci-defaults/50-fff-boardname        |  1 +
 .../fff-network/ar71xx/network.ubnt-unifiac-mesh   | 13 +++++
 4 files changed, 76 insertions(+), 1 deletion(-)
 create mode 100644 build_patches/openwrt/0030-ar71xx-add-board-detection-for-UBNT-AC-Mesh.patch
 create mode 100644 src/packages/fff/fff-network/ar71xx/network.ubnt-unifiac-mesh

diff --git a/build_patches/openwrt/0030-ar71xx-add-board-detection-for-UBNT-AC-Mesh.patch b/build_patches/openwrt/0030-ar71xx-add-board-detection-for-UBNT-AC-Mesh.patch
new file mode 100644
index 0000000..fcbe0b6
--- /dev/null
+++ b/build_patches/openwrt/0030-ar71xx-add-board-detection-for-UBNT-AC-Mesh.patch
@@ -0,0 +1,61 @@
+From 5ec9f9f0164c04ae8edef1ed7945b8d685ee360c Mon Sep 17 00:00:00 2001
+From: David Bauer <mail at david-bauer.net>
+Date: Sun, 25 Feb 2018 12:09:38 +0100
+Subject: [PATCH] ar71xx: add board detection for UBNT AC-Mesh
+
+This commit adds correct model detection for UniFi
+AC-Mesh. Previously said device was incorrectly detected
+as UniFi AC-Lite.
+
+The Information about the device is stored at 0xC in the EEPROM
+partition. It corresponds to the sysid in /etc/board.info of the
+Ubiquiti stock firmware.
+
+Signed-off-by: David Bauer <mail at david-bauer.net>
+---
+ target/linux/ar71xx/base-files/lib/ar71xx.sh | 22 ++++++++++++++++++++++
+ 1 file changed, 22 insertions(+)
+
+diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh
+index 58e92ab..ad96c3e 100755
+--- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
++++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
+@@ -98,6 +98,27 @@ ubnt_xm_board_detect() {
+ 	[ -z "$model" ] || AR71XX_MODEL="${model}${magic:3:1}"
+ }
+ 
++ubnt_ac_lite_get_mtd_part_magic() {
++	ar71xx_get_mtd_offset_size_format EEPROM 12 2 %02x
++}
++
++ubnt_ac_lite_board_detect() {
++	local model
++	local magic
++
++	magic="$(ubnt_ac_lite_get_mtd_part_magic)"
++	case ${magic:0:4} in
++	"e517")
++		model="Ubiquiti UniFi-AC-LITE"
++		;;
++	"e557")
++		model="Ubiquiti UniFi-AC-MESH"
++		;;
++	esac
++
++	[ -z "$model" ] || AR71XX_MODEL="${model}"
++}
++
+ cybertan_get_hw_magic() {
+ 	local part
+ 
+@@ -1105,6 +1126,7 @@ ar71xx_board_detect() {
+ 		;;
+ 	*"UniFi-AC-LITE")
+ 		name="unifiac-lite"
++		ubnt_ac_lite_board_detect
+ 		;;
+ 	*"UniFi-AC-PRO")
+ 		name="unifiac-pro"
+-- 
+2.7.4
+
diff --git a/src/packages/fff/fff-boardname/Makefile b/src/packages/fff/fff-boardname/Makefile
index d7ccd00..6a48b3a 100644
--- a/src/packages/fff/fff-boardname/Makefile
+++ b/src/packages/fff/fff-boardname/Makefile
@@ -1,7 +1,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=fff-boardname
-PKG_VERSION:=5
+PKG_VERSION:=6
 PKG_RELEASE:=1
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
diff --git a/src/packages/fff/fff-boardname/files/etc/uci-defaults/50-fff-boardname b/src/packages/fff/fff-boardname/files/etc/uci-defaults/50-fff-boardname
index db2f253..049f130 100644
--- a/src/packages/fff/fff-boardname/files/etc/uci-defaults/50-fff-boardname
+++ b/src/packages/fff/fff-boardname/files/etc/uci-defaults/50-fff-boardname
@@ -46,6 +46,7 @@ case "$BOARD" in
         ;;
     unifiac-lite)
         BOARD=ubnt-unifiac-lite
+        grep -i "MESH" /var/sysinfo/model && BOARD=ubnt-unifiac-mesh
         ;;
     tl-wa850re)
         BOARD=tl-wa850re-v1
diff --git a/src/packages/fff/fff-network/ar71xx/network.ubnt-unifiac-mesh b/src/packages/fff/fff-network/ar71xx/network.ubnt-unifiac-mesh
new file mode 100644
index 0000000..15efcb0
--- /dev/null
+++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-unifiac-mesh
@@ -0,0 +1,13 @@
+WANDEV=eth0
+SWITCHDEV=eth0
+CLIENT_PORTS=""
+WAN_PORTS=""
+BATMAN_PORTS=""
+ONE_PORT="YES"
+
+. /etc/network.mode
+. /lib/functions/system.sh
+. /lib/functions/uci-defaults.sh
+. /lib/ar71xx.sh
+
+ROUTERMAC=$(mtd_get_mac_binary EEPROM 0x0)
\ No newline at end of file
-- 
2.7.4



Mehr Informationen über die Mailingliste franken-dev