openwrt/target/linux/ramips/base-files/lib/ramips.sh
Kristian Evensen 49ce6d04b0 ramips: add support for Sanlinking D240
The Sanlinking Technologies D240
(http://www.sanlinking.com/en/29-dual-4g-wifi-router.html) is basically the same
device as the ZBT WE826, so adding support for it in LEDE is straight forward.
The differences is that the D240 has two mini-PCIe slots (instead of one), blue
LEDs and supports PoE.

Specification:
* CPU: MT7620A
* 1x 10/100Mbps POE (802.3af/802.3at) Ethernet, 4x 10/100Mbps.
* 16 MB Flash.
* 128 MB RAM.
* 1x USB 2.0 port.
* 2x mini-PCIe slots.
* 2x SIM slots.
* 1x 2.4Ghz WIFI.
* 1x button.

Wifi, USB, switch and both mini-PCIe slots are working. I have not been able to
test the SD card reader.

The device comes pre-installed with an older version of OpenWRT, including Luci.
In order to install LEDE, you need to follow the existing procedure for updating
OpenWRT/LEDE using Luci. I.e., you need to access the UI and update the firmware
using the sysupgrade-image. Remember to select that you do not want to keep
existing settings. The default router address is 192.168.10.1 and
username/password admin/root (at least on my devices).

If you brick the device, the procedure for recovery is the same as for the
WE826. Please see the wiki page for that device for instructions.

Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com>
2017-04-28 17:09:45 +02:00

677 lines
8.8 KiB
Bash
Executable File

#!/bin/sh
#
# 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"
;;
*"3G300M")
name="3g300m"
;;
*"3g-6200n")
name="3g-6200n"
;;
*"3g-6200nl")
name="3g-6200nl"
;;
*"A5-V11")
name="a5-v11"
;;
*"Ai-BR100")
name="ai-br100"
;;
*"Air3GII")
name="air3gii"
;;
*"ALL0239-3G")
name="all0239-3g"
;;
*"ALL0256N (4M)")
name="all0256n-4M"
;;
*"ALL0256N (8M)")
name="all0256n-8M"
;;
*"ALL5002")
name="all5002"
;;
*"ALL5003")
name="all5003"
;;
*"AR670W")
name="ar670w"
;;
*"AR725W")
name="ar725w"
;;
*"ASL26555 (8M)")
name="asl26555-8M"
;;
*"ASL26555 (16M)")
name="asl26555-16M"
;;
*"ATP-52B")
name="atp-52b"
;;
*"AWAPN2403")
name="awapn2403"
;;
*"AWM002 EVB (4M)")
name="awm002-evb-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"
;;
*"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"
;;
*"DCS-930L B1")
name="dcs-930l-b1"
;;
*"Digineo AC1200 Pro")
name="ac1200pro"
;;
*"DIR-300 B1")
name="dir-300-b1"
;;
*"DIR-300 B7")
name="dir-300-b7"
;;
*"DIR-320 B1")
name="dir-320-b1"
;;
*"DIR-600 B1")
name="dir-600-b1"
;;
*"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"
;;
*"E1700")
name="e1700"
;;
*"ESR-9753")
name="esr-9753"
;;
*"EX2700")
name="ex2700";
;;
*"F5D8235 v1")
name="f5d8235-v1"
;;
*"F5D8235 v2")
name="f5d8235-v2"
;;
*"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"
;;
*"HLK-RM04")
name="hlk-rm04"
;;
*"HPM")
name="hpm"
;;
*"HT-TM02")
name="ht-tm02"
;;
*"HW550-3G")
name="hw550-3g"
;;
*"IP2202")
name="ip2202"
;;
*"JHR-N805R")
name="jhr-n805r"
;;
*"JHR-N825R")
name="jhr-n825r"
;;
*"JHR-N926R")
name="jhr-n926r"
;;
*"M3")
name="m3"
;;
*"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
;;
*"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"
;;
*"MPR-A1")
name="mpr-a1"
;;
*"MPR-A2")
name="mpr-a2"
;;
*"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"
;;
*"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")
name="psg1218"
;;
*"PSR-680W"*)
name="psr-680w"
;;
*"PWH2004")
name="pwh2004"
;;
*"PX-4885 (4M)")
name="px-4885-4M"
;;
*"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"
;;
*"RT5350F-OLinuXino-EVB")
name="rt5350f-olinuxino-evb"
;;
*"RT-G32 B1")
name="rt-g32-b1"
;;
*"RT-N10+")
name="rt-n10-plus"
;;
*"RT-N13U")
name="rt-n13u"
;;
*"RT-N14U")
name="rt-n14u"
;;
*"RT-N15")
name="rt-n15"
;;
*"RT-N56U")
name="rt-n56u"
;;
*"RUT5XX")
name="rut5xx"
;;
*"SamKnows Whitebox 8")
name="sk-wb8"
;;
*"SAP-G3200U3")
name="sap-g3200u3"
;;
*"SL-R7205"*)
name="sl-r7205"
;;
*"TEW-691GR")
name="tew-691gr"
;;
*"TEW-692GR")
name="tew-692gr"
;;
*"TEW-714TRU")
name="tew-714tru"
;;
*"Timecloud")
name="timecloud"
;;
*"UBNT-ERX")
name="ubnt-erx"
;;
*"UR-326N4G")
name="ur-326n4g"
;;
*"UR-336UN")
name="ur-336un"
;;
*"V11ST-FE")
name="v11st-fe"
;;
*"V22RW-2X2")
name="v22rw-2x2"
;;
*"VoCore (8M)")
name="vocore-8M"
;;
*"VoCore (16M)")
name="vocore-16M"
;;
*"VoCore2")
name="vocore2"
;;
*"VR500")
name="vr500"
;;
*"W150M")
name="w150m"
;;
*"W2914NS v2")
name="w2914nsv2"
;;
*"W306R V2.0")
name="w306r-v20"
;;
*"W502U")
name="w502u"
;;
*"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"
;;
*"WizFi630A")
name="wizfi630a"
;;
*"WL-330N")
name="wl-330n"
;;
*"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"
;;
*"WNCE2001")
name="wnce2001"
;;
*"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"
;;
*"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"
;;
*"X5")
name="x5"
;;
*"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"
;;
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%-[0-9]*M}"
}