2010-04-11 17:47:25 +00:00
|
|
|
#
|
|
|
|
# Copyright (C) 2010 OpenWrt.org
|
|
|
|
#
|
|
|
|
|
|
|
|
. /lib/ramips.sh
|
|
|
|
|
|
|
|
PART_NAME=firmware
|
|
|
|
RAMFS_COPY_DATA=/lib/ramips.sh
|
|
|
|
|
|
|
|
platform_check_image() {
|
|
|
|
local board=$(ramips_board_name)
|
2012-10-18 07:23:00 +00:00
|
|
|
local magic="$(get_magic_long "$1")"
|
2010-04-11 17:47:25 +00:00
|
|
|
|
2014-06-02 12:43:22 +00:00
|
|
|
[ "$#" -gt 1 ] && return 1
|
2010-04-11 17:47:25 +00:00
|
|
|
|
|
|
|
case "$board" in
|
2015-08-17 06:01:49 +00:00
|
|
|
3g150b|\
|
|
|
|
3g300m|\
|
|
|
|
a5-v11|\
|
|
|
|
ai-br100|\
|
|
|
|
air3gii|\
|
|
|
|
all0239-3g|\
|
2017-04-07 22:34:48 +00:00
|
|
|
all0256n-4M|\
|
|
|
|
all0256n-8M|\
|
2015-08-17 06:01:49 +00:00
|
|
|
all5002|\
|
|
|
|
all5003|\
|
|
|
|
ar725w|\
|
2017-04-07 22:34:48 +00:00
|
|
|
asl26555-8M|\
|
|
|
|
asl26555-16M|\
|
2015-08-17 06:01:49 +00:00
|
|
|
awapn2403|\
|
2017-04-07 22:34:48 +00:00
|
|
|
awm002-evb-4M|\
|
|
|
|
awm002-evb-8M|\
|
2015-08-17 06:01:49 +00:00
|
|
|
awm003-evb|\
|
|
|
|
bc2|\
|
|
|
|
broadway|\
|
|
|
|
carambola|\
|
|
|
|
cf-wr800n|\
|
2016-04-26 11:43:01 +00:00
|
|
|
cs-qr10|\
|
2015-08-17 06:01:49 +00:00
|
|
|
d105|\
|
2017-02-04 20:28:52 +00:00
|
|
|
d240|\
|
2015-08-17 06:01:49 +00:00
|
|
|
dap-1350|\
|
2015-09-14 20:08:55 +00:00
|
|
|
db-wrt01|\
|
2015-08-17 06:01:49 +00:00
|
|
|
dcs-930|\
|
|
|
|
dcs-930l-b1|\
|
|
|
|
dir-300-b1|\
|
|
|
|
dir-300-b7|\
|
|
|
|
dir-320-b1|\
|
|
|
|
dir-600-b1|\
|
|
|
|
dir-615-d|\
|
|
|
|
dir-615-h1|\
|
|
|
|
dir-620-a1|\
|
|
|
|
dir-620-d1|\
|
|
|
|
dir-810l|\
|
2016-05-28 14:22:10 +00:00
|
|
|
duzun-dm06|\
|
2016-11-13 22:36:00 +00:00
|
|
|
dwr-512-b|\
|
2015-08-17 06:01:49 +00:00
|
|
|
e1700|\
|
|
|
|
esr-9753|\
|
2017-02-27 20:59:50 +00:00
|
|
|
ew1200|\
|
2016-02-12 08:29:33 +00:00
|
|
|
ex2700|\
|
2017-03-03 14:36:51 +00:00
|
|
|
ex3700|\
|
2015-08-17 06:01:49 +00:00
|
|
|
f7c027|\
|
|
|
|
firewrt|\
|
|
|
|
fonera20n|\
|
|
|
|
freestation5|\
|
2016-03-10 19:11:57 +00:00
|
|
|
gl-mt300a|\
|
2016-03-10 19:12:04 +00:00
|
|
|
gl-mt300n|\
|
2016-03-10 19:12:10 +00:00
|
|
|
gl-mt750|\
|
2017-05-17 10:18:45 +00:00
|
|
|
gl-mt300n-v2|\
|
2015-10-05 10:25:47 +00:00
|
|
|
hc5*61|\
|
2017-02-24 23:19:15 +00:00
|
|
|
hc5661a|\
|
2015-08-17 06:01:49 +00:00
|
|
|
hg255d|\
|
|
|
|
hlk-rm04|\
|
|
|
|
hpm|\
|
|
|
|
ht-tm02|\
|
|
|
|
hw550-3g|\
|
|
|
|
ip2202|\
|
2016-03-04 08:33:09 +00:00
|
|
|
jhr-n805r|\
|
|
|
|
jhr-n825r|\
|
|
|
|
jhr-n926r|\
|
2017-04-27 18:02:05 +00:00
|
|
|
kn|\
|
2016-11-28 18:41:51 +00:00
|
|
|
kn_rc|\
|
|
|
|
kn_rf|\
|
2016-10-29 12:26:58 +00:00
|
|
|
kng_rc|\
|
2015-10-19 10:07:38 +00:00
|
|
|
linkits7688|\
|
|
|
|
linkits7688d|\
|
2015-08-17 06:01:49 +00:00
|
|
|
m2m|\
|
|
|
|
m3|\
|
2017-04-07 22:34:48 +00:00
|
|
|
m4-4M|\
|
|
|
|
m4-8M|\
|
2016-09-08 22:57:31 +00:00
|
|
|
mac1200rv2|\
|
2015-08-17 06:01:49 +00:00
|
|
|
microwrt|\
|
|
|
|
miniembplug|\
|
|
|
|
miniembwifi|\
|
|
|
|
miwifi-mini|\
|
2016-03-16 09:26:48 +00:00
|
|
|
miwifi-nano|\
|
2015-08-17 06:01:49 +00:00
|
|
|
mlw221|\
|
|
|
|
mlwg2|\
|
|
|
|
mofi3500-3gn|\
|
|
|
|
mpr-a1|\
|
|
|
|
mpr-a2|\
|
|
|
|
mr-102n|\
|
2016-02-28 15:46:27 +00:00
|
|
|
mt7628|\
|
2016-04-20 17:19:05 +00:00
|
|
|
mzk-750dhp|\
|
2015-08-17 06:01:49 +00:00
|
|
|
mzk-dp150n|\
|
2016-04-26 11:43:06 +00:00
|
|
|
mzk-ex300np|\
|
2016-04-29 11:34:56 +00:00
|
|
|
mzk-ex750np|\
|
2015-08-17 06:01:49 +00:00
|
|
|
mzk-w300nh2|\
|
2016-03-08 18:11:59 +00:00
|
|
|
mzk-wdpr|\
|
2015-08-17 06:01:49 +00:00
|
|
|
nbg-419n|\
|
2016-07-24 15:37:52 +00:00
|
|
|
nbg-419n2|\
|
2016-09-27 06:25:04 +00:00
|
|
|
newifi-d1|\
|
2017-04-07 22:34:48 +00:00
|
|
|
nixcore-x1-8M|\
|
|
|
|
nixcore-x1-16M|\
|
2015-08-17 06:01:49 +00:00
|
|
|
nw718|\
|
2017-01-09 19:59:56 +00:00
|
|
|
omega2|\
|
|
|
|
omega2p|\
|
2015-08-17 06:01:49 +00:00
|
|
|
oy-0001|\
|
2016-09-27 06:23:27 +00:00
|
|
|
pbr-d1|\
|
2015-08-17 06:01:49 +00:00
|
|
|
pbr-m1|\
|
2016-02-15 18:45:22 +00:00
|
|
|
psg1208|\
|
2017-04-21 00:47:44 +00:00
|
|
|
psg1218a|\
|
|
|
|
psg1218b|\
|
2015-08-17 06:01:49 +00:00
|
|
|
psr-680w|\
|
2017-04-07 22:34:48 +00:00
|
|
|
px-4885-4M|\
|
|
|
|
px-4885-8M|\
|
ramips: add support for MikroTik hEX v3 (RB750Gr3)
The MikroTik hEX v3 (RB750Gr3) is a MT7621AT board which is similar to most MT7621 reference designs, it can be easily supported by this patch; however, the stock RouterBOOT bootloader has to be replaced by a MT7621 SDK U-Boot such as https://github.com/ndoo/RB750Gr3-U-Boot - U-Boot configured for the RB750Gr3 (16MiB SPI flash, 256MiB DDR3 RAM at 1200MHz).
RouterBOOT, the stock bootloader, does not initialize the UART and boots silently, making it preferable to replace it with a MT7621 SDK U-Boot with UART (57600 8N1) that supports HTTP, TFTP or serial upload of sysupgrade firmware and U-Boot.
Furthermore, RouterOS, the stock firmware, is contained in a proprietary modification of SquashFS without GPL sources; UART is also disabled in stock firmware.
The combination of LEDE firmware generated by this PR and MT7621 SDK U-Boot expects the printed MAC address to reside at offset `0xe000` of the factory partition (absolute offset is `0x4e000`); this is similar to the factory MAC address offset for several other MT7621 devices.
A 16MiB flash dump suitable for use with flashrom will be provided if/once this patch is accepted and binaries are built by LEDE buildbot. Alternatively, writing the U-Boot to the SPI flash starting at 0x0 offset and booting the board with serial console attached will allow TFTP, HTTP or serial upload of sysupgrade firmware.
Signed-off-by: Andrew Yong <me@ndoo.sg>
2016-10-18 20:05:32 +00:00
|
|
|
rb750gr3|\
|
2015-08-17 06:01:49 +00:00
|
|
|
re6500|\
|
|
|
|
rp-n53|\
|
|
|
|
rt5350f-olinuxino|\
|
|
|
|
rt5350f-olinuxino-evb|\
|
2017-05-05 15:54:26 +00:00
|
|
|
rt-ac51u|\
|
2015-08-17 06:01:49 +00:00
|
|
|
rt-g32-b1|\
|
|
|
|
rt-n10-plus|\
|
|
|
|
rt-n13u|\
|
|
|
|
rt-n14u|\
|
|
|
|
rt-n15|\
|
|
|
|
rt-n56u|\
|
|
|
|
rut5xx|\
|
|
|
|
sap-g3200u3|\
|
2016-05-10 16:17:54 +00:00
|
|
|
sk-wb8|\
|
2015-08-17 06:01:49 +00:00
|
|
|
sl-r7205|\
|
2017-06-09 11:02:56 +00:00
|
|
|
tew-638apb-v2|\
|
2015-08-17 06:01:49 +00:00
|
|
|
tew-691gr|\
|
|
|
|
tew-692gr|\
|
2016-08-03 17:58:01 +00:00
|
|
|
tew-714tru|\
|
2016-08-10 00:18:32 +00:00
|
|
|
timecloud|\
|
2015-11-02 10:17:51 +00:00
|
|
|
tiny-ac|\
|
2015-08-17 06:01:49 +00:00
|
|
|
ur-326n4g|\
|
|
|
|
ur-336un|\
|
|
|
|
v22rw-2x2|\
|
2017-04-07 22:34:48 +00:00
|
|
|
vocore-8M|\
|
|
|
|
vocore-16M|\
|
2017-01-08 06:30:10 +00:00
|
|
|
vocore2|\
|
2016-10-10 01:24:42 +00:00
|
|
|
vr500|\
|
2015-08-17 06:01:49 +00:00
|
|
|
w150m|\
|
2016-11-18 11:46:27 +00:00
|
|
|
w2914nsv2|\
|
2015-08-17 06:01:49 +00:00
|
|
|
w306r-v20|\
|
|
|
|
w502u|\
|
2015-11-24 18:29:26 +00:00
|
|
|
wf-2881|\
|
2015-08-17 06:01:49 +00:00
|
|
|
whr-1166d|\
|
|
|
|
whr-300hp2|\
|
|
|
|
whr-600d|\
|
|
|
|
whr-g300n|\
|
2016-05-28 10:04:17 +00:00
|
|
|
widora-neo|\
|
2015-12-11 15:04:13 +00:00
|
|
|
witi|\
|
2015-09-14 20:09:31 +00:00
|
|
|
wizfi630a|\
|
2015-08-17 06:01:49 +00:00
|
|
|
wl-330n|\
|
|
|
|
wl-330n3g|\
|
|
|
|
wl-341v3|\
|
|
|
|
wl-351|\
|
2016-11-06 12:00:38 +00:00
|
|
|
wl-wn575a3|\
|
2015-08-17 06:01:49 +00:00
|
|
|
wli-tx4-ag300n|\
|
2016-08-14 21:30:44 +00:00
|
|
|
wlr-6000|\
|
2015-08-17 06:01:49 +00:00
|
|
|
wmr-300|\
|
2017-01-18 10:34:56 +00:00
|
|
|
wn3000rpv3|\
|
2015-08-17 06:01:49 +00:00
|
|
|
wnce2001|\
|
2016-04-26 11:43:53 +00:00
|
|
|
wndr3700v5|\
|
2017-04-07 22:34:48 +00:00
|
|
|
wr512-3gn-4M|\
|
|
|
|
wr512-3gn-8M|\
|
2015-08-17 06:01:49 +00:00
|
|
|
wr6202|\
|
2016-04-21 19:46:59 +00:00
|
|
|
wrh-300cr|\
|
2015-08-17 06:01:49 +00:00
|
|
|
wrtnode|\
|
2016-01-01 21:19:50 +00:00
|
|
|
wrtnode2r |\
|
|
|
|
wrtnode2p |\
|
2015-08-17 06:01:49 +00:00
|
|
|
wsr-600|\
|
2017-04-07 22:34:48 +00:00
|
|
|
wt1520-4M|\
|
|
|
|
wt1520-8M|\
|
|
|
|
wt3020-4M|\
|
|
|
|
wt3020-8M|\
|
2015-08-17 06:01:49 +00:00
|
|
|
wzr-agl300nh|\
|
|
|
|
x5|\
|
|
|
|
x8|\
|
|
|
|
y1|\
|
|
|
|
y1s|\
|
2016-06-23 08:58:08 +00:00
|
|
|
zbt-ape522ii|\
|
2016-09-25 19:09:31 +00:00
|
|
|
zbt-cpe102|\
|
2015-08-17 06:01:49 +00:00
|
|
|
zbt-wa05|\
|
2017-04-20 03:07:26 +00:00
|
|
|
zbt-we1326|\
|
2017-03-15 08:37:05 +00:00
|
|
|
zbt-we2026|\
|
2017-04-12 05:53:56 +00:00
|
|
|
zbt-we826-16M|\
|
|
|
|
zbt-we826-32M|\
|
2015-11-02 10:18:19 +00:00
|
|
|
zbt-wg2626|\
|
2017-04-07 21:52:27 +00:00
|
|
|
zbt-wg3526-16M|\
|
2017-04-01 08:46:44 +00:00
|
|
|
zbt-wg3526-32M|\
|
2015-08-17 06:01:49 +00:00
|
|
|
zbt-wr8305rt|\
|
2015-11-24 18:29:02 +00:00
|
|
|
zte-q7|\
|
|
|
|
youku-yk1)
|
2012-10-18 07:23:00 +00:00
|
|
|
[ "$magic" != "27051956" ] && {
|
2010-04-11 17:47:25 +00:00
|
|
|
echo "Invalid image type."
|
|
|
|
return 1
|
|
|
|
}
|
|
|
|
return 0
|
|
|
|
;;
|
2016-09-27 05:38:08 +00:00
|
|
|
3g-6200n|\
|
|
|
|
3g-6200nl|\
|
|
|
|
br-6475nd)
|
|
|
|
[ "$magic" != "43535953" ] && {
|
2015-01-03 18:31:06 +00:00
|
|
|
echo "Invalid image type."
|
|
|
|
return 1
|
|
|
|
}
|
|
|
|
return 0
|
|
|
|
;;
|
2016-09-27 05:38:08 +00:00
|
|
|
|
|
|
|
ar670w)
|
|
|
|
[ "$magic" != "6d000080" ] && {
|
2014-11-03 08:00:13 +00:00
|
|
|
echo "Invalid image type."
|
|
|
|
return 1
|
|
|
|
}
|
|
|
|
return 0
|
|
|
|
;;
|
2016-06-12 21:43:51 +00:00
|
|
|
c20i|\
|
2016-09-24 19:41:43 +00:00
|
|
|
c50|\
|
ramips: add support for TP-Link TL-WR840N v4 and TL-WR841N v13
TP-Link TL-WR840N v4 and TL-WR841N v13 are simple N300 routers with
5-port FE switch and non-detachable antennas. Both are very similar
and are based on MediaTek MT7628NN (aka MT7628N) WiSoC.
The difference between these two models is in number of available
LEDs, buttons and power input switch.
This work is partially based on GitHub PR#974.
Specification:
- MT7628N/N (580 MHz)
- 64 MB of RAM (DDR2)
- 8 MB of FLASH
- 2T2R 2.4 GHz
- 5x 10/100 Mbps Ethernet
- 2x external, non-detachable antennas
- UART (J1) header on PCB (115200 8n1)
- TL-WR840N v4: 5x LED (GPIO-controlled), 1x button
- TL-WR841N v13: 8x LED (GPIO-controlled*), 2x button, power input
switch
* WAN LED in TL-WR841N v13 is a dual-color, dual-leads type which isn't
(fully) supported by gpio-leds driver. This type of LED requires both
GPIOs state change at the same time to select color or turn it off.
For now, we support/use only the green part of the LED.
Factory image notes:
These devices use version 3 of TP-Link header, fortunately without RSA
signature (at least in case of devices sold in Europe). The difference
lays in the requirement for a non-zero value in "Additional Hardware
Version" field. Ideally, it should match the value stored in vendor
firmware header on device ("0x4"/"0x13" for these devices) but it seems
that anything other than "0" is correct.
We are able to prepare factory firwmare file which is accepted and
(almost) correctly flashed from the vendor GUI. As it turned out, it
accepts files without U-Boot image with second header at the beginning
but due to some kind of bug in upgrade routine, flashed image gets
corrupted before it's written to flash.
Tests showed that the GUI upgrade routine copies value of "Additional
Hardware Version" from existing firmware into offset "0x2023c" in
provided file, _before_ storing it in flash. In case of vendor firmware
upgrade files (which all include U-Boot image and two headers), this
offset points to the matching field in kernel+rootfs firmware part
header. Unfortunately, in case of LEDE factory image file which contains
only one header, it points to the offset "0x2023c" in kernel image. This
leads to a corrupted kernel and ends up with a "soft-bricked" device.
The good news is that U-Boot in these devices contains well known tftp
recovery mode, which can be triggered with "reset" button. What's more,
in comparison to some of older MediaTek based TP-Link devices, this
recovery mode doesn't write whole file at offset "0x0" in flash, without
verifying provided file in advance. In case of recovery mode in these
devices, first "0x20000" bytes are always skipped and "0x7a0000" bytes
from rest of the file are stored in flash at offset "0x20000".
Flash instruction:
Until (if at all) TP-Link fixes described problem, the only way to flash
LEDE image in these devices is to use tftp recovery mode in U-Boot:
1. Configure PC with static IP 192.168.0.66/24 and tftp server.
2. Rename "lede-ramips-mt7628-tl-wr84...-squashfs-tftp-recovery.bin"
to "tp_recovery.bin" and place it in tftp server directory.
3. Connect PC with one of LAN ports, press the reset button, power up
the router and keep button pressed for around 6-7 seconds, until
device starts downloading the file.
4. Router will download file from server, write it to flash and reboot.
To access U-Boot CLI, keep pressed "4" key during boot.
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2017-06-21 12:16:15 +00:00
|
|
|
mr200|\
|
|
|
|
tl-wr840n-v4|\
|
|
|
|
tl-wr841n-v13)
|
2015-08-17 06:18:38 +00:00
|
|
|
[ "$magic" != "03000000" ] && {
|
2012-10-18 07:23:03 +00:00
|
|
|
echo "Invalid image type."
|
|
|
|
return 1
|
|
|
|
}
|
|
|
|
return 0
|
|
|
|
;;
|
2015-08-17 06:18:38 +00:00
|
|
|
cy-swr1100|\
|
2016-05-02 03:57:40 +00:00
|
|
|
dch-m225|\
|
2015-08-17 06:18:38 +00:00
|
|
|
dir-610-a1|\
|
|
|
|
dir-645|\
|
|
|
|
dir-860l-b1)
|
|
|
|
[ "$magic" != "5ea3a417" ] && {
|
2014-01-15 18:29:44 +00:00
|
|
|
echo "Invalid image type."
|
|
|
|
return 1
|
|
|
|
}
|
|
|
|
return 0
|
|
|
|
;;
|
2017-03-11 07:44:33 +00:00
|
|
|
hc5962|\
|
|
|
|
r6220)
|
2017-02-22 12:47:22 +00:00
|
|
|
# these boards use metadata images
|
|
|
|
return 0
|
|
|
|
;;
|
2017-05-29 09:24:49 +00:00
|
|
|
ubnt-erx|\
|
|
|
|
ubnt-erx-sfp)
|
2017-01-28 16:05:56 +00:00
|
|
|
nand_do_platform_check "$board" "$1"
|
|
|
|
return $?;
|
|
|
|
;;
|
|
|
|
wcr-1166ds|\
|
2015-08-17 06:18:38 +00:00
|
|
|
wsr-1166)
|
|
|
|
[ "$magic" != "48445230" ] && {
|
2015-01-09 15:40:51 +00:00
|
|
|
echo "Invalid image type."
|
|
|
|
return 1
|
|
|
|
}
|
|
|
|
return 0
|
|
|
|
;;
|
2010-04-11 17:47:25 +00:00
|
|
|
esac
|
|
|
|
|
|
|
|
echo "Sysupgrade is not yet supported on $board."
|
|
|
|
return 1
|
|
|
|
}
|
|
|
|
|
ramips: add support for Ubiquiti EdgeRouter X (UBNT-ERX)
This router is based on MT7621 SoC, no wifi, no usb, nand.
Works:
* Boots.
* Ethernet.
* Switch.
* Button (reset).
* Flashing OpenWrt from stock firmware.
* Upgrading OpenWrt.
Doesn't work:
* No GPIO leds. All leds are controlled by switch,
but stock firmware was able to control them.
* SoC has crypto engine but no open driver.
* SoC has nat acceleration, but no open driver.
* This router has 2MB spi flash soldered in but MT
nand/spi drivers do not support pin sharing,
so it is not accessable and disabled. Stock
firmware could read it and it was empty.
* PoE out.
Router has serial pins populated. If looking at the top
of the router, then counting from Eth sockets pins go as:
'GND, RX, TX, GND'. 3.3v, 57600.
U-boot bootloader supports tftpboot, controlled from serial.
This router has two kernel partitions: 'live' and 'backup'.
They are swapped during flashing (on both stock and OpenWrt).
Active partition is controlled by a flag in a factory partition.
U-boot has custom command to switch active kernel partition.
Kernel partitions are 'bare flash' 3MB. Stock bootloader has
no UBI support. Stock rootfs is UBIFS.
Flashing procedure.
Stock firmware uses custom kernel patch to mount squashfs
from a file that is located on UBIFS volume. This makes wiping
out this volume from within stock firmware difficult.
Instead this patch builds image that is flashable by stock firmware
and contains initrams image (with minimal set of packages
to fit into kernel partition). Once this is flashed one can reboot
into initramfs OpenWrt and use sysupgrade to flash OpenWrt including
rootfs into nand.
Note: factory image is only built if initramfs image is enabled.
Signed-off-by: Nikolay Martynov <mar.kolya@gmail.com>
SVN-Revision: 47881
2015-12-12 07:38:06 +00:00
|
|
|
platform_nand_pre_upgrade() {
|
|
|
|
local board=$(ramips_board_name)
|
|
|
|
|
|
|
|
case "$board" in
|
2017-05-29 09:24:49 +00:00
|
|
|
ubnt-erx|\
|
|
|
|
ubnt-erx-sfp)
|
ramips: add support for Ubiquiti EdgeRouter X (UBNT-ERX)
This router is based on MT7621 SoC, no wifi, no usb, nand.
Works:
* Boots.
* Ethernet.
* Switch.
* Button (reset).
* Flashing OpenWrt from stock firmware.
* Upgrading OpenWrt.
Doesn't work:
* No GPIO leds. All leds are controlled by switch,
but stock firmware was able to control them.
* SoC has crypto engine but no open driver.
* SoC has nat acceleration, but no open driver.
* This router has 2MB spi flash soldered in but MT
nand/spi drivers do not support pin sharing,
so it is not accessable and disabled. Stock
firmware could read it and it was empty.
* PoE out.
Router has serial pins populated. If looking at the top
of the router, then counting from Eth sockets pins go as:
'GND, RX, TX, GND'. 3.3v, 57600.
U-boot bootloader supports tftpboot, controlled from serial.
This router has two kernel partitions: 'live' and 'backup'.
They are swapped during flashing (on both stock and OpenWrt).
Active partition is controlled by a flag in a factory partition.
U-boot has custom command to switch active kernel partition.
Kernel partitions are 'bare flash' 3MB. Stock bootloader has
no UBI support. Stock rootfs is UBIFS.
Flashing procedure.
Stock firmware uses custom kernel patch to mount squashfs
from a file that is located on UBIFS volume. This makes wiping
out this volume from within stock firmware difficult.
Instead this patch builds image that is flashable by stock firmware
and contains initrams image (with minimal set of packages
to fit into kernel partition). Once this is flashed one can reboot
into initramfs OpenWrt and use sysupgrade to flash OpenWrt including
rootfs into nand.
Note: factory image is only built if initramfs image is enabled.
Signed-off-by: Nikolay Martynov <mar.kolya@gmail.com>
SVN-Revision: 47881
2015-12-12 07:38:06 +00:00
|
|
|
platform_upgrade_ubnt_erx "$ARGV"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
}
|
|
|
|
|
2017-04-22 19:27:04 +00:00
|
|
|
platform_do_upgrade() {
|
ramips: add support for Ubiquiti EdgeRouter X (UBNT-ERX)
This router is based on MT7621 SoC, no wifi, no usb, nand.
Works:
* Boots.
* Ethernet.
* Switch.
* Button (reset).
* Flashing OpenWrt from stock firmware.
* Upgrading OpenWrt.
Doesn't work:
* No GPIO leds. All leds are controlled by switch,
but stock firmware was able to control them.
* SoC has crypto engine but no open driver.
* SoC has nat acceleration, but no open driver.
* This router has 2MB spi flash soldered in but MT
nand/spi drivers do not support pin sharing,
so it is not accessable and disabled. Stock
firmware could read it and it was empty.
* PoE out.
Router has serial pins populated. If looking at the top
of the router, then counting from Eth sockets pins go as:
'GND, RX, TX, GND'. 3.3v, 57600.
U-boot bootloader supports tftpboot, controlled from serial.
This router has two kernel partitions: 'live' and 'backup'.
They are swapped during flashing (on both stock and OpenWrt).
Active partition is controlled by a flag in a factory partition.
U-boot has custom command to switch active kernel partition.
Kernel partitions are 'bare flash' 3MB. Stock bootloader has
no UBI support. Stock rootfs is UBIFS.
Flashing procedure.
Stock firmware uses custom kernel patch to mount squashfs
from a file that is located on UBIFS volume. This makes wiping
out this volume from within stock firmware difficult.
Instead this patch builds image that is flashable by stock firmware
and contains initrams image (with minimal set of packages
to fit into kernel partition). Once this is flashed one can reboot
into initramfs OpenWrt and use sysupgrade to flash OpenWrt including
rootfs into nand.
Note: factory image is only built if initramfs image is enabled.
Signed-off-by: Nikolay Martynov <mar.kolya@gmail.com>
SVN-Revision: 47881
2015-12-12 07:38:06 +00:00
|
|
|
local board=$(ramips_board_name)
|
|
|
|
|
|
|
|
case "$board" in
|
2017-02-22 12:47:22 +00:00
|
|
|
hc5962|\
|
2017-03-11 07:44:33 +00:00
|
|
|
r6220|\
|
2017-05-29 09:24:49 +00:00
|
|
|
ubnt-erx|\
|
|
|
|
ubnt-erx-sfp)
|
ramips: add support for Ubiquiti EdgeRouter X (UBNT-ERX)
This router is based on MT7621 SoC, no wifi, no usb, nand.
Works:
* Boots.
* Ethernet.
* Switch.
* Button (reset).
* Flashing OpenWrt from stock firmware.
* Upgrading OpenWrt.
Doesn't work:
* No GPIO leds. All leds are controlled by switch,
but stock firmware was able to control them.
* SoC has crypto engine but no open driver.
* SoC has nat acceleration, but no open driver.
* This router has 2MB spi flash soldered in but MT
nand/spi drivers do not support pin sharing,
so it is not accessable and disabled. Stock
firmware could read it and it was empty.
* PoE out.
Router has serial pins populated. If looking at the top
of the router, then counting from Eth sockets pins go as:
'GND, RX, TX, GND'. 3.3v, 57600.
U-boot bootloader supports tftpboot, controlled from serial.
This router has two kernel partitions: 'live' and 'backup'.
They are swapped during flashing (on both stock and OpenWrt).
Active partition is controlled by a flag in a factory partition.
U-boot has custom command to switch active kernel partition.
Kernel partitions are 'bare flash' 3MB. Stock bootloader has
no UBI support. Stock rootfs is UBIFS.
Flashing procedure.
Stock firmware uses custom kernel patch to mount squashfs
from a file that is located on UBIFS volume. This makes wiping
out this volume from within stock firmware difficult.
Instead this patch builds image that is flashable by stock firmware
and contains initrams image (with minimal set of packages
to fit into kernel partition). Once this is flashed one can reboot
into initramfs OpenWrt and use sysupgrade to flash OpenWrt including
rootfs into nand.
Note: factory image is only built if initramfs image is enabled.
Signed-off-by: Nikolay Martynov <mar.kolya@gmail.com>
SVN-Revision: 47881
2015-12-12 07:38:06 +00:00
|
|
|
nand_do_upgrade "$ARGV"
|
|
|
|
;;
|
2010-04-11 17:47:25 +00:00
|
|
|
*)
|
|
|
|
default_do_upgrade "$ARGV"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
}
|
2011-07-03 15:01:43 +00:00
|
|
|
|
|
|
|
disable_watchdog() {
|
|
|
|
killall watchdog
|
|
|
|
( ps | grep -v 'grep' | grep '/dev/watchdog' ) && {
|
|
|
|
echo 'Could not disable watchdog'
|
|
|
|
return 1
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2015-11-03 13:32:02 +00:00
|
|
|
blink_led() {
|
|
|
|
. /etc/diag.sh; set_state upgrade
|
|
|
|
}
|
|
|
|
|
2011-07-03 15:01:43 +00:00
|
|
|
append sysupgrade_pre_upgrade disable_watchdog
|
2015-11-03 13:32:02 +00:00
|
|
|
append sysupgrade_pre_upgrade blink_led
|