# 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"
;;
*"A5-V11")
name="a5-v11"
;;
- *"Ai-BR100")
- name="ai-br100"
- ;;
*"Air3GII")
name="air3gii"
;;
- *"ALL0239-3G")
- name="all0239-3g"
- ;;
*"ALL0256N (4M)")
name="all0256n-4M"
;;
*"AWM002 EVB (8M)")
name="awm002-evb-8M"
;;
- *"AWM003 EVB")
- name="awm003-evb"
- ;;
*"BC2")
name="bc2"
;;
- *"BR-6425")
- name="br-6425"
- ;;
*"BR-6475nD")
name="br-6475nd"
;;
*"Broadway")
name="broadway"
;;
- *"C20i")
- name="c20i"
- ;;
- *"C50")
- name="c50"
- ;;
*"Carambola")
name="carambola"
;;
- *"CF-WR800N")
- name="cf-wr800n"
- ;;
- *"CS-QR10")
- name="cs-qr10"
- ;;
*"CY-SWR1100")
name="cy-swr1100"
;;
*"DAP-1350")
name="dap-1350"
;;
- *"DB-WRT01")
- name="db-wrt01"
- ;;
- *"DCH-M225")
- name="dch-m225"
- ;;
*"DCS-930")
name="dcs-930"
;;
*"DCS-930L B1")
name="dcs-930l-b1"
;;
- *"Digineo AC1200 Pro")
- name="ac1200pro"
- ;;
*"DIR-300 B1")
name="dir-300-b1"
;;
*"DIR-645")
name="dir-645"
;;
- *"DIR-810L")
- name="dir-810l"
- ;;
- *"DIR-860L B1")
- name="dir-860l-b1"
- ;;
- *"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"
;;
- *"EX2700")
- name="ex2700";
- ;;
*"F5D8235 v1")
name="f5d8235-v1"
;;
*"F7C027")
name="f7c027"
;;
- *"FireWRT")
- name="firewrt"
- ;;
*"Fonera 2.0N")
name="fonera20n"
;;
*"FreeStation5")
name="freestation5"
;;
- *"GL-MT300A")
- name="gl-mt300a"
- ;;
- *"GL-MT300N")
- name="gl-mt300n"
- ;;
- *"GL-MT750")
- name="gl-mt750"
- ;;
- *"HC5661")
- name="hc5661"
- ;;
- *"HC5761")
- name="hc5761"
- ;;
- *"HC5861")
- name="hc5861"
- ;;
*"HG255D")
name="hg255d"
;;
*"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
- ;;
*"Memory 2 Move")
name="m2m"
;;
- *"Mercury MAC1200R v2")
- name="mac1200r-v2"
- ;;
- *"MicroWRT")
- name="microwrt"
- ;;
*"MiniEMBPlug")
name="miniembplug"
;;
*"MiniEMBWiFi")
name="miniembwifi"
;;
- *"MiWiFi Mini")
- name="miwifi-mini"
- ;;
- *"MiWiFi Nano")
- name="miwifi-nano"
- ;;
- *"MLW221")
- name="mlw221"
- ;;
- *"MLWG2")
- name="mlwg2"
- ;;
*"MOFI3500-3GN")
name="mofi3500-3gn"
;;
*"MR-102N")
name="mr-102n"
;;
- *"MR200")
- name="mr200"
- ;;
- *"MT7620a + MT7530 evaluation"*)
- name="mt7620a_mt7530"
- ;;
- *"MT7620a V22SG"*)
- name="mt7620a_v22sg"
- ;;
- *"MT7621 evaluation"*)
- name="mt7621"
- ;;
- *"MT7628AN evaluation"*)
- name="mt7628"
- ;;
*"MT7688 evaluation"*)
name="mt7688"
;;
- *"MZK-750DHP")
- name="mzk-750dhp"
- ;;
*"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"
;;
*"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")
- name="psg1218"
- ;;
*"PSR-680W"*)
name="psr-680w"
;;
*"PX-4885 (8M)")
name="px-4885-8M"
;;
- *"Q7")
- name="zte-q7"
- ;;
- *"RB750Gr3")
- name="rb750gr3"
- ;;
- *"RE6500")
- name="re6500"
- ;;
*"RN502J")
name="xdxrn502j"
;;
- *"RP-N53")
- name="rp-n53"
- ;;
*"RT5350F-OLinuXino")
name="rt5350f-olinuxino"
;;
*"RT-N13U")
name="rt-n13u"
;;
- *"RT-N14U")
- name="rt-n14u"
- ;;
*"RT-N15")
name="rt-n15"
;;
*"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-714TRU")
name="tew-714tru"
;;
- *"Timecloud")
- name="timecloud"
- ;;
- *"UBNT-ERX")
- name="ubnt-erx"
- ;;
*"UR-326N4G")
name="ur-326n4g"
;;
*"VoCore (16M)")
name="vocore-16M"
;;
- *"VoCore2")
- name="vocore2"
- ;;
- *"VR500")
- name="vr500"
- ;;
*"W150M")
name="w150m"
;;
- *"W2914NS v2")
- name="w2914nsv2"
- ;;
*"W306R V2.0")
name="w306r-v20"
;;
*"WCR-150GN")
name="wcr-150gn"
;;
- *"WF-2881")
- name="wf-2881"
- ;;
- *"WHR-1166D")
- name="whr-1166d"
- ;;
- *"WHR-300HP2")
- name="whr-300hp2"
- ;;
- *"WHR-600D")
- name="whr-600d"
- ;;
*"WHR-G300N")
name="whr-g300n"
;;
- *"Widora-NEO")
- name="widora-neo"
- ;;
- *"WiTi")
- name="witi"
- ;;
*"WIZARD 8800")
name="wizard8800"
;;
*"WL-330N3G")
name="wl-330n3g"
;;
- *"WL-341 v3")
- name="wl-341v3"
- ;;
*"WL-351 v1 002")
name="wl-351"
;;
- *"WL-WN575A3")
- name="wl-wn575a3"
- ;;
*"WLI-TX4-AG300N")
name="wli-tx4-ag300n"
;;
*"WLR-6000")
name="wlr-6000"
;;
- *"WMR-300")
- name="wmr-300"
- ;;
- *"WN3000RPv3")
- name="wn3000rpv3"
+ *"WMDR-143N")
+ name="wmdr-143n"
;;
*"WNCE2001")
name="wnce2001"
;;
- *"WNDR3700v5")
- name="wndr3700v5"
- ;;
*"WR512-3GN (4M)")
name="wr512-3gn-4M"
;;
*"WR6202")
name="wr6202"
;;
- *"WRH-300CR")
- name="wrh-300cr"
- ;;
- *"WRTNODE")
- name="wrtnode"
- ;;
- *"WRTnode2R")
- name="wrtnode2r"
- ;;
- *"WRTnode2P")
- name="wrtnode2p"
- ;;
- *"WSR-1166DHP")
- name="wsr-1166"
- ;;
- *"WSR-600DHP")
- name="wsr-600"
- ;;
*"WT1520 (4M)")
name="wt1520-4M"
;;
*"WT1520 (8M)")
name="wt1520-8M"
;;
- *"WT3020 (4M)")
- name="wt3020-4M"
- ;;
- *"WT3020 (8M)")
- name="wt3020-8M"
- ;;
*"WZR-AGL300NH")
name="wzr-agl300nh"
;;
*"X8")
name="x8"
;;
- *"Y1")
- name="y1"
- ;;
- *"Y1S")
- name="y1s"
- ;;
- *"ZBT-APE522II")
- name="zbt-ape522ii"
- ;;
- *"ZBT-CPE102")
- name="zbt-cpe102"
- ;;
- *"ZBT-WA05")
- name="zbt-wa05"
- ;;
- *"ZBT-WE826")
- name="zbt-we826"
- ;;
- *"ZBT-WG2626")
- name="zbt-wg2626"
- ;;
- *"ZBT-WG3526")
- name="zbt-wg3526"
- ;;
- *"ZBT-WR8305RT")
- name="zbt-wr8305rt"
- ;;
- *"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"
+ *"ZyXEL Keenetic")
+ name="kn"
;;
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%-[0-9]*M}"
+ echo "$name" > /tmp/sysinfo/board_name
+ echo "$machine" > /tmp/sysinfo/model
}