# Copyright (C) 2010-2013 OpenWrt.org
#
-RAMIPS_BOARD_NAME=
-RAMIPS_MODEL=
-
ramips_board_detect() {
local machine
local name
machine=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /machine/ {print $2}' /proc/cpuinfo)
case "$machine" in
+ *"11AC NAS Router")
+ name="11acnas"
+ ;;
*"3G150B")
name="3g150b"
;;
*"ALL0239-3G")
name="all0239-3g"
;;
- *"ALL0256N")
- name="all0256n"
+ *"ALL0256N (4M)")
+ name="all0256n-4M"
+ ;;
+ *"ALL0256N (8M)")
+ name="all0256n-8M"
;;
*"ALL5002")
name="all5002"
*"AR725W")
name="ar725w"
;;
- *"ASL26555")
- name="asl26555"
+ *"ASL26555 (8M)")
+ name="asl26555-8M"
+ ;;
+ *"ASL26555 (16M)")
+ name="asl26555-16M"
;;
*"ATP-52B")
name="atp-52b"
*"AWAPN2403")
name="awapn2403"
;;
- *"AWM002 EVB")
- name="awm002-evb"
+ *"AWM002 EVB (4M)")
+ name="awm002-evb-4M"
;;
- *"AWM003 EVB")
- name="awm003-evb"
+ *"AWM002 EVB (8M)")
+ name="awm002-evb-8M"
;;
*"BC2")
name="bc2"
;;
- *"BR-6425")
- name="br-6425"
- ;;
*"BR-6475nD")
name="br-6475nd"
;;
*"Broadway")
name="broadway"
;;
+ *"C108")
+ name="c108"
+ ;;
+ *"C20")
+ name="c20"
+ ;;
*"C20i")
name="c20i"
;;
+ *"C50")
+ name="c50"
+ ;;
*"Carambola")
name="carambola"
;;
*"CF-WR800N")
name="cf-wr800n"
;;
+ *"CS-QR10")
+ name="cs-qr10"
+ ;;
*"CY-SWR1100")
name="cy-swr1100"
;;
*"D105")
name="d105"
;;
+ *"D240")
+ name="d240"
+ ;;
*"DAP-1350")
name="dap-1350"
;;
*"DB-WRT01")
name="db-wrt01"
;;
+ *"DCH-M225")
+ name="dch-m225"
+ ;;
*"DCS-930")
name="dcs-930"
;;
*"DIR-600 B1")
name="dir-600-b1"
;;
- *"DIR-600 B2")
- name="dir-600-b2"
- ;;
*"DIR-610 A1")
name="dir-610-a1"
;;
*"Dovado Tiny AC")
name="tiny-ac"
;;
+ *"DuZun DM06")
+ name="duzun-dm06"
+ ;;
+ *"DWR-512 B")
+ name="dwr-512-b"
+ ;;
*"E1700")
name="e1700"
;;
*"ESR-9753")
name="esr-9753"
;;
+ *"EW1200")
+ name="ew1200"
+ ;;
*"EX2700")
name="ex2700";
;;
+ *"EX3700/EX3800")
+ name="ex3700"
+ ;;
*"F5D8235 v1")
name="f5d8235-v1"
;;
*"FreeStation5")
name="freestation5"
;;
+ *"GB-PC1")
+ name="gb-pc1"
+ ;;
+ *"GL-MT300A")
+ name="gl-mt300a"
+ ;;
+ *"GL-MT300N")
+ name="gl-mt300n"
+ ;;
+ *"GL-MT750")
+ name="gl-mt750"
+ ;;
+ *"GL-MT300N-V2")
+ name="gl-mt300n-v2"
+ ;;
*"HC5661")
name="hc5661"
;;
+ *"HC5661A")
+ name="hc5661a"
+ ;;
*"HC5761")
name="hc5761"
;;
*"HC5861")
name="hc5861"
;;
+ *"HC5962")
+ name="hc5962"
+ ;;
*"HG255D")
name="hg255d"
;;
*"IP2202")
name="ip2202"
;;
+ *"JHR-N805R")
+ name="jhr-n805r"
+ ;;
+ *"JHR-N825R")
+ name="jhr-n825r"
+ ;;
+ *"JHR-N926R")
+ name="jhr-n926r"
+ ;;
+ *"K2P")
+ name="k2p"
+ ;;
*"M3")
name="m3"
;;
- *"M4")
- name="m4"
+ *"M4 (4M)")
+ name="m4-4M"
+ ;;
+ *"M4 (8M)")
+ name="m4-8M"
;;
*"MediaTek LinkIt Smart 7688")
- linkit="$(dd bs=1 skip=1024 count=12 if=/dev/mtd2 2> /dev/null)"
- if [ "${linkit}" = "LINKITS7688D" ]; then
- name="linkits7688d"
- RAMIPS_MODEL="${machine} DUO"
- else
- name="linkits7688"
- fi
+ name="linkits7688"
;;
*"Memory 2 Move")
name="m2m"
;;
+ *"Mercury MAC1200R v2")
+ name="mac1200rv2"
+ ;;
+ *"Mi Router 3G")
+ name="mir3g"
+ ;;
*"MicroWRT")
name="microwrt"
;;
*"MiWiFi Mini")
name="miwifi-mini"
;;
+ *"MiWiFi Nano")
+ name="miwifi-nano"
+ ;;
*"MLW221")
name="mlw221"
;;
*"MR-102N")
name="mr-102n"
;;
+ *"MR200")
+ name="mr200"
+ ;;
*"MT7620a + MT7530 evaluation"*)
name="mt7620a_mt7530"
;;
*"MZK-DP150N")
name="mzk-dp150n"
;;
+ *"MZK-EX300NP")
+ name="mzk-ex300np"
+ ;;
+ *"MZK-EX750NP")
+ name="mzk-ex750np"
+ ;;
*"MZK-W300NH2"*)
name="mzk-w300nh2"
;;
+ *"MZK-WDPR"*)
+ name="mzk-wdpr"
+ ;;
*"NA930")
name="na930"
;;
*"NBG-419N")
name="nbg-419n"
;;
+ *"NBG-419N v2")
+ name="nbg-419n2"
+ ;;
+ *"Newifi-D1")
+ name="newifi-d1"
+ ;;
*"NCS601W")
name="ncs601w"
;;
+ *"NixcoreX1 (8M)")
+ name="nixcore-x1-8M"
+ ;;
+ *"NixcoreX1 (16M)")
+ name="nixcore-x1-16M"
+ ;;
*"NW718")
name="nw718"
;;
+ *"Onion Omega2")
+ name="omega2"
+ ;;
+ *"Onion Omega2+")
+ name="omega2p"
+ ;;
*"OY-0001")
name="oy-0001"
;;
+ *"PBR-D1")
+ name="pbr-d1"
+ ;;
*"PBR-M1")
name="pbr-m1"
;;
+ *"PSG1208")
+ name="psg1208"
+ ;;
+ *"PSG1218 rev.A")
+ name="psg1218a"
+ ;;
+ *"PSG1218 rev.B")
+ name="psg1218b"
+ ;;
*"PSR-680W"*)
name="psr-680w"
;;
*"PWH2004")
name="pwh2004"
;;
- *"PX-4885")
- name="px-4885"
+ *"PX-4885 (4M)")
+ name="px-4885-4M"
+ ;;
+ *"PX-4885 (8M)")
+ name="px-4885-8M"
;;
*"Q7")
name="zte-q7"
;;
+ *"R6220")
+ name="r6220"
+ ;;
+ *"RB750Gr3")
+ name="rb750gr3"
+ ;;
+ *"RE350 v1")
+ name="re350-v1"
+ ;;
*"RE6500")
name="re6500"
;;
*"RT5350F-OLinuXino-EVB")
name="rt5350f-olinuxino-evb"
;;
+ *"RT-AC51U")
+ name="rt-ac51u"
+ ;;
*"RT-G32 B1")
name="rt-g32-b1"
;;
*"RT-N10+")
name="rt-n10-plus"
;;
+ *"RT-N12+")
+ name="rt-n12p"
+ ;;
*"RT-N13U")
name="rt-n13u"
;;
*"RUT5XX")
name="rut5xx"
;;
+ *"SamKnows Whitebox 8")
+ name="sk-wb8"
+ ;;
*"SAP-G3200U3")
name="sap-g3200u3"
;;
*"SL-R7205"*)
name="sl-r7205"
;;
+ *"TEW-638APB v2")
+ name="tew-638apb-v2"
+ ;;
*"TEW-691GR")
name="tew-691gr"
;;
*"TEW-692GR")
name="tew-692gr"
;;
+ *"TEW-714TRU")
+ name="tew-714tru"
+ ;;
+ *"Timecloud")
+ name="timecloud"
+ ;;
+ *"TL-WR840N v4")
+ name="tl-wr840n-v4"
+ ;;
+ *"TL-WR840N v5")
+ name="tl-wr840n-v5"
+ ;;
+ *"TL-WR841N v13")
+ name="tl-wr841n-v13"
+ ;;
+ *"U25AWF-H1")
+ name="u25awf-h1"
+ ;;
+ *"U7621-06 (256M RAM/16M flash)")
+ name="u7621-06-256M-16M"
+ ;;
+ *"U7628-01 (128M RAM/16M flash)")
+ name="u7628-01-128M-16M"
+ ;;
*"UBNT-ERX")
name="ubnt-erx"
;;
+ *"UBNT-ERX-SFP")
+ name="ubnt-erx-sfp"
+ ;;
*"UR-326N4G")
name="ur-326n4g"
;;
*"V22RW-2X2")
name="v22rw-2x2"
;;
- *"VoCore")
- name="vocore"
+ *"VoCore (8M)")
+ name="vocore-8M"
+ ;;
+ *"VoCore (16M)")
+ name="vocore-16M"
+ ;;
+ *"VoCore2")
+ name="vocore2"
+ ;;
+ *"VoCore2-Lite")
+ name="vocore2lite"
+ ;;
+ *"VR500")
+ name="vr500"
;;
*"W150M")
name="w150m"
;;
+ *"W2914NS v2")
+ name="w2914nsv2"
+ ;;
*"W306R V2.0")
name="w306r-v20"
;;
*"W502U")
name="w502u"
;;
+ *"WCR-1166DS")
+ name="wcr-1166ds"
+ ;;
*"WCR-150GN")
name="wcr-150gn"
;;
+ *"WE1026-5G (16M)")
+ name="we1026-5g-16m"
+ ;;
*"WF-2881")
name="wf-2881"
;;
*"WHR-G300N")
name="whr-g300n"
;;
+ *"Widora-NEO")
+ name="widora-neo"
+ ;;
*"WiTi")
name="witi"
;;
*"WL-351 v1 002")
name="wl-351"
;;
+ *"WL-WN575A3")
+ name="wl-wn575a3"
+ ;;
*"WLI-TX4-AG300N")
name="wli-tx4-ag300n"
;;
+ *"WLR-6000")
+ name="wlr-6000"
+ ;;
+ *"WMDR-143N")
+ name="wmdr-143n"
+ ;;
*"WMR-300")
name="wmr-300"
;;
+ *"WN3000RPv3")
+ name="wn3000rpv3"
+ ;;
*"WNCE2001")
name="wnce2001"
;;
- *"WR512-3GN-like"*)
- name="wr512-3gn"
+ *"WNDR3700v5")
+ name="wndr3700v5"
+ ;;
+ *"WR512-3GN (4M)")
+ name="wr512-3gn-4M"
+ ;;
+ *"WR512-3GN (8M)")
+ name="wr512-3gn-8M"
;;
*"WR6202")
name="wr6202"
;;
+ *"WRH-300CR")
+ name="wrh-300cr"
+ ;;
*"WRTNODE")
name="wrtnode"
;;
*"WSR-600DHP")
name="wsr-600"
;;
- *"WT1520")
- name="wt1520"
+ *"WT1520 (4M)")
+ name="wt1520-4M"
+ ;;
+ *"WT1520 (8M)")
+ name="wt1520-8M"
+ ;;
+ *"WT3020 (4M)")
+ name="wt3020-4M"
;;
- *"WT3020")
- name="wt3020"
+ *"WT3020 (8M)")
+ name="wt3020-8M"
;;
*"WZR-AGL300NH")
name="wzr-agl300nh"
*"Y1S")
name="y1s"
;;
+ *"ZBT-APE522II")
+ name="zbt-ape522ii"
+ ;;
+ *"ZBT-CPE102")
+ name="zbt-cpe102"
+ ;;
*"ZBT-WA05")
name="zbt-wa05"
;;
+ *"ZBT-WE1326")
+ name="zbt-we1326"
+ ;;
+ *"ZBT-WE2026")
+ name="zbt-we2026"
+ ;;
+ *"ZBT-WE826 (16M)")
+ name="zbt-we826-16M"
+ ;;
+ *"ZBT-WE826 (32M)")
+ name="zbt-we826-32M"
+ ;;
*"ZBT-WG2626")
name="zbt-wg2626"
;;
+ *"ZBT-WG3526 (16M)")
+ name="zbt-wg3526-16M"
+ ;;
+ *"ZBT-WG3526 (32M)")
+ name="zbt-wg3526-32M"
+ ;;
*"ZBT-WR8305RT")
name="zbt-wr8305rt"
;;
+ *"ZyXEL Keenetic")
+ name="kn"
+ ;;
+ *"ZyXEL Keenetic Omni")
+ name="kn_rc"
+ ;;
+ *"ZyXEL Keenetic Omni II")
+ name="kn_rf"
+ ;;
+ *"ZyXEL Keenetic Viva")
+ name="kng_rc"
+ ;;
*"YK1")
name="youku-yk1"
;;
- *)
- name="generic"
- ;;
esac
- [ -z "$RAMIPS_BOARD_NAME" ] && RAMIPS_BOARD_NAME="$name"
- [ -z "$RAMIPS_MODEL" ] && RAMIPS_MODEL="$machine"
+ # use generic board detect if no name is set
+ [ -z "$name" ] && return
[ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
- echo "$RAMIPS_BOARD_NAME" > /tmp/sysinfo/board_name
- echo "$RAMIPS_MODEL" > /tmp/sysinfo/model
-}
-
-ramips_board_name() {
- local name
-
- [ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name)
- [ -z "$name" ] && name="unknown"
-
- echo "$name"
+ echo "$name" > /tmp/sysinfo/board_name
+ echo "$machine" > /tmp/sysinfo/model
}