2009-06-06 17:44:49 +00:00
|
|
|
#
|
2011-10-30 13:06:30 +00:00
|
|
|
# Copyright (C) 2011 OpenWrt.org
|
2009-06-06 17:44:49 +00:00
|
|
|
#
|
|
|
|
|
2014-07-14 16:03:35 +00:00
|
|
|
. /lib/functions/system.sh
|
2009-06-06 17:44:49 +00:00
|
|
|
. /lib/ar71xx.sh
|
|
|
|
|
|
|
|
PART_NAME=firmware
|
2009-08-02 09:27:38 +00:00
|
|
|
RAMFS_COPY_DATA=/lib/ar71xx.sh
|
2017-07-10 16:37:25 +00:00
|
|
|
RAMFS_COPY_BIN='nandwrite'
|
2009-06-06 17:44:49 +00:00
|
|
|
|
2009-11-25 09:51:25 +00:00
|
|
|
CI_BLKSZ=65536
|
|
|
|
CI_LDADR=0x80060000
|
|
|
|
|
2017-01-04 21:44:54 +00:00
|
|
|
PLATFORM_DO_UPGRADE_COMBINED_SEPARATE_MTD=0
|
|
|
|
|
2009-11-25 09:51:25 +00:00
|
|
|
platform_find_partitions() {
|
|
|
|
local first dev size erasesize name
|
|
|
|
while read dev size erasesize name; do
|
|
|
|
name=${name#'"'}; name=${name%'"'}
|
|
|
|
case "$name" in
|
2012-10-14 16:24:26 +00:00
|
|
|
vmlinux.bin.l7|vmlinux|kernel|linux|linux.bin|rootfs|filesystem)
|
2009-11-25 09:51:25 +00:00
|
|
|
if [ -z "$first" ]; then
|
|
|
|
first="$name"
|
|
|
|
else
|
|
|
|
echo "$erasesize:$first:$name"
|
|
|
|
break
|
|
|
|
fi
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
done < /proc/mtd
|
|
|
|
}
|
|
|
|
|
|
|
|
platform_find_kernelpart() {
|
|
|
|
local part
|
|
|
|
for part in "${1%:*}" "${1#*:}"; do
|
|
|
|
case "$part" in
|
2012-10-14 16:24:26 +00:00
|
|
|
vmlinux.bin.l7|vmlinux|kernel|linux|linux.bin)
|
2009-11-25 09:51:25 +00:00
|
|
|
echo "$part"
|
|
|
|
break
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
done
|
|
|
|
}
|
|
|
|
|
2017-01-04 21:44:54 +00:00
|
|
|
platform_find_rootfspart() {
|
|
|
|
local part
|
|
|
|
for part in "${1%:*}" "${1#*:}"; do
|
2017-02-11 10:10:37 +00:00
|
|
|
[ "$part" != "$2" ] && echo "$part" && break
|
2017-01-04 21:44:54 +00:00
|
|
|
done
|
|
|
|
}
|
|
|
|
|
2009-11-25 09:51:25 +00:00
|
|
|
platform_do_upgrade_combined() {
|
|
|
|
local partitions=$(platform_find_partitions)
|
|
|
|
local kernelpart=$(platform_find_kernelpart "${partitions#*:}")
|
|
|
|
local erase_size=$((0x${partitions%%:*})); partitions="${partitions#*:}"
|
|
|
|
local kern_length=0x$(dd if="$1" bs=2 skip=1 count=4 2>/dev/null)
|
|
|
|
local kern_blocks=$(($kern_length / $CI_BLKSZ))
|
|
|
|
local root_blocks=$((0x$(dd if="$1" bs=2 skip=5 count=4 2>/dev/null) / $CI_BLKSZ))
|
|
|
|
|
|
|
|
if [ -n "$partitions" ] && [ -n "$kernelpart" ] && \
|
|
|
|
[ ${kern_blocks:-0} -gt 0 ] && \
|
2013-10-13 18:39:09 +00:00
|
|
|
[ ${root_blocks:-0} -gt 0 ] && \
|
2009-11-25 09:51:25 +00:00
|
|
|
[ ${erase_size:-0} -gt 0 ];
|
|
|
|
then
|
2017-01-04 21:44:54 +00:00
|
|
|
local rootfspart=$(platform_find_rootfspart "$partitions" "$kernelpart")
|
2009-11-25 09:51:25 +00:00
|
|
|
local append=""
|
|
|
|
[ -f "$CONF_TAR" -a "$SAVE_CONFIG" -eq 1 ] && append="-j $CONF_TAR"
|
|
|
|
|
2017-01-04 21:44:54 +00:00
|
|
|
if [ "$PLATFORM_DO_UPGRADE_COMBINED_SEPARATE_MTD" -ne 1 ]; then
|
|
|
|
( dd if="$1" bs=$CI_BLKSZ skip=1 count=$kern_blocks 2>/dev/null; \
|
|
|
|
dd if="$1" bs=$CI_BLKSZ skip=$((1+$kern_blocks)) count=$root_blocks 2>/dev/null ) | \
|
|
|
|
mtd -r $append -F$kernelpart:$kern_length:$CI_LDADR,rootfs write - $partitions
|
|
|
|
elif [ -n "$rootfspart" ]; then
|
|
|
|
dd if="$1" bs=$CI_BLKSZ skip=1 count=$kern_blocks 2>/dev/null | \
|
|
|
|
mtd write - $kernelpart
|
|
|
|
dd if="$1" bs=$CI_BLKSZ skip=$((1+$kern_blocks)) count=$root_blocks 2>/dev/null | \
|
|
|
|
mtd -r $append write - $rootfspart
|
|
|
|
fi
|
2009-11-25 09:51:25 +00:00
|
|
|
fi
|
2017-01-04 21:44:54 +00:00
|
|
|
PLATFORM_DO_UPGRADE_COMBINED_SEPARATE_MTD=0
|
2009-11-25 09:51:25 +00:00
|
|
|
}
|
|
|
|
|
2011-12-05 18:11:51 +00:00
|
|
|
tplink_get_image_hwid() {
|
|
|
|
get_image "$@" | dd bs=4 count=1 skip=16 2>/dev/null | hexdump -v -n 4 -e '1/1 "%02x"'
|
|
|
|
}
|
|
|
|
|
2016-04-01 07:11:53 +00:00
|
|
|
tplink_get_image_mid() {
|
|
|
|
get_image "$@" | dd bs=4 count=1 skip=17 2>/dev/null | hexdump -v -n 4 -e '1/1 "%02x"'
|
|
|
|
}
|
|
|
|
|
2012-10-26 18:58:13 +00:00
|
|
|
tplink_get_image_boot_size() {
|
|
|
|
get_image "$@" | dd bs=4 count=1 skip=37 2>/dev/null | hexdump -v -n 4 -e '1/1 "%02x"'
|
|
|
|
}
|
|
|
|
|
2014-11-26 08:59:32 +00:00
|
|
|
tplink_pharos_check_image() {
|
|
|
|
local magic_long="$(get_magic_long "$1")"
|
|
|
|
[ "$magic_long" != "7f454c46" ] && {
|
|
|
|
echo "Invalid image magic '$magic_long'"
|
|
|
|
return 1
|
|
|
|
}
|
|
|
|
|
|
|
|
local model_string="$(tplink_pharos_get_model_string)"
|
|
|
|
local line
|
|
|
|
|
|
|
|
# Here $1 is given to dd directly instead of get_image as otherwise the skip
|
|
|
|
# will take almost a second (as dd can't seek then)
|
|
|
|
#
|
|
|
|
# This will fail if the image isn't local, but that's fine: as the
|
|
|
|
# read loop won't be executed at all, it will return true, so the image
|
|
|
|
# is accepted (loading the first 1.5M of a remote image for this check seems
|
|
|
|
# a bit extreme)
|
|
|
|
dd if="$1" bs=1 skip=1511432 count=1024 2>/dev/null | while read line; do
|
2017-04-22 16:56:25 +00:00
|
|
|
[ "$line" = "$model_string" ] && break
|
2014-11-26 08:59:32 +00:00
|
|
|
done || {
|
|
|
|
echo "Unsupported image (model not in support-list)"
|
|
|
|
return 1
|
|
|
|
}
|
|
|
|
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2013-09-19 22:36:42 +00:00
|
|
|
seama_get_type_magic() {
|
|
|
|
get_image "$@" | dd bs=1 count=4 skip=53 2>/dev/null | hexdump -v -n 4 -e '1/1 "%02x"'
|
|
|
|
}
|
|
|
|
|
2016-07-18 17:39:57 +00:00
|
|
|
wrgg_get_image_magic() {
|
|
|
|
get_image "$@" | dd bs=4 count=1 skip=8 2>/dev/null | hexdump -v -n 4 -e '1/1 "%02x"'
|
|
|
|
}
|
|
|
|
|
2013-11-30 18:31:03 +00:00
|
|
|
cybertan_get_image_magic() {
|
|
|
|
get_image "$@" | dd bs=8 count=1 skip=0 2>/dev/null | hexdump -v -n 8 -e '1/1 "%02x"'
|
|
|
|
}
|
|
|
|
|
|
|
|
cybertan_check_image() {
|
|
|
|
local magic="$(cybertan_get_image_magic "$1")"
|
|
|
|
local fw_magic="$(cybertan_get_hw_magic)"
|
|
|
|
|
|
|
|
[ "$fw_magic" != "$magic" ] && {
|
|
|
|
echo "Invalid image, ID mismatch, got:$magic, but need:$fw_magic"
|
|
|
|
return 1
|
|
|
|
}
|
|
|
|
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2014-01-24 17:15:02 +00:00
|
|
|
platform_do_upgrade_compex() {
|
|
|
|
local fw_file=$1
|
|
|
|
local fw_part=$PART_NAME
|
|
|
|
local fw_mtd=$(find_mtd_part $fw_part)
|
|
|
|
local fw_length=0x$(dd if="$fw_file" bs=2 skip=1 count=4 2>/dev/null)
|
|
|
|
local fw_blocks=$(($fw_length / 65536))
|
|
|
|
|
|
|
|
if [ -n "$fw_mtd" ] && [ ${fw_blocks:-0} -gt 0 ]; then
|
|
|
|
local append=""
|
|
|
|
[ -f "$CONF_TAR" -a "$SAVE_CONFIG" -eq 1 ] && append="-j $CONF_TAR"
|
|
|
|
|
|
|
|
sync
|
|
|
|
dd if="$fw_file" bs=64k skip=1 count=$fw_blocks 2>/dev/null | \
|
|
|
|
mtd $append write - "$fw_part"
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
2014-07-14 16:03:35 +00:00
|
|
|
alfa_check_image() {
|
|
|
|
local magic_long="$(get_magic_long "$1")"
|
|
|
|
local fw_part_size=$(mtd_get_part_size firmware)
|
|
|
|
|
|
|
|
case "$magic_long" in
|
|
|
|
"27051956")
|
|
|
|
[ "$fw_part_size" != "16318464" ] && {
|
|
|
|
echo "Invalid image magic \"$magic_long\" for $fw_part_size bytes"
|
|
|
|
return 1
|
|
|
|
}
|
|
|
|
;;
|
|
|
|
"68737173")
|
|
|
|
[ "$fw_part_size" != "7929856" ] && {
|
|
|
|
echo "Invalid image magic \"$magic_long\" for $fw_part_size bytes"
|
|
|
|
return 1
|
|
|
|
}
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2009-06-06 17:44:49 +00:00
|
|
|
platform_check_image() {
|
2017-05-12 20:36:07 +00:00
|
|
|
local board=$(board_name)
|
2009-06-06 17:44:49 +00:00
|
|
|
local magic="$(get_magic_word "$1")"
|
2011-01-26 20:35:42 +00:00
|
|
|
local magic_long="$(get_magic_long "$1")"
|
2009-06-06 17:44:49 +00:00
|
|
|
|
2014-06-02 12:43:22 +00:00
|
|
|
[ "$#" -gt 1 ] && return 1
|
2009-06-06 17:44:49 +00:00
|
|
|
|
|
|
|
case "$board" in
|
2016-09-29 09:44:44 +00:00
|
|
|
airgateway|\
|
2017-10-24 08:58:39 +00:00
|
|
|
airgatewaypro|\
|
2016-09-29 09:44:44 +00:00
|
|
|
airrouter|\
|
2017-03-31 11:37:31 +00:00
|
|
|
ap121f|\
|
2016-09-29 09:44:44 +00:00
|
|
|
ap132|\
|
2017-03-02 17:23:50 +00:00
|
|
|
ap531b0|\
|
2016-10-06 00:19:17 +00:00
|
|
|
ap90q|\
|
2017-04-22 16:21:47 +00:00
|
|
|
archer-c25-v1|\
|
2017-06-16 13:26:30 +00:00
|
|
|
archer-c58-v1|\
|
2016-12-27 21:41:41 +00:00
|
|
|
archer-c59-v1|\
|
|
|
|
archer-c60-v1|\
|
2017-07-25 11:32:47 +00:00
|
|
|
archer-c7-v4|\
|
2016-09-29 09:44:44 +00:00
|
|
|
bullet-m|\
|
|
|
|
c-55|\
|
|
|
|
carambola2|\
|
|
|
|
cf-e316n-v2|\
|
ar71xx: add support for COMFAST CF-E320N v2 and CF-E520N/CF-E530N
As we already have support for CF-E316N v2 and many devices from
this vendor look similar, the support was included in existing
mach-*.c file, with few cleanups and fixes.
All 3 devices are based on Qualcomm/Atheros QCA9531 v2.
COMFAST CF-E320N v2 is a ceiling mount AP with PoE support.
Short specification:
- 650/393/216 MHz (CPU/DDR/AHB)
- 2x 10/100 Mbps Ethernet, both with PoE support
- 64 MB of RAM (DDR2)
- 16 MB of FLASH
- 2T2R 2.4 GHz, up to 22 dBm
- 2x internal antennas
- 1x RGB LED, 1x button
- UART (J1), GPIO (J9) and USB (J2) headers on PCB
- external watchdog (Pericon Technology PT7A7514)
COMFAST CF-E520N/CF-E530N are in-wall APs with USB and PoE support.
They seem to have different only the front panel.
Short specification:
- 650/393/216 MHz (CPU/DDR/AHB)
- 2x 10/100 Mbps Ethernet, WAN with PoE support
- 1x USB 2.0 (in CF-E520N covered by panel, available on PCB)
- 32 MB of RAM (DDR2)
- 8 MB of FLASH
- 2T2R 2.4 GHz, up to 22 dBm
- 2x internal antennas
- 1x LED, 1x button
- UART (J1) headers on PCB
Flash instruction:
Original firmware is based on OpenWrt.
Use sysupgrade image directly in vendor GUI.
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2016-10-05 00:24:58 +00:00
|
|
|
cf-e320n-v2|\
|
2018-02-05 20:31:07 +00:00
|
|
|
cf-e355ac-v1|\
|
2018-01-22 06:57:57 +00:00
|
|
|
cf-e355ac-v2|\
|
2018-02-07 03:47:52 +00:00
|
|
|
cf-e375ac|\
|
ar71xx: add support for COMFAST CF-E380AC v1 and v2
COMFAST CF-E380AC v1/v2 is a ceiling mount AP with PoE
support, based on Qualcomm/Atheros QCA9558+QCA9880+AR8035.
There are two versions of this model, with different RAM
and U-Boot mtd partition sizes:
- v1: 128 MB of RAM, 128 KB U-Boot image size
- v2: 256 MB of RAM, 256 KB U-Boot image size
Version number is available only inside vendor GUI,
hardware and markings are the same.
Short specification:
- 720/600/200 MHz (CPU/DDR/AHB)
- 1x 10/100/1000 Mbps Ethernet, with PoE support
- 128 or 256 MB of RAM (DDR2)
- 16 MB of FLASH
- 3T3R 2.4 GHz, with external PA (SE2576L), up to 28 dBm
- 3T3R 5 GHz, with external PA (SE5003L1), up to 30 dBm
- 6x internal antennas
- 1x RGB LED, 1x button
- UART (T11), LEDs/GPIO (J7) and USB (T12) headers on PCB
- external watchdog (Pericon Technology PT7A7514)
Flash instruction:
Original firmware is based on OpenWrt.
Use sysupgrade image directly in vendor GUI.
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2016-11-14 16:38:23 +00:00
|
|
|
cf-e380ac-v1|\
|
|
|
|
cf-e380ac-v2|\
|
2018-01-23 20:37:16 +00:00
|
|
|
cf-e385ac|\
|
ar71xx: add support for COMFAST CF-E320N v2 and CF-E520N/CF-E530N
As we already have support for CF-E316N v2 and many devices from
this vendor look similar, the support was included in existing
mach-*.c file, with few cleanups and fixes.
All 3 devices are based on Qualcomm/Atheros QCA9531 v2.
COMFAST CF-E320N v2 is a ceiling mount AP with PoE support.
Short specification:
- 650/393/216 MHz (CPU/DDR/AHB)
- 2x 10/100 Mbps Ethernet, both with PoE support
- 64 MB of RAM (DDR2)
- 16 MB of FLASH
- 2T2R 2.4 GHz, up to 22 dBm
- 2x internal antennas
- 1x RGB LED, 1x button
- UART (J1), GPIO (J9) and USB (J2) headers on PCB
- external watchdog (Pericon Technology PT7A7514)
COMFAST CF-E520N/CF-E530N are in-wall APs with USB and PoE support.
They seem to have different only the front panel.
Short specification:
- 650/393/216 MHz (CPU/DDR/AHB)
- 2x 10/100 Mbps Ethernet, WAN with PoE support
- 1x USB 2.0 (in CF-E520N covered by panel, available on PCB)
- 32 MB of RAM (DDR2)
- 8 MB of FLASH
- 2T2R 2.4 GHz, up to 22 dBm
- 2x internal antennas
- 1x LED, 1x button
- UART (J1) headers on PCB
Flash instruction:
Original firmware is based on OpenWrt.
Use sysupgrade image directly in vendor GUI.
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2016-10-05 00:24:58 +00:00
|
|
|
cf-e520n|\
|
|
|
|
cf-e530n|\
|
ar71xx: add support for P&W R602N and CPE505N
P&W (full name: Shenzhen Progress&Win Technologies) R602N (could be also
labeled as R602F, R602, etc.) is a simple N300 router with 5-port
10/100 Mbps switch, non-detachable antennas and USB.
CPE505 is an outdoor CPE with PoE support and detachable antennas.
Both devices are based on Qualcomm/Atheros QCA9531 v2.
Common specification:
- 650/597/216 MHz (CPU/DDR/AHB)
- 64 MB of RAM (DDR2)
- 16 MB of FLASH
- UART (J2) header on PCB
R602N specification:
- 5x 10/100 Mbps Ethernet
- 1x USB 2.0
- 2T2R 2.4 GHz with external LNA and PA (SE2576L), up to 28 dBm
- 2x external, non-detachable antennas
- 7x LED, 1x button
CPE505N specification:
- 2x 10/100 Mbps Ethernet (both ports support passive PoE 12-24 V)
- 2T2R 2.4 GHz with external LNA and PA (SKY65174-21), up to 30 dBm
- 2x external, detachable antennas (RP-SMA connectors)
- 1x RGB LED, 2x LEDs (in RJ45 sockets), 1x button
Flash instructions:
It seems that there are many different versions of the firmware which
these devices are shipped with. The generic/standard one is based on
some modified OpenWrt and LEDE firmware can be flashed directly from
vendor's webgui or with sysupgrade (root password is "admin123").
Before flashing, make sure (use "fw_printenv") that the kernel load
address in your device is set to "0x9f050000" (bootcmd variable is
"bootm 0x9f050000"). If your device uses different load address, you
should first change it, under vendor's firmware, with command:
fw_setenv bootcmd "bootm 0x9f050000 || bootm OLD_ADDRESS"
Where OLD_ADDRESS is previous kernel load address (in CPE505 version
I got access to, it was "0x9fe80000"). This will allow you to use
both the vendor's and LEDE firmware.
If version of your device contains empty U-Boot environment (you will
get information about this after issuing "fw_printenv"), you should
use U-Boot, serial line access and TFTP to perform firmware upgrade:
1. tftp 0x80060000 lede-ar71xx-generic-...-squashfs-sysupgrade.bin
2. erase 0x9f050000 +$filesize
3. cp.b $fileaddr 0x9f050000 $filesize
4. setenv bootcmd "bootm 0x9f050000 || bootm OLD_ADDRESS"
5. saveenv && reset
These devices contain also web recovery mode inside U-Boot. It can be
started with pressing the reset button for around 3 seconds just after
the device powerup. Web recovery panel is available on "192.168.10.9"
and to be able to use it, IP on your PC must be set to "192.168.10.10".
Make sure to change kernel load address before using recovery mode or
the U-Boot will not be able to load LEDE firmware.
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2017-03-15 23:54:08 +00:00
|
|
|
cpe505n|\
|
2016-10-08 01:36:35 +00:00
|
|
|
cpe830|\
|
2016-10-07 23:17:04 +00:00
|
|
|
cpe870|\
|
2016-09-29 09:44:44 +00:00
|
|
|
dgl-5500-a1|\
|
|
|
|
dhp-1565-a1|\
|
|
|
|
dir-505-a1|\
|
|
|
|
dir-600-a1|\
|
|
|
|
dir-615-c1|\
|
|
|
|
dir-615-e1|\
|
|
|
|
dir-615-e4|\
|
|
|
|
dir-615-i1|\
|
|
|
|
dir-825-c1|\
|
|
|
|
dir-835-a1|\
|
|
|
|
dlan-hotspot|\
|
|
|
|
dlan-pro-1200-ac|\
|
|
|
|
dlan-pro-500-wp|\
|
2017-10-23 11:30:20 +00:00
|
|
|
dr342|\
|
2016-09-29 09:44:44 +00:00
|
|
|
dr531|\
|
|
|
|
dragino2|\
|
ar71xx: add support for WHQX E1700AC/E600G/E600GAC v2
WHQX E1700AC v2 is based on Qualcomm QCA9563 + QCA9880 + QCA8334.
Specification:
- 750/400/250 MHz (CPU/DDR/AHB)
- 128 MB of RAM (DDR2)
- 8/16 MB of FLASH (SPI NOR)
- 3T3R 2.4 GHz (QCA9563) with external FEM (SKY85309-11)
- 3T3R 5 GHz (QCA9880) with external FEM (SKY85728-11)
- 2x 10/100/1000 Mbps Ethernet (one port with PoE support)
- 1x miniPCIe slot (USB 2.0 bus only)
- 1x microSIM slot
- 1x USB 2.0
- 5x LED (4 driven by GPIO)
- 1x button (reset)
- 1x 2-pos switch
- 1x DC jack for main power input (9-48 V)
- UART (J5) and LEDs (J13) headers on PCB
WHQX E600G is based on Qualcomm QCA9531.
Specification:
- 650/391/216 MHz (CPU/DDR/AHB)
- 64/128 MB of RAM (DDR2)
- 8/16 MB of FLASH (SPI NOR)
- 2T2R 2.4 GHz (QCA9531) with external PA (LXK-6601)
- 2x 10/100 Mbps Ethernet (one port with PoE support)
- 1x miniPCIe slot (with PCIe and USB 2.0 buses)
- 1x microSIM slot
- 5x LED (4 driven by GPIO)
- 1x button (reset)
- 1x DC jack for main power input (9-48 V)
- UART (J100), SIM (J34), JTAG (J5) and LEDs (J7) headers on PCB
WHQX E600GAC is based on Qualcomm QCA9531 + QCA9887.
Specification:
- 650/391/216 MHz (CPU/DDR/AHB)
- 64/128 MB of RAM (DDR2)
- 8/16 MB of FLASH (SPI NOR)
- 2T2R 2.4 GHz (QCA9531)
- 1T1R 5 GHz (QCA9887) with external FEM (SKY85703-11)
- 2x 10/100 Mbps Ethernet
- 6x LED (1x RGB, 5 driven by GPIO)
- 1x button (reset)
- 1x DC jack for main power input (9-12 V)
- UART (J100), USB (J102), JTAG (J5) and LEDs (J7) header on PCB
Important notice:
First version of these boards are using different mtd layout, with ART
data at the end. You should not use v2 images on v1 board because it
will result in lost of ART data!
Flash instruction (using U-Boot CLI and tftp server):
1. Configure PC with static IP 192.168.1.10 and tftp server.
2. Rename "sysupgrade" filename to "firmware.bin" and place it in tftp
server directory.
3. Connect PC with one of RJ45 ports, power up the board and press
"enter" key to access U-Boot CLI.
4. Use the following command to update the device to OpenWrt: "run lfw".
Flash instruction (using U-Boot web-based recovery):
1. Configure PC with static IP 192.168.1.xxx(2-254)/24.
2. Connect PC with one of RJ45 ports, press the reset button, power up
the board and keep button pressed for around 6-7 seconds, until LEDs
start flashing.
3. Open your browser and enter 192.168.1.1, select "sysupgrade" image
and click the upgrade button.
Signed-off-by: Peng Zhang <sd20@qxwlan.com>
[reworked: image generation code, mach-* files, commit description,
fixed minor code style issues, rebased on master]
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2018-01-05 09:38:05 +00:00
|
|
|
e1700ac-v2|\
|
|
|
|
e600g-v2|\
|
|
|
|
e600gac-v2|\
|
2017-02-03 05:01:36 +00:00
|
|
|
ebr-2310-c1|\
|
2017-04-14 17:08:17 +00:00
|
|
|
ens202ext|\
|
2016-09-29 09:44:44 +00:00
|
|
|
epg5000|\
|
|
|
|
esr1750|\
|
|
|
|
esr900|\
|
2018-01-15 15:45:16 +00:00
|
|
|
ew-balin|\
|
2016-09-29 09:44:44 +00:00
|
|
|
ew-dorin|\
|
2017-10-24 08:58:39 +00:00
|
|
|
ew-dorin-router|\
|
2016-09-29 09:44:44 +00:00
|
|
|
gl-ar150|\
|
|
|
|
gl-ar300m|\
|
|
|
|
gl-ar300|\
|
2017-10-17 21:30:01 +00:00
|
|
|
gl-ar750|\
|
2016-09-29 09:44:44 +00:00
|
|
|
gl-domino|\
|
|
|
|
gl-mifi|\
|
2017-08-19 16:26:46 +00:00
|
|
|
gl-usb150|\
|
2016-09-29 09:44:44 +00:00
|
|
|
hiwifi-hc6361|\
|
|
|
|
hornet-ub-x2|\
|
|
|
|
jwap230|\
|
2017-02-12 17:34:36 +00:00
|
|
|
lima|\
|
2016-09-29 09:44:44 +00:00
|
|
|
loco-m-xw|\
|
|
|
|
mzk-w04nu|\
|
|
|
|
mzk-w300nh|\
|
ar71xx: add support for ALFA Network N5Q
ALFA Network N5Q is a successor of previous model, the N5 (outdoor
CPE/AP, based on Atheros AR7240 + AR9280). New version is based on
Atheros AR9344.
Specification:
- 550/400/200 MHz (CPU/DDR/AHB)
- 64 MB of RAM (DDR2)
- 16 MB of FLASH (SPI NOR)
- 2x 10/100 Mbps Ethernet, with passive PoE support (24 V)
- 2T2R 5 GHz (AR9344), with ext. PA (RFPA5542) and LNA, up to 27 dBm
- 8x LED (7 are driven by GPIO)
- 1x button (reset)
- external h/w watchdog (EM6324QYSP5B, disabled and not used)
- header for optional 802.3at/af PoE module
- DC jack for main power input (optional, not installed by default)
- UART header on PCB
Flash instruction:
You can use sysupgrade image directly in vendor firmare which is based
on OpenWrt/LEDE. Alternatively, you can use web recovery mode in U-Boot:
1. Configure PC with static IP 192.168.1.2/24.
2. Connect PC with one of RJ45 ports, press the reset button, power up
device, wait for first blink of all LEDs (indicates network setup),
then keep button for 3 following blinks and release it.
3. Open 192.168.1.1 address in your browser and upload sysupgrade image.
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2018-01-05 10:35:45 +00:00
|
|
|
n5q|\
|
2016-09-29 09:44:44 +00:00
|
|
|
nanostation-m|\
|
2017-10-24 08:58:39 +00:00
|
|
|
nanostation-m-xw|\
|
2016-09-29 09:44:44 +00:00
|
|
|
nbg460n_550n_550nh|\
|
2017-01-10 09:47:19 +00:00
|
|
|
pqi-air-pen|\
|
ar71xx: add support for ALFA Network R36A
ALFA Network R36A is a successor of the previous model, the R36 (Ralink
RT3050F based). New version is based on Qualcomm/Atheros QCA9531 v2.
Specification:
- 650/400/200 MHz (CPU/DDR/AHB)
- 64 MB of RAM (DDR2)
- 16 MB of FLASH (SPI NOR)
- 2x 10/100 Mbps Ethernet, with passive PoE support (24 V)
- 2T2R (QCA9531) 2.4 GHz, 2x u.fl connectors on PCB
- 1x USB 2.0 (power controlled by GPIO)
- 6x LED (5 of them are driven by GPIO)
- 2x button (reset, wifi/wps)
- external h/w watchdog (EM6324QYSP5B, disabled and not used)
- DC jack for main power input (12 V)
- UART header on PCB
Flash instruction:
You can use sysupgrade image directly in vendor firmware which is based
on LEDE/OpenWrt. Alternatively, you can use web recovery mode in U-Boot:
1. Configure PC with static IP 192.168.1.2/24.
2. Connect PC with one of RJ45 ports, press the reset button, power up
device, wait for first blink of all LEDs (indicates network setup),
then keep button for 3 following blinks and release it.
3. Open 192.168.1.1 address in your browser and upload sysupgrade image.
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2017-12-28 10:07:54 +00:00
|
|
|
r36a|\
|
ar71xx: add support for P&W R602N and CPE505N
P&W (full name: Shenzhen Progress&Win Technologies) R602N (could be also
labeled as R602F, R602, etc.) is a simple N300 router with 5-port
10/100 Mbps switch, non-detachable antennas and USB.
CPE505 is an outdoor CPE with PoE support and detachable antennas.
Both devices are based on Qualcomm/Atheros QCA9531 v2.
Common specification:
- 650/597/216 MHz (CPU/DDR/AHB)
- 64 MB of RAM (DDR2)
- 16 MB of FLASH
- UART (J2) header on PCB
R602N specification:
- 5x 10/100 Mbps Ethernet
- 1x USB 2.0
- 2T2R 2.4 GHz with external LNA and PA (SE2576L), up to 28 dBm
- 2x external, non-detachable antennas
- 7x LED, 1x button
CPE505N specification:
- 2x 10/100 Mbps Ethernet (both ports support passive PoE 12-24 V)
- 2T2R 2.4 GHz with external LNA and PA (SKY65174-21), up to 30 dBm
- 2x external, detachable antennas (RP-SMA connectors)
- 1x RGB LED, 2x LEDs (in RJ45 sockets), 1x button
Flash instructions:
It seems that there are many different versions of the firmware which
these devices are shipped with. The generic/standard one is based on
some modified OpenWrt and LEDE firmware can be flashed directly from
vendor's webgui or with sysupgrade (root password is "admin123").
Before flashing, make sure (use "fw_printenv") that the kernel load
address in your device is set to "0x9f050000" (bootcmd variable is
"bootm 0x9f050000"). If your device uses different load address, you
should first change it, under vendor's firmware, with command:
fw_setenv bootcmd "bootm 0x9f050000 || bootm OLD_ADDRESS"
Where OLD_ADDRESS is previous kernel load address (in CPE505 version
I got access to, it was "0x9fe80000"). This will allow you to use
both the vendor's and LEDE firmware.
If version of your device contains empty U-Boot environment (you will
get information about this after issuing "fw_printenv"), you should
use U-Boot, serial line access and TFTP to perform firmware upgrade:
1. tftp 0x80060000 lede-ar71xx-generic-...-squashfs-sysupgrade.bin
2. erase 0x9f050000 +$filesize
3. cp.b $fileaddr 0x9f050000 $filesize
4. setenv bootcmd "bootm 0x9f050000 || bootm OLD_ADDRESS"
5. saveenv && reset
These devices contain also web recovery mode inside U-Boot. It can be
started with pressing the reset button for around 3 seconds just after
the device powerup. Web recovery panel is available on "192.168.10.9"
and to be able to use it, IP on your PC must be set to "192.168.10.10".
Make sure to change kernel load address before using recovery mode or
the U-Boot will not be able to load LEDE firmware.
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2017-03-15 23:54:08 +00:00
|
|
|
r602n|\
|
2016-05-26 11:20:53 +00:00
|
|
|
rme-eg200|\
|
2017-10-24 08:58:39 +00:00
|
|
|
rocket-m|\
|
2016-09-29 09:44:44 +00:00
|
|
|
rocket-m-ti|\
|
|
|
|
rocket-m-xw|\
|
|
|
|
rw2458n|\
|
2017-01-15 22:01:05 +00:00
|
|
|
sc1750|\
|
2017-01-15 22:01:03 +00:00
|
|
|
sc300m|\
|
2017-01-15 22:01:04 +00:00
|
|
|
sc450|\
|
ar71xx: add support for YunCore SR3200 and XD3200
YunCore SR3200 is a dual-band AC1200 router, based on Qualcomm/Atheros
QCA9563+QCA9882+QCA8337N.
YunCore XD3200 (FCC ID: 2ADUG-XD3200) is a dual-band AC1200 ceiling mount
AP with PoE support, based on Qualcomm/Atheros QCA9563+QCA9882+QCA8334.
Common specification:
- 775/650/258 MHz (CPU/DDR/AHB)
- 128 MB or RAM (DDR2)
- 16 MB of FLASH (SPI NOR)
- 2T2R 2.4 GHz, with ext. PA (SKY65174-21), up to 30 dBm
- 2T2R 5 GHz, with ext. PA (SKY85405-11) and LNA (SKY85601-11), up to 30 dBm
SR3200 specification:
- 5x 10/100/1000 Mbps Ethernet
- 6x ext. RP-SMA antennas (actually, only 4 are connected with radio chips)
- 3x LED (+ 5x LED in RJ45 sockets), 1x button
- UART header on PCB
XD3200 specification:
- 2x 10/100/1000 Mbps Ethernet, with 802.3at PoE support (WAN port)
- 4x internal antennas
- 3 sets of LEDs on external PCB (+ 2x LED near RJ45 sockets), 1x button
- UART and JTAG (custom 6-pin, 2 mm pitch) headers on PCB
LED for 5 GHz WLAN is currently not supported on both devices as it is
connected directly to the QCA9882 radio chip.
Flash instruction under vendor firmware, using telnet/SSH:
1. If your firmware does not have root password, go to point 5
2. Connect PC with 192.168.1.x address to LAN or WAN port
3. Power up device, enter failsafe mode with button (no LED indicator!)
4. Change root password and reboot (mount_root, passwd ..., reboot -f)
5. Upload lede-ar71xx-...-sysupgrade.bin to /tmp using SCP
6. Connect PC with 192.168.188.x address to LAN port, SSH to 192.168.188.253
7. Invoke:
- cd /tmp
- fw_setenv bootcmd "bootm 0x9fe80000 || bootm 0x9f050000"
- mtd -e firmware -r write lede-ar71xx-...-sysupgrade.bin firmware
Flash instruction under U-Boot, using UART:
1. tftp 0x80060000 lede-ar71xx-...-sysupgrade.bin
2. erase 0x9f050000 +$filesize
3. cp.b $fileaddr 0x9f050000 $filesize
4. setenv bootcmd "bootm 0x9fe80000 || bootm 0x9f050000"
5. saveenv && reset
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2016-12-02 21:42:41 +00:00
|
|
|
sr3200|\
|
2018-02-16 19:30:38 +00:00
|
|
|
t830|\
|
2016-09-29 09:44:44 +00:00
|
|
|
tew-632brp|\
|
|
|
|
tew-712br|\
|
|
|
|
tew-732br|\
|
|
|
|
tew-823dru|\
|
2017-09-25 09:38:49 +00:00
|
|
|
tl-wr1043n-v5|\
|
2017-03-08 20:10:05 +00:00
|
|
|
tl-wr942n-v1|\
|
2017-10-24 08:58:39 +00:00
|
|
|
unifi|\
|
2016-09-29 09:44:44 +00:00
|
|
|
unifi-outdoor|\
|
|
|
|
unifiac-lite|\
|
|
|
|
unifiac-pro|\
|
ar71xx: add support for Samsung WAM250
Samsung WAM250 is a dual-band (selectable, not simultaneous) wireless
hub, dedicated for Samsung Shape Wireless Audio System. The device is
based on Atheros AR9344. FCC ID: A3LWAM250.
Specification:
- 560/450/225 MHz (CPU/DDR/AHB)
- 64 MB of RAM (DDR2)
- 16 MB of FLASH (SPI NOR)
- 2x 10/100 Mbps Ethernet
- 2T2R 2.4/5 GHz (AR9344), with ext. PA (SE2598L, SE5003L) and LNA
- 1x USB 2.0
- 4x LED (all are driven by GPIO)
- 2x button (reset, wps/speaker add)
- DC jack for main power input (14 V)
- UART header on PCB (J4, RX: 3, TX: 5)
Flash instruction:
This device uses dual-image (switched between upgrades) with a common
jffs2 config partition. Fortunately, there is a way to disable this mode
so that more flash space can be used by OpenWrt image.
You can easily access this device over telnet, using root/root
credentials (the same also work for serial console access).
1. Make sure that your device uses second (bootpart=2) image using
command: "fw_printenv bootpart".
2. If your device uses first image (bootpart=1), perform upgrade to the
latest vendor firmware (after the update, device should boot from
second partition) using web gui (default login: admin/1234567890).
3. Rename "sysupgrade" image to "firmware.bin", download it (you can use
wget, tftp or ftpget) to "/tmp" and issue below commands:
mtd_debug erase /dev/mtd3 0 $(wc -c /tmp/firmware.bin | awk -F' ' '{print $1}')
mtd_debug write /dev/mtd3 0 $(wc -c /tmp/firmware.bin)
fw_setenv bootpart
fw_setenv bootcmd "bootm 0x9f070000"
reboot
Revert to vendor firmware instruction:
1. Download vendor firmware to "/tmp" device and issue below commands:
fw_setenv bootpart 1
sysupgrade -n -F SS_BHUB_v2.2.05.bin
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2018-02-08 21:28:07 +00:00
|
|
|
wam250|\
|
2016-09-29 09:44:44 +00:00
|
|
|
weio|\
|
|
|
|
whr-g301n|\
|
|
|
|
whr-hp-g300n|\
|
|
|
|
whr-hp-gn|\
|
|
|
|
wlae-ag300n|\
|
|
|
|
wndap360|\
|
|
|
|
wpj342|\
|
|
|
|
wpj344|\
|
|
|
|
wpj531|\
|
2017-07-06 13:46:42 +00:00
|
|
|
wpj558|\
|
2017-02-26 11:25:57 +00:00
|
|
|
wpj563|\
|
2016-09-29 09:44:44 +00:00
|
|
|
wrt400n|\
|
|
|
|
wrtnode2q|\
|
|
|
|
wzr-450hp2|\
|
|
|
|
wzr-hp-ag300h|\
|
|
|
|
wzr-hp-g300nh|\
|
2017-10-24 08:58:39 +00:00
|
|
|
wzr-hp-g300nh2|\
|
ar71xx: add support for YunCore SR3200 and XD3200
YunCore SR3200 is a dual-band AC1200 router, based on Qualcomm/Atheros
QCA9563+QCA9882+QCA8337N.
YunCore XD3200 (FCC ID: 2ADUG-XD3200) is a dual-band AC1200 ceiling mount
AP with PoE support, based on Qualcomm/Atheros QCA9563+QCA9882+QCA8334.
Common specification:
- 775/650/258 MHz (CPU/DDR/AHB)
- 128 MB or RAM (DDR2)
- 16 MB of FLASH (SPI NOR)
- 2T2R 2.4 GHz, with ext. PA (SKY65174-21), up to 30 dBm
- 2T2R 5 GHz, with ext. PA (SKY85405-11) and LNA (SKY85601-11), up to 30 dBm
SR3200 specification:
- 5x 10/100/1000 Mbps Ethernet
- 6x ext. RP-SMA antennas (actually, only 4 are connected with radio chips)
- 3x LED (+ 5x LED in RJ45 sockets), 1x button
- UART header on PCB
XD3200 specification:
- 2x 10/100/1000 Mbps Ethernet, with 802.3at PoE support (WAN port)
- 4x internal antennas
- 3 sets of LEDs on external PCB (+ 2x LED near RJ45 sockets), 1x button
- UART and JTAG (custom 6-pin, 2 mm pitch) headers on PCB
LED for 5 GHz WLAN is currently not supported on both devices as it is
connected directly to the QCA9882 radio chip.
Flash instruction under vendor firmware, using telnet/SSH:
1. If your firmware does not have root password, go to point 5
2. Connect PC with 192.168.1.x address to LAN or WAN port
3. Power up device, enter failsafe mode with button (no LED indicator!)
4. Change root password and reboot (mount_root, passwd ..., reboot -f)
5. Upload lede-ar71xx-...-sysupgrade.bin to /tmp using SCP
6. Connect PC with 192.168.188.x address to LAN port, SSH to 192.168.188.253
7. Invoke:
- cd /tmp
- fw_setenv bootcmd "bootm 0x9fe80000 || bootm 0x9f050000"
- mtd -e firmware -r write lede-ar71xx-...-sysupgrade.bin firmware
Flash instruction under U-Boot, using UART:
1. tftp 0x80060000 lede-ar71xx-...-sysupgrade.bin
2. erase 0x9f050000 +$filesize
3. cp.b $fileaddr 0x9f050000 $filesize
4. setenv bootcmd "bootm 0x9fe80000 || bootm 0x9f050000"
5. saveenv && reset
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2016-12-02 21:42:41 +00:00
|
|
|
wzr-hp-g450h|\
|
|
|
|
xd3200)
|
2009-06-06 17:44:49 +00:00
|
|
|
[ "$magic" != "2705" ] && {
|
|
|
|
echo "Invalid image type."
|
|
|
|
return 1
|
|
|
|
}
|
2016-09-29 09:44:44 +00:00
|
|
|
|
2009-06-06 17:44:49 +00:00
|
|
|
return 0
|
|
|
|
;;
|
2016-09-29 10:00:17 +00:00
|
|
|
alfa-ap96|\
|
|
|
|
alfa-nx|\
|
|
|
|
ap121|\
|
2017-10-24 08:58:39 +00:00
|
|
|
ap121-mini|\
|
2016-09-29 10:00:17 +00:00
|
|
|
ap135-020|\
|
|
|
|
ap136-010|\
|
|
|
|
ap136-020|\
|
|
|
|
ap147-010|\
|
|
|
|
ap152|\
|
2017-12-18 13:51:28 +00:00
|
|
|
ap91-5g|\
|
2016-09-29 10:00:17 +00:00
|
|
|
ap96|\
|
|
|
|
arduino-yun|\
|
2016-11-08 13:45:00 +00:00
|
|
|
bhr-4grv2|\
|
2016-09-29 10:00:17 +00:00
|
|
|
bxu2000n-2-a1|\
|
|
|
|
db120|\
|
|
|
|
dr344|\
|
2016-10-18 08:18:50 +00:00
|
|
|
dw33d|\
|
2016-09-29 10:00:17 +00:00
|
|
|
f9k1115v2|\
|
|
|
|
hornet-ub|\
|
|
|
|
mr12|\
|
|
|
|
mr16|\
|
|
|
|
zbt-we1526|\
|
|
|
|
zcn-1523h-2|\
|
|
|
|
zcn-1523h-5)
|
|
|
|
[ "$magic_long" != "68737173" -a "$magic_long" != "19852003" ] && {
|
|
|
|
echo "Invalid image type."
|
|
|
|
return 1
|
|
|
|
}
|
|
|
|
|
|
|
|
return 0
|
2012-09-25 12:57:41 +00:00
|
|
|
;;
|
2016-09-29 10:00:17 +00:00
|
|
|
all0258n|\
|
|
|
|
all0315n|\
|
|
|
|
cap324|\
|
|
|
|
cap4200ag|\
|
|
|
|
cr3000|\
|
|
|
|
cr5000)
|
|
|
|
platform_check_image_allnet "$1" && return 0
|
2013-11-30 18:31:03 +00:00
|
|
|
return 1
|
|
|
|
;;
|
2016-09-29 10:00:17 +00:00
|
|
|
all0305|\
|
|
|
|
eap300v2|\
|
|
|
|
eap7660d|\
|
|
|
|
ja76pf|\
|
2017-10-24 08:58:39 +00:00
|
|
|
ja76pf2|\
|
2016-09-29 10:00:17 +00:00
|
|
|
jwap003|\
|
|
|
|
ls-sr71|\
|
|
|
|
pb42|\
|
|
|
|
pb44|\
|
|
|
|
routerstation|\
|
2017-10-24 08:58:39 +00:00
|
|
|
routerstation-pro|\
|
2016-09-29 10:00:17 +00:00
|
|
|
wp543|\
|
|
|
|
wpe72)
|
|
|
|
[ "$magic" != "4349" ] && {
|
|
|
|
echo "Invalid image. Use *-sysupgrade.bin files on this board"
|
2013-09-19 22:36:42 +00:00
|
|
|
return 1
|
|
|
|
}
|
|
|
|
|
2016-09-29 10:00:17 +00:00
|
|
|
local md5_img=$(dd if="$1" bs=2 skip=9 count=16 2>/dev/null)
|
|
|
|
local md5_chk=$(dd if="$1" bs=$CI_BLKSZ skip=1 2>/dev/null | md5sum -); md5_chk="${md5_chk%% *}"
|
|
|
|
|
|
|
|
if [ -n "$md5_img" -a -n "$md5_chk" ] && [ "$md5_img" = "$md5_chk" ]; then
|
|
|
|
return 0
|
|
|
|
else
|
|
|
|
echo "Invalid image. Contents do not match checksum (image:$md5_img calculated:$md5_chk)"
|
2013-09-19 22:36:42 +00:00
|
|
|
return 1
|
2016-09-29 10:00:17 +00:00
|
|
|
fi
|
2013-09-19 22:36:42 +00:00
|
|
|
|
2016-09-29 09:44:44 +00:00
|
|
|
return 0
|
2013-09-19 22:36:42 +00:00
|
|
|
;;
|
2016-09-29 09:44:44 +00:00
|
|
|
antminer-s1|\
|
|
|
|
antminer-s3|\
|
|
|
|
antrouter-r1|\
|
|
|
|
archer-c5|\
|
|
|
|
archer-c7|\
|
|
|
|
el-m150|\
|
|
|
|
el-mini|\
|
|
|
|
gl-inet|\
|
ar71xx: add support for AR9331 based Hak5 devices
This adds support for AR9331 based Hak5 penetration testing tools:
- WiFi Pineapple NANO
- LAN Turtle
- Packet Squirrel
WiFi Pineapple NANO specifications:
- SoC: Atheros AR9331 (400 MHz)
- RAM: 64 MB (DDR2)
- FLASH: 16 MB
- WiFi: 1T1R AR9331 (built-in), 1T1R AR9271 (built-in via USB bus)
- Ethernet: 1x FE over USB (ASIX AX88772A)
- Ports: 2x RP-SMA for antennas, 1x USB 2.0 (host), 1x micro SD
- Power: USB 5 V, 1.5 A
- Other: status LED, reset button
LAN Turtle specifications:
- SoC: Atheros AR9331 (400 MHz)
- RAM: 64 MB (DDR2)
- FLASH: 16 MB
- WiFi: none
- Ethernet: 1x FE (AR9331), 1x FE over USB (Realtek RTL8152B)
- Ports: 1x RJ45, version dependent: micro SD or 3G SIM slot
- Power: USB 5 V, 0.5 A
- Other: status LED, reset button (inside, on PCB)
Packet Squirrel specifications:
- SoC: Atheros AR9331 (400 MHz)
- RAM: 64 MB (DDR2)
- FLASH: 16 MB
- WiFi: none
- Ethernet: 2x FE (AR9331)
- Ports: 2x RJ45, 1x USB 2.0
- Power: USB 5 V, 0.12 A
- Other: status LED, reset button, 4-way switch
Flash instructions for all 3 devices:
Original firmware is based on OpenWrt.
Use sysupgrade via SSH to flash.
Signed-off-by: Sebastian Kinne <contact@sebkinne.com>
[squashed commits, combined and reworked mach files, aligned board
naming with general convention, fixed minor issues, tested on real
hardware, reworded commit subject and description]
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2018-02-13 02:26:33 +00:00
|
|
|
lan-turtle|\
|
2016-09-29 09:44:44 +00:00
|
|
|
mc-mac1200r|\
|
|
|
|
minibox-v1|\
|
|
|
|
omy-g1|\
|
|
|
|
omy-x1|\
|
|
|
|
onion-omega|\
|
2018-02-15 17:42:45 +00:00
|
|
|
oolite-v1|\
|
ar71xx: add support for AR9331 based Hak5 devices
This adds support for AR9331 based Hak5 penetration testing tools:
- WiFi Pineapple NANO
- LAN Turtle
- Packet Squirrel
WiFi Pineapple NANO specifications:
- SoC: Atheros AR9331 (400 MHz)
- RAM: 64 MB (DDR2)
- FLASH: 16 MB
- WiFi: 1T1R AR9331 (built-in), 1T1R AR9271 (built-in via USB bus)
- Ethernet: 1x FE over USB (ASIX AX88772A)
- Ports: 2x RP-SMA for antennas, 1x USB 2.0 (host), 1x micro SD
- Power: USB 5 V, 1.5 A
- Other: status LED, reset button
LAN Turtle specifications:
- SoC: Atheros AR9331 (400 MHz)
- RAM: 64 MB (DDR2)
- FLASH: 16 MB
- WiFi: none
- Ethernet: 1x FE (AR9331), 1x FE over USB (Realtek RTL8152B)
- Ports: 1x RJ45, version dependent: micro SD or 3G SIM slot
- Power: USB 5 V, 0.5 A
- Other: status LED, reset button (inside, on PCB)
Packet Squirrel specifications:
- SoC: Atheros AR9331 (400 MHz)
- RAM: 64 MB (DDR2)
- FLASH: 16 MB
- WiFi: none
- Ethernet: 2x FE (AR9331)
- Ports: 2x RJ45, 1x USB 2.0
- Power: USB 5 V, 0.12 A
- Other: status LED, reset button, 4-way switch
Flash instructions for all 3 devices:
Original firmware is based on OpenWrt.
Use sysupgrade via SSH to flash.
Signed-off-by: Sebastian Kinne <contact@sebkinne.com>
[squashed commits, combined and reworked mach files, aligned board
naming with general convention, fixed minor issues, tested on real
hardware, reworded commit subject and description]
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2018-02-13 02:26:33 +00:00
|
|
|
packet-squirrel|\
|
2018-02-06 21:08:28 +00:00
|
|
|
re355|\
|
2016-01-07 00:40:48 +00:00
|
|
|
re450|\
|
ar71xx: add support for Teltonika RUT900
Teltonika RUT900 is an industrial 3G router based on Atheros AR9344.
There are available 3 other models in RUT9xx series: RUT905, RUT950 and
RUT955, which differ in availability of additional I/O ports, built-in
GSM modem type, GPS antenna and other features. FCC ID of the RUT950
model (LTE module built-in): 2AET4-RUT950.
This patch adds support for the RUT900 model only but can be easily
extended to cover whole series. Also, as there are several different
3/4G modules (Huawei, Quectel, Telit) used in whole series, packages
required for WWAN support are not included by default. It is up to the
user to install required software for built-in modem.
Specification:
- 550/400/200 MHz (CPU/DDR/AHB)
- 128 MB of RAM (DDR2)
- 16 MB of FLASH (SPI NOR)
- 4x 10/100 Mbps Ethernet, with passive PoE support on LAN1
- 2T2R 2,4 GHz (AR9344), with ext. PA (MGA-22103) and LNA
- built-in 3G module (example: Telit HE910-D)
- 2x miniSIM slot
- 2x RP-SMA/F (Wi-Fi), 2x SMA/F (3G)
- PCA9539 16-bit GPIO I2C expander
- 12x LED (4 are driven by AR9344, 7 by PCA9539)
- 1x button (reset)
- DC jack for main power input (9-30 V)
- UART available on PCB edge connector
Serial console pinout:
- RX: pin1 (square) on top side of the main PCB (AR9344 is on top)
- TX: pin1 (square) on bottom side
Flash instruction:
Vendor firmware is based on OpenWrt CC release. Use the "factory" image
directly in GUI (make sure to uncheck "keep settings") or in U-Boot web
based recovery. To avoid any problems, make sure to first update vendor
firmware to latest version - "factory" image was successfully tested on
device running "RUT9XX_R_00.03.960" firmware and U-Boot "3.0.1".
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2017-10-15 11:24:02 +00:00
|
|
|
rut900|\
|
2016-09-29 09:44:44 +00:00
|
|
|
smart-300|\
|
|
|
|
som9331|\
|
|
|
|
tellstick-znet-lite|\
|
|
|
|
tl-mr10u|\
|
|
|
|
tl-mr11u|\
|
|
|
|
tl-mr12u|\
|
|
|
|
tl-mr13u|\
|
|
|
|
tl-mr3020|\
|
|
|
|
tl-mr3040|\
|
2017-10-24 08:58:39 +00:00
|
|
|
tl-mr3040-v2|\
|
2016-09-29 09:44:44 +00:00
|
|
|
tl-mr3220|\
|
2017-10-24 08:58:39 +00:00
|
|
|
tl-mr3220-v2|\
|
2016-09-29 09:44:44 +00:00
|
|
|
tl-mr3420|\
|
2017-10-24 08:58:39 +00:00
|
|
|
tl-mr3420-v2|\
|
2017-05-25 19:51:37 +00:00
|
|
|
tl-mr6400|\
|
2016-09-29 09:44:44 +00:00
|
|
|
tl-wa701nd-v2|\
|
|
|
|
tl-wa7210n-v2|\
|
|
|
|
tl-wa750re|\
|
|
|
|
tl-wa7510n|\
|
|
|
|
tl-wa801nd-v2|\
|
2016-12-06 15:18:49 +00:00
|
|
|
tl-wa801nd-v3|\
|
2016-09-29 09:44:44 +00:00
|
|
|
tl-wa830re-v2|\
|
|
|
|
tl-wa850re|\
|
2017-02-10 12:44:06 +00:00
|
|
|
tl-wa850re-v2|\
|
2017-06-09 15:11:39 +00:00
|
|
|
tl-wa855re-v1|\
|
2016-09-29 09:44:44 +00:00
|
|
|
tl-wa860re|\
|
2017-10-24 08:58:39 +00:00
|
|
|
tl-wa901nd|\
|
2016-09-29 09:44:44 +00:00
|
|
|
tl-wa901nd-v2|\
|
|
|
|
tl-wa901nd-v3|\
|
|
|
|
tl-wa901nd-v4|\
|
2017-10-22 20:39:30 +00:00
|
|
|
tl-wa901nd-v5|\
|
2016-09-29 09:44:44 +00:00
|
|
|
tl-wdr3320-v2|\
|
|
|
|
tl-wdr3500|\
|
|
|
|
tl-wdr4300|\
|
|
|
|
tl-wdr4900-v2|\
|
|
|
|
tl-wdr6500-v2|\
|
2016-11-07 14:37:25 +00:00
|
|
|
tl-wpa8630|\
|
2016-09-29 09:44:44 +00:00
|
|
|
tl-wr1041n-v2|\
|
2017-10-24 08:58:39 +00:00
|
|
|
tl-wr1043nd|\
|
2016-09-29 09:44:44 +00:00
|
|
|
tl-wr1043nd-v2|\
|
2016-12-16 11:50:34 +00:00
|
|
|
tl-wr1043nd-v4|\
|
2016-09-29 09:44:44 +00:00
|
|
|
tl-wr2543n|\
|
|
|
|
tl-wr703n|\
|
|
|
|
tl-wr710n|\
|
|
|
|
tl-wr720n-v3|\
|
2017-05-11 18:26:21 +00:00
|
|
|
tl-wr740n-v6|\
|
2016-09-29 09:44:44 +00:00
|
|
|
tl-wr741nd|\
|
2017-10-24 08:58:39 +00:00
|
|
|
tl-wr741nd-v4|\
|
2016-10-21 09:47:15 +00:00
|
|
|
tl-wr802n-v1|\
|
2017-02-13 17:29:34 +00:00
|
|
|
tl-wr802n-v2|\
|
2016-09-29 09:44:44 +00:00
|
|
|
tl-wr810n|\
|
2017-11-10 21:18:09 +00:00
|
|
|
tl-wr810n-v2|\
|
2017-03-16 00:43:43 +00:00
|
|
|
tl-wr840n-v2|\
|
|
|
|
tl-wr840n-v3|\
|
2016-09-29 09:44:44 +00:00
|
|
|
tl-wr841n-v1|\
|
|
|
|
tl-wr841n-v7|\
|
|
|
|
tl-wr841n-v8|\
|
|
|
|
tl-wr841n-v9|\
|
2017-10-24 08:58:39 +00:00
|
|
|
tl-wr841n-v11|\
|
2016-09-29 09:44:44 +00:00
|
|
|
tl-wr842n-v2|\
|
|
|
|
tl-wr842n-v3|\
|
2017-07-05 07:07:43 +00:00
|
|
|
tl-wr902ac-v1|\
|
2016-12-12 14:59:03 +00:00
|
|
|
tl-wr940n-v4|\
|
2017-10-24 08:58:39 +00:00
|
|
|
tl-wr941nd|\
|
|
|
|
tl-wr941nd-v5|\
|
ar71xx: add support for AR9331 based Hak5 devices
This adds support for AR9331 based Hak5 penetration testing tools:
- WiFi Pineapple NANO
- LAN Turtle
- Packet Squirrel
WiFi Pineapple NANO specifications:
- SoC: Atheros AR9331 (400 MHz)
- RAM: 64 MB (DDR2)
- FLASH: 16 MB
- WiFi: 1T1R AR9331 (built-in), 1T1R AR9271 (built-in via USB bus)
- Ethernet: 1x FE over USB (ASIX AX88772A)
- Ports: 2x RP-SMA for antennas, 1x USB 2.0 (host), 1x micro SD
- Power: USB 5 V, 1.5 A
- Other: status LED, reset button
LAN Turtle specifications:
- SoC: Atheros AR9331 (400 MHz)
- RAM: 64 MB (DDR2)
- FLASH: 16 MB
- WiFi: none
- Ethernet: 1x FE (AR9331), 1x FE over USB (Realtek RTL8152B)
- Ports: 1x RJ45, version dependent: micro SD or 3G SIM slot
- Power: USB 5 V, 0.5 A
- Other: status LED, reset button (inside, on PCB)
Packet Squirrel specifications:
- SoC: Atheros AR9331 (400 MHz)
- RAM: 64 MB (DDR2)
- FLASH: 16 MB
- WiFi: none
- Ethernet: 2x FE (AR9331)
- Ports: 2x RJ45, 1x USB 2.0
- Power: USB 5 V, 0.12 A
- Other: status LED, reset button, 4-way switch
Flash instructions for all 3 devices:
Original firmware is based on OpenWrt.
Use sysupgrade via SSH to flash.
Signed-off-by: Sebastian Kinne <contact@sebkinne.com>
[squashed commits, combined and reworked mach files, aligned board
naming with general convention, fixed minor issues, tested on real
hardware, reworded commit subject and description]
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2018-02-13 02:26:33 +00:00
|
|
|
tl-wr941nd-v6|\
|
|
|
|
wifi-pineapple-nano)
|
2015-08-17 06:24:04 +00:00
|
|
|
local magic_ver="0100"
|
|
|
|
|
|
|
|
case "$board" in
|
|
|
|
tl-wdr6500-v2)
|
|
|
|
magic_ver="0200"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
[ "$magic" != "$magic_ver" ] && {
|
2009-06-06 17:44:49 +00:00
|
|
|
echo "Invalid image type."
|
|
|
|
return 1
|
|
|
|
}
|
2011-12-05 18:11:51 +00:00
|
|
|
|
|
|
|
local hwid
|
2016-04-01 07:11:53 +00:00
|
|
|
local mid
|
|
|
|
local imagehwid
|
|
|
|
local imagemid
|
2011-12-05 18:11:51 +00:00
|
|
|
|
|
|
|
hwid=$(tplink_get_hwid)
|
2016-04-01 07:11:53 +00:00
|
|
|
mid=$(tplink_get_mid)
|
|
|
|
imagehwid=$(tplink_get_image_hwid "$1")
|
|
|
|
imagemid=$(tplink_get_image_mid "$1")
|
2011-12-05 18:11:51 +00:00
|
|
|
|
2016-04-01 07:11:53 +00:00
|
|
|
[ "$hwid" != "$imagehwid" -o "$mid" != "$imagemid" ] && {
|
|
|
|
echo "Invalid image, hardware ID mismatch, hw:$hwid $mid image:$imagehwid $imagemid."
|
2011-12-05 18:11:51 +00:00
|
|
|
return 1
|
|
|
|
}
|
|
|
|
|
2012-10-26 18:58:13 +00:00
|
|
|
local boot_size
|
|
|
|
|
|
|
|
boot_size=$(tplink_get_image_boot_size "$1")
|
|
|
|
[ "$boot_size" != "00000000" ] && {
|
|
|
|
echo "Invalid image, it contains a bootloader."
|
|
|
|
return 1
|
|
|
|
}
|
|
|
|
|
2012-12-17 12:28:11 +00:00
|
|
|
return 0
|
|
|
|
;;
|
2016-09-29 10:00:17 +00:00
|
|
|
bsb|\
|
|
|
|
dir-825-b1|\
|
|
|
|
tew-673gru)
|
|
|
|
dir825b_check_image "$1" && return 0
|
|
|
|
;;
|
2017-02-15 12:23:27 +00:00
|
|
|
rb-411|\
|
|
|
|
rb-411u|\
|
|
|
|
rb-433|\
|
|
|
|
rb-433u|\
|
|
|
|
rb-435g|\
|
|
|
|
rb-450|\
|
|
|
|
rb-450g|\
|
|
|
|
rb-493|\
|
|
|
|
rb-493g|\
|
|
|
|
rb-750|\
|
|
|
|
rb-750gl|\
|
|
|
|
rb-751|\
|
|
|
|
rb-751g|\
|
|
|
|
rb-911g-2hpnd|\
|
|
|
|
rb-911g-5hpnd|\
|
|
|
|
rb-911g-5hpacd|\
|
|
|
|
rb-912uag-2hpnd|\
|
|
|
|
rb-912uag-5hpnd|\
|
2017-12-21 14:53:05 +00:00
|
|
|
rb-921gs-5hpacd-r2|\
|
2017-02-15 12:23:27 +00:00
|
|
|
rb-951g-2hnd|\
|
|
|
|
rb-951ui-2hnd|\
|
|
|
|
rb-2011l|\
|
2017-03-28 01:55:48 +00:00
|
|
|
rb-2011il|\
|
2017-02-15 12:23:27 +00:00
|
|
|
rb-2011uas|\
|
|
|
|
rb-2011uas-2hnd|\
|
2017-10-24 08:58:39 +00:00
|
|
|
rb-2011uias|\
|
2017-02-15 12:23:27 +00:00
|
|
|
rb-2011uias-2hnd|\
|
|
|
|
rb-sxt2n|\
|
|
|
|
rb-sxt5n)
|
2017-01-08 13:27:38 +00:00
|
|
|
nand_do_platform_check routerboard $1
|
|
|
|
return $?
|
|
|
|
;;
|
2016-10-05 12:53:11 +00:00
|
|
|
c-60|\
|
2017-04-27 03:09:27 +00:00
|
|
|
hiveap-121|\
|
2016-10-05 12:53:11 +00:00
|
|
|
nbg6716|\
|
|
|
|
r6100|\
|
2017-05-08 10:28:38 +00:00
|
|
|
rambutan|\
|
2017-06-27 21:26:03 +00:00
|
|
|
wi2a-ac200i|\
|
2016-10-05 12:53:11 +00:00
|
|
|
wndr3700v4|\
|
|
|
|
wndr4300)
|
|
|
|
nand_do_platform_check $board $1
|
|
|
|
return $?
|
|
|
|
;;
|
2016-09-29 10:00:17 +00:00
|
|
|
cpe210|\
|
2016-10-06 21:46:38 +00:00
|
|
|
cpe510|\
|
2017-01-05 15:01:17 +00:00
|
|
|
eap120|\
|
|
|
|
wbs210|\
|
|
|
|
wbs510)
|
2016-09-29 10:00:17 +00:00
|
|
|
tplink_pharos_check_image "$1" && return 0
|
|
|
|
return 1
|
|
|
|
;;
|
2016-09-23 07:37:44 +00:00
|
|
|
a40|\
|
2016-08-09 14:00:55 +00:00
|
|
|
a60|\
|
2016-09-29 10:00:17 +00:00
|
|
|
mr1750|\
|
2017-10-24 08:58:39 +00:00
|
|
|
mr1750v2|\
|
2016-09-29 10:00:17 +00:00
|
|
|
mr600|\
|
2017-10-24 08:58:39 +00:00
|
|
|
mr600v2|\
|
2016-09-29 10:00:17 +00:00
|
|
|
mr900|\
|
2017-10-24 08:58:39 +00:00
|
|
|
mr900v2|\
|
|
|
|
om2p|\
|
|
|
|
om2p-hs|\
|
2016-09-29 10:00:17 +00:00
|
|
|
om2p-hsv2|\
|
|
|
|
om2p-hsv3|\
|
2016-06-02 09:29:23 +00:00
|
|
|
om2p-hsv4|\
|
2016-09-29 10:00:17 +00:00
|
|
|
om2p-lc|\
|
|
|
|
om2pv2|\
|
2016-06-02 09:29:23 +00:00
|
|
|
om2pv4|\
|
2017-10-24 08:58:39 +00:00
|
|
|
om5p|\
|
2016-09-29 10:00:17 +00:00
|
|
|
om5p-ac|\
|
2017-10-24 08:58:39 +00:00
|
|
|
om5p-acv2|\
|
|
|
|
om5p-an)
|
2016-09-29 10:00:17 +00:00
|
|
|
platform_check_image_openmesh "$magic_long" "$1" && return 0
|
|
|
|
return 1
|
|
|
|
;;
|
|
|
|
mr18|\
|
|
|
|
z1)
|
|
|
|
merakinand_do_platform_check $board $1
|
|
|
|
return $?
|
|
|
|
;;
|
2016-10-11 18:32:26 +00:00
|
|
|
dir-869-a1|\
|
2016-09-29 10:00:17 +00:00
|
|
|
mynet-n600|\
|
|
|
|
mynet-n750|\
|
|
|
|
qihoo-c301)
|
|
|
|
[ "$magic_long" != "5ea3a417" ] && {
|
|
|
|
echo "Invalid image, bad magic: $magic_long"
|
|
|
|
return 1
|
|
|
|
}
|
|
|
|
|
|
|
|
local typemagic=$(seama_get_type_magic "$1")
|
|
|
|
[ "$typemagic" != "6669726d" ] && {
|
|
|
|
echo "Invalid image, bad type: $typemagic"
|
|
|
|
return 1
|
|
|
|
}
|
|
|
|
|
|
|
|
return 0
|
|
|
|
;;
|
2016-11-27 06:52:53 +00:00
|
|
|
e2100l|\
|
2016-09-29 10:00:17 +00:00
|
|
|
mynet-rext|\
|
|
|
|
wrt160nl)
|
|
|
|
cybertan_check_image "$1" && return 0
|
2014-07-14 16:03:35 +00:00
|
|
|
return 1
|
|
|
|
;;
|
2016-09-29 09:44:44 +00:00
|
|
|
nbg6616|\
|
|
|
|
uap-pro|\
|
|
|
|
unifi-outdoor-plus)
|
2012-12-17 12:28:11 +00:00
|
|
|
[ "$magic_long" != "19852003" ] && {
|
|
|
|
echo "Invalid image type."
|
|
|
|
return 1
|
|
|
|
}
|
2016-09-29 09:44:44 +00:00
|
|
|
|
2009-06-06 17:44:49 +00:00
|
|
|
return 0
|
|
|
|
;;
|
2016-09-29 10:00:17 +00:00
|
|
|
tube2h)
|
|
|
|
alfa_check_image "$1" && return 0
|
|
|
|
return 1
|
|
|
|
;;
|
2016-09-29 09:44:44 +00:00
|
|
|
wndr3700|\
|
|
|
|
wnr1000-v2|\
|
|
|
|
wnr2000-v3|\
|
|
|
|
wnr612-v2|\
|
2016-01-19 10:16:04 +00:00
|
|
|
wpn824n)
|
2011-12-05 13:03:54 +00:00
|
|
|
local hw_magic
|
|
|
|
|
|
|
|
hw_magic="$(ar71xx_get_mtd_part_magic firmware)"
|
|
|
|
[ "$magic_long" != "$hw_magic" ] && {
|
|
|
|
echo "Invalid image, hardware ID mismatch, hw:$hw_magic image:$magic_long."
|
2009-11-28 08:25:56 +00:00
|
|
|
return 1
|
|
|
|
}
|
2016-09-29 09:44:44 +00:00
|
|
|
|
2009-11-25 09:51:25 +00:00
|
|
|
return 0
|
|
|
|
;;
|
2015-12-23 23:42:18 +00:00
|
|
|
wnr2000-v4)
|
2014-11-03 20:20:56 +00:00
|
|
|
[ "$magic_long" != "32303034" ] && {
|
|
|
|
echo "Invalid image type."
|
|
|
|
return 1
|
|
|
|
}
|
2016-09-29 09:44:44 +00:00
|
|
|
|
2014-11-03 20:20:56 +00:00
|
|
|
return 0
|
|
|
|
;;
|
2015-12-23 23:42:18 +00:00
|
|
|
wnr2200)
|
2016-09-29 09:44:44 +00:00
|
|
|
[ "$magic_long" != "32323030" ] && {
|
|
|
|
echo "Invalid image type."
|
|
|
|
return 1
|
|
|
|
}
|
2014-11-03 20:20:56 +00:00
|
|
|
|
2016-09-29 09:44:44 +00:00
|
|
|
return 0
|
|
|
|
;;
|
2016-07-18 17:39:57 +00:00
|
|
|
dap-2695-a1)
|
|
|
|
local magic=$(wrgg_get_image_magic "$1")
|
|
|
|
[ "$magic" != "21030820" ] && {
|
|
|
|
echo "Invalid image, bad type: $magic"
|
|
|
|
return 1
|
|
|
|
}
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
;;
|
2017-02-15 10:40:06 +00:00
|
|
|
# these boards use metadata images
|
2016-12-30 10:53:21 +00:00
|
|
|
fritz300e|\
|
2017-02-15 10:40:06 +00:00
|
|
|
rb-750-r2|\
|
2017-10-05 12:26:23 +00:00
|
|
|
rb-750p-pbr2|\
|
2017-02-15 10:40:06 +00:00
|
|
|
rb-750up-r2|\
|
2018-01-18 12:50:32 +00:00
|
|
|
rb-911-2hn|\
|
|
|
|
rb-911-5hn|\
|
2017-02-15 10:40:06 +00:00
|
|
|
rb-941-2nd|\
|
|
|
|
rb-951ui-2nd|\
|
2017-03-08 09:07:00 +00:00
|
|
|
rb-952ui-5ac2nd|\
|
2017-03-17 04:00:33 +00:00
|
|
|
rb-962uigs-5hact2hnt|\
|
2017-03-06 22:06:13 +00:00
|
|
|
rb-lhg-5nd|\
|
2017-11-14 11:15:03 +00:00
|
|
|
rb-map-2nd|\
|
2017-10-28 10:30:39 +00:00
|
|
|
rb-mapl-2nd|\
|
2018-01-08 11:55:05 +00:00
|
|
|
rb-wap-2nd|\
|
|
|
|
rb-wapg-5hact2hnd)
|
2017-02-15 10:40:06 +00:00
|
|
|
return 0
|
|
|
|
;;
|
2009-06-06 17:44:49 +00:00
|
|
|
esac
|
|
|
|
|
|
|
|
echo "Sysupgrade is not yet supported on $board."
|
|
|
|
return 1
|
|
|
|
}
|
|
|
|
|
2015-05-10 13:54:25 +00:00
|
|
|
platform_pre_upgrade() {
|
2017-05-12 20:36:07 +00:00
|
|
|
local board=$(board_name)
|
2015-05-10 13:54:25 +00:00
|
|
|
|
|
|
|
case "$board" in
|
2017-02-23 11:24:05 +00:00
|
|
|
rb-750-r2|\
|
2017-10-05 12:26:23 +00:00
|
|
|
rb-750p-pbr2|\
|
2017-02-23 11:24:05 +00:00
|
|
|
rb-750up-r2|\
|
2018-01-18 12:50:32 +00:00
|
|
|
rb-911-2hn|\
|
|
|
|
rb-911-5hn|\
|
2017-02-23 11:24:05 +00:00
|
|
|
rb-941-2nd|\
|
|
|
|
rb-951ui-2nd|\
|
2017-03-08 09:07:00 +00:00
|
|
|
rb-952ui-5ac2nd|\
|
2017-03-17 04:00:33 +00:00
|
|
|
rb-962uigs-5hact2hnt|\
|
2017-03-06 22:06:13 +00:00
|
|
|
rb-lhg-5nd|\
|
2017-11-14 11:15:03 +00:00
|
|
|
rb-map-2nd|\
|
2017-10-28 10:30:39 +00:00
|
|
|
rb-mapl-2nd|\
|
2018-01-08 11:55:05 +00:00
|
|
|
rb-wap-2nd|\
|
|
|
|
rb-wapg-5hact2hnd)
|
2017-02-23 11:24:05 +00:00
|
|
|
# erase firmware if booted from initramfs
|
|
|
|
[ -z "$(rootfs_type)" ] && mtd erase firmware
|
|
|
|
;;
|
2015-05-10 13:54:25 +00:00
|
|
|
esac
|
|
|
|
}
|
|
|
|
|
2017-01-08 13:27:38 +00:00
|
|
|
platform_nand_pre_upgrade() {
|
2017-05-12 20:36:07 +00:00
|
|
|
local board=$(board_name)
|
2017-01-08 13:27:38 +00:00
|
|
|
|
|
|
|
case "$board" in
|
|
|
|
rb*)
|
|
|
|
CI_KERNPART=none
|
|
|
|
local fw_mtd=$(find_mtd_part kernel)
|
|
|
|
fw_mtd="${fw_mtd/block/}"
|
|
|
|
[ -n "$fw_mtd" ] || return
|
|
|
|
mtd erase kernel
|
|
|
|
tar xf "$1" sysupgrade-routerboard/kernel -O | nandwrite -o "$fw_mtd" -
|
|
|
|
;;
|
2017-06-27 21:26:03 +00:00
|
|
|
wi2a-ac200i)
|
|
|
|
case "$(fw_printenv -n dualPartition)" in
|
|
|
|
imgA)
|
|
|
|
fw_setenv dualPartition imgB
|
|
|
|
fw_setenv ActImg NokiaImageB
|
|
|
|
;;
|
|
|
|
imgB)
|
|
|
|
fw_setenv dualPartition imgA
|
|
|
|
fw_setenv ActImg NokiaImageA
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
ubiblock -r /dev/ubiblock0_0 2>/dev/null >/dev/null
|
|
|
|
rm -f /dev/ubiblock0_0
|
|
|
|
ubidetach -d 0 2>/dev/null >/dev/null
|
|
|
|
CI_UBIPART=ubi_alt
|
|
|
|
CI_KERNPART=kernel_alt
|
|
|
|
;;
|
2017-01-08 13:27:38 +00:00
|
|
|
esac
|
|
|
|
}
|
|
|
|
|
2009-11-25 09:51:25 +00:00
|
|
|
platform_do_upgrade() {
|
2017-05-12 20:36:07 +00:00
|
|
|
local board=$(board_name)
|
2009-11-25 09:51:25 +00:00
|
|
|
|
|
|
|
case "$board" in
|
2016-09-29 10:00:17 +00:00
|
|
|
all0258n)
|
|
|
|
platform_do_upgrade_allnet "0x9f050000" "$ARGV"
|
|
|
|
;;
|
2016-09-29 09:44:44 +00:00
|
|
|
all0305|\
|
|
|
|
eap7660d|\
|
|
|
|
ja76pf|\
|
2017-10-24 08:58:39 +00:00
|
|
|
ja76pf2|\
|
2016-09-29 09:44:44 +00:00
|
|
|
jwap003|\
|
|
|
|
ls-sr71|\
|
|
|
|
pb42|\
|
|
|
|
pb44|\
|
2017-10-24 08:58:39 +00:00
|
|
|
routerstation|\
|
|
|
|
routerstation-pro)
|
2009-11-25 09:51:25 +00:00
|
|
|
platform_do_upgrade_combined "$ARGV"
|
|
|
|
;;
|
2016-09-29 09:44:44 +00:00
|
|
|
all0315n)
|
2012-08-27 14:55:36 +00:00
|
|
|
platform_do_upgrade_allnet "0x9f080000" "$ARGV"
|
2011-11-01 09:23:32 +00:00
|
|
|
;;
|
2016-09-29 09:44:44 +00:00
|
|
|
cap4200ag|\
|
2017-04-14 17:08:17 +00:00
|
|
|
eap300v2|\
|
|
|
|
ens202ext)
|
2012-10-27 08:55:42 +00:00
|
|
|
platform_do_upgrade_allnet "0xbf0a0000" "$ARGV"
|
|
|
|
;;
|
2016-09-29 09:44:44 +00:00
|
|
|
dir-825-b1|\
|
2012-09-25 12:57:41 +00:00
|
|
|
tew-673gru)
|
|
|
|
platform_do_upgrade_dir825b "$ARGV"
|
|
|
|
;;
|
2016-09-23 07:37:44 +00:00
|
|
|
a40|\
|
2016-08-09 14:00:55 +00:00
|
|
|
a60|\
|
2016-09-29 09:44:44 +00:00
|
|
|
mr1750|\
|
2017-10-24 08:58:39 +00:00
|
|
|
mr1750v2|\
|
2016-09-29 09:44:44 +00:00
|
|
|
mr600|\
|
2017-10-24 08:58:39 +00:00
|
|
|
mr600v2|\
|
2016-09-29 09:44:44 +00:00
|
|
|
mr900|\
|
2017-10-24 08:58:39 +00:00
|
|
|
mr900v2|\
|
|
|
|
om2p|\
|
|
|
|
om2p-hs|\
|
2016-09-29 09:44:44 +00:00
|
|
|
om2p-hsv2|\
|
|
|
|
om2p-hsv3|\
|
2016-06-02 09:29:23 +00:00
|
|
|
om2p-hsv4|\
|
2016-09-29 09:44:44 +00:00
|
|
|
om2p-lc|\
|
|
|
|
om2pv2|\
|
2016-06-02 09:29:23 +00:00
|
|
|
om2pv4|\
|
2017-10-24 08:58:39 +00:00
|
|
|
om5p|\
|
2016-09-29 09:44:44 +00:00
|
|
|
om5p-ac|\
|
2017-10-24 08:58:39 +00:00
|
|
|
om5p-acv2|\
|
|
|
|
om5p-an)
|
2012-11-18 09:32:39 +00:00
|
|
|
platform_do_upgrade_openmesh "$ARGV"
|
2012-07-05 08:26:57 +00:00
|
|
|
;;
|
2017-12-18 19:32:18 +00:00
|
|
|
c-60|\
|
|
|
|
hiveap-121|\
|
|
|
|
nbg6716|\
|
|
|
|
r6100|\
|
|
|
|
rambutan|\
|
|
|
|
rb-411|\
|
|
|
|
rb-411u|\
|
|
|
|
rb-433|\
|
|
|
|
rb-433u|\
|
|
|
|
rb-435g|\
|
|
|
|
rb-450|\
|
|
|
|
rb-450g|\
|
|
|
|
rb-493|\
|
|
|
|
rb-493g|\
|
|
|
|
rb-750|\
|
|
|
|
rb-750gl|\
|
|
|
|
rb-751|\
|
|
|
|
rb-751g|\
|
|
|
|
rb-911g-2hpnd|\
|
|
|
|
rb-911g-5hpacd|\
|
|
|
|
rb-911g-5hpnd|\
|
|
|
|
rb-912uag-2hpnd|\
|
|
|
|
rb-912uag-5hpnd|\
|
2018-02-16 21:56:56 +00:00
|
|
|
rb-921gs-5hpacd-r2|\
|
2017-12-18 19:32:18 +00:00
|
|
|
rb-951g-2hnd|\
|
|
|
|
rb-951ui-2hnd|\
|
|
|
|
rb-2011il|\
|
|
|
|
rb-2011l|\
|
|
|
|
rb-2011uas|\
|
|
|
|
rb-2011uas-2hnd|\
|
|
|
|
rb-2011uias|\
|
|
|
|
rb-2011uias-2hnd|\
|
|
|
|
rb-sxt2n|\
|
|
|
|
rb-sxt5n|\
|
|
|
|
wi2a-ac200i|\
|
|
|
|
wndr3700v4|\
|
|
|
|
wndr4300)
|
|
|
|
nand_do_upgrade "$1"
|
|
|
|
;;
|
|
|
|
mr18|\
|
|
|
|
z1)
|
|
|
|
merakinand_do_upgrade "$1"
|
|
|
|
;;
|
2016-09-29 09:44:44 +00:00
|
|
|
uap-pro|\
|
|
|
|
unifi-outdoor-plus)
|
2013-11-14 19:38:54 +00:00
|
|
|
MTD_CONFIG_ARGS="-s 0x180000"
|
|
|
|
default_do_upgrade "$ARGV"
|
|
|
|
;;
|
2016-09-29 10:00:17 +00:00
|
|
|
wp543|\
|
|
|
|
wpe72)
|
|
|
|
platform_do_upgrade_compex "$ARGV"
|
|
|
|
;;
|
2009-11-25 09:51:25 +00:00
|
|
|
*)
|
|
|
|
default_do_upgrade "$ARGV"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
}
|