projects
/
openwrt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ar71xx: add user-space support for RB2011UAS
[openwrt.git]
/
target
/
linux
/
ar71xx
/
base-files
/
lib
/
ar71xx.sh
diff --git
a/target/linux/ar71xx/base-files/lib/ar71xx.sh
b/target/linux/ar71xx/base-files/lib/ar71xx.sh
index
fa73010
..
05e1093
100755
(executable)
--- a/
target/linux/ar71xx/base-files/lib/ar71xx.sh
+++ b/
target/linux/ar71xx/base-files/lib/ar71xx.sh
@@
-6,18
+6,22
@@
AR71XX_BOARD_NAME=
AR71XX_MODEL=
AR71XX_BOARD_NAME=
AR71XX_MODEL=
-ar71xx_get_mem_total() {
- $(awk '/MemTotal:/ {print($2)}' /proc/meminfo)
-}
+ar71xx_get_mtd_offset_size_format() {
+ local mtd="$1"
+ local offset="$2"
+ local size="$3"
+ local format="$4"
+ local dev
-ar71xx_get_mtd_part_magic() {
- local part="$1"
- local mtd
+ dev=$(find_mtd_part $mtd)
+ [ -z "$dev" ] && return
- mtd=$(find_mtd_part $part)
- [ -z "$mtd" ] && return
+ dd if=$dev bs=1 skip=$offset count=$size 2>/dev/null | hexdump -v -e "1/1 \"$format\""
+}
- dd if=$mtd bs=4 count=1 2>/dev/null | hexdump -v -n 4 -e '1/1 "%02x"'
+ar71xx_get_mtd_part_magic() {
+ local mtd="$1"
+ ar71xx_get_mtd_offset_size_format "$mtd" 0 4 %02x
}
wndr3700_board_detect() {
}
wndr3700_board_detect() {
@@
-33,13
+37,14
@@
wndr3700_board_detect() {
machine="NETGEAR WNDR3700"
;;
"33373031")
machine="NETGEAR WNDR3700"
;;
"33373031")
- local mt
-
- mt=$(ar71xx_get_mem_total)
- if [ "$mt" -lt "65536" ]; then
+ local model
+ model=$(ar71xx_get_mtd_offset_size_format art 56 10 %c)
+ if [ -z "$model" ] || [ "$model" = $'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' ]; then
machine="NETGEAR WNDR3700v2"
machine="NETGEAR WNDR3700v2"
+ elif [ -z "$model" ] || [ "$model" = $'\xff\xff\xff\xff\xff\xff\xff\xff\xffN' ]; then
+ machine="NETGEAR WNDRMAC"
else
else
- machine="NETGEAR
WNDR3800
"
+ machine="NETGEAR
$model
"
fi
;;
esac
fi
;;
esac
@@
-57,12
+62,22
@@
tplink_get_hwid() {
dd if=$part bs=4 count=1 skip=16 2>/dev/null | hexdump -v -n 4 -e '1/1 "%02x"'
}
dd if=$part bs=4 count=1 skip=16 2>/dev/null | hexdump -v -n 4 -e '1/1 "%02x"'
}
+tplink_get_mid() {
+ local part
+
+ part=$(find_mtd_part firmware)
+ [ -z "$part" ] && return 1
+
+ dd if=$part bs=4 count=1 skip=17 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)
tplink_board_detect() {
local model="$1"
local hwid
local hwver
hwid=$(tplink_get_hwid)
+ mid=$(tplink_get_mid)
hwver=${hwid:6:2}
hwver="v${hwver#0}"
hwver=${hwid:6:2}
hwver="v${hwver#0}"
@@
-70,6
+85,12
@@
tplink_board_detect() {
"070300"*)
model="TP-Link TL-WR703N"
;;
"070300"*)
model="TP-Link TL-WR703N"
;;
+ "072001"*)
+ model="TP-Link TL-WR720N"
+ ;;
+ "070100"*)
+ model="TP-Link TL-WA701N/ND"
+ ;;
"074000"*)
model="TP-Link TL-WR740N/ND"
;;
"074000"*)
model="TP-Link TL-WR740N/ND"
;;
@@
-79,24
+100,68
@@
tplink_board_detect() {
"074300"*)
model="TP-Link TL-WR743N/ND"
;;
"074300"*)
model="TP-Link TL-WR743N/ND"
;;
+ "080100"*)
+ model="TP-Link TL-WA801N/ND"
+ ;;
+ "083000"*)
+ model="TP-Link TL-WA830RE"
+ ;;
"084100"*)
model="TP-Link TL-WR841N/ND"
;;
"084100"*)
model="TP-Link TL-WR841N/ND"
;;
+ "084200"*)
+ model="TP-Link TL-WR842N/ND"
+ ;;
"090100"*)
model="TP-Link TL-WA901N/ND"
;;
"094100"*)
"090100"*)
model="TP-Link TL-WA901N/ND"
;;
"094100"*)
- model="TP-Link TL-WR941N/ND"
+ if [ "$hwid" == "09410002" -a "$mid" == "00420001" ]; then
+ model="Rosewill RNX-N360RT"
+ hwver=""
+ else
+ model="TP-Link TL-WR941N/ND"
+ fi
+ ;;
+ "104100"*)
+ model="TP-Link TL-WR1041N/ND"
;;
"104300"*)
model="TP-Link TL-WR1043N/ND"
;;
;;
"104300"*)
model="TP-Link TL-WR1043N/ND"
;;
+ "254300"*)
+ model="TP-Link TL-WR2543N/ND"
+ ;;
+ "001001"*)
+ model="TP-Link TL-MR10U"
+ ;;
+ "001101"*)
+ model="TP-Link TL-MR11U"
+ ;;
+ "302000"*)
+ model="TP-Link TL-MR3020"
+ ;;
+ "304000"*)
+ model="TP-Link TL-MR3040"
+ ;;
"322000"*)
model="TP-Link TL-MR3220"
;;
"342000"*)
model="TP-Link TL-MR3420"
;;
"322000"*)
model="TP-Link TL-MR3220"
;;
"342000"*)
model="TP-Link TL-MR3420"
;;
+ "350000"*)
+ model="TP-Link TL-WDR3500"
+ ;;
+ "360000"*)
+ model="TP-Link TL-WDR3600"
+ ;;
+ "430000"*)
+ model="TP-Link TL-WDR4300"
+ ;;
+ "431000"*)
+ model="TP-Link TL-WDR4310"
+ ;;
*)
hwver=""
;;
*)
hwver=""
;;
@@
-115,42
+180,87
@@
ar71xx_board_detect() {
*"AirRouter")
name="airrouter"
;;
*"AirRouter")
name="airrouter"
;;
+ *"ALFA Network AP96")
+ name="alfa-ap96"
+ ;;
+ *"ALFA Network N2/N5")
+ name="alfa-nx"
+ ;;
*ALL0258N)
name="all0258n"
;;
*ALL0258N)
name="all0258n"
;;
+ *ALL0305)
+ name="all0305"
+ ;;
+ *ALL0315N)
+ name="all0315n"
+ ;;
+ *AP113)
+ name="ap113"
+ ;;
*AP121)
name="ap121"
;;
*AP121-MINI)
name="ap121-mini"
;;
*AP121)
name="ap121"
;;
*AP121-MINI)
name="ap121-mini"
;;
+ *"AP132 reference board")
+ name="ap132"
+ ;;
+ *"AP136-010 reference board")
+ name="ap136-010"
+ ;;
+ *"AP136-020 reference board")
+ name="ap136-020"
+ ;;
+ *"AP135-020 reference board")
+ name="ap135-020"
+ ;;
*AP81)
name="ap81"
;;
*AP83)
name="ap83"
;;
*AP81)
name="ap81"
;;
*AP83)
name="ap83"
;;
- *AP96)
+ *"Archer C7")
+ name="archer-c7"
+ ;;
+ *"Atheros AP96")
name="ap96"
;;
*AW-NR580)
name="aw-nr580"
;;
name="ap96"
;;
*AW-NR580)
name="aw-nr580"
;;
- *DB120)
+ *CAP4200AG)
+ name="cap4200ag"
+ ;;
+ *"DB120 reference board")
name="db120"
;;
*"DIR-600 rev. A1")
name="dir-600-a1"
;;
name="db120"
;;
*"DIR-600 rev. A1")
name="dir-600-a1"
;;
+ *"DIR-615 rev. E4")
+ name="dir-615-e4"
+ ;;
*"DIR-825 rev. B1")
name="dir-825-b1"
;;
*"DIR-825 rev. B1")
name="dir-825-b1"
;;
+ *"DIR-825 rev. C1")
+ name="dir-825-c1"
+ ;;
+ *"DIR-835 rev. A1")
+ name="dir-835-a1"
+ ;;
*EAP7660D)
name="eap7660d"
;;
*JA76PF)
name="ja76pf"
;;
*EAP7660D)
name="eap7660d"
;;
*JA76PF)
name="ja76pf"
;;
+ *JA76PF2)
+ name="ja76pf2"
+ ;;
*"Bullet M")
name="bullet-m"
;;
*"Bullet M")
name="bullet-m"
;;
@@
-160,9
+270,18
@@
ar71xx_board_detect() {
*JWAP003)
name="jwap003"
;;
*JWAP003)
name="jwap003"
;;
+ *"Hornet-UB")
+ name="hornet-ub"
+ ;;
*LS-SR71)
name="ls-sr71"
;;
*LS-SR71)
name="ls-sr71"
;;
+ *MR600v2)
+ name="mr600v2"
+ ;;
+ *MR600)
+ name="mr600"
+ ;;
*MZK-W04NU)
name="mzk-w04nu"
;;
*MZK-W04NU)
name="mzk-w04nu"
;;
@@
-175,10
+294,16
@@
ar71xx_board_detect() {
*OM2P)
name="om2p"
;;
*OM2P)
name="om2p"
;;
+ *"OM2P HS")
+ name="om2p-hs"
+ ;;
+ *"OM2P LC")
+ name="om2p-lc"
+ ;;
*PB42)
name="pb42"
;;
*PB42)
name="pb42"
;;
- *
PB44
)
+ *
"PB44 reference board"
)
name="pb44"
;;
*PB92)
name="pb44"
;;
*PB92)
@@
-196,6
+321,9
@@
ar71xx_board_detect() {
*"RouterBOARD 433UAH")
name="rb-433u"
;;
*"RouterBOARD 433UAH")
name="rb-433u"
;;
+ *"RouterBOARD 435G")
+ name="rb-435g"
+ ;;
*"RouterBOARD 450")
name="rb-450"
;;
*"RouterBOARD 450")
name="rb-450"
;;
@@
-211,6
+339,27
@@
ar71xx_board_detect() {
*"RouterBOARD 750")
name="rb-750"
;;
*"RouterBOARD 750")
name="rb-750"
;;
+ *"RouterBOARD 750GL")
+ name="rb-750gl"
+ ;;
+ *"RouterBOARD 751")
+ name="rb-751"
+ ;;
+ *"RouterBOARD 751G")
+ name="rb-751g"
+ ;;
+ *"RouterBOARD 951G-2HnD")
+ name="rb-951g-2hnd"
+ ;;
+ *"RouterBOARD 2011L")
+ name="rb-2011l"
+ ;;
+ *"RouterBOARD 2011UAS")
+ name="rb-2011uas"
+ ;;
+ *"RouterBOARD 2011UAS-2HnD")
+ name="rb-2011uas-2hnd"
+ ;;
*"Rocket M")
name="rocket-m"
;;
*"Rocket M")
name="rocket-m"
;;
@@
-220,27
+369,63
@@
ar71xx_board_detect() {
*"RouterStation Pro")
name="routerstation-pro"
;;
*"RouterStation Pro")
name="routerstation-pro"
;;
+ *RW2458N)
+ name="rw2458n"
+ ;;
*TEW-632BRP)
name="tew-632brp"
;;
*TEW-632BRP)
name="tew-632brp"
;;
+ *TEW-673GRU)
+ name="tew-673gru"
+ ;;
+ *TEW-712BR)
+ name="tew-712br"
+ ;;
+ *"TL-WR1041N v2")
+ name="tl-wr1041n-v2"
+ ;;
*TL-WR1043ND)
name="tl-wr1043nd"
;;
*TL-WR1043ND)
name="tl-wr1043nd"
;;
+ *TL-WR2543N*)
+ name="tl-wr2543n"
+ ;;
*"DIR-615 rev. C1")
name="dir-615-c1"
;;
*"DIR-615 rev. C1")
name="dir-615-c1"
;;
+ *TL-MR3020)
+ name="tl-mr3020"
+ ;;
+ *TL-MR3040)
+ name="tl-mr3040"
+ ;;
*TL-MR3220)
name="tl-mr3220"
;;
*TL-MR3220)
name="tl-mr3220"
;;
+ *"TL-MR3220 v2")
+ name="tl-mr3220-v2"
+ ;;
*TL-MR3420)
name="tl-mr3420"
;;
*TL-MR3420)
name="tl-mr3420"
;;
+ *"TL-MR3420 v2")
+ name="tl-mr3420-v2"
+ ;;
+ *TL-WA7510N)
+ name="tl-wa7510n"
+ ;;
*TL-WA901ND)
name="tl-wa901nd"
;;
*"TL-WA901ND v2")
name="tl-wa901nd-v2"
;;
*TL-WA901ND)
name="tl-wa901nd"
;;
*"TL-WA901ND v2")
name="tl-wa901nd-v2"
;;
+ *"TL-WDR3500")
+ name="tl-wdr3500"
+ ;;
+ *"TL-WDR3600/4300/4310")
+ name="tl-wdr4300"
+ ;;
*TL-WR741ND)
name="tl-wr741nd"
;;
*TL-WR741ND)
name="tl-wr741nd"
;;
@@
-250,27
+435,60
@@
ar71xx_board_detect() {
*"TL-WR841N v1")
name="tl-wr841n-v1"
;;
*"TL-WR841N v1")
name="tl-wr841n-v1"
;;
+ *"TL-WR841N/ND v7")
+ name="tl-wr841n-v7"
+ ;;
+ *"TL-WR841N/ND v8")
+ name="tl-wr841n-v8"
+ ;;
*TL-WR941ND)
name="tl-wr941nd"
;;
*"TL-WR703N v1")
name="tl-wr703n"
;;
*TL-WR941ND)
name="tl-wr941nd"
;;
*"TL-WR703N v1")
name="tl-wr703n"
;;
+ *"TL-WR720N v3")
+ name="tl-wr720n-v3"
+ ;;
+ *"TL-MR11U")
+ name="tl-mr11u"
+ ;;
*UniFi)
name="unifi"
;;
*UniFi)
name="unifi"
;;
+ *"UniFi AP Pro")
+ name="uap-pro"
+ ;;
*WHR-G301N)
name="whr-g301n"
;;
*WHR-HP-GN)
name="whr-hp-gn"
;;
*WHR-G301N)
name="whr-g301n"
;;
*WHR-HP-GN)
name="whr-hp-gn"
;;
+ *WLAE-AG300N)
+ name="wlae-ag300n"
+ ;;
+ *"UniFiAP Outdoor")
+ name="unifi-outdoor"
+ ;;
*WP543)
name="wp543"
;;
*WP543)
name="wp543"
;;
- *"WNDR3700/WNDR3800")
+ *WPE72)
+ name="wpe72"
+ ;;
+ *WNDAP360)
+ name="wndap360"
+ ;;
+ *"WNDR3700/WNDR3800/WNDRMAC")
wndr3700_board_detect "$machine"
;;
wndr3700_board_detect "$machine"
;;
+ *"WNDR4300")
+ name="wndr4300"
+ ;;
+ *"WNR2000 V3")
+ name="wnr2000-v3"
+ ;;
*WNR2000)
name="wnr2000"
;;
*WNR2000)
name="wnr2000"
;;
@@
-280,7
+498,7
@@
ar71xx_board_detect() {
*WRT400N)
name="wrt400n"
;;
*WRT400N)
name="wrt400n"
;;
- *
WZR-HP-AG300H
)
+ *
"WZR-HP-AG300H/WZR-600DHP"
)
name="wzr-hp-ag300h"
;;
*WZR-HP-G300NH)
name="wzr-hp-ag300h"
;;
*WZR-HP-G300NH)
@@
-289,6
+507,9
@@
ar71xx_board_detect() {
*WZR-HP-G450H)
name="wzr-hp-g450h"
;;
*WZR-HP-G450H)
name="wzr-hp-g450h"
;;
+ *WZR-HP-G300NH2)
+ name="wzr-hp-g300nh2"
+ ;;
*WHR-HP-G300N)
name="whr-hp-g300n"
;;
*WHR-HP-G300N)
name="whr-hp-g300n"
;;
@@
-298,10
+519,16
@@
ar71xx_board_detect() {
*ZCN-1523H-5)
name="zcn-1523h-5"
;;
*ZCN-1523H-5)
name="zcn-1523h-5"
;;
+ *EmbWir-Dorin)
+ name="ew-dorin"
+ ;;
+ *EmbWir-Dorin-Router)
+ name="ew-dorin-router"
+ ;;
esac
case "$machine" in
esac
case "$machine" in
- *TL-WR* | *TL-WA* | *TL-MR*)
+ *TL-WR* | *TL-WA* | *TL-MR*
| *TL-WD*
)
tplink_board_detect "$machine"
;;
esac
tplink_board_detect "$machine"
;;
esac