Support for the Linksys MR9000

Has anyone taken a look at this router at all? I just picked one up today, I pray this wasn't a mistake. From what I have read it seems as though it is very similar to the EA8300, EA8500 and likely the EA9500 (which I have but that thing is kind of a strange beast on it's own and subsequently lackluster CPU, RAM and NVRAM specs to my dismay). I am fairly certain someone would like a dump of the boot sequence to see what's going on and I have kind of figured out how to do builds but I am still new to it. So here's to the first post and my shot at trying to develop for this router.

Apparently similar to the EA8300, but not the others.

But similarity doesn't magically imply it being supported, while that might make porting it easier, it still needs to be done by someone experienced with the device on their desk.

Warning: do not try to randomly flashing firmware images for other devices, similar or not, unless you like expensive plastic bricks cluttering your desk.

1 Like

Oh trust me I know better than to do such a thing. I just need to serial in to find out what's going on and if it is anything like the EA8300 then a port shouldn't be an issue. Apparently this also has a bluetooth radio in it as well. Given that I have 4 variants of the WRTAC1900/3200 and a EA9500 I have done my fair share of poking around with the hardware (to include recovering from bricks). So this isn't really new territory. For me it's a matter of getting the hang of the builds.

Looked at a serial dump of the MR9000 looks like it's exactly like the EA8300 but with 512MB of RAM. In fact it even posses the same Dallas Code name as well.

U-Boot 2012.07 [Chaos Calmer 15.05.1,f53cef1+r49254] (Mar 29 2019 - 10:10:15)

CBT U-Boot ver: 1.4.0

smem ram ptable found: ver: 1 len: 3
DRAM:  512 MiB
machid : 0x8010006
NAND:  ID = 9590dac2
Vendor = c2
Device = da
ONFI device found
SF NAND unsupported id:ff:ff:ff:ffSF: Unsupported manufacturer ff
ipq_spi: SPI Flash not found (bus/cs/speed/mode) = (0/0/48000000/0)
256 MiB
MMC:   qca_mmc: 0
PCI0 Link Intialized
In:    serial
Out:   serial
Err:   serial
machid: 8010006
flash_type: 2

Updating boot_count ... done

Hit any key to stop autoboot:  0

Memory test start,  banksize=0x2000000, data size=0x8000, test count per bank=64
Memory test end, lapsed time = 3 seconds

The test result is success

NAND read: device 0 offset 0x5f80000, size 0x300000
 3145728 bytes read: OK
## Booting kernel from FIT Image at 84000000 ...
   Using 'config@1' configuration
   Trying 'kernel@1' kernel subimage
     Description:  ARM Linksys Linux-3.14.77
     Type:         Kernel Image
     Compression:  uncompressed
     Data Start:   0x840000e4
     Data Size:    2546696 Bytes = 2.4 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: 0x80208000
     Entry Point:  0x80208000
     Hash algo:    crc32
     Hash value:   7303fef3
     Hash algo:    sha1
     Hash value:   f02b809c1e2c3435db1bf1bb66c331203734f788
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Flattened Device Tree from FIT Image at 84000000
   Using 'config@1' configuration
   Trying 'fdt@1' FDT blob subimage
     Description:  ARM Linksys Dallas device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x8426de1c
     Data Size:    38988 Bytes = 38.1 KiB
     Architecture: ARM
     Hash algo:    crc32
     Hash value:   0767fa1f
     Hash algo:    sha1
     Hash value:   764999d3fab71e24ed2170157cdf8aa4fe8ee5c4
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Booting using the fdt blob at 0x8426de1c
   Loading Kernel Image ... OK
   Loading Device Tree to 87062000, end 8706e84b ... OK
Device nand2 not found!
eth0 MAC Address from ART is not valid
eth1 MAC Address from ART is not valid
Using machid 0x8010006 from environment

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 3.14.77 (root@build-vm) (gcc version 4.8.3 (OpenWrt                                                         /Linaro GCC 4.8-2014.04 r35193) ) #1 SMP PREEMPT Wed Jul 31 07:05:57 PDT 2019
[    0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instructio                                                         n cache
[    0.000000] Machine model: Qualcomm Technologies, Inc. IPQ40xx/AP-DK07.1-C1
[    0.000000] Reserved memory: failed to reserve memory for node 'rsvd1@8700000                                                         0': base 0x87000000, size 5 MiB
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] PERCPU: Embedded 8 pages/cpu @dfbc6000 s8384 r8192 d16192 u32768
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pag                                                         es: 127232
[    0.000000] Kernel command line: init=/sbin/init rootfstype=ubifs ubi.mtd=13,                                                         2048 root=ubi0:ubifs rootwait rw clk_ignore_unused
[    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Memory: 500752K/513024K available (4958K kernel code, 415K rwdata                                                         , 1648K rodata, 208K init, 251K bss, 12272K reserved, 0K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]     vmalloc : 0xe0800000 - 0xff000000   ( 488 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0208000 - 0xc087bda8   (6608 kB)
[    0.000000]       .init : 0xc087c000 - 0xc08b00c0   ( 209 kB)
[    0.000000]       .data : 0xc08b2000 - 0xc0919d74   ( 416 kB)
[    0.000000]        .bss : 0xc0919d74 - 0xc0958d18   ( 252 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] Architected cp15 timer(s) running at 48.00MHz (virt).
[    0.000008] sched_clock: 56 bits at 48MHz, resolution 20ns, wraps every 28633                                                         11552512ns
[    0.000017] Switching to timer-based delay loop
[    0.000353] Calibrating delay loop (skipped), value calculated using timer fr                                                         equency.. 96.00 BogoMIPS (lpj=480000)
[    0.000372] pid_max: default: 32768 minimum: 301
[    0.000640] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000653] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.012775] CPU: Testing write buffer coherency: ok
[    0.013154] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.013226] Setting up static identity map for 0x80213af0 - 0x80213b48
[    0.090649] CPU1: Booted secondary processor
[    0.090696] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.110659] CPU2: Booted secondary processor
[    0.110697] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[    0.130678] CPU3: Booted secondary processor
[    0.130715] CPU3: t[utopia][init] Starting sysevent subsystem

Have you tried https://routerip/fwupdate.html to upgrade MR9000 ?

mdwrt sugested this for the MR8300 and it's now a very simple upgrade bypassing all the serial access issues.

I just tried to Flash the Linksys MR9000 with EA8300 firmware 10.07.3 and .4

Must report doesn't work as the router never connects ethernet cable to hand out an IP address via DHCP, workstation always says cable disconnected.

Fortunately, I can always boot back to fail over partition, so bricking is temporary and the unworkable OpenWRT partition can also be overwritten back to Linksys OEM firmware.

Any thoughts on getting this working ?

Thank you for your input !

Just for info: MR9000 hardware specs

Sadly none other than the general answer to this question:

Compiling an image is above my pay grade :cold_face:

HW is almost same except WI2 radio chip is QCA9884 4x4 MIMO and not QCA9886 2X2 MIMO, I have a hunch the 9886 driver crashes the router. No info on Power Amp, but I don't think the PA in the issue.

Any way to obtain an EA8300 factory without the QCA9886 driver (for manual reinstall of 9884) or replacing the 9886 with the 9884 instead ?

Can someone in the community assist me with this ?

I assume the assembly of a test image should be possible quite easily with the Image Builder.

I'll buy another one and see what happens. Seems there is quite a bit of folks wanting to see this working as well.

1 Like

I also tried loading 19.07.4 EA8300 build on it. I agree the ethernet switch doesn't work. But the 2.4G and one of the 5G (ch 36-64) works. The other wifi likely just needs the 9884 driver included in the build.
Here is the boot log:

This line is suspicious:
[ 1.345687] ar40xx c000000.ess-switch: Probe failed - Missing PHYs!

Maybe this is relevant: [QCA8072] cannot initialize ess-switch

Including the 9884 driver did not magically fix anything or make the 3rd wifi work. :frowning:

Are we still interested in getting a version for this? I apologize for my delay in response, I am currently forward right now and so I am not exactly at home to try these things out. If so let me know, I can go ahead and get started again with research and trying a few things.

1 Like

I'm still interested. I've got one and can help test things..

Signed up so I could comment: Very interested! This device is outstanding. The stock firmware is atrocious, not a lot of options. I'll be keeping an eye on this thread, appreciate all the hard work.

1 Like

Definitely interested. Just purchased a Linksys MR9000. I had a Netgear Nighthawk 8500 that I've been running with tomato for about 3 years. Hoping I can get OpenWRT for the MR9000 sometime. I'd be able to test if someone has the know-how to develop.

I'm looking for MR9000 firmware. Just bought one and would really like to use a better interface that the OEM.

Although the router is excellent, advanced settings don't work. Tech support is useless. We really need a cfw for this one. Setting dns to my pi-hole on a seperate laptop running linux (connected to the router's wireless) eventually knocked it offline after taking forever to load. I had to reconfigure the pi-hole to my c7's wireless then added that dns to this linksys router to get it stable again.