X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=blobdiff_plain;f=target%2Flinux%2Far71xx%2Fbase-files%2Flib%2Far71xx.sh;h=940c1c95de45456cf78d83c9f4baa4a9417eeeff;hp=d46aa270026c11b2c2a5c28562aaabd1d01f085c;hb=098f7156cc68d07a8eed9574c76b90c7ade77026;hpb=1297679f4bbd47000d3ee36ed0f09efd7c581e76 diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh index d46aa27002..940c1c95de 100755 --- a/target/linux/ar71xx/base-files/lib/ar71xx.sh +++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh @@ -37,8 +37,9 @@ wndr3700_board_detect() { machine="NETGEAR WNDR3700" ;; "33373031") - # Use awk to remove everything after the first zero byte - model="$(ar71xx_get_mtd_offset_size_format art 41 32 %c | LC_CTYPE=C awk -v 'FS=[^[:print:]]' '{print $1; exit}')" + model="$(ar71xx_get_mtd_offset_size_format art 41 32 %c)" + # Use awk to remove everything unprintable + model_stripped="$(ar71xx_get_mtd_offset_size_format art 41 32 %c | LC_CTYPE=C awk -v 'FS=[^[:print:]]' '{print $1; exit}')" case $model in $'\xff'*) if [ "${model:24:1}" = 'N' ]; then @@ -48,14 +49,14 @@ wndr3700_board_detect() { fi ;; '29763654+16+64'*) - machine="NETGEAR ${model:14}" + machine="NETGEAR ${model_stripped:14}" ;; '29763654+16+128'*) - machine="NETGEAR ${model:15}" + machine="NETGEAR ${model_stripped:15}" ;; *) # Unknown ID - machine="NETGEAR $model" + machine="NETGEAR ${model_stripped}" esac esac @@ -63,6 +64,39 @@ wndr3700_board_detect() { AR71XX_MODEL="$machine" } +ubnt_get_mtd_part_magic() { + ar71xx_get_mtd_offset_size_format EEPROM 4118 2 %02x +} + +ubnt_xm_board_detect() { + local model + local magic + + magic="$(ubnt_get_mtd_part_magic)" + case ${magic:0:3} in + "e00"|\ + "e01"|\ + "e80") # Different revisions of the NanoStation? + model="Ubiquiti NanoStation M" + ;; + "e0a") + model="Ubiquiti NanoStation loco M" + ;; + "e1b") # Rocket M5 untested + model="Ubiquiti Rocket M" + ;; + "e20"|\ + "e2d") # Bullet M Ti + model="Ubiquiti Bullet M" + ;; + "e30") + model="Ubiquiti PicoStation M" + ;; + esac + + [ -z "$model" ] || AR71XX_MODEL="${model}${magic:3:1}" +} + cybertan_get_hw_magic() { local part @@ -72,6 +106,15 @@ cybertan_get_hw_magic() { dd bs=8 count=1 skip=0 if=$part 2>/dev/null | hexdump -v -n 8 -e '1/1 "%02x"' } +dir505_board_detect() { + local dev=$(find_mtd_part 'mac') + [ -z "$dev" ] && return + + # The revision is stored at the beginning of the "mac" partition + local rev="$(LC_CTYPE=C awk -v 'FS=[^[:print:]]' '{print $1; exit}' $dev)" + AR71XX_MODEL="D-Link DIR-505 rev. $rev" +} + tplink_get_hwid() { local part @@ -98,7 +141,7 @@ tplink_board_detect() { hwid=$(tplink_get_hwid) mid=$(tplink_get_mid) hwver=${hwid:6:2} - hwver="v${hwver#0}" + hwver=" v${hwver#0}" case "$hwid" in "015000"*) @@ -107,23 +150,42 @@ tplink_board_detect() { "015300"*) model="EasyLink EL-MINI" ;; - "04440001"*) - model="BITMAIN ANTMINER S1" + "044401"*) + model="ANTMINER-S1" + ;; + "044403"*) + model="ANTMINER-S3" ;; - "04440003"*) - model="BITMAIN ANTMINER S3" + "44440101"*) + model="ANTROUTER-R1" ;; "120000"*) model="MERCURY MAC1200R" ;; + "007260"*) + model="TellStick ZNet Lite" + ;; + "066601"*) + model="OMYlink OMY-G1" + ;; + "066602"*) + model="OMYlink OMY-X1" + ;; "3C0001"*) model="OOLITE" ;; - "070300"*) + "3C0002"*) + model="MINIBOX_V1" + ;; + "070301"*) model="TP-Link TL-WR703N" ;; "071000"*) model="TP-Link TL-WR710N" + + if [ "$hwid" = '07100002' -a "$mid" = '00000002' ]; then + hwver=' v2.1' + fi ;; "072001"*) model="TP-Link TL-WR720N" @@ -158,12 +220,16 @@ tplink_board_detect() { "083000"*) model="TP-Link TL-WA830RE" - if [ "$hwver" = 'v10' ]; then - hwver='v1' + if [ "$hwver" = ' v10' ]; then + hwver=' v1' fi ;; "084100"*) model="TP-Link TL-WR841N/ND" + + if [ "$hwid" = '08410002' -a "$mid" = '00000002' ]; then + hwver=' v1.5' + fi ;; "084200"*) model="TP-Link TL-WR842N/ND" @@ -247,7 +313,7 @@ tplink_board_detect() { model="TP-Link TL-WDR6500" ;; "453000"*) - model="MERCURY MW4530R" + model="Mercury MW4530R" ;; "934100"*) model="NC-LINK SMART-300" @@ -264,7 +330,7 @@ tplink_board_detect() { ;; esac - AR71XX_MODEL="$model $hwver" + AR71XX_MODEL="$model$hwver" } tplink_pharos_get_model_string() { @@ -335,6 +401,9 @@ ar71xx_board_detect() { *"AirRouter") name="airrouter" ;; + *"ALFA Network AP120C") + name="alfa-ap120c" + ;; *"ALFA Network AP96") name="alfa-ap96" ;; @@ -350,10 +419,19 @@ ar71xx_board_detect() { *ALL0315N) name="all0315n" ;; + *Antminer-S1) + name="antminer-s1" + ;; + *Antminer-S3) + name="antminer-s3" + ;; + *"Arduino Yun") + name="arduino-yun" + ;; *AP113) name="ap113" ;; - *AP121) + *"AP121 reference board") name="ap121" ;; *AP121-MINI) @@ -377,6 +455,9 @@ ar71xx_board_detect() { *"AP147-010 reference board") name="ap147-010" ;; + *"AP152 reference board") + name="ap152" + ;; *AP81) name="ap81" ;; @@ -395,16 +476,35 @@ ar71xx_board_detect() { *AW-NR580) name="aw-nr580" ;; + *CAP324) + name="cap324" + ;; + *C-55) + name="c-55" + ;; + *C-60) + name="c-60" + ;; *CAP4200AG) name="cap4200ag" ;; *"COMFAST CF-E316N v2") name="cf-e316n-v2" ;; - *"CPE210/220/510/520") + *"CPE210/220") + name="cpe210" + tplink_pharos_board_detect + ;; + *"CPE510/520") name="cpe510" tplink_pharos_board_detect ;; + *CR3000) + name="cr3000" + ;; + *CR5000) + name="cr5000" + ;; *"DB120 reference board") name="db120" ;; @@ -416,6 +516,7 @@ ar71xx_board_detect() { ;; *"DIR-505 rev. A1") name="dir-505-a1" + dir505_board_detect ;; *"DIR-600 rev. A1") name="dir-600-a1" @@ -438,15 +539,30 @@ ar71xx_board_detect() { *"DIR-835 rev. A1") name="dir-835-a1" ;; + *"DIR-869 rev. A1") + name="dir-869-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" + ;; + *DR531) + name="dr531" + ;; *"Dragino v2") name="dragino2" ;; + *"Domino Pi") + name="gl-domino" + ;; *"EAP300 v2") name="eap300v2" ;; @@ -463,6 +579,18 @@ ar71xx_board_detect() { name="gl-inet" gl_inet_board_detect ;; + *"GL AR150") + name="gl-ar150" + ;; + *"GL AR300") + name="gl-ar300" + ;; + *"GL-AR300M") + name="gl-ar300m" + ;; + *"GL-MIFI") + name="gl-mifi" + ;; *"EnGenius EPG5000") name="epg5000" ;; @@ -480,12 +608,14 @@ ar71xx_board_detect() { ;; *"Bullet M") name="bullet-m" + ubnt_xm_board_detect ;; *"Loco M XW") name="loco-m-xw" ;; *"Nanostation M") name="nanostation-m" + ubnt_xm_board_detect ;; *"Nanostation M XW") name="nanostation-m-xw" @@ -493,6 +623,9 @@ ar71xx_board_detect() { *JWAP003) name="jwap003" ;; + *JWAP230) + name="jwap230" + ;; *"Hornet-UB") local size size=$(awk '/firmware/ { print $2 }' /proc/mtd) @@ -511,18 +644,27 @@ ar71xx_board_detect() { *"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" ;; + *MR1750v2) + name="mr1750v2" + ;; *MR600) name="mr600" ;; @@ -550,6 +692,9 @@ ar71xx_board_detect() { *"NBG460N/550N/550NH") name="nbg460n_550n_550nh" ;; + *"Zyxel NBG6616") + name="nbg6616" + ;; *"Zyxel NBG6716") name="nbg6716" ;; @@ -565,6 +710,9 @@ ar71xx_board_detect() { *"OM2P HSv2") name="om2p-hsv2" ;; + *"OM2P HSv3") + name="om2p-hsv3" + ;; *"OM2P LC") name="om2p-lc" ;; @@ -574,6 +722,18 @@ ar71xx_board_detect() { *"OM5P AN") name="om5p-an" ;; + *"OM5P AC") + name="om5p-ac" + ;; + *"OM5P ACv2") + name="om5p-acv2" + ;; + *"OMY-X1") + name="omy-x1" + ;; + *"OMY-G1") + name="omy-g1" + ;; *"Onion Omega") name="onion-omega" ;; @@ -672,6 +832,7 @@ ar71xx_board_detect() { ;; *"Rocket M") name="rocket-m" + ubnt_xm_board_detect ;; *"Rocket M TI") name="rocket-m-ti" @@ -694,6 +855,12 @@ ar71xx_board_detect() { "Smart Electronics Black Swift board"*) name="bsb" ;; + *"Telldus TellStick ZNet Lite") + name="tellstick-znet-lite" + ;; + *SOM9331) + name="som9331" + ;; *TEW-632BRP) name="tew-632brp" ;; @@ -706,6 +873,9 @@ ar71xx_board_detect() { *TEW-732BR) name="tew-732br" ;; + *TEW-823DRU) + name="tew-823dru" + ;; *"TL-WR1041N v2") name="tl-wr1041n-v2" ;; @@ -766,6 +936,9 @@ ar71xx_board_detect() { *"TL-WA801ND v2") name="tl-wa801nd-v2" ;; + *"TL-WA801ND v3") + name="tl-wa801nd-v3" + ;; *TL-WA901ND) name="tl-wa901nd" ;; @@ -775,6 +948,9 @@ ar71xx_board_detect() { *"TL-WA901ND v3") name="tl-wa901nd-v3" ;; + *"TL-WA901ND v4") + name="tl-wa901nd-v4" + ;; *"TL-WDR3320 v2") name="tl-wdr3320-v2" ;; @@ -808,15 +984,24 @@ ar71xx_board_detect() { *"TL-WR841N/ND v9") name="tl-wr841n-v9" ;; + *"TL-WR841N/ND v11") + name="tl-wr841n-v11" + ;; *"TL-WR842N/ND v2") name="tl-wr842n-v2" ;; + *"TL-WR842N/ND v3") + name="tl-wr842n-v3" + ;; *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" ;; @@ -826,6 +1011,9 @@ ar71xx_board_detect() { *"TL-WR720N"*) name="tl-wr720n-v3" ;; + *"TL-WR810N") + name="tl-wr810n" + ;; *"TL-MR10U") name="tl-mr10u" ;; @@ -844,9 +1032,18 @@ ar71xx_board_detect() { *UniFi) name="unifi" ;; + *"UniFi-AC-LITE") + name="unifiac-lite" + ;; + *"UniFi-AC-PRO") + name="unifiac-pro" + ;; *"UniFi AP Pro") name="uap-pro" ;; + "WeIO"*) + name="weio" + ;; *WHR-G301N) name="whr-g301n" ;; @@ -868,6 +1065,9 @@ ar71xx_board_detect() { *WPE72) name="wpe72" ;; + *WPJ342) + name="wpj342" + ;; *WPJ344) name="wpj344" ;; @@ -910,12 +1110,18 @@ ar71xx_board_detect() { *"WNR1000 V2") name="wnr1000-v2" ;; + *WPN824N) + name="wpn824n" + ;; *WRT160NL) name="wrt160nl" ;; *WRT400N) name="wrt400n" ;; + *"WRTnode2Q board") + name="wrtnode2q" + ;; *"WZR-450HP2") name="wzr-450hp2" ;; @@ -934,6 +1140,12 @@ ar71xx_board_detect() { *WHR-HP-G300N) name="whr-hp-g300n" ;; + *Z1) + name="z1" + ;; + *ZBT-WE1526) + name="zbt-we1526" + ;; *ZCN-1523H-2) name="zcn-1523h-2" ;;