Wavlink WL-WN536AX6 "Mighty LX-2" "AX6000 Dual-band Mesh Router

This topic is to share my experience attempting to get a FOSS version of OpenWrt running on this "wifi-6" device, and to solicit help and support as needed. I'm totally new to the OS and this forum. My plan is to edit this first post to summarize the thread as it grows, and as I learn what are the expectations of forum members for post topics.

Let's start with some product reference links:

When I received the router, WavLink customer support told me that the device wasn't compatible with OpenWrt (wrong) and that it was none of my business what was the internal hardware chipset (MT7986).

Running the iminfo command from a serial console in U-boot mode
yields ...


MT7986> iminfo

## Checking Image at 46000000 ...
   FIT image found
   FIT description: ARM64 OpenWrt FIT (Flattened Image Tree)
    Image 0 (kernel@1)
     Description:  ARM64 OpenWrt Linux-5.4.194
     Type:         Kernel Image
     Compression:  lzma compressed
     Data Start:   0x460000e8
     Data Size:    3515846 Bytes = 3.4 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x48080000
     Entry Point:  0x48080000
     Hash algo:    crc32
     Hash value:   6b9b3b87
     Hash algo:    sha1
     Hash value:   4b4264a0837d84415239f8bce3a9b1c682546856
    Image 1 (fdt@1)
     Description:  ARM64 OpenWrt mt7986a-ax6000-2500wan-spim-nand-rfb device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x4635a804
     Data Size:    24154 Bytes = 23.6 KiB
     Architecture: AArch64
     Hash algo:    crc32
     Hash value:   08841695
     Hash algo:    sha1
     Hash value:   b9f65b2d6853e032cccda37b3df26d957166bf05
    Default Configuration: 'config@1'
    Configuration 0 (config@1)
     Description:  OpenWrt
     Kernel:       kernel@1
     FDT:          fdt@1
## Checking hash(es) for FIT Image at 46000000 ...
   Hash(es) for Image 0 (kernel@1): crc32+ sha1+
   Hash(es) for Image 1 (fdt@1): crc32+ sha1+
MT7986>

So, the device is pretty definitely running some closed-source modified version of OpenWrt on a MediaTek 7986 chip.

Here is where my questions and requests for support begin...

  1. Shouldn't the OpenWrt license require WavLink to share the source code?
    • Is this actionable? How?
  2. What's the default user name for command line login?
    • It isn't 'admin'
    • It doesn't appear in the logs, not even when changing the password via GUI interface.
    • I tried peeking at the image's /etc/passwd, but performing ubifsmount returned errors for all of the volumes ('kernel', 'rootfs', 'rootfs_data', 'layout volume' - yes, with an embedded space)
UBIFS error (ubi0:1 pid 0): ubifs_read_node: bad node type (4 but expected 6)
UBIFS error (ubi0:1 pid 0): ubifs_read_node: bad node at LEB 0:0, LEB mapping status 1
Not a node, first 24 bytes:00000000: 68 73 71 73 6b 0d 00 00 da 3f 17 66 00 00 04 00 68 00 00 00 04 00 12 00                          hsqsk....?.f....h.......
Error reading superblock on volume 'ubi0:rootfs' errno=-22!
  1. How can I modify the kernel boot command to perform init=/bin/sh?
  1. It does, email them
  2. Email them again
  3. You could try to modify the bootcmd param in U-Boot

@frollic: I did everything that you suggested.

  1. & 2. I sent a polite email to the Wavlink technical support email address.

  2. All my modifications to environment variables failed. Performing printenv showed that neither bootcmd nor bootargs were defined by default. Here's what I did:

setenv bootcmd "init=/bin/sh"
saveenv

That booted normally, ie. no shell prompt at the TTL console

env delete bootcmd
setenv bootargs "init=/bin/sh"
saveenv

That boot hanged at the beginning, ie. "Starting kernel ..."

env delete bootargs
saveenv

EDIT: The setenv commands were tried both with and without the quotes

Anyone know how I can mount those ubi filesystems? ie. correct the reported errors or circumvent them?

Boot an Openwrt initramfs, try to mount it through there.

Boot an Openwrt initramfs, try to mount it through there.

That's way too cryptic a response for me. How would I go about doing that?

Find a device using the same SoC as your Wavlink, at https://firmware-selector.openwrt.org/, and DL the KERNEL image.

Boot it using the tftpboot + bootm commands in u-boot.

Understood. Thanks.

In the meantime, after some minor email back-and-forth last week, WavLink customer service promised me that sometime this week their 'engineering team' would send me a link to their 'source code'.

I'm also waiting for access to the wiki in order to start a hardware page for the device, including my photos and description of the take-apart process, and photos of the board etc.

Hi!

I've just bought Wavlink AX6000 router and I want to try vanilla OpenWrt but I'm new to flashing custom firmware on routers and OpenWrt itself..Do you have any news?

Thank you in advance.

Still unsupported.

I'm also a newbie. I got stuck at some point, put it aside
"temporarily", and haven't gotten back to it.

In parallel, my efforts to deal with the manufacturer came to naught.
I don't have my notes in front of me just now but my memory is that
first, they denied that the device was compatible, then when I
confronted them with my initial work that proved they themselves were
using open-wrt, they said they wouldn't share the sources and build
instructions, then when I pointed out the terms of the GPL they promised
they would comply, then they ghosted me.

If you find any user-friendly walk-throughs (or something like an
open-wrt version of the archwiki or gentoo wiki) for further attempts by
newbies, please let me know.

I’m trying and failing to upload an image of the device internals for you. The forum software is failing on me. It claims that my 0.5 Mb upload is larger than their 10 Mb limit, and suggests that I link to a cloud provider.

The second device is on its way from China. When I receive it, I will try some experiments like booting the vanilla OpenWrt KERNEL image. Wavlink's firmware update is not encrypted and contains some interesting clue:

{ "metadata_version": "1.1", "compat_version": "1.0", "supported_devices":["mediatek,mt7986a-2500wan-spim-snand-rfb"], "version": { "dist": "OpenWrt", "version": "21.02-SNAPSHOT", "revision": "r16793-0204709f40", "target": "mediatek/mt7986", "board": "mt7986a-ax6000-2500wan-spim-nand-rfb" } }

I think their firmware is very close to vanilla OpenWrt but with simple web interface, some preinstalled packages (like OpenVPN Client/Server), and probably some built-in spyware))

Another interesting note: The Wavlink firmware upgrade is version 231222, while my router’s current version is 250302.

these are showing up all over ebay in the US for $100. I am not sure what price people are looking at. I would be interested but Monday i should be getting a Gl.iNet GL-MT6000 so I will be in that camp. This will be interesting to see what the flash size and memory are. Wavlink I would bet small (correct?)

I always open my pic, take a screen shot, and just paste - never had any issue and screen shot should automatically be smaller (I use flameshot on linux, cropped automatically also)

I tried again with other formats. What worked for me was to resize the image down to 1920 pixels wide, with a size of ~200kb.

Anyway, in the attached photo, the serial terminal terminations are on the right side center (third grouping from the top). The antenna leads are color coded black for 5G and white for 2.5G

if the data is correct 128 flash, 512 Ram

I browsed about the link you sent, and it has some interesting information about a related product “travel router” for which WavLink documents support for SSH, LUCI uboot upgrading, and LUCI plugins. The “travel router” seems to be a different device, but WavLink may share its underlying software, so could some of the LUCI instructions might be relevant?

The instructions are to direct connect the router WAN to a PC, configure the PC ethernet line to a static IP 192.168.10.100, Press the RESET button of the device, then power on the router, hold down the 6s Reset button and release the button. Then the device automatically enters the Uboot mode. Finally, open the browser on the PC, enter 192.168.10.1 in the address box, and press enter. The uboot recovery page is displayed.

1 Like

serial is probably the best. I only have experience with Linksys doing this so far. other option is to sniff the connection with wireshark to find what tftp server the device is looking for.

EDIT: looks like the “square” version with extra 2.5Gig ports are almost the same. If the specs are correct both have 128MB flash, and 512 memory which is inline with the TPlink AX80. In the USA: ali express, ebay, walmart etc these are far too expensive - even more than the Gl.INet Gl-MT6000…. https://www.wavlink.com/en_us/product/WL-WN592AX6.html. Cheapest i saw was newegg https://www.newegg.com/wavlink-wl-wn530hg4-ieee-802-11ac-ieee-802-11a-b-g-n/p/0E6-009X-00050 (for the WL-WN592AX6, Giant Stream6)

I tried this method and it does NOT work on this device