OpenWrt support for Linksys MX4200

Hi.
I was wondering if you have thought of developing OpenWRT for the Linksys mx4200 (mx4000 series) router. I just bought a pack of 2 Velop mx8400 (mx4200 each) and I am not very happy with the official firmware.

Thanks for your great work.

1 Like

IPQ8174 - Qualcomm Hawkeye platform.

Not supported at the moment.

And in your opinion, do you think it could be supported in the near future?
(I don't know if it is not supported by drivers, or proprietary code)

Hard to tell, it's the same situation as for ipq8074 and xiaomi AX3600 (you can look in the forum threads)

  1. ath11k driver is not really working with the kernel 5.10
  2. there is no ethernet driver implementation with kernel 5.10

Okay, I understand the situation perfectly.
Thanks for the info.

Chances are that it will be supportable in the future (ipq807x is an interesting topic with OpenWrt in mind), but that doesn't magically imply that every ipq807x device will actually get OpenWrt support - as that also depends on someone with the device on their desk to do the actual porting (for which pricing and availability, just as well as the question how difficult the vendor has made it (keywords firmware format/ factory support, serial console access, etc.) are major factors).

Indeed, I could find in google a publication in Chinese in which the mx4050 router has been disassembled and explains all its internal components. In this publication he comments that the mx4050 model marketed in China is the same European mx4200 model, the one I have.

This makes sense seeing that the official firmware Linksys provides, once updated, my router is renamed mx4000 series.

In this publication in Chinese he comments that it is Qualcomm IPQ8174:

And here I can send you the official Linksys firmware, I don't know if said firmware can help you in any way:

A greeting.

BTW i can't find an uart header on the acwifi pictures.
This would make a further analysis of the device pretty hard.

I don't know if this can be used to develop an OpenWRT firmware, I don't understand much about routers or this type of compilation. But I was able to get the sysinfo that generates the official Linksys firmware and I sent it here.
(I have covered my personal data, external IP and email within my possibilities).

I found the following information curious :wink:

Linux: Linux version 4.4.60 (root@build-vm) (gcc version 5.2.0 (OpenWrt GCC 5.2.0 998fe11+r49254) ) #1 SMP Wed Nov 11 00:57:54 PST 2020

sysinfo Linksys MX4200

There are UART pin header in the bottom right corner of the image here (white 6-pin JST XH connector next to JTAG): https://www.acwifi.net/wp-content/uploads/2020/10/SAM_84842.jpg
Any news on IPQ8174?

I ended up with a spare MX4200 to experiment with. There us a UART header on the board, pin-out is exactly the same as the v1 Velop router here.

Also appears to have a very similar boot environment to the v1 with the dual image. Flashing should be easy once we have a compatible target image.

Boot log below

=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2022.08.04 10:50:37 =~=~=~=~=~=~=~=~=~=~=~=

Format: Log Type - Time(microsec) - Message - Optional Info
Log Type: B - Since Boot(Power On Reset),  D - Delta,  S - Statistic
S - QC_IMAGE_VERSION_STRING=BOOT.BF.3.3.1-00158
S - IMAGE_VARIANT_STRING=HAACANAZA
S - OEM_IMAGE_VERSION_STRING=CRM
S - Boot Config, 0x000002e5
B -       201 - PBL, Start
B -      2734 - bootable_media_detect_entry, Start
B -      3440 - bootable_media_detect_success, Start
B -      3444 - elf_loader_entry, Start
B -      6105 - auth_hash_seg_entry, Start
B -      6348 - auth_hash_seg_exit, Start
B -     68221 - elf_segs_hash_verify_entry, Start
B -    131063 - PBL, End
B -    140879 - SBL1, Start
B -    192272 - GCC [RstStat:0x10, RstDbg:0x600000] WDog Stat : 0x4
B -    198677 - pm_device_init, Start
B -    318603 - PM_SET_VAL:Skip
D -    119438 - pm_device_init, Delta
B -    321012 - pm_driver_init, Start
D -      5337 - pm_driver_init, Delta
B -    327326 - clock_init, Start
D -      2135 - clock_init, Delta
B -    331382 - boot_flash_init, Start
D -     13389 - boot_flash_init, Delta
B -    348432 - boot_config_data_table_init, Start
D -      3294 - boot_config_data_table_init, Delta - (575 Bytes)
B -    355935 - Boot Setting :  0x00000618
B -    359869 - CDT version:2,Platform ID:8,Major ID:1,Minor ID:0,Subtype:13
B -    366793 - sbl1_ddr_set_params, Start
B -    370636 - CPR configuration: 0x30c
B -    374113 - cpr_init, Start
B -    376888 - Rail:0 Mode: 5 Voltage: 816000
B -    382134 - CL CPR settled at 768000mV
B -    384879 - Rail:1 Mode: 5 Voltage: 880000
B -    389149 - Rail:1 Mode: 7 Voltage: 920000
D -     16470 - cpr_init, Delta
B -    395920 - Pre_DDR_clock_init, Start
B -    399977 - Pre_DDR_clock_init, End
B -    403362 - DDR Type : PCDDR3
B -    409096 - do ddr sanity test, Start
D -      1037 - do ddr sanity test, Delta
B -    413854 - DDR: Start of HAL DDR Boot Training
B -    418490 - DDR: End of HAL DDR Boot Training
B -    424285 - DDR: Checksum to be stored on flash is -1644872310
B -    434686 - Image Load, Start
D -    226401 - QSEE Image Loaded, Delta - (1376448 Bytes)
B -    661179 - Image Load, Start
D -        61 - SEC Image Loaded, Delta - (0 Bytes)
B -    668865 - Image Load, Start
D -     10766 - DEVCFG Image Loaded, Delta - (26008 Bytes)
B -    679692 - Image Load, Start
D -     22204 - RPM Image Loaded, Delta - (86584 Bytes)
B -    701957 - Image Load, Start
D -     94703 - APPSBL Image Loaded, Delta - (574916 Bytes)
B -    796782 - QSEE Execution, Start
D -        61 - QSEE Execution, Delta
B -    802577 - USB D+ check, Start
D -         0 - USB D+ check, Delta
B -    808982 - SBL1, End
D -    670421 - SBL1, Delta
S - Flash Throughput, 6653 KB/s  (2065203 Bytes,  310390 us)
S - DDR Frequency, 466 MHz
S - Core 0 Frequency, 800 MHz



U-Boot 2016.01-WNC_v0.4 (Aug 27 2020 - 09:20:09 +0800)


DRAM:  smem ram ptable found: ver: 1 len: 4

512 MiB

board_env_offset=1000000, board_env_size=40000

board_devinfo_offset=1060000, board_devinfo_size=20000

board_senv_offset=1040000, board_senv_size=20000

NAND:  Could not find nand_gpio in dts, using defaults

ONFI device found

ID = 1590acad

Vendor = ad

Device = ac

qpic_nand: changing oobsize to 64 from 128 bytes

SF: Unsupported flash IDs: manuf ff, jedec ffff, ext_jedec ffff

ipq_spi: SPI Flash not found (bus/cs/speed/mode) = (0/0/48000000/0)

512 MiB

MMC:   <NULL>: 0

[devinfo_relocate] devinfo_relocate[147] malloced DEVINFO at 4a601d28

[devinfo_relocate_spec] ret: 0 , total: 131072 , CONFIG_DEVINFO_SIZE: 131072

In:    serial@78B3000

Out:   serial@78B3000

Err:   serial@78B3000

machid: 801000d

Card did not respond to voltage select!

eth2 MAC Address from ART is not valid

eth3 MAC Address from ART is not valid

eth4 MAC Address from ART is not valid

eth5 MAC Address from ART is not valid

#################################

######### auto_recovery #########

#################################

===  enabled:1,  ===  boot_part:1,    ===  maxpartialboots:3 

boot_count_buffer_size = 2048, total number = 64 

i=10, offset = 0x1045000, last_offset = 0x1044800 

Updating boot_count... 

boot->Count:1 ,boot->CheckSum:20110812, offset:0x1045000

#### ~~~~~~~~~~~~~ ####

Auto-update from TFTP: failed, env. variable 'updatefile' not found

#### auto_recovery check ####

Hit any key to stop autoboot:  2  1  0 

Normal boot


NAND read: device 0 offset 0x1080000, size 0x600000

6291456 bytes read: OK

## Loading kernel from FIT Image at 44000000 ...

  Using 'config@1' configuration

  Trying 'kernel@1' kernel subimage

    Description:  ARM OpenWrt Linux-4.4.60

    Type:         Kernel Image

    Compression:  gzip compressed

    Data Start:   0x440000e4

    Data Size:    3707917 Bytes = 3.5 MiB

    Architecture: ARM

    OS:           Linux

    Load Address: 0x41208000

    Entry Point:  0x41208000

    Hash algo:    crc32

    Hash value:   f9cd6494

    Hash algo:    sha1

    Hash value:   56ac195b0aa638577d5c0aacc2d07ff19691cf0a

  Verifying Hash Integrity ... crc32+ sha1+ OK

## Loading fdt from FIT Image at 44000000 ...

  Using 'config@1' configuration

  Trying 'fdt@1' fdt subimage

    Description:  ARM OpenWrt chiron device tree blob

    Type:         Flat Device Tree

    Compression:  uncompressed

    Data Start:   0x44389624

    Data Size:    82598 Bytes = 80.7 KiB

    Architecture: ARM

    Hash algo:    crc32

    Hash value:   8f190de6

    Hash algo:    sha1

    Hash value:   b097110ffe329f01fa5715a643248cf9af1759dd

  Verifying Hash Integrity ... crc32+ sha1+ OK

  Booting using the fdt blob at 0x44389624

  Uncompressing Kernel Image ... OK

  Loading Device Tree to 4a3e8000, end 4a3ff2a5 ... OK

Unable to update property /soc/dp6:mac-address, err=FDT_ERR_NOTFOUND

Unable to update property /soc/dp6:local-mac-address, err=FDT_ERR_NOTFOUND

Unable to update property /soc/dp6:mac-address, err=FDT_ERR_NOTFOUND

Unable to update property /soc/dp6:local-mac-address, err=FDT_ERR_NOTFOUND

Using machid 0x801000d from environment


Starting kernel ...


[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.4.60 (root@build-vm) (gcc version 5.2.0 (OpenWrt GCC 5.2.0 998fe11+r49254) ) #1 SMP Wed Nov 11 00:57:54 PST 2020
[    0.000000] CPU: ARMv7 Processor [410fd034] revision 4 (ARMv7), cr=10c0383d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine model: Qualcomm Technologies, Inc. IPQ807x/AP-OAK03
[    0.000000] Ignoring memory range 0x40000000 - 0x41000000
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.0 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] PERCPU: Embedded 12 pages/cpu @9ebac000 s19264 r8192 d21696 u49152
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 108064
[    0.000000] Kernel command line: init=/sbin/init rootfstype=squashfs ubi.mtd=22,2048 ubi.block=0,0 root=/dev/ubiblock0_0 rootwait ro swiotlb=1 coherent_pool=2M
[    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: 424012K/436224K available (5156K kernel code, 307K rwdata, 1736K rodata, 264K init, 329K bss, 12212K reserved, 0K cma-reserved, 0K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0x9f800000 - 0xff800000   (1536 MB)
[    0.000000]     lowmem  : 0x80000000 - 0x9f000000   ( 496 MB)
[    0.000000]     pkmap   : 0x7fe00000 - 0x80000000   (   2 MB)
[    0.000000]     modules : 0x7f000000 - 0x7fe00000   (  14 MB)
[    0.000000]       .text : 0x80208000 - 0x808c335c   (6893 kB)
[    0.000000]       .init : 0x808c4000 - 0x80906000   ( 264 kB)
[    0.000000]       .data : 0x80906000 - 0x80952fd0   ( 308 kB)
[    0.000000]        .bss : 0x80955000 - 0x809a76ec   ( 330 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] Build-time adjustment of leaf fanout to 32.
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] Architected cp15 timer(s) running at 19.20MHz (virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x46d987e47, max_idle_ns: 440795202767 ns
[    0.000005] sched_clock: 56 bits at 19MHz, resolution 52ns, wraps every 4398046511078ns
[    0.000016] Switching to timer-based delay loop, resolution 52ns
[    0.000713] Calibrating delay loop (skipped), value calculated using timer frequency.. 38.40 BogoMIPS (lpj=192000)
[    0.000724] pid_max: default: 32768 minimum: 301
[    0.000808] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000817] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.001246] CPU: Testing write buffer coherency: ok
[    0.001600] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.001648] Setting up static identity map for 0x41208280 - 0x412082d8
[    0.005127] MSM Memory Dump base table set up
[    0.005148] MSM Memory Dump apps data table set up
[    0.006004] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.006527] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[    0.007045] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[    0.007093] Brought up 4 CPUs
[    0.007111] SMP: Total of 4 processors activated (153.60 BogoMIPS).
[    0.007116] CPU: All CPU(s) started in SVC mode.
[    0.027498] VFP support v0.3: implementor 41 architecture 3 part 40 variant 3 rev 4
[    0.027800] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.027824] futex hash table entries: 1024 (order: 4, 65536 bytes)
[    0.028192] pinctrl core: initialized pinctrl subsystem
[    0.029202] NET: Registered protocol family 16
[    0.030300] DMA: preallocated 2048 KiB pool for atomic coherent allocations
[    0.059857] cpuidle: using governor ladder
[    0.089874] cpuidle: using governor menu
[    0.090062] NET: Registered protocol family 42
[    0.091611] Soc version is not 1, changing clock offsets
[    0.098909] irq: no irq domain found for /soc/smp2p-wcss/slave-kernel !
[    0.101211] irq: no irq domain found for /soc/smp2p-wcss/slave-kernel !
[    0.117014] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[    0.117023] hw-breakpoint: maximum watchpoint size is 8 bytes.
[    0.117537] ipq807x-pinctrl 1000000.pinctrl: invalid group "gpio54" for function "pta1_1"
[    0.117565] ipq807x-pinctrl 1000000.pinctrl: invalid group "gpio55" for function "pta1_2"
[    0.117589] ipq807x-pinctrl 1000000.pinctrl: invalid group "gpio56" for function "pta1_0"
[    0.118734] CPU: IPQ8174, SoC Version: 2.0
[    0.119247] qcom,cpr3-npu-regulator a4000.npu-cpr: NPU CPR valid fuse count: 2
[    0.119588] qcom,cpr4-apss-regulator b018000.cpr4-ctrl: CPR valid fuse count: 2
[    0.120197] spmi spmi-0: PMIC Arb Version-2 (0x20010000)
[    0.121811] IPC logging disabled
[    0.121817] IPC logging disabled
[    0.121822] IPC logging disabled
[    0.121826] IPC logging disabled
[    0.121831] IPC logging disabled
[    0.122047] sps:sps is ready.
[    0.151857] SCSI subsystem initialized
[    0.152032] pps_core: LinuxPPS API ver. 1 registered
[    0.152039] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.152064] PTP clock support registered
[    0.154410] clocksource: Switched to clocksource arch_sys_counter
[    0.158107] NET: Registered protocol family 2
[    0.158547] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
[    0.158596] TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
[    0.158671] TCP: Hash tables configured (established 4096 bind 4096)
[    0.158706] UDP hash table entries: 256 (order: 1, 8192 bytes)
[    0.158728] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[    0.158867] NET: Registered protocol family 1
[    0.160085] hw perfevents: enabled with armv7_cortex_a7 PMU driver, 7 counters available
[    0.167482] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.170850] Key type asymmetric registered
[    0.170863] Asymmetric key parser 'x509' registered
[    0.170893] io scheduler noop registered
[    0.170904] io scheduler deadline registered (default)
[    0.172524] qcom-pcie: probe of 20000000.pci failed with error -38
[    0.172647] qcom-pcie: probe of 10000000.pci failed with error -38
[    0.177274] msm_rpm_log_probe: OK
[    0.177627] msm-dcc b3000.dcc: DCC XPU is not specified
[    0.177876] msm-dcc b3000.dcc: jiffies_64: 0xffff8ae2, cntvct_64: 0x7062a85
[    0.177888] msm-dcc b3000.dcc: gcnt_hi: 0x00000000(0x9fa6e004)
[    0.177899] msm-dcc b3000.dcc: gcnt_lo: 0x07062c61(0x9fa6e000)
[    0.178524] TZ SMMU State: SMMU Stage2 Enabled
[    0.178572] TZ Log : Will warn on Access Violation, as paniconaccessviolation is not set
[    0.180335] msm_serial 78b3000.serial: msm_serial: detected port #0
[    0.180373] msm_serial 78b3000.serial: uartclk = 3686400
[    0.180405] 78b3000.serial: ttyMSM0 at MMIO 0x78b3000 (irq = 22, base_baud = 230400) is a MSM
[    0.180421] msm_serial: console setup on port #0
[    0.832140] console [ttyMSM0] enabled
[    0.837207] msm_serial 78b1000.serial: msm_serial: detected port #1
[    0.840400] msm_serial 78b1000.serial: uartclk = 19200000
[    0.846485] 78b1000.serial: ttyMSM1 at MMIO 0x78b1000 (irq = 23, base_baud = 1200000) is a MSM
[    0.852413] msm_serial: driver initialized
[    0.860868] msm_serial_hsl_init: driver initialized
[    0.866589] QPIC controller hw version Major:1, Minor:5
[    0.869707] nand: device found, Manufacturer ID: 0xad, Chip ID: 0xac
[    0.874593] nand: ONFI 10-Compliant Hynix H27S4G8F2EDA-BC
[    0.881172] nand: 512 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 128
[    0.886603] 29 ofpart partitions found on MTD device qcom_nand.0
[    0.893931] Creating 29 MTD partitions on "qcom_nand.0":
[    0.900196] 0x000000000000-0x000000100000 : "0:SBL1"
[    0.907080] 0x000000100000-0x000000200000 : "0:MIBIB"
[    0.911909] 0x000000200000-0x000000280000 : "0:BOOTCONFIG"
[    0.916477] 0x000000280000-0x000000300000 : "0:BOOTCONFIG1"
[    0.921856] 0x000000300000-0x000000600000 : "0:QSEE"
[    0.929366] 0x000000600000-0x000000900000 : "0:QSEE_1"
[    0.934593] 0x000000900000-0x000000980000 : "0:DEVCFG"
[    0.937524] 0x000000980000-0x000000a00000 : "0:DEVCFG_1"
[    0.942667] 0x000000a00000-0x000000a80000 : "0:APDP"
[    0.948039] 0x000000a80000-0x000000b00000 : "0:APDP_1"
[    0.952982] 0x000000b00000-0x000000b80000 : "0:RPM"
[    0.958005] 0x000000b80000-0x000000c00000 : "0:RPM_1"
[    0.962734] 0x000000c00000-0x000000c80000 : "0:CDT"
[    0.967983] 0x000000c80000-0x000000d00000 : "0:CDT_1"
[    0.972663] 0x000000d00000-0x000000d80000 : "0:APPSBLENV"
[    0.977902] 0x000000d80000-0x000000e80000 : "0:APPSBL"
[    0.983689] 0x000000e80000-0x000000f80000 : "0:APPSBL_1"
[    0.988705] 0x000000f80000-0x000001000000 : "0:ART"
[    0.993684] 0x000001000000-0x000001040000 : "u_env"
[    0.998120] 0x000001040000-0x000001060000 : "s_env"
[    1.002873] 0x000001060000-0x000001080000 : "devinfo"
[    1.007771] 0x000001080000-0x00000a680000 : "kernel"
[    1.132761] 0x000001680000-0x00000a680000 : "rootfs"
[    1.248549] mtd: device 22 (rootfs) set to be root filesystem
[    1.248581] 0x00000a680000-0x000013c80000 : "alt_kernel"
[    1.373874] 0x00000ac80000-0x000013c80000 : "alt_rootfs"
[    1.418027] random: nonblocking pool is initialized
[    1.489868] 0x000013c80000-0x000013e80000 : "sysdiag"
[    1.492179] 0x000013e80000-0x000013f00000 : "0:ETHPHYFW"
[    1.494968] 0x000013f00000-0x00001f700000 : "syscfg"
[    1.647012] 0x00001f700000-0x000020000000 : "0:WIFIFW"
[    1.876136] qca-mdio 90000.mdio: Could not find phy-reset-gpio
[    1.876269] libphy: qca_mdio: probed
[    1.881834] qca-mdio 90000.mdio: qca-mdio driver was registered
[    1.884802] PPP generic driver version 2.4.2
[    1.890353] PPP BSD Compression module registered
[    1.894757] PPP Deflate Compression module registered
[    1.899355] NET: Registered protocol family 24
[    1.904379] Unable to create IPC log context!
[    1.909009] Skip QCA8074V1 in V2 platform
[    1.913369] cnss: Platform driver probed successfully. plat 9dd43010 tgt 0xfffe
[    1.917441] i2c /dev entries driver
[    1.931513] device-mapper: ioctl: 4.34.0-ioctl (2015-10-28) initialised: dm-devel@redhat.com
[    1.931983] sdhci: Secure Digital Host Controller Interface driver
[    1.939028] sdhci: Copyright(c) Pierre Ossman
[    1.945014] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.949708] leds-pca963x 0-0062: PCA963X_HW_BLINK ON
[    1.956238] leds-pca963x 0-0062: PCA963X LED initialize ok done
[    1.960656] qcom_ice_get_device_tree_data: No vdd-hba-supply regulator, assuming not needed
[    1.965809] ICE IRQ = 25
[    1.974757] 
[    1.974757] Version Rollback Feature Disabled
[    1.978922] qcom-q6v5-wcss-pil cd00000.qcom_q6v5_wcss: ssr registeration success qcom_q6v5_wcss
[    1.982580] remoteproc remoteproc0: cd00000.qcom_q6v5_wcss is available
[    1.991647] SPMI VADC - Min ch: 0 Max ch: 15
[    1.999508] u32 classifier
[    2.002195]     input device check on
[    2.004730]     Actions configured
[    2.008473] Netfilter messages via NETLINK v0.30.
[    2.011770] nfnl_acct: registering with nfnetlink.
[    2.016584] nf_conntrack version 0.5.0 (6625 buckets, 26500 max)
[    2.021571] ctnetlink v0.93: registering with nfnetlink.
[    2.027433] nf_conntrack_rtsp v0.7 loading
[    2.033076] gre: GRE over IPv4 demultiplexor driver
[    2.036595] ip_gre: GRE over IPv4 tunneling driver
[    2.042415] nf_nat_rtsp v0.7 loading
[    2.046253] ip_tables: (C) 2000-2006 Netfilter Core Team
[    2.050725] NET: Registered protocol family 10
[    2.056092] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    2.059709] sit: IPv6 over IPv4 tunneling driver
[    2.066136] NET: Registered protocol family 17
[    2.069686] bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this.
[    2.073944] Bridge firewalling registered
[    2.086684] Ebtables v2.0 registered
[    2.090713] l2tp_core: L2TP core driver, V2.0
[    2.094229] l2tp_ppp: PPPoL2TP kernel driver, V2.0
[    2.098489] l2tp_netlink: L2TP netlink interface
[    2.103185] 8021q: 802.1Q VLAN Support v1.8
[    2.108185] Registering SWP/SWPB emulation handler
[    2.112883] qcom,cpr3-npu-regulator a4000.npu-cpr: NPU CPR valid fuse count: 2
[    2.116895] pmd9655_s4: supplied by e-smps1-reg
[    2.124050] cpr3_mem_acc_init: npu: not using memory accelerator regulator
[    2.128350] npu_corner: fused      NOM: open-loop= 800000 uV
[    2.135287] npu_corner: fused    TURBO: open-loop= 864000 uV
[    2.141143] npu_corner: fused      NOM: open-loop= 800000 uV
[    2.146746] npu_corner: fused    TURBO: open-loop= 864000 uV
[    2.152405] npu_corner: Normal and Cold condition init done. Default to normal.
[    2.158347] qcom,cpr4-apss-regulator b018000.cpr4-ctrl: CPR valid fuse count: 2
[    2.165163] pmd9655_s3: supplied by e-smps1-reg
[    2.172481] cpr4_ipq807x_apss_read_fuse_data: apc_corner: speed bin = 0
[    2.176873] cpr4_ipq807x_apss_read_fuse_data: apc_corner: CPR fusing revision = 1
[    2.183460] cpr4_ipq807x_apss_read_fuse_data: apc_corner: CPR misc fuse value = 0
[    2.191120] cpr4_ipq807x_apss_read_fuse_data: apc_corner: Voltage boost fuse config = 0 boost = disable
[    2.198624] cpr3_mem_acc_init: apc: not using memory accelerator regulator
[    2.207773] cpr4_ipq807x_apss_calculate_open_loop_voltages: apc_corner: fused      SVS: open-loop= 704000 uV
[    2.214723] cpr4_ipq807x_apss_calculate_open_loop_voltages: apc_corner: fused      NOM: open-loop= 824000 uV
[    2.224753] cpr4_ipq807x_apss_calculate_target_quotients: apc_corner: fused      SVS: quot[ 7]= 692, quot_offset[ 7]=   0
[    2.234519] cpr4_ipq807x_apss_calculate_target_quotients: apc_corner: fused      NOM: quot[ 7]= 913, quot_offset[ 7]= 220
[    2.245461] cpr3_regulator_init_ctrl: apc: Default CPR mode = closed-loop
[    2.257249] cpufreq: cpufreq_online: CPU0: Running at unlisted freq: 800000 KHz
[    2.263202] cpufreq: cpufreq_online: CPU0: Unlisted initial frequency changed to: 1017600 KHz
[    2.270426] ubi0: attaching mtd22
[    2.933489] ubi0: scanning is finished
[    2.939876] ubi0: attached mtd22 (name "rootfs", size 144 MiB)
[    2.939897] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[    2.944602] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[    2.951449] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
[    2.958313] ubi0: good PEBs: 1152, bad PEBs: 0, corrupted PEBs: 0
[    2.965082] ubi0: user volume: 1, internal volumes: 1, max. volumes count: 128
[    2.971329] ubi0: max/mean erase counter: 1/0, WL threshold: 4096, image sequence number: 1395657869
[    2.978467] ubi0: available PEBs: 0, total reserved PEBs: 1152, PEBs reserved for bad PEB handling: 80
[    2.987754] ubi0: background thread "ubi_bgt0d" started, PID 104
[    2.997246] block ubiblock0_0: created from ubi0:0(squashfs)
[    3.003592] input: soc:gpio_keys as /devices/platform/soc/soc:gpio_keys/input/input0
[    3.008725] hctosys: unable to open rtc device (rtc0)
[    3.021729] pmd9655_ldo11: disabling
[    3.024784] VFS: Mounted root (squashfs filesystem) readonly on device 253:0.
[    3.025207] Freeing unused kernel memory: 264K (808c4000 - 80906000)
*********************************************************************************
             _        _  __    _    __ _____ __   __ _____
            | |      | ||  \  | |  / // ____]\ \ / // ____]TM
            | |      | ||   \ | | / /| (___   \ V /| (____
            | |      | || |\ \| |\ \  \____ \  \ /  \____ \
            | |_____ | || | \   | \ \  ____) | | |   ____) |
            |_______||_||_|  \__|  \_\[____ /  |_|  [_____/

(c) 2013 Belkin International, Inc. and/or its affiliates. All rights reserved.
Booting chiron (firmware version 1.0.4.203508) 
*********************************************************************************
[utopia][init] System Initialization
[utopia][init] Creating /proc
[utopia][init] Creating /sys
[utopia][init] Creating /dev
[utopia][init] Creating /tmp
[utopia][init] Allocating 60M for /tmp
[utopia][init] Prepairing /dev/pts
[utopia][init] Setting /tmp and /var permissions
[utopia][init] Starting udev..
Attempting mount of ubifs syscfg partition
UBI device number 1, total 1472 LEBs (186908672 bytes, 178.3 MiB), available 0 LEBs (0 bytes), LEB size 126976 bytes (124.0 KiB)
[utopia][init] Using persistent syscfg data from /var/config/syscfg
[utopia][init] Starting system logging
[utopia][init] Starting sysevent subsystem
[utopia][init] Starting blue ...
[utopia][init] Enabling DesignWare USB3 DRD Core drivers
modprobe: module phy_qcom_dwc3 not found in modules.dep
modprobe: module usb_f_diag not found in modules.dep
[utopia][init] Loading QCA Ethernet, NSS and GMAC drivers
modprobe: module qca-nss-ipsec not found in modules.dep
net.netfilter.nf_conntrack_acct = 1
[utopia][init] Late loading usb drivers
[utopia][init] Setting any unset system values to default
[utopia][init] no persistence config file (/var/config/pstcfg) found
setting up MAC addresses for all interface based on E8:9F:80:DB:09:80
NTP Servers do not need to be updated
[utopia][init] syscfg loaded removing tmp file

SSDK Init OK![Ethernet Type]:0x0
operation done.


SSDK Init OK!
operation done.


SSDK Init OK!
operation done.

checking for interactive script start up...

no user scheduled tasks found...
senq running 
/etc/init.d/service_senq.sh   Starting in mode 0
1970-01-01 00:00:11: node-mode running 

Good block at 0x00000000
Updating BootCount Page[11]:5800 ... Done

Anything we can do to help with further exploration of this?

The next step is to get an image compatible with the IPQ8174 platform. This requires patching the OpenWRT kernel to support it which is beyond my skillset. I think it will be resolved when the kernel is bumped to a newer version, but that is in the hands of the OpenWRT maintainers.

A while back I did a GPL request for the kernel used by the MX4200, which is available on Linksys' site:
https://downloads.linksys.com/support/assets/gpl/MX4200_v1.0.12.209581.tar.gz

Looks like it runs 4.4.60, and has the config file and patches included. So at a minimum...might be able to get OpenWrt 17.01 on it with minimal changes.

1 Like

Interesting! Seems like it could be a bit of a chicken and the egg problem though - can't test flashing without a test imagine and can't test the image without flashing?

TIP has ipq807x support, reckon it’s worth trying to get one up and running for the MX4200 if the flashing looks the same as the older Velop devices?

Hi All,

Just wanted to register interest in support for the MX4200.
Mine is in a cupboard awaiting news..
:slight_smile:

Steve

1 Like

I've registered on here to say that I have one spare which I am happy to "donate" to the cause! :slight_smile:

Has there been any progress with this?

I'm currently using one of these as a WAP. The WiFi 6 speeds and range are very impressive, but I would really like to unlock the full potential.

considering we have correct ipq807x support... did anyone tried to load an initramfs image on these device and check if they works? it's really for testing but it might be a good idea to check if this soc is just a ipq807x rebranded

1 Like