immortalwrt/target/linux
Lauro Moreno 3c4de29ee3
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>
(cherry picked from commit da8428d277)
2023-02-25 14:05:31 +08:00
..
apm821xx kernel: bump 5.4 to 5.4.230 2023-01-28 19:26:47 +01:00
arc770 target: use wpad-basic-openssl by default 2022-05-25 22:38:44 +08:00
archs38 target: use wpad-basic-openssl by default 2022-05-25 22:38:44 +08:00
armvirt kernel: move some disabled symbols to generic 2021-04-11 16:54:22 +02:00
at91 treewide: make AddDepends/usb-serial selective 2021-06-08 22:50:32 +02:00
ath25 Merge Official Source 2022-09-05 13:20:57 +08:00
ath79 ath79: switch to wpad-openssl 2023-01-29 23:36:40 +08:00
bcm27xx Merge Official Source 2023-02-19 11:33:29 +08:00
bcm47xx target: use wpad-basic-openssl by default 2022-05-25 22:38:44 +08:00
bcm53xx bcm53xx: switch to wpad-openssl 2023-01-29 23:29:41 +08:00
bcm63xx kernel: bump 5.4 to 5.4.230 2023-01-28 19:26:47 +01:00
bcm4908 kernel: Deactivate B53 symbols in generic configuration 2023-01-02 19:17:49 +08:00
gemini kernel: bump 5.4 to 5.4.150 2021-10-02 16:05:34 +02:00
generic Merge Official Source 2023-02-19 11:33:29 +08:00
imx6 kernel: bump 5.4 to 5.4.231 2023-02-18 19:18:13 +01:00
ipq40xx kernel: bump 5.4 to 5.4.230 2023-01-28 19:26:47 +01:00
ipq806x ipq806x: add support for Askey RT4230W REV6 2023-02-25 14:05:31 +08:00
kirkwood target: use wpad-basic-openssl by default 2022-05-25 22:38:44 +08:00
lantiq kernel: bump 5.4 to 5.4.230 2023-01-28 19:26:47 +01:00
layerscape Merge Official Source 2023-02-19 11:33:29 +08:00
malta target: use wpad-basic-openssl by default 2022-05-25 22:38:44 +08:00
mediatek mediatek: switch to wpad-openssl 2023-01-29 23:31:38 +08:00
mpc85xx Merge Official Source 2023-02-14 05:34:01 +08:00
mvebu mvebu: switch to wpad-openssl 2023-01-29 23:30:23 +08:00
mxs
octeon kernel: bump 5.4 to 5.4.211 2022-09-04 15:32:22 +02:00
octeontx Merge Official Source 2022-09-05 13:20:57 +08:00
omap target: use wpad-basic-openssl by default 2022-05-25 22:38:44 +08:00
oxnas Merge Official Source 2022-11-13 13:52:38 +08:00
pistachio kernel: bump 5.4 to 5.4.230 2023-01-28 19:26:47 +01:00
ramips ramips: move KERNEL_LOADADDR into Device/Default 2023-02-23 11:13:14 +08:00
realtek Merge Official Source 2023-01-07 16:35:05 +08:00
rockchip rockchip: rk3328: use 1.45v for 1512MHz overclocking 2023-01-29 20:44:57 +08:00
sunxi Merge Official Source 2023-02-19 11:33:29 +08:00
tegra target: use wpad-basic-openssl by default 2022-05-25 22:38:44 +08:00
uml target: use wpad-basic-openssl by default 2022-05-25 22:38:44 +08:00
x86 x86: switch to vendor i40e driver 2023-02-24 14:46:32 +08:00
zynq kernel: move some disabled symbols to generic 2021-04-11 16:54:22 +02:00
Makefile