diff options
author | Adrian Schmutzler <freifunk@adrianschmutzler.de> | 2018-01-19 12:58:40 +0100 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2018-06-23 16:08:20 +0200 |
commit | 5dd340074695aa0356335e2217dcd71b05044ba4 (patch) | |
tree | 31a2151e490354623993347fdaae1dbbb8eb065b /target/linux/ar71xx/base-files/lib/ar71xx.sh | |
parent | c437adb02473accadeec252e9d87d58ce44cd6ed (diff) | |
download | openwrt-5dd340074695aa0356335e2217dcd71b05044ba4.tar.gz openwrt-5dd340074695aa0356335e2217dcd71b05044ba4.tar.bz2 openwrt-5dd340074695aa0356335e2217dcd71b05044ba4.zip |
ar71xx: Add TP-Link Pharos v2 board detection
Add support for detecting TP-Link Pharos v2 boards.
They use different format in product-info partition than v1 boards.
Code was written mostly by Alexander Couzens <lynxis@fe80.eu>
Signed-off-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
(cherry picked from commit 2524febf7927a1bf430d64b7790feb126023e3d1)
Diffstat (limited to 'target/linux/ar71xx/base-files/lib/ar71xx.sh')
-rwxr-xr-x | target/linux/ar71xx/base-files/lib/ar71xx.sh | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh index d57e0571c7..f2bc57cb30 100755 --- a/target/linux/ar71xx/base-files/lib/ar71xx.sh +++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh @@ -371,7 +371,7 @@ tplink_pharos_get_model_string() { } tplink_pharos_board_detect() { - local model_string="$(tplink_pharos_get_model_string | tr -d '\r')" + local model_string="$1" local oIFS="$IFS"; IFS=":"; set -- $model_string; IFS="$oIFS" local model="${1%%\(*}" @@ -379,6 +379,14 @@ tplink_pharos_board_detect() { AR71XX_MODEL="TP-Link $model v$2" } +tplink_pharos_v2_get_model_string() { + local part + part=$(find_mtd_part 'product-info') + [ -z "$part" ] && return 1 + + dd if=$part bs=1 skip=4360 count=64 2>/dev/null | tr -d '\r\0' | head -n 1 +} + ar71xx_board_detect() { local machine local name @@ -563,14 +571,18 @@ ar71xx_board_detect() { ;; *"CPE210/220") name="cpe210" - tplink_pharos_board_detect + tplink_pharos_board_detect "$(tplink_pharos_get_model_string | tr -d '\r')" + ;; + *"CPE210 v2") + name="cpe210-v2" + tplink_pharos_board_detect "$(tplink_pharos_v2_get_model_string)" ;; *"CPE505N") name="cpe505n" ;; *"CPE510/520") name="cpe510" - tplink_pharos_board_detect + tplink_pharos_board_detect "$(tplink_pharos_get_model_string | tr -d '\r')" ;; *"CPE830") name="cpe830" @@ -671,7 +683,7 @@ ar71xx_board_detect() { ;; *"EAP120") name="eap120" - tplink_pharos_board_detect + tplink_pharos_board_detect "$(tplink_pharos_get_model_string | tr -d '\r')" ;; *"EAP300 v2") name="eap300v2" @@ -1364,11 +1376,11 @@ ar71xx_board_detect() { ;; *"WBS210") name="wbs210" - tplink_pharos_board_detect + tplink_pharos_board_detect "$(tplink_pharos_get_model_string | tr -d '\r')" ;; *"WBS510") name="wbs510" - tplink_pharos_board_detect + tplink_pharos_board_detect "$(tplink_pharos_get_model_string | tr -d '\r')" ;; "WeIO"*) name="weio" |