From patchwork Mon Mar 19 15:50:17 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [1/3] OpenWRT/fff-boardname: Add board detection for UBNT AC-Mesh From: Adrian Schmutzler X-Patchwork-Id: 825 Message-Id: <1521474619-39512-1-git-send-email-freifunk@adrianschmutzler.de> To: franken-dev@freifunk.net Date: Mon, 19 Mar 2018 16:50:17 +0100 Signed-off-by: Adrian Schmutzler Tested-by: Adrian Schmutzler --- 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 +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 +--- + 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