Adding OpenWrt Support for Netgear RAX120 (Nighthawk AX12)

I tried that fully fledged build and it didn't work for me. I use a mostly dnsmasq based setup and it broke several configs I had. (then again, this is a "dirty" config from more than a year).
I also don't use stuff like Plex and instead use SMB and DLNA shares so it was wasted space.
I therefore switched to the NSS builds by @AgustinLorenzo because it's basically Snapshot + NSS and from there I scale up.
Since you're starting from scratch you could try that custom build.
I suggest you add a saved search for eBay on the RAX120s, since the cheap RAXs come and go in waves. I've never paid more than $40 for mine.

1 Like

Got it. Thanks for the tip for the other builds. Agustin looks very promising! I'll flash that first thing. I assume it's just a matter of replacing the file names, or renaming them to make it easier (would that break anything?) while doing the initial flash. You're awesome, I really appreciate it. NSS is sweet from what I'm reading about. This new stuff is out of my league but I'm learning. This wrx36 is going to blow my belkins socks off. It's coming, I think it will be here tomorrow so I'm getting ready for the flash, which isn't easy like all the others I've done where I simply upload the file to factory firmware. I've got this though, just need to follow every step to the letter.

I do have a lookout for rax120 ha but it's a pain to have to individually look up all the serials to identify a v2. From my understanding there is no way to tell from the outside appearance or label on the back if it's v2 hardware or not, (and some sellers I've messaged refuse to give it out or look up if it's v2 because of a fixed exploit concerning the serial.. the serial is on the box when one buys it, who do these people think I am? A supreme social engineering black hat? Lol) which is all annoying and you'd think detrimental for their RMA services or technicians but I'm nobody and know nothing.

Thanks though for the tip on those builds :slight_smile:

There is actually a difference between RAX v1 and v2 on the labels, this post early on the thread describes how a v2 label looks like: Adding OpenWrt Support for Netgear RAX120 (Nighthawk AX12) - #6 by RobertP
But I've only seen one v1 unit so far. Seems like because it was produced early on the WiFi 6 era it wasn't common.

For WRX36 you only need to keep track of the initramfs and sysupgrade filenames.

1 Like

Well that's what I get for not reading from the start. Thank you very much. Very helpful. I'll just keep the filenames as is (not rename them to 'initramfs.itb' for example) if it'll be a problem maybe.
I like how helpful you and this whole community are when it comes to any questions. No snobbiness... Unless it's deserved lol

Rax120v2 will soon be in my WDS now that I know what to look for. I just need to ask/look for the FCC ID. Much easier. Right on.

Good morning, guys

Has anyone had problems with the latest snapshots?

U-Boot 2016.01 (Nov 12 2019 - 11:55:34 +0800)

Model: QCA, IPQ807x-HK01
U-boot dni1 V1.6 for DNI HW ID: 29765589; NAND flash 512MB; RAM 1024MB .
developed based on 'qsdk-ipq807x.ilq.10.0-spf.10.0.CS_patch_4'
DRAM:  smem ram ptable found: ver: 1 len: 4
1 GiB
NAND:  ONFI device found
ID = 1590acef
Vendor = ef
Device = ac
SF: Unsupported flash IDs: manuf 00, jedec 0000, ext_jedec 0000
ipq_spi: SPI Flash not found (bus/cs/speed/mode) = (0/0/48000000/0)
512 MiB
MMC:   <NULL>: 0
*** Warning - bad CRC, using default environment

In:    serial@78B3000
Out:   serial@78B3000
Err:   serial@78B3000
machid: 8010000
Net:   MAC0 addr:80:cc:9c:87:b7:db
PHY ID1: 0x4d
PHY ID2: 0xd0b1

NAND read: device 0 offset 0x7e00000, size 0x80000
 524288 bytes read: OK
bad magic on ETHPHYFW partition
PHY ID1: 0x3a1
PHY ID2: 0xb612
EDMA ver 1 hw init
Num rings - TxDesc:1 (0-0) TxCmpl:1 (7-7)
RxDesc:1 (15-15) RxFill:1 (7-7)
ipq807x_edma_alloc_rings: successfull
ipq807x_edma_setup_ring_resources: successfull
ipq807x_edma_configure_rings: successfull
ipq807x_edma_hw_init: successfull
eth0
Hit any key to stop autoboot:  0
ipq807x_eth_halt: done
eth0 PHY0 Down Speed :10 Half duplex
eth0 PHY1 Down Speed :10 Half duplex
eth0 PHY2 Down Speed :10 Half duplex
eth0 PHY3 up Speed :1000 Full duplex
eth0 PHY4 Down Speed :10 Half duplex
10M speed not supported
ipq807x_eth_init: done

 Client starts...[Listening] for ADVERTISE...TTT
Retry count exceeded; boot the image as usual
ipq807x_eth_halt: done

 nmrp server is stopped or failed !
Loading DNI firmware for checking...

Loading from device 0: nand0 (offset 0x1980000)

** KERNEL partition size, kernel : 0x5900000 **

** ROOTFS partition size, kernel: 0x5900000, rootfs: 0x0 **

** rootfs address : 0x498fffc0 **

## Checking Image at 44000000 ...
   FIT image found
   FIT description: ARM64 OpenWrt FIT (Flattened Image Tree)
    Image 0 (kernel-1)
     Description:  ARM64 OpenWrt Linux-6.6.30
     Type:         Kernel Image
     Compression:  gzip compressed
     Data Start:   0x440000e8
     Data Size:    93163852 Bytes = 88.8 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x41000000
     Entry Point:  0x41000000
     Hash algo:    crc32
     Hash value:   b5c2efa2
     Hash algo:    sha1
     Hash value:   a01121f54eccff7e8615ba3d0112ef628ab4ddde
    Image 1 (fdt-1)
     Description:  ARM64 OpenWrt netgear_rax120v2 device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x498d9374
     Data Size:    47686 Bytes = 46.6 KiB
     Architecture: AArch64
     Hash algo:    crc32
     Hash value:   565b6f7a
     Hash algo:    sha1
     Hash value:   5ea4e452bb0b757e0016c625c0eebb71bd718ffd
    Default Configuration: 'config@hk01'
    Configuration 0 (config@hk01)
     Description:  OpenWrt netgear_rax120v2
     Kernel:       kernel-1
     FDT:          fdt-1
## Checking hash(es) for FIT Image at 44000000 ...
   Hash(es) for Image 0 (kernel-1): crc32+ sha1+
   Hash(es) for Image 1 (fdt-1): crc32+ sha1+

## Checking Image at 498fffc0 ...
   Legacy image found
   Image Name:   OpenWrt fake filesystem
   Image Type:   AArch64 Linux Filesystem Image (uncompressed)
   Data Size:    0 Bytes = 0 Bytes
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK

NAND read: device 0 offset 0x1980000, size 0x6400000
 104857600 bytes read: OK
## Loading kernel from FIT Image at 44000000 ...
   Using 'config@hk01' configuration
   Trying 'kernel-1' kernel subimage
     Description:  ARM64 OpenWrt Linux-6.6.30
     Type:         Kernel Image
     Compression:  gzip compressed
     Data Start:   0x440000e8
     Data Size:    93163852 Bytes = 88.8 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x41000000
     Entry Point:  0x41000000
     Hash algo:    crc32
     Hash value:   b5c2efa2
     Hash algo:    sha1
     Hash value:   a01121f54eccff7e8615ba3d0112ef628ab4ddde
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading fdt from FIT Image at 44000000 ...
   Using 'config@hk01' configuration
   Trying 'fdt-1' fdt subimage
     Description:  ARM64 OpenWrt netgear_rax120v2 device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x498d9374
     Data Size:    47686 Bytes = 46.6 KiB
     Architecture: AArch64
     Hash algo:    crc32
     Hash value:   565b6f7a
     Hash algo:    sha1
     Hash value:   5ea4e452bb0b757e0016c625c0eebb71bd718ffd
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Booting using the fdt blob at 0x498d9374
   Uncompressing Kernel Image ... Error: inflate() returned -5
Image too large: increase CONFIG_SYS_BOOTM_LEN
Must RESET board to recover
resetting ...

that is kind of big ...

Yes, it is a custom compiled image, but when taking snapshots using the web-ui of the stock fw it presents an error and this is said in the log

incorrect language table file, cannot find the region name.

FILE: /tmp/uhttp-upgrade.img is upload successfully!

Not match RAX120!!!

personally, i am waiting for rax120 hit openwrt 24.xx officially.

I have a RAX120v2 but I can't flash OpenWRT on it. Tried to upgrade trough netgear webinterface (factory-web-ui.img): getting file incorrect.. etc. Tried to upgrade with tftp: bad checksum with the .itb file. The factory-web-ui.img does not give this error, but the router does nothing after transfer. The power led keeps blinking. After 15 minutes i turned off the router and it booted normally again. It's an 100EUS version, not 100PES. I think the deviceid does not match the one in the firmware files. I have installed the latest Netgear firmware but still can't upgrade to OpenWRT. The webui shows 'Hardware: RAX120v2'.

I did a check in telnet:
root@RAX120:/# hexdump -C /proc/device-tree/soc_version_major
00000000 02 00 00 00 |....|
00000004

Please tell me how i can get it working. I checked the deviceid in the factory-web-ui.img. The first line shows SXS80 instead of RAX120v2?? Is this correct?

For TFTP flashing don't use itb.
Use the factorywebui.img file for TFTP and the system will boot in initramfs mode. After that flash sysupgrade.bin.
For easy use, I recommend some of the precompiled files by @AgustinLorenzo located here: https://github.com/AgustinLorenzo/openwrt/releases
This is because snapshot images don't even contain LuCI.

Finally got everything working. Had to use the web-ui-factory.img from build https://github.com/AgustinLorenzo/openwrt/releases/tag/ipq807x-nsswifi-mesh-2024-05-15-1908

The router refuses to flash web-ui-factory.img from newer builds because the devicename in these newer images is set to SXS80.

Glad you got it flashed in the end. After this you need the cal-ahb file I mentioned in a previous post and you can either leave it with its default board-2 or use the generic one for more power.

Should i enable 'Software flow offloading' and 'Hardware flow offloading' in OpenWRT in order to get full offloading at the NSS cores? Or just leave it disabled? Also, how can i check if wifi offloading is working?

If you're using the NSS builds, it's already enabled. You don't need to mess with any offloading options.

Hi guys! Is it safe to flash a Netgear image via sysupdate -f ? I have rax120v1 with Openwrt, need to return stock Netgear image
Or do I need to use something else for flashing?

Sorry if this is the wrong topic

upd: Whatever. It doesn't work.

How did you manage to get OpenWrt into your rax120v1? Or do you mean rax120v2?

I bought it on ebay and found out that it didn't work.
TFTP has error like "10m not supported" - can't use it

You can use Paldier's SWRT fork in RAX120v1. It's at least better than NetGear's stock FW.

thanks, but my problem is how to flash from usb or serial with uboot.
I will gladly flash any firmware if I know how to do it

Can you provide more information about Paldier's SWRT fork.

Are you referring to this: https://blog.paldier.com/rax120/
Would know what works and what doesn't?

I'm mainly interested in VLANs and the 5GHZ radios, would you know if these will work?

I have 2 RAX120V1 that I'll like to use as APs and been digging around for a possible solution.