ar71xx: add support for Teltonika RUT900
[openwrt/openwrt.git] / target / linux / ar71xx / base-files / lib / ar71xx.sh
index e7e5662a707bb2015d8ac8a374a98e8a6f227d92..1419579d83107d905109531db14db26ad993aa87 100755 (executable)
@@ -187,9 +187,7 @@ tplink_board_detect() {
        "071000"*)
                model="TP-Link TL-WR710N"
 
-               if [ "$hwid" = '07100002' -a "$mid" = '00000002' ]; then
-                       hwver=' v2.1'
-               fi
+               [ "$hwid" = '07100002' -a "$mid" = '00000002' ] && hwver=' v2.1'
                ;;
        "072001"*)
                model="TP-Link TL-WR720N"
@@ -215,23 +213,17 @@ tplink_board_detect() {
        "080200"*)
                model="TP-Link TL-WR802N"
 
-               if [ "$hwid" = '08020002' -a "$mid" = '00000002' ]; then
-                       hwver=' v2'
-               fi
+               [ "$hwid" = '08020002' -a "$mid" = '00000002' ] && hwver=' v2'
                ;;
        "083000"*)
                model="TP-Link TL-WA830RE"
 
-               if [ "$hwver" = ' v10' ]; then
-                       hwver=' v1'
-               fi
+               [ "$hwver" = ' v10' ] && hwver=' v1'
                ;;
        "084100"*)
                model="TP-Link TL-WR841N/ND"
 
-               if [ "$hwid" = '08410002' -a "$mid" = '00000002' ]; then
-                       hwver=' v1.5'
-               fi
+               [ "$hwid" = '08410002' -a "$mid" = '00000002' ] && hwver=' v1.5'
                ;;
        "084200"*)
                model="TP-Link TL-WR842N/ND"
@@ -242,6 +234,9 @@ tplink_board_detect() {
        "085000"*)
                model="TP-Link TL-WA850RE"
                ;;
+       "085500"*)
+               model="TP-Link TL-WA855RE"
+               ;;
        "086000"*)
                model="TP-Link TL-WA860RE"
                ;;
@@ -252,12 +247,12 @@ tplink_board_detect() {
                model="TP-Link TL-WR940N"
                ;;
        "094100"*)
-               if [ "$hwid" = "09410002" -a "$mid" = "00420001" ]; then
+               model="TP-Link TL-WR941N/ND"
+
+               [ "$hwid" = "09410002" -a "$mid" = "00420001" ] && {
                        model="Rosewill RNX-N360RT"
                        hwver=""
-               else
-                       model="TP-Link TL-WR941N/ND"
-               fi
+               }
                ;;
        "104100"*)
                model="TP-Link TL-WR1041N/ND"
@@ -317,6 +312,9 @@ tplink_board_detect() {
        "49000002")
                model="TP-Link TL-WDR4900"
                ;;
+       "640000"*)
+               model="TP-Link TL-MR6400"
+               ;;
        "65000002")
                model="TP-Link TL-WDR6500"
                ;;
@@ -363,19 +361,6 @@ tplink_pharos_board_detect() {
        AR71XX_MODEL="TP-Link $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
@@ -431,6 +416,9 @@ ar71xx_board_detect() {
        *"AP121-MINI")
                name="ap121-mini"
                ;;
+       *"AP121F")
+               name="ap121f"
+               ;;
        *"AP132 reference board")
                name="ap132"
                ;;
@@ -458,9 +446,21 @@ ar71xx_board_detect() {
        *"AP90Q")
                name="ap90q"
                ;;
+       *"AP91-5G")
+               name="ap91-5g"
+               ;;
+       *"Archer C25 v1")
+               name="archer-c25-v1"
+               ;;
        *"Archer C5")
                name="archer-c5"
                ;;
+       *"Archer C7 v4")
+               name="archer-c7-v4"
+               ;;
+       *"Archer C58 v1")
+               name="archer-c58-v1"
+               ;;
        *"Archer C59 v1")
                name="archer-c59-v1"
                ;;
@@ -513,6 +513,9 @@ ar71xx_board_detect() {
        *"CF-E320N v2")
                name="cf-e320n-v2"
                ;;
+       *"CF-E355AC")
+               name="cf-e355ac"
+               ;;
        *"CF-E380AC v1")
                name="cf-e380ac-v1"
                ;;
@@ -529,6 +532,9 @@ ar71xx_board_detect() {
                name="cpe210"
                tplink_pharos_board_detect
                ;;
+       *"CPE505N")
+               name="cpe505n"
+               ;;
        *"CPE510/520")
                name="cpe510"
                tplink_pharos_board_detect
@@ -600,6 +606,9 @@ ar71xx_board_detect() {
        *"Domino Pi")
                name="gl-domino"
                ;;
+       *"DR342")
+               name="dr342"
+               ;;
        *"DR344")
                name="dr344"
                ;;
@@ -640,6 +649,9 @@ ar71xx_board_detect() {
        *"EmbWir-Dorin-Router")
                name="ew-dorin-router"
                ;;
+       *"ENS202EXT")
+               name="ens202ext"
+               ;;
        *"EPG5000")
                name="epg5000"
                ;;
@@ -649,6 +661,9 @@ ar71xx_board_detect() {
        *"ESR900")
                name="esr900"
                ;;
+       *"FRITZ!WLAN Repeater 300E")
+               name="fritz300e"
+               ;;
        *"GL AR150")
                name="gl-ar150"
                ;;
@@ -660,25 +675,29 @@ ar71xx_board_detect() {
                ;;
        *"GL-CONNECT INET v1")
                name="gl-inet"
-               gl_inet_board_detect
+
+               local size="$(mtd_get_part_size 'firmware')"
+
+               [ "$size" = "8192000" ] && AR71XX_MODEL="GL-iNet 6408A v1"
+               [ "$size" = "16580608" ] && AR71XX_MODEL="GL-iNet 6416A v1"
                ;;
        *"GL-MIFI")
                name="gl-mifi"
                ;;
+       *"GL-USB150")
+               name="gl-usb150"
+               ;;
+       *"HiveAP-121")
+               name="hiveap-121"
+               ;;
        *"HiWiFi HC6361")
                name="hiwifi-hc6361"
                ;;
        *"Hornet-UB")
-               local size
-               size=$(awk '/firmware/ { print $2 }' /proc/mtd)
-
-               if [ "x$size" = "x00790000" ]; then
-                       name="hornet-ub"
-               fi
+               local size="$(mtd_get_part_size 'firmware')"
 
-               if [ "x$size" = "x00f90000" ]; then
-                       name="hornet-ub-x2"
-               fi
+               [ "$size" = "7929856" ] && name="hornet-ub"
+               [ "$size" = "16318464" ] && name="hornet-ub-x2"
                ;;
        *"JA76PF")
                name="ja76pf"
@@ -749,6 +768,9 @@ ar71xx_board_detect() {
        *"MZK-W300NH")
                name="mzk-w300nh"
                ;;
+       *"N5Q")
+               name="n5q"
+               ;;
        *"Nanostation M")
                name="nanostation-m"
                ubnt_xm_board_detect
@@ -825,9 +847,15 @@ ar71xx_board_detect() {
        *"Qihoo 360 C301")
                name="qihoo-c301"
                ;;
+       *"R602N")
+               name="r602n"
+               ;;
        *"R6100")
                name="r6100"
                ;;
+       *"Rambutan"*)
+               name="rambutan"
+               ;;
        *"RE450")
                name="re450"
                ;;
@@ -841,6 +869,9 @@ ar71xx_board_detect() {
        *"Rocket M XW")
                name="rocket-m-xw"
                ;;
+       *"RouterBOARD 2011iL")
+               name="rb-2011il"
+               ;;
        *"RouterBOARD 2011L")
                name="rb-2011l"
                ;;
@@ -892,6 +923,9 @@ ar71xx_board_detect() {
        *"RouterBOARD 750GL")
                name="rb-750gl"
                ;;
+       *"RouterBOARD 750P r2")
+               name="rb-750p-pbr2"
+               ;;
        *"RouterBOARD 750UP r2")
                name="rb-750up-r2"
                ;;
@@ -916,6 +950,9 @@ ar71xx_board_detect() {
        *"RouterBOARD 912UAG-5HPnD")
                name="rb-912uag-5hpnd"
                ;;
+       *"RouterBOARD 921GS-5HPacD r2")
+               name="rb-921gs-5hpacd-r2"
+               ;;
        *"RouterBOARD 941-2nD")
                name="rb-941-2nd"
                ;;
@@ -928,6 +965,18 @@ ar71xx_board_detect() {
        *"RouterBOARD 951Ui-2nD")
                name="rb-951ui-2nd"
                ;;
+       *"RouterBOARD 952Ui-5ac2nD")
+               name="rb-952ui-5ac2nd"
+               ;;
+       *"RouterBOARD 962UiGS-5HacT2HnT")
+               name="rb-962uigs-5hact2hnt"
+               ;;
+       *"RouterBOARD LHG 5nD")
+               name="rb-lhg-5nd"
+               ;;
+       *"RouterBOARD mAP 2nD")
+               name="rb-map-2nd"
+               ;;
        *"RouterBOARD mAP L-2nD")
                name="rb-mapl-2nd"
                ;;
@@ -937,12 +986,18 @@ ar71xx_board_detect() {
        *"RouterBOARD SXT Lite5")
                name="rb-sxt5n"
                ;;
+       *"RouterBOARD wAP 2nD r2")
+               name="rb-wap-2nd"
+               ;;
        *"RouterStation")
                name="routerstation"
                ;;
        *"RouterStation Pro")
                name="routerstation-pro"
                ;;
+       *"RUT900")
+               name="rut900"
+               ;;
        *"RW2458N")
                name="rw2458n"
                ;;
@@ -1015,6 +1070,9 @@ ar71xx_board_detect() {
        *"TL-MR3420 v2")
                name="tl-mr3420-v2"
                ;;
+       *"TL-MR6400")
+               name="tl-mr6400"
+               ;;
        *"TL-WA701ND v2")
                name="tl-wa701nd-v2"
                ;;
@@ -1042,6 +1100,9 @@ ar71xx_board_detect() {
        *"TL-WA850RE v2")
                name="tl-wa850re-v2"
                ;;
+       *"TL-WA855RE v1")
+               name="tl-wa855re-v1"
+               ;;
        *"TL-WA860RE")
                name="tl-wa860re"
                ;;
@@ -1057,6 +1118,9 @@ ar71xx_board_detect() {
        *"TL-WA901ND v4")
                name="tl-wa901nd-v4"
                ;;
+       *"TL-WA901ND v5")
+               name="tl-wa901nd-v5"
+               ;;
        *"TL-WDR3320 v2")
                name="tl-wdr3320-v2"
                ;;
@@ -1078,6 +1142,9 @@ ar71xx_board_detect() {
        *"TL-WR1041N v2")
                name="tl-wr1041n-v2"
                ;;
+       *"TL-WR1043N v5")
+               name="tl-wr1043n-v5"
+               ;;
        *"TL-WR1043ND")
                name="tl-wr1043nd"
                ;;
@@ -1099,6 +1166,9 @@ ar71xx_board_detect() {
        *"TL-WR720N"*)
                name="tl-wr720n-v3"
                ;;
+       *"TL-WR740N/ND v6")
+               name="tl-wr740n-v6"
+               ;;
        *"TL-WR741ND")
                name="tl-wr741nd"
                ;;
@@ -1114,6 +1184,15 @@ ar71xx_board_detect() {
        *"TL-WR810N")
                name="tl-wr810n"
                ;;
+       *"TL-WR810N v2")
+               name="tl-wr810n-v2"
+               ;;
+       *"TL-WR840N v2")
+               name="tl-wr840n-v2"
+               ;;
+       *"TL-WR840N v3")
+               name="tl-wr840n-v3"
+               ;;
        *"TL-WR841N v1")
                name="tl-wr841n-v1"
                ;;
@@ -1135,6 +1214,9 @@ ar71xx_board_detect() {
        *"TL-WR842N/ND v3")
                name="tl-wr842n-v3"
                ;;
+       *"TL-WR902AC v1")
+               name="tl-wr902ac-v1"
+               ;;
        *"TL-WR940N v4")
                name="tl-wr940n-v4"
                ;;
@@ -1147,6 +1229,9 @@ ar71xx_board_detect() {
        *"TL-WR941ND")
                name="tl-wr941nd"
                ;;
+       *"TL-WR942N v1")
+               name="tl-wr942n-v1"
+               ;;
        *"Tube2H")
                name="tube2h"
                ;;
@@ -1156,7 +1241,7 @@ ar71xx_board_detect() {
        *"UniFi AP Pro")
                name="uap-pro"
                ;;
-       *"UniFi-AC-LITE")
+       *"UniFi-AC-LITE/MESH")
                name="unifiac-lite"
                ;;
        *"UniFi-AC-PRO")
@@ -1179,6 +1264,9 @@ ar71xx_board_detect() {
        "WeIO"*)
                name="weio"
                ;;
+       *"WI2A-AC200i")
+               name="wi2a-ac200i"
+               ;;
        *"WHR-G301N")
                name="whr-g301n"
                ;;
@@ -1242,6 +1330,9 @@ ar71xx_board_detect() {
        *"WPJ558")
                name="wpj558"
                ;;
+       *"WPJ563")
+               name="wpj563"
+               ;;
        *"WPN824N")
                name="wpn824n"
                ;;
@@ -1299,12 +1390,3 @@ ar71xx_board_detect() {
        echo "$AR71XX_BOARD_NAME" > /tmp/sysinfo/board_name
        echo "$AR71XX_MODEL" > /tmp/sysinfo/model
 }
-
-ar71xx_board_name() {
-       local name
-
-       [ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name)
-       [ -z "$name" ] && name="unknown"
-
-       echo "$name"
-}