Skip to content
Snippets Groups Projects
ramips.sh 9.28 KiB
Newer Older
Gabor Juhos's avatar
Gabor Juhos committed
#!/bin/sh
#
# Copyright (C) 2010-2013 OpenWrt.org
RAMIPS_BOARD_NAME=
RAMIPS_MODEL=

ramips_board_detect() {
Gabor Juhos's avatar
Gabor Juhos committed
	local machine
	local name

	machine=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /machine/ {print $2}' /proc/cpuinfo)

	case "$machine" in
	*"11AC NAS Router")
		name="11acnas"
		name="3g-6200nl"
		;;
	*"A5-V11")
		name="a5-v11"
		;;
		name="ai-br100"
		;;
		name="all0239-3g"
		;;
	*"ALL0256N (4M)")
		name="all0256n-4M"
		;;
	*"ALL0256N (8M)")
		name="all0256n-8M"
		name="all5002"
		;;
		name="all5003"
		;;
	*"ASL26555 (8M)")
		name="asl26555-8M"
		;;
	*"ASL26555 (16M)")
		name="asl26555-16M"
	*"AWM002 EVB (4M)")
		name="awm002-evb-4M"
		;;
	*"AWM002 EVB (8M)")
		name="awm002-evb-8M"
		name="awm003-evb"
		;;
		name="cf-wr800n"
		;;
	*"CS-QR10")
		name="cs-qr10"
		;;
	*"CY-SWR1100")
		name="cy-swr1100"
		;;
	*"DB-WRT01")
		name="db-wrt01"
		;;
	*"DCH-M225")
		name="dch-m225"
		;;
	*"DCS-930")
		name="dcs-930"
		;;
	*"DCS-930L B1")
		name="dcs-930l-b1"
		;;
Gabor Juhos's avatar
Gabor Juhos committed
		name="dir-300-b1"
		;;
	*"DIR-300 B7")
		name="dir-300-b7"
		;;
	*"DIR-320 B1")
	*"DIR-600 B1")
		name="dir-600-b1"
		;;
John Crispin's avatar
John Crispin committed
	*"DIR-610 A1")
		name="dir-610-a1"
		;;
	*"DIR-615 D")
		name="dir-615-d"
		;;
	*"DIR-615 H1")
		name="dir-615-h1"
		;;
	*"DIR-620 A1")
		name="dir-620-a1"
		;;
	*"DIR-620 D1")
		name="dir-620-d1"
		;;
	*"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"
		;;
	*"EW1200")
		name="ew1200"
		;;
	*"EX2700")
		name="ex2700";
		;;
	*"EX3700")
		name="ex3700"
		;;
	*"F5D8235 v1")
		name="f5d8235-v1"
		;;
	*"F5D8235 v2")
		name="f5d8235-v2"
		;;
John Crispin's avatar
John Crispin committed
		;;
Gabor Juhos's avatar
Gabor Juhos committed
		name="fonera20n"
		;;
	*"GL-MT300A")
		name="gl-mt300a"
		;;
	*"GL-MT300N")
		name="gl-mt300n"
		;;
	*"GL-MT750")
		name="gl-mt750"
		;;
	*"HC5661")
		name="hc5661"
		;;
	*"HC5661A")
		name="hc5661a"
		;;
	*"HC5761")
		name="hc5761"
		;;
	*"HC5861")
		name="hc5861"
		;;
	*"HC5962")
		name="hc5962"
		;;
		name="hlk-rm04"
		;;
	*"JHR-N805R")
		name="jhr-n805r"
		;;
	*"JHR-N825R")
		name="jhr-n825r"
		;;
	*"JHR-N926R")
		name="jhr-n926r"
		;;
	*"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
		;;
	*"Mercury MAC1200R v2")
		name="mac1200r-v2"
	*"MiWiFi Nano")
		name="miwifi-nano"
		;;
	*"MR200")
		name="mr200"
		;;
	*"MT7620a + MT7530 evaluation"*)
		name="mt7620a_mt7530"
	*"MT7688 evaluation"*)
		name="mt7688"
		;;
	*"MZK-750DHP")
		name="mzk-750dhp"
	*"MZK-EX300NP")
		name="mzk-ex300np"
		;;
	*"MZK-EX750NP")
		name="mzk-ex750np"
		;;
	*"MZK-WDPR"*)
		name="mzk-wdpr"
		;;
	*"NBG-419N v2")
		name="nbg-419n2"
		;;
	*"Newifi-D1")
		name="newifi-d1"
		;;
	*"NixcoreX1 (8M)")
		name="nixcore-x1-8M"
		;;
	*"NixcoreX1 (16M)")
		name="nixcore-x1-16M"
	*"Onion Omega2")
		name="omega2"
		;;
	*"Onion Omega2+")
		name="omega2p"
		;;
	*"PBR-D1")
		name="pbr-d1"
		;;
	*"PSG1208")
		name="psg1208"
		;;
	*"PSG1218 rev.A")
		name="psg1218a"
	*"PSG1218 rev.B")
		name="psg1218b"
	*"PWH2004")
		name="pwh2004"
		;;
	*"PX-4885 (4M)")
		name="px-4885-4M"
		;;
	*"PX-4885 (8M)")
		name="px-4885-8M"
	*"R6220")
		name="r6220"
		;;
	*"RB750Gr3")
		name="rb750gr3"
		;;
	*"RE6500")
		name="re6500"
		;;
	*"RN502J")
		name="xdxrn502j"
		;;
	*"RP-N53")
	*"RT5350F-OLinuXino")
		name="rt5350f-olinuxino"
		;;
	*"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-N15")
		name="rt-n15"
		;;
	*"RUT5XX")
		name="rut5xx"
		;;
	*"SamKnows Whitebox 8")
		name="sk-wb8"
		;;
	*"TEW-714TRU")
		name="tew-714tru"
		;;
	*"Timecloud")
		name="timecloud"
		;;
	*"UR-326N4G")
		name="ur-326n4g"
		;;
	*"UR-336UN")
		name="ur-336un"
		;;
	*"V11ST-FE")
		name="v11st-fe"
Gabor Juhos's avatar
Gabor Juhos committed
	*"V22RW-2X2")
		name="v22rw-2x2"
		;;
	*"VoCore (8M)")
		name="vocore-8M"
		;;
	*"VoCore (16M)")
		name="vocore-16M"
	*"VoCore2")
		name="vocore2"
		;;
	*"VR500")
		name="vr500"
		;;
	*"W2914NS v2")
		name="w2914nsv2"
		;;
	*"WCR-1166DS")
		name="wcr-1166ds"
		;;
	*"WF-2881")
		name="wf-2881"
		;;
	*"WHR-300HP2")
		name="whr-300hp2"
		;;
	*"WHR-600D")
		name="whr-600d"
		;;
Gabor Juhos's avatar
Gabor Juhos committed
	*"WHR-G300N")
		name="whr-g300n"
		;;
	*"Widora-NEO")
		name="widora-neo"
		;;
	*"WL-WN575A3")
		name="wl-wn575a3"
		;;
	*"WLI-TX4-AG300N")
		name="wli-tx4-ag300n"
		;;
	*"WLR-6000")
		name="wlr-6000"
		;;
	*"WN3000RPv3")
		name="wn3000rpv3"
		;;
	*"WNDR3700v5")
		name="wndr3700v5"
		;;
	*"WR512-3GN (4M)")
		name="wr512-3gn-4M"
		;;
	*"WR512-3GN (8M)")
		name="wr512-3gn-8M"
	*"WRH-300CR")
		name="wrh-300cr"
		;;
	*"WRTNODE")
		name="wrtnode"
		;;
	*"WRTnode2R")
		name="wrtnode2r"
		;;
	*"WRTnode2P")
		name="wrtnode2p"
		;;
	*"WT1520 (4M)")
		name="wt1520-4M"
		;;
	*"WT1520 (8M)")
		name="wt1520-8M"
	*"WT3020 (4M)")
		name="wt3020-4M"
		;;
	*"WT3020 (8M)")
		name="wt3020-8M"
	*"ZBT-APE522II")
		name="zbt-ape522ii"
		;;
	*"ZBT-CPE102")
		name="zbt-cpe102"
		;;
	*"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"
		;;
	*"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"
		;;
Gabor Juhos's avatar
Gabor Juhos committed
	*)
		name="generic"
		;;
	esac

	[ -z "$RAMIPS_BOARD_NAME" ] && RAMIPS_BOARD_NAME="$name"
	[ -z "$RAMIPS_MODEL" ] && RAMIPS_MODEL="$machine"

	[ -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}"
Gabor Juhos's avatar
Gabor Juhos committed
}