X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=target%2Flinux%2Far71xx%2Fbase-files%2Flib%2Far71xx.sh;h=46e631110cb3517a80e1bcc8e845aa09096f0133;hb=772f9d4e32f326d94050da157d108f7f97961c5f;hp=b2ce50620a8a18560444968eeaddf6d1ec480f3c;hpb=2d6542242aba8e19ea9d53f344d1a29786c90e22;p=openwrt%2Fopenwrt.git diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh index b2ce50620a..46e631110c 100755 --- a/target/linux/ar71xx/base-files/lib/ar71xx.sh +++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh @@ -37,16 +37,27 @@ wndr3700_board_detect() { machine="NETGEAR WNDR3700" ;; "33373031") - 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" - elif [ -z "$model" ] || [ "$model" = $'\xff\xff\xff\xff\xff\xff\xff\xff\xffN' ]; then - machine="NETGEAR WNDRMAC" - else - machine="NETGEAR $model" - fi - ;; + model="$(ar71xx_get_mtd_offset_size_format art 41 32 %c)" + # Use awk to remove everything unprintable + model_stripped="$(echo -n "$model" | LC_CTYPE=C awk -v 'FS=[^[:print:]]' '{print $1; exit}')" + case $model in + $'\xff'*) + if [ "${model:24:1}" = 'N' ]; then + machine="NETGEAR WNDRMAC" + else + machine="NETGEAR WNDR3700v2" + fi + ;; + '29763654+16+64'*) + machine="NETGEAR ${model_stripped:14}" + ;; + '29763654+16+128'*) + machine="NETGEAR ${model_stripped:15}" + ;; + *) + # Unknown ID + machine="NETGEAR ${model_stripped}" + esac esac AR71XX_BOARD_NAME="$name" @@ -97,10 +108,22 @@ tplink_board_detect() { "015300"*) model="EasyLink EL-MINI" ;; + "044401"*) + model="ANTMINER-S1" + ;; + "044403"*) + model="ANTMINER-S3" + ;; + "120000"*) + model="MERCURY MAC1200R" + ;; "3C0001"*) model="OOLITE" ;; - "070300"*) + "3C0002"*) + model="MINIBOX_V1" + ;; + "070301"*) model="TP-Link TL-WR703N" ;; "071000"*) @@ -127,6 +150,9 @@ tplink_board_detect() { "075000"*) model="TP-Link TL-WA750RE" ;; + "721000"*) + model="TP-Link TL-WA7210N" + ;; "751000"*) model="TP-Link TL-WA7510N" ;; @@ -135,6 +161,10 @@ tplink_board_detect() { ;; "083000"*) model="TP-Link TL-WA830RE" + + if [ "$hwver" = 'v10' ]; then + hwver='v1' + fi ;; "084100"*) model="TP-Link TL-WR841N/ND" @@ -142,6 +172,9 @@ tplink_board_detect() { "084200"*) model="TP-Link TL-WR842N/ND" ;; + "084300"*) + model="TP-Link TL-WR843N/ND" + ;; "085000"*) model="TP-Link TL-WA850RE" ;; @@ -152,7 +185,7 @@ tplink_board_detect() { model="TP-Link TL-WA901N/ND" ;; "094100"*) - if [ "$hwid" == "09410002" -a "$mid" == "00420001" ]; then + if [ "$hwid" = "09410002" -a "$mid" = "00420001" ]; then model="Rosewill RNX-N360RT" hwver="" else @@ -174,6 +207,9 @@ tplink_board_detect() { "001101"*) model="TP-Link TL-MR11U" ;; + "001201"*) + model="TP-Link TL-MR12U" + ;; "001301"*) model="TP-Link TL-MR13U" ;; @@ -189,6 +225,9 @@ tplink_board_detect() { "342000"*) model="TP-Link TL-MR3420" ;; + "332000"*) + model="TP-Link TL-WDR3320" + ;; "350000"*) model="TP-Link TL-WDR3500" ;; @@ -208,9 +247,22 @@ tplink_board_detect() { "49000002") model="TP-Link TL-WDR4900" ;; + "65000002") + model="TP-Link TL-WDR6500" + ;; "453000"*) model="MERCURY MW4530R" ;; + "934100"*) + model="NC-LINK SMART-300" + ;; + "c50000"*) + model="TP-Link Archer C5" + ;; + "750000"*|\ + "c70000"*) + model="TP-Link Archer C7" + ;; *) hwver="" ;; @@ -219,6 +271,52 @@ tplink_board_detect() { AR71XX_MODEL="$model $hwver" } +tplink_pharos_get_model_string() { + local part + part=$(find_mtd_part 'product-info') + [ -z "$part" ] && return 1 + + # The returned string will end with \r\n, but we don't remove it here + # to simplify matching against it in the sysupgrade image check + dd if=$part bs=1 skip=4360 2>/dev/null | head -n 1 +} + +tplink_pharos_board_detect() { + local model_string="$(tplink_pharos_get_model_string | tr -d '\r')" + local oIFS="$IFS"; IFS=":"; set -- $model_string; IFS="$oIFS" + local model + + case "$1" in + 'CPE210(TP-LINK|UN|N300-2)') + model='TP-Link CPE210' + ;; + 'CPE220(TP-LINK|UN|N300-2)') + model='TP-Link CPE220' + ;; + 'CPE510(TP-LINK|UN|N300-5)') + model='TP-Link CPE510' + ;; + 'CPE520(TP-LINK|UN|N300-5)') + model='TP-Link CPE520' + ;; + esac + + [ -n "$model" ] && AR71XX_MODEL="$model v$2" +} + +gl_inet_board_detect() { + local size="$(mtd_get_part_size 'firmware')" + + case "$size" in + 8192000) + AR71XX_MODEL='GL-iNet 6408A v1' + ;; + 16580608) + AR71XX_MODEL='GL-iNet 6416A v1' + ;; + esac +} + ar71xx_board_detect() { local machine local name @@ -229,6 +327,15 @@ ar71xx_board_detect() { *"Oolite V1.0") name="oolite" ;; + *"AC1750DB") + name="f9k1115v2" + ;; + *"AirGateway") + name="airgateway" + ;; + *"AirGateway Pro") + name="airgatewaypro" + ;; *"AirRouter") name="airrouter" ;; @@ -247,6 +354,15 @@ ar71xx_board_detect() { *ALL0315N) name="all0315n" ;; + *Antminer-S1) + name="antminer-s1" + ;; + *Antminer-S3) + name="antminer-s3" + ;; + *"Arduino Yun") + name="arduino-yun" + ;; *AP113) name="ap113" ;; @@ -268,12 +384,24 @@ ar71xx_board_detect() { *"AP135-020 reference board") name="ap135-020" ;; + *"AP143 reference board") + name="ap143" + ;; + *"AP147-010 reference board") + name="ap147-010" + ;; + *"AP152 reference board") + name="ap152" + ;; *AP81) name="ap81" ;; *AP83) name="ap83" ;; + *"Archer C5") + name="archer-c5" + ;; *"Archer C7") name="archer-c7" ;; @@ -283,12 +411,37 @@ ar71xx_board_detect() { *AW-NR580) name="aw-nr580" ;; + *CAP324) + name="cap324" + ;; + *C-55) + name="c-55" + ;; *CAP4200AG) name="cap4200ag" ;; + *"COMFAST CF-E316N v2") + name="cf-e316n-v2" + ;; + *"CPE210/220/510/520") + name="cpe510" + tplink_pharos_board_detect + ;; + *CR3000) + name="cr3000" + ;; + *CR5000) + name="cr5000" + ;; *"DB120 reference board") name="db120" ;; + *"DGL-5500 rev. A1") + name="dgl-5500-a1" + ;; + *"DHP-1565 rev. A1") + name="dhp-1565-a1" + ;; *"DIR-505 rev. A1") name="dir-505-a1" ;; @@ -301,6 +454,9 @@ ar71xx_board_detect() { *"DIR-615 rev. E4") name="dir-615-e4" ;; + *"DIR-615 rev. I1") + name="dir-615-i1" + ;; *"DIR-825 rev. B1") name="dir-825-b1" ;; @@ -310,9 +466,27 @@ ar71xx_board_detect() { *"DIR-835 rev. A1") name="dir-835-a1" ;; + *"dLAN Hotspot") + name="dlan-hotspot" + ;; + *"dLAN pro 500 Wireless+") + name="dlan-pro-500-wp" + ;; + *"dLAN pro 1200+ WiFi ac") + name="dlan-pro-1200-ac" + ;; + *DR344) + name="dr344" + ;; *"Dragino v2") name="dragino2" ;; + *"Domino Pi") + name="gl-domino" + ;; + *"EAP300 v2") + name="eap300v2" + ;; *EAP7660D) name="eap7660d" ;; @@ -324,10 +498,23 @@ ar71xx_board_detect() { ;; *"GL-CONNECT INET v1") name="gl-inet" + gl_inet_board_detect + ;; + *"GL AR150") + name="gl-ar150" + ;; + *"GL AR300") + name="gl-ar300" + ;; + *"EnGenius EPG5000") + name="epg5000" ;; *"EnGenius ESR1750") name="esr1750" ;; + *"EnGenius ESR900") + name="esr900" + ;; *JA76PF) name="ja76pf" ;; @@ -337,9 +524,15 @@ ar71xx_board_detect() { *"Bullet M") name="bullet-m" ;; + *"Loco M XW") + name="loco-m-xw" + ;; *"Nanostation M") name="nanostation-m" ;; + *"Nanostation M XW") + name="nanostation-m-xw" + ;; *JWAP003) name="jwap003" ;; @@ -358,12 +551,36 @@ ar71xx_board_detect() { *LS-SR71) name="ls-sr71" ;; + *"MAC1200R") + name="mc-mac1200r" + ;; + *"MiniBox V1.0") + name="minibox-v1" + ;; + *MR12) + name="mr12" + ;; + *MR16) + name="mr16" + ;; + *MR18) + name="mr18" + ;; *MR600v2) name="mr600v2" ;; + *MR1750) + name="mr1750" + ;; *MR600) name="mr600" ;; + *MR900) + name="mr900" + ;; + *MR900v2) + name="mr900v2" + ;; *"My Net N600") name="mynet-n600" ;; @@ -382,6 +599,9 @@ ar71xx_board_detect() { *"NBG460N/550N/550NH") name="nbg460n_550n_550nh" ;; + *"Zyxel NBG6616") + name="nbg6616" + ;; *"Zyxel NBG6716") name="nbg6716" ;; @@ -400,6 +620,15 @@ ar71xx_board_detect() { *"OM2P LC") name="om2p-lc" ;; + *OM5P) + name="om5p" + ;; + *"OM5P AN") + name="om5p-an" + ;; + *"Onion Omega") + name="onion-omega" + ;; *PB42) name="pb42" ;; @@ -409,6 +638,9 @@ ar71xx_board_detect() { *PB92) name="pb92" ;; + *"Qihoo 360 C301") + name="qihoo-c301" + ;; *"RouterBOARD 411/A/AH") name="rb-411" ;; @@ -454,6 +686,9 @@ ar71xx_board_detect() { *"RouterBOARD 911G-5HPnD") name="rb-911g-5hpnd" ;; + *"RouterBOARD 911G-5HPacD") + name="rb-911g-5hpacd" + ;; *"RouterBOARD 912UAG-2HPnD") name="rb-912uag-2hpnd" ;; @@ -478,6 +713,9 @@ ar71xx_board_detect() { *"RouterBOARD 2011UAS-2HnD") name="rb-2011uas-2hnd" ;; + *"RouterBOARD 2011UiAS-2HnD") + name="rb-2011uias-2hnd" + ;; *"RouterBOARD SXT Lite2") name="rb-sxt2n" ;; @@ -487,6 +725,12 @@ ar71xx_board_detect() { *"Rocket M") name="rocket-m" ;; + *"Rocket M TI") + name="rocket-m-ti" + ;; + *"Rocket M XW") + name="rocket-m-xw" + ;; *RouterStation) name="routerstation" ;; @@ -496,6 +740,12 @@ ar71xx_board_detect() { *RW2458N) name="rw2458n" ;; + *"SMART-300") + name="smart-300" + ;; + "Smart Electronics Black Swift board"*) + name="bsb" + ;; *TEW-632BRP) name="tew-632brp" ;; @@ -508,6 +758,9 @@ ar71xx_board_detect() { *TEW-732BR) name="tew-732br" ;; + *TEW-823DRU) + name="tew-823dru" + ;; *"TL-WR1041N v2") name="tl-wr1041n-v2" ;; @@ -544,6 +797,12 @@ ar71xx_board_detect() { *"TL-MR3420 v2") name="tl-mr3420-v2" ;; + *"TL-WA701ND v2") + name="tl-wa701nd-v2" + ;; + *"TL-WA7210N v2") + name="tl-wa7210n-v2" + ;; *TL-WA750RE) name="tl-wa750re" ;; @@ -553,6 +812,9 @@ ar71xx_board_detect() { *TL-WA850RE) name="tl-wa850re" ;; + *TL-WA860RE) + name="tl-wa860re" + ;; *"TL-WA830RE v2") name="tl-wa830re-v2" ;; @@ -568,6 +830,9 @@ ar71xx_board_detect() { *"TL-WA901ND v3") name="tl-wa901nd-v3" ;; + *"TL-WDR3320 v2") + name="tl-wdr3320-v2" + ;; *"TL-WDR3500") name="tl-wdr3500" ;; @@ -577,6 +842,9 @@ ar71xx_board_detect() { *"TL-WDR4900 v2") name="tl-wdr4900-v2" ;; + *"TL-WDR6500 v2") + name="tl-wdr6500-v2" + ;; *TL-WR741ND) name="tl-wr741nd" ;; @@ -601,13 +869,19 @@ ar71xx_board_detect() { *TL-WR941ND) name="tl-wr941nd" ;; + *"TL-WR941N/ND v5") + name="tl-wr941nd-v5" + ;; + *"TL-WR941N/ND v6") + name="tl-wr941nd-v6" + ;; *"TL-WR703N v1") name="tl-wr703n" ;; *"TL-WR710N v1") name="tl-wr710n" ;; - *"TL-WR720N v3") + *"TL-WR720N"*) name="tl-wr720n-v3" ;; *"TL-MR10U") @@ -616,15 +890,24 @@ ar71xx_board_detect() { *"TL-MR11U") name="tl-mr11u" ;; - *"TL-MR13U") + *"TL-MR12U") + name="tl-mr12u" + ;; + *"TL-MR13U v1") name="tl-mr13u" ;; + *"Tube2H") + name="tube2h" + ;; *UniFi) name="unifi" ;; *"UniFi AP Pro") name="uap-pro" ;; + "WeIO"*) + name="weio" + ;; *WHR-G301N) name="whr-g301n" ;; @@ -637,21 +920,42 @@ ar71xx_board_detect() { *"UniFiAP Outdoor") name="unifi-outdoor" ;; + *"UniFiAP Outdoor+") + name="unifi-outdoor-plus" + ;; *WP543) name="wp543" ;; *WPE72) name="wpe72" ;; + *WPJ344) + name="wpj344" + ;; + *WPJ531) + name="wpj531" + ;; + *WPJ558) + name="wpj558" + ;; *WNDAP360) name="wndap360" ;; *"WNDR3700/WNDR3800/WNDRMAC") wndr3700_board_detect "$machine" ;; + *"R6100") + name="r6100" + ;; + *"WNDR3700v4") + name="wndr3700v4" + ;; *"WNDR4300") name="wndr4300" ;; + *"WNR2000 V4") + name="wnr2000-v4" + ;; *"WNR2000 V3") name="wnr2000-v3" ;; @@ -664,12 +968,18 @@ ar71xx_board_detect() { *"WNR612 V2") name="wnr612-v2" ;; + *"WNR1000 V2") + name="wnr1000-v2" + ;; *WRT160NL) name="wrt160nl" ;; *WRT400N) name="wrt400n" ;; + *"WZR-450HP2") + name="wzr-450hp2" + ;; *"WZR-HP-AG300H/WZR-600DHP") name="wzr-hp-ag300h" ;; @@ -711,11 +1021,8 @@ ar71xx_board_detect() { ;; esac - case "$machine" in - *TL-WR* | *TL-WA* | *TL-MR* | *TL-WD*) + [ -z "$AR71XX_MODEL" ] && [ "${machine:0:8}" = 'TP-LINK ' ] && \ tplink_board_detect "$machine" - ;; - esac [ -z "$name" ] && name="unknown"