2015-09-04 14:45:00 +00:00
|
|
|
PART_NAME=firmware
|
2016-11-14 16:32:04 +00:00
|
|
|
REQUIRE_IMAGE_METADATA=1
|
2015-09-04 14:45:00 +00:00
|
|
|
|
2017-07-10 16:37:25 +00:00
|
|
|
RAMFS_COPY_BIN='fw_printenv fw_setenv'
|
2017-07-10 16:03:39 +00:00
|
|
|
RAMFS_COPY_DATA='/etc/fw_env.config /var/lock/fw_printenv.lock'
|
|
|
|
|
2015-09-04 14:45:00 +00:00
|
|
|
platform_check_image() {
|
2016-11-20 19:06:15 +00:00
|
|
|
return 0;
|
2015-09-04 14:45:00 +00:00
|
|
|
}
|
|
|
|
|
2017-07-10 16:03:39 +00:00
|
|
|
platform_do_upgrade() {
|
2017-05-12 20:36:07 +00:00
|
|
|
case "$(board_name)" in
|
ipq806x: add support for Askey RT4230W REV6
This adds support for the Askey RT4230W REV6
(Branded by Spectrum/Charter as RAC2V1K)
At this time, there's no way to reinstall the stock firmware so don't install
this on a router that's being rented.
Specifications:
Qualcomm IPQ8065
1 GB of RAM (DDR3)
512 MB Flash (NAND)
2x Wave 2 WiFi cards (QCA9984)
5x 10/100/1000 Mbps Ethernet (Switch: QCA8337)
1x LED (Controlled by a microcontroller that switches it between red and
blue with different patterns)
1x USB 3.0 Type-A
12V DC Power Input
UART header on PCB - pinout from top to bottom is RX, TX, GND, 5V
Port settings are 115200n8
More information: https://forum.openwrt.org/t/askey-rac2v1k-support/15830
https://deviwiki.com/wiki/Askey_RAC2V1K
To check what revision your router is, restore one of these config backups
through the stock firmware to get ssh access then run
"cat /proc/device-tree/model".
https://forum.openwrt.org/t/askey-rac2v1k-support/15830/17
The revision number on the board doesn't seem to be very consistent so that's
why this is needed. You can also run printenv in the uboot console and if
machid is set to 177d, that means your router is rev6.
Note: Don't install this if the router is being rented from an ISP. The defined
partition layout is different from the OEM one and even if you changed the
layout to match, backing up and restoring the OEM firmware breaks /overlay so
nothing will save and the router will likely enter a bootloop.
How to install:
Method 1: Install without opening the case using SSH and tftp
You'll need:
RAC2V1K-SSH.zip:
https://github.com/lmore377/openwrt-rt4230w/blob/master/RAC2V1K-SSH.zip
initramfs and sysupgrade images
Connect to one of the router's LAN ports
Download the RAC2V1K-SSH.zip file and restore the config file that
corresponds to your router's firmware (If you're firmware is newer than what's
in the zip file, just restore the 1.1.16 file)
After a reboot, you should be able to ssh into the router with username:
"4230w" and password: "linuxbox" or "admin". Run the following commannds
fw_setenv ipaddr 10.42.0.10 #IP of router, can be anything as long as
it's in the same subnet as the server
fw_setenv serverip 10.42.0.1# #IP of tftp server that's set up in next
steps
fw_setenv bootdelay 8
fw_setenv bootcmd "tftpboot initramfs.bin; bootm; bootipq"
Don't reboot the router yet.
Install and set up a tftp server on your computer
Set a static ip on the ethernet interface of your computer (use this for
serverip in the above commands)
Rename the initramfs image to initramfs.bin, and host it with the tftp
server
Reboot the router. If you set up everything right, the router led should
switch over to a slow blue glow which means openwrt is booted. If for some
reason the file doesn't get loaded into ram properly, it should still boot to
the OEM firmware.
After openwrt boots, ssh into it and run these commands:
fw_setenv bootcmd "setenv mtdids nand0=nand0 && setenv mtdparts
mtdparts=nand0:0x1A000000@0x2400000(firmware) && ubi part firmware && ubi
read 0x44000000 kernel 0x6e0000 && bootm"
fw_setenv bootdelay 2
After openwrt boots up, figure out a way to get the sysupgrade file onto it
(scp, custom build with usb kernel module included, wget, etc.) then flash it
with sysupgrade. After it finishes flashing, it should reboot, the light should
start flashing blue, then when the light starts "breathing" blue that means
openwrt is booted.
Method 2: Install with serial access (Do this if something fails and you can't
boot after using method 1)
You'll need:
initramfs and sysupgrade images
Serial access:
https://openwrt.org/inbox/toh/askey/askey_rt4230w_rev6#opening_the_case
Install and set up a tftp server
Set a static ip on the ethernet interface of your computer
Download the initramfs image, rename it to initramfs.bin, and host it with
the tftp server
Connect the wan port of the router to your computer
Interrupt U-Boot and run these commands:
setenv serverip 10.42.0.1 (You can use whatever ip you set for the computer)
setenv ipaddr 10.42.0.10 (Can be any ip as long as it's in the same subnet)
setenv bootcmd "setenv mtdids nand0=nand0 &&
set mtdparts mtdparts=nand0:0x1A000000@0x2400000(firmware) && ubi part firmware
&& ubi read 0x44000000 kernel 0x6e0000 && bootm"
saveenv
tftpboot initramfs.bin
bootm
After openwrt boots up, figure out a way to get the sysupgrade file onto it
(scp, custom build with usb kernel module included, wget, etc.) then flash it
with sysupgrade. After it finishes flashing, it should reboot, the light should
start flashing blue, then when the light starts "breathing" blue that means
openwrt is booted.
Signed-off-by: Lauro Moreno <lmore377@gmail.com>
[add entry in 5.10 patch, fix whitespace issues]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-10-28 20:59:47 +00:00
|
|
|
askey,rt4230w-rev6 |\
|
2016-10-30 08:51:54 +00:00
|
|
|
compex,wpq864|\
|
2018-01-05 13:00:11 +00:00
|
|
|
netgear,d7800 |\
|
|
|
|
netgear,r7500 |\
|
|
|
|
netgear,r7500v2 |\
|
|
|
|
netgear,r7800 |\
|
ipq806x: add support for Netgear Nighthawk Pro Gaming XR500
This adds support for the Netgear Nighthawk Pro Gaming XR500.
It is the successor to the Netgear Nighthawk R7800 and shares almost
identical hardware to that device.
The stock firmware is a heavily modified version of OpenWRT.
Specifications:
SoC: Qualcomm Atheros IPQ8065
RAM: 512 MB
Storage: 256 MiB NAND Flash
Wireless: 2x Qualcomm Atheros QCA9984
Ethernet: 2x 1000/100/10 dedicated interfaces
Switch: 5x 1000/100/10 external ports
USB: 2x 3.0 ports
More information:
Manufacturer page: https://www.netgear.com/gaming/xr500/
Almost identical to Netgear R7800
Differences (r7800 > xr500):
Flash: 128MiB > 256MiB
Removed esata
swapped leds:
usb1 (gpio 7 > 8)
usb2 (gpio 8 > 26)
guest/esata (gpio 26 > 7)
MAC addresses:
On the OEM firmware, the mac addresses are:
WAN: *:50 art 0x6
LAN: *:4f art 0x0 (label)
2G: *:4f art 0x0
5G: *:51 art 0xc
Installation:
Install via Web Interface (preferred):
Utilize openwrt-ipq806x-netgear_xr500-squashfs-factory.img
Install via TFTP recovery:
1.Turn off the power, push and hold the reset button (in a hole on
backside) with a pin
2.Turn on the power and wait till power led starts flashing white
(after it first flashes orange for a while)
3.Release the reset button and tftp the factory img in binary mode.
The power led will stop flashing if you succeeded in transferring
the image, and the router reboots rather quickly with the new
firmware.
4.Try to ping the router (ping 192.168.1.1). If does not respond,
then tftp will not work either.
Uploading the firmware image with a TFTP client
$ tftp 192.168.1.1
bin
put openwrt-ipq806x-netgear_xr500-squashfs-factory.img
Note:
The end of the last partition is at 0xee00000. This was chosen
by the initial author, but nobody was able to tell why this
particular arbitrary size was chosen. Since it's not leaving
too much empty space and it's the only issue left, let's just
keep it for now.
Based on work by Adam Hnat <adamhnat@gmail.com>
ref: https://github.com/openwrt/openwrt/pull/3215
Signed-off-by: Peter Geis <pgwipeout@gmail.com>
[squash commits, move common LEDs to DTSI, remove SPDX on old
files, minor whitespace cleanup, commit message facelift,
add MAC address overview, add Notes, fix MAC addresses,
use generic name for partition nodes in DTS]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2021-09-13 15:08:57 +00:00
|
|
|
netgear,xr500 |\
|
2018-01-05 13:00:11 +00:00
|
|
|
qcom,ipq8064-ap148 |\
|
2019-07-17 09:32:54 +00:00
|
|
|
qcom,ipq8064-ap161)
|
2019-07-14 17:03:19 +00:00
|
|
|
nand_do_upgrade "$1"
|
2016-05-13 06:13:15 +00:00
|
|
|
;;
|
ipq806x: add support for Askey RT4230W REV6
This adds support for the Askey RT4230W REV6
(Branded by Spectrum/Charter as RAC2V1K)
At this time, there's no way to reinstall the stock firmware so don't install
this on a router that's being rented.
Specifications:
Qualcomm IPQ8065
1 GB of RAM (DDR3)
512 MB Flash (NAND)
2x Wave 2 WiFi cards (QCA9984)
5x 10/100/1000 Mbps Ethernet (Switch: QCA8337)
1x LED (Controlled by a microcontroller that switches it between red and
blue with different patterns)
1x USB 3.0 Type-A
12V DC Power Input
UART header on PCB - pinout from top to bottom is RX, TX, GND, 5V
Port settings are 115200n8
More information: https://forum.openwrt.org/t/askey-rac2v1k-support/15830
https://deviwiki.com/wiki/Askey_RAC2V1K
To check what revision your router is, restore one of these config backups
through the stock firmware to get ssh access then run
"cat /proc/device-tree/model".
https://forum.openwrt.org/t/askey-rac2v1k-support/15830/17
The revision number on the board doesn't seem to be very consistent so that's
why this is needed. You can also run printenv in the uboot console and if
machid is set to 177d, that means your router is rev6.
Note: Don't install this if the router is being rented from an ISP. The defined
partition layout is different from the OEM one and even if you changed the
layout to match, backing up and restoring the OEM firmware breaks /overlay so
nothing will save and the router will likely enter a bootloop.
How to install:
Method 1: Install without opening the case using SSH and tftp
You'll need:
RAC2V1K-SSH.zip:
https://github.com/lmore377/openwrt-rt4230w/blob/master/RAC2V1K-SSH.zip
initramfs and sysupgrade images
Connect to one of the router's LAN ports
Download the RAC2V1K-SSH.zip file and restore the config file that
corresponds to your router's firmware (If you're firmware is newer than what's
in the zip file, just restore the 1.1.16 file)
After a reboot, you should be able to ssh into the router with username:
"4230w" and password: "linuxbox" or "admin". Run the following commannds
fw_setenv ipaddr 10.42.0.10 #IP of router, can be anything as long as
it's in the same subnet as the server
fw_setenv serverip 10.42.0.1# #IP of tftp server that's set up in next
steps
fw_setenv bootdelay 8
fw_setenv bootcmd "tftpboot initramfs.bin; bootm; bootipq"
Don't reboot the router yet.
Install and set up a tftp server on your computer
Set a static ip on the ethernet interface of your computer (use this for
serverip in the above commands)
Rename the initramfs image to initramfs.bin, and host it with the tftp
server
Reboot the router. If you set up everything right, the router led should
switch over to a slow blue glow which means openwrt is booted. If for some
reason the file doesn't get loaded into ram properly, it should still boot to
the OEM firmware.
After openwrt boots, ssh into it and run these commands:
fw_setenv bootcmd "setenv mtdids nand0=nand0 && setenv mtdparts
mtdparts=nand0:0x1A000000@0x2400000(firmware) && ubi part firmware && ubi
read 0x44000000 kernel 0x6e0000 && bootm"
fw_setenv bootdelay 2
After openwrt boots up, figure out a way to get the sysupgrade file onto it
(scp, custom build with usb kernel module included, wget, etc.) then flash it
with sysupgrade. After it finishes flashing, it should reboot, the light should
start flashing blue, then when the light starts "breathing" blue that means
openwrt is booted.
Method 2: Install with serial access (Do this if something fails and you can't
boot after using method 1)
You'll need:
initramfs and sysupgrade images
Serial access:
https://openwrt.org/inbox/toh/askey/askey_rt4230w_rev6#opening_the_case
Install and set up a tftp server
Set a static ip on the ethernet interface of your computer
Download the initramfs image, rename it to initramfs.bin, and host it with
the tftp server
Connect the wan port of the router to your computer
Interrupt U-Boot and run these commands:
setenv serverip 10.42.0.1 (You can use whatever ip you set for the computer)
setenv ipaddr 10.42.0.10 (Can be any ip as long as it's in the same subnet)
setenv bootcmd "setenv mtdids nand0=nand0 &&
set mtdparts mtdparts=nand0:0x1A000000@0x2400000(firmware) && ubi part firmware
&& ubi read 0x44000000 kernel 0x6e0000 && bootm"
saveenv
tftpboot initramfs.bin
bootm
After openwrt boots up, figure out a way to get the sysupgrade file onto it
(scp, custom build with usb kernel module included, wget, etc.) then flash it
with sysupgrade. After it finishes flashing, it should reboot, the light should
start flashing blue, then when the light starts "breathing" blue that means
openwrt is booted.
Signed-off-by: Lauro Moreno <lmore377@gmail.com>
[add entry in 5.10 patch, fix whitespace issues]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-10-28 20:59:47 +00:00
|
|
|
asrock,g10)
|
|
|
|
asrock_upgrade_prepare
|
|
|
|
nand_do_upgrade "$1"
|
|
|
|
;;
|
|
|
|
buffalo,wxr-2533dhp)
|
|
|
|
buffalo_upgrade_prepare_ubi
|
|
|
|
CI_ROOTPART="ubi_rootfs"
|
|
|
|
nand_do_upgrade "$1"
|
|
|
|
;;
|
2020-09-07 10:43:37 +00:00
|
|
|
edgecore,ecw5410)
|
|
|
|
part="$(awk -F 'ubi.mtd=' '{printf $2}' /proc/cmdline | sed -e 's/ .*$//')"
|
|
|
|
if [ "$part" = "rootfs1" ]; then
|
|
|
|
fw_setenv active 2 || exit 1
|
|
|
|
CI_UBIPART="rootfs2"
|
|
|
|
else
|
|
|
|
fw_setenv active 1 || exit 1
|
|
|
|
CI_UBIPART="rootfs1"
|
|
|
|
fi
|
|
|
|
nand_do_upgrade "$1"
|
|
|
|
;;
|
2020-05-26 19:14:11 +00:00
|
|
|
linksys,ea7500-v1 |\
|
2016-10-30 08:51:54 +00:00
|
|
|
linksys,ea8500)
|
2019-07-14 17:03:19 +00:00
|
|
|
platform_do_upgrade_linksys "$1"
|
2016-10-30 08:51:54 +00:00
|
|
|
;;
|
2021-01-04 17:27:50 +00:00
|
|
|
tplink,ad7200 |\
|
2018-01-05 13:00:11 +00:00
|
|
|
tplink,c2600)
|
2016-05-27 14:26:42 +00:00
|
|
|
PART_NAME="os-image:rootfs"
|
|
|
|
MTD_CONFIG_ARGS="-s 0x200000"
|
2019-07-14 17:03:19 +00:00
|
|
|
default_do_upgrade "$1"
|
2016-05-27 14:26:42 +00:00
|
|
|
;;
|
2018-01-05 13:00:11 +00:00
|
|
|
tplink,vr2600v)
|
2016-11-23 17:51:15 +00:00
|
|
|
PART_NAME="kernel:rootfs"
|
|
|
|
MTD_CONFIG_ARGS="-s 0x200000"
|
2019-07-14 17:03:19 +00:00
|
|
|
default_do_upgrade "$1"
|
2016-11-23 17:51:15 +00:00
|
|
|
;;
|
2020-09-17 11:03:18 +00:00
|
|
|
zyxel,nbg6817)
|
|
|
|
zyxel_do_upgrade "$1"
|
|
|
|
;;
|
2017-03-14 16:04:28 +00:00
|
|
|
*)
|
2019-07-14 17:03:19 +00:00
|
|
|
default_do_upgrade "$1"
|
2017-03-14 16:04:28 +00:00
|
|
|
;;
|
2016-05-27 14:26:42 +00:00
|
|
|
esac
|
|
|
|
}
|