From 7ce4fac1a9da09b215d79e2431a11841c16b1ffb Mon Sep 17 00:00:00 2001
From: Christoph Krapp <achterin@googlemail.com>
Date: Mon, 21 May 2018 15:51:26 +0200
Subject: [PATCH] ar71xx: add model detection for Ubiquiti AC Mesh (#1400)

---
 ...add-model-detection-for-UBNT-AC-Mesh.patch | 54 +++++++++++++++++++
 1 file changed, 54 insertions(+)
 create mode 100644 patches/lede/0089-ar71xx-add-model-detection-for-UBNT-AC-Mesh.patch

diff --git a/patches/lede/0089-ar71xx-add-model-detection-for-UBNT-AC-Mesh.patch b/patches/lede/0089-ar71xx-add-model-detection-for-UBNT-AC-Mesh.patch
new file mode 100644
index 000000000..dede27e30
--- /dev/null
+++ b/patches/lede/0089-ar71xx-add-model-detection-for-UBNT-AC-Mesh.patch
@@ -0,0 +1,54 @@
+From: David Bauer <mail@david-bauer.net>
+Date: Sun, 25 Feb 2018 12:09:38 +0100
+Subject: ar71xx: add model 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@david-bauer.net>
+
+diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh
+index 35b742a5f1fee0bc24ab2d88e32f118c1df4e2b3..59c1899a588007d6a6a1860fcf95064b0ec35561 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
+ 
+@@ -1129,6 +1150,7 @@ ar71xx_board_detect() {
+ 		;;
+ 	*"UniFi-AC-LITE")
+ 		name="unifiac-lite"
++		ubnt_ac_lite_board_detect
+ 		;;
+ 	*"UniFi-AC-PRO")
+ 		name="unifiac-pro"
-- 
GitLab