openwrt/target/linux/generic/hack-5.15
Thomas Kupper 4d79a65d60 ipq807x: add support for Netgear RAX120v2
Netgear Nighthawk RAX120v2 AX WIFI router with 5 1G and 1 5G ports.

The majority of the code is based on @jewwest's PR #11830.

Specifications:
    * CPU: Qualcomm IPQ8074 Quad core Cortex-A53 2.2GHz
    * RAM: 1024MB of DDR3 (Nanya NT5CC256M16EP-EK × 2)
    * Flash: SPI-NAND 512 MiB (Winbond W29N04GZBIBA)
    * Ethernet: 4x 10/100/1000 Mbps LAN,
                1x 10/100/1000 Mbps WAN (Qualcomm QCA8075),
                1x 10/100/1000/2500/5000 Mbps LAN/WAN (Aquantia AQR111B0 PHY)
    * Wi-Fi:
        * 2.4 GHz: Qualcomm QCN5024 4x4
        * 2x 5 GHz: Qualcomm QCN5054 4x4
    * USB: 2x USB 3.0
    * LEDs: Power, 2.4GHz & 5GHz Radio, WPS, WAN, USB1 & USB2, 5G LAN
    * Keys: LEDs On/Off, Power, Reset, RFKILL, WPS
    * UART: Marked J9003 VCC TX RX GND, beginning from "1". 3.3v, 115200n8
    * Power: 19 VDC, 3.1 A

Installation:
    * Flashing OpenWrt is done in two steps:
        a) Flash *-squashfs-web-ui-factory.img from stock UI (thanks to @wangyu-).
           This writes an initramfs based OpenWrt image onto the RAX120v2
        b) From OpenWrt flash the *-squashfs-sysupgrade.bin using LuCI or the commandline

    * U-Boot allows booting an initramfs image via TFTP:
    - Set ip of your PC to 192.168.1.100
        - At the serial console interrupt boot at "Hit any key to stop autoboot:"
        - In u-boot run `tftpsrv`
        - On your PC send the OpenWrt initramfs image:

          tftp 192.168.1.1 -m binary -c put openwrt-ipq807x-generic-netgear_rax120v2-initramfs-uImage.itb

Make 5G Aquantia phy work:
    For the 5G port labeled 'lan5' to work a firmware is needed. This can be loaded in
    u-boot by writing the firmware to the correct mtd partition.

    The firmware file found in the Netgear stock firmware under /lib/firmware/ named
    'AQR-G3_v4.3.C-AQR_DNI_DR-EQ35AX8-R-prov1_ID23888_VER1311.cld' is needed and has to
    be converted to a MBN file.

    The `mkheader.py` script used here can be found in the Netgear V1.2.8.40 GPL source,
    under 'git_home/u-boot.git/tools/mkheader.py'

    Convert the CLD file to MBN using:
    $ python2 mkheader.py 0x44000000 0x13 <*.cld file> aqr_4.3.C.mbn

    This MBN file can then be flashed to the MTD partition to be used by u-boot.

    The necessary files can also be found in
        https://github.com/boretom/openwrt-fork/tree/rax120v2/aquantia-firmware

    * Write MBN file to MTD partition to be loaded automatically by u-boot:

      U-boot automatically tries to load the firmware from nand at address 0x7e00000 which
      corresponds to `/dev/mtd25` in OpenWrt.

        - find ETHPHYFW partition while running OpenWrt (expected: /dev/mtd25)

          $ fgrep -i 'ethphyfw' /proc/mtd
          mtd25: 00080000 00020000 "ethphyfw

        - copy mbn file to /tmp/ folder of the router

          $ scp aqr-v4.3.C.mbn 192.168.1.1:/tmp/

        - write mbn file to ethphyfw partition

          $ mtd write /tmp/aqr_v4.3.C.mbn /dev/mtd25

Revert to stock firmware:
    * Flash the stock firmware to the bootloader using TFTP/NMRP.

References to RAX120v2 GPL source:
    https://www.downloads.netgear.com/files/GPL/RAX120-V1.2.8.40_gpl_src.zip

Reviewed-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Thomas Kupper <thomas.kupper@gmail.com>
2023-08-19 17:12:46 +02:00
..
204-module_strip.patch kernel: bump 5.15 to 5.15.123 2023-07-30 18:02:47 +02:00
205-kconfig-abort-configuration-on-unset-symbol.patch kconfig: abort configuration on unset symbol 2022-11-13 16:49:30 +01:00
210-darwin_scripts_include.patch generic: 5.15: copy config and patch from 5.10 2022-03-27 00:07:34 +00:00
211-darwin-uuid-typedef-clash.patch generic: 5.15: copy config and patch from 5.10 2022-03-27 00:07:34 +00:00
212-tools_portability.patch generic: 5.15: refresh hack patch 2022-03-27 05:00:50 +01:00
214-spidev_h_portability.patch generic: 5.15: refresh hack patch 2022-03-27 05:00:50 +01:00
220-arm-gc_sections.patch kernel: bump 5.15 to 5.15.125 2023-08-09 22:06:24 +02:00
221-module_exports.patch kernel: bump 5.15 to 5.15.103 2023-03-25 16:01:23 +01:00
230-openwrt_lzma_options.patch kernel: bump 5.15 to 5.15.40 2022-05-16 20:26:38 +02:00
250-netfilter_depends.patch kernel: bump 5.15 to 5.15.67 2022-09-09 21:08:37 +01:00
251-kconfig.patch kernel: bump 5.15 to 5.15.118 2023-06-23 23:05:45 +02:00
253-ksmbd-config.patch kernel: bump 5.15 to 5.15.96 2023-02-28 04:38:13 -05:00
259-regmap_dynamic.patch kernel: bump 5.15 to 5.15.123 2023-07-30 18:02:47 +02:00
260-crypto_test_dependencies.patch kernel: bump 5.15 to 5.15.49 2022-06-27 00:57:16 +02:00
261-lib-arc4-unhide.patch kernel: bump 5.15 to 5.15.55 2022-07-31 18:55:22 +02:00
280-rfkill-stubs.patch kernel: bump 5.15 to 5.15.118 2023-06-23 23:05:45 +02:00
300-MIPS-r4k_cache-use-more-efficient-cache-blast.patch generic: 5.15: refresh hack patch 2022-03-27 05:00:50 +01:00
321-powerpc_crtsavres_prereq.patch kernel: bump 5.15 to 5.15.63 2022-08-25 22:07:43 +02:00
402-mtd-blktrans-call-add-disks-after-mtd-device.patch kernel: backport mtd fixes for nvmem 2023-04-06 07:26:11 +02:00
410-block-fit-partition-parser.patch kernel: bump 5.15 to 5.15.55 2022-07-31 18:55:22 +02:00
420-mtd-support-OpenWrt-s-MTD_ROOTFS_ROOT_DEV.patch kernel: bump 5.15 to 5.15.86 2023-01-03 23:55:45 +01:00
421-drivers-mtd-parsers-add-nvmem-support-to-cmdlinepart.patch generic: 5.15: copy config and patch from 5.10 2022-03-27 00:07:34 +00:00
430-mtk-bmt-support.patch kernel: bump 5.15 to 5.15.55 2022-07-31 18:55:22 +02:00
601-of_net-add-mac-address-ascii-support.patch generic: update nvmem cell mac-address-ascii support 2023-04-21 21:35:45 +02:00
645-netfilter-connmark-introduce-set-dscpmark.patch kernel: bump 5.15 to 5.15.81 2022-12-11 02:42:52 +01:00
650-netfilter-add-xt_FLOWOFFLOAD-target.patch kernel: enable conntrack counter updates for iptables xt_FLOWOFFLOAD 2023-03-24 10:15:23 +01:00
651-wireless_mesh_header.patch generic: 5.15: refresh hack patch 2022-03-27 05:00:50 +01:00
660-fq_codel_defaults.patch kernel: bump 5.15 to 5.15.76 2022-10-30 17:57:25 +01:00
661-kernel-ct-size-the-hashtable-more-adequately.patch kernel: bump 5.15 to 5.15.117 2023-06-16 19:44:28 +02:00
700-swconfig_switch_drivers.patch generic: backport initial LEDs hw control support 2023-06-06 11:01:31 +02:00
711-net-dsa-mv88e6xxx-disable-ATU-violation.patch kernel: bump 5.15 to 5.15.106 2023-04-09 14:48:34 +02:00
720-net-phy-add-aqr-phys.patch kernel: bump 5.15 to 5.15.71 2022-10-02 20:21:55 +02:00
721-net-add-packet-mangeling.patch kernel: bump 5.15 to 5.15.118 2023-06-23 23:05:45 +02:00
722-net-phy-aquantia-enable-AQR112-and-AQR412.patch kernel: bump 5.15 to 5.15.71 2022-10-02 20:21:55 +02:00
723-net-phy-aquantia-fix-system-side-protocol-mi.patch kernel: bump 5.15 to 5.15.71 2022-10-02 20:21:55 +02:00
724-net-phy-aquantia-Add-AQR113-driver-support.patch kernel: bump 5.15 to 5.15.71 2022-10-02 20:21:55 +02:00
725-net-phy-aquantia-add-PHY_IDs-for-AQR112-variants.patch kernel: bump 5.15 to 5.15.71 2022-10-02 20:21:55 +02:00
726-net-phy-aquantia-enable-AQR111-and-AQR111B0.patch ipq807x: add support for Netgear RAX120v2 2023-08-19 17:12:46 +02:00
750-net-pcs-mtk-lynxi-workaround-2500BaseX-no-an.patch generic: Convert incorrect generic/5.15 patches again 2023-04-27 16:18:44 +01:00
760-net-usb-r8152-add-LED-configuration-from-OF.patch kernel: bump 5.15 to 5.15.112 2023-05-18 18:22:27 +02:00
761-dt-bindings-net-add-RTL8152-binding-documentation.patch generic: 5.15: copy config and patch from 5.10 2022-03-27 00:07:34 +00:00
765-mxl-gpy-control-LED-reg-from-DT.patch kernel: refresh mxl-gpy LED patch 2023-03-25 10:35:19 +01:00
766-net-phy-mediatek-ge-add-LED-configuration-interface.patch ramips: fix mt7621 kernel compilation 2023-05-12 09:38:58 +02:00
773-bgmac-add-srab-switch.patch kernel: bump 5.15 to 5.15.103 2023-03-25 16:01:23 +01:00
780-usb-net-MeigLink_modem_support.patch kernel: bump 5.15 to 5.15.124 2023-08-09 22:06:23 +02:00
790-SFP-GE-T-ignore-TX_FAULT.patch kernel: bump 5.15 to 5.15.108 2023-04-22 01:10:24 +02:00
795-backport-phylink_pcs-helpers.patch generic: Convert incorrect generic/5.15 patches again 2023-04-27 16:18:44 +01:00
800-GPIO-add-named-gpio-exports.patch linux/named-gpio-export: add support for OPEN_DRAIN and OPEN_SOURCE flag 2023-08-15 16:07:04 +02:00
810-bcma-ssb-fallback-sprom.patch linux/generic/hack-5.15: add missing patch header 2023-05-12 12:28:57 +02:00
901-debloat_sock_diag.patch kernel: bump 5.15 to 5.15.126 2023-08-13 13:03:43 +02:00
902-debloat_proc.patch kernel: bump 5.15 to 5.15.126 2023-08-13 13:03:43 +02:00
904-debloat_dma_buf.patch kernel: bump 5.15 to 5.15.105 2023-04-01 19:58:44 +02:00
910-kobject_uevent.patch generic: 5.15: copy config and patch from 5.10 2022-03-27 00:07:34 +00:00
911-kobject_add_broadcast_uevent.patch generic: 5.15: copy config and patch from 5.10 2022-03-27 00:07:34 +00:00
920-device_tree_cmdline.patch kernel: bump 5.15 to 5.15.55 2022-07-31 18:55:22 +02:00