aboutsummaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
authorGabor Juhos <juhosg@openwrt.org>2011-12-05 21:11:01 +0000
committerGabor Juhos <juhosg@openwrt.org>2011-12-05 21:11:01 +0000
commitbdfd4b5e5fc678905bf4a5275a2c66ef989e6128 (patch)
tree3eadde983989b6c7c3447bcb72adce5a34ac6c4f /target
parent10ebaf63a7953754e55940ba573db526a99eb953 (diff)
downloadmaster-187ad058-bdfd4b5e5fc678905bf4a5275a2c66ef989e6128.tar.gz
master-187ad058-bdfd4b5e5fc678905bf4a5275a2c66ef989e6128.tar.bz2
master-187ad058-bdfd4b5e5fc678905bf4a5275a2c66ef989e6128.zip
ar71xx: add TP-Link board detection
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29459 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target')
-rwxr-xr-xtarget/linux/ar71xx/base-files/lib/ar71xx.sh55
1 files changed, 54 insertions, 1 deletions
diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh
index ca0799d1bf..fa730107fa 100755
--- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
+++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
@@ -50,7 +50,6 @@ wndr3700_board_detect() {
tplink_get_hwid() {
local part
- local hwid
part=$(find_mtd_part firmware)
[ -z "$part" ] && return 1
@@ -58,6 +57,54 @@ tplink_get_hwid() {
dd if=$part bs=4 count=1 skip=16 2>/dev/null | hexdump -v -n 4 -e '1/1 "%02x"'
}
+tplink_board_detect() {
+ local model="$1"
+ local hwid
+ local hwver
+
+ hwid=$(tplink_get_hwid)
+ hwver=${hwid:6:2}
+ hwver="v${hwver#0}"
+
+ case "$hwid" in
+ "070300"*)
+ model="TP-Link TL-WR703N"
+ ;;
+ "074000"*)
+ model="TP-Link TL-WR740N/ND"
+ ;;
+ "074100"*)
+ model="TP-Link TL-WR741N/ND"
+ ;;
+ "074300"*)
+ model="TP-Link TL-WR743N/ND"
+ ;;
+ "084100"*)
+ model="TP-Link TL-WR841N/ND"
+ ;;
+ "090100"*)
+ model="TP-Link TL-WA901N/ND"
+ ;;
+ "094100"*)
+ model="TP-Link TL-WR941N/ND"
+ ;;
+ "104300"*)
+ model="TP-Link TL-WR1043N/ND"
+ ;;
+ "322000"*)
+ model="TP-Link TL-MR3220"
+ ;;
+ "342000"*)
+ model="TP-Link TL-MR3420"
+ ;;
+ *)
+ hwver=""
+ ;;
+ esac
+
+ AR71XX_MODEL="$model $hwver"
+}
+
ar71xx_board_detect() {
local machine
local name
@@ -253,6 +300,12 @@ ar71xx_board_detect() {
;;
esac
+ case "$machine" in
+ *TL-WR* | *TL-WA* | *TL-MR*)
+ tplink_board_detect "$machine"
+ ;;
+ esac
+
[ -z "$name" ] && name="unknown"
[ -z "$AR71XX_BOARD_NAME" ] && AR71XX_BOARD_NAME="$name"