Hello, i tried building openwrt 24.10 for this device. And successfully made dts. Everything works, but without wireless.
I'm stuck for days just trying to make wireless work
OpenWrt dmesg seems doesn't detect driver or giving hint about wifi
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[ 0.000000] Linux version 6.6.86 (ayra@Tedy-PC) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 13.3.0 r28597-0425664679) 13.3.0, GNU ld (GNU Binutils) 2.42) #0 SMP Sun Apr 13 16:38:32 2025
[ 0.000000] Machine model: Totolink X6000R
[ 0.000000] OF: reserved mem: 0x0000000042ff0000..0x0000000042ffffff (64 KiB) map non-reusable ramoops@42ff0000
[ 0.000000] OF: reserved mem: 0x0000000043000000..0x000000004302ffff (192 KiB) nomap non-reusable secmon@43000000
[ 0.000000] OF: reserved mem: 0x0000000047c80000..0x0000000047d7ffff (1024 KiB) nomap non-reusable wmcpu-reserved@47c80000
[ 0.000000] OF: reserved mem: 0x0000000047d80000..0x0000000047dbffff (256 KiB) nomap non-reusable wo-emi@47d80000
[ 0.000000] OF: reserved mem: 0x0000000047dc0000..0x0000000047ffffff (2304 KiB) nomap non-reusable wo-data@47dc0000
[ 0.000000] Zone ranges:
[ 0.000000] DMA [mem 0x0000000040000000-0x000000004fffffff]
[ 0.000000] DMA32 empty
[ 0.000000] Normal empty
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000040000000-0x0000000042ffffff]
[ 0.000000] node 0: [mem 0x0000000043000000-0x000000004302ffff]
[ 0.000000] node 0: [mem 0x0000000043030000-0x0000000047c7ffff]
[ 0.000000] node 0: [mem 0x0000000047c80000-0x0000000047ffffff]
[ 0.000000] node 0: [mem 0x0000000048000000-0x000000004fffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000004fffffff]
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: PSCIv1.1 detected in firmware.
[ 0.000000] psci: Using standard PSCI v0.2 function IDs
[ 0.000000] psci: MIGRATE_INFO_TYPE not supported.
[ 0.000000] psci: SMC Calling Convention v1.2
[ 0.000000] percpu: Embedded 18 pages/cpu s35048 r8192 d30488 u73728
[ 0.000000] pcpu-alloc: s35048 r8192 d30488 u73728 alloc=18*4096
[ 0.000000] pcpu-alloc: [0] 0 [0] 1
[ 0.000000] Detected VIPT I-cache on CPU0
[ 0.000000] CPU features: detected: GIC system register CPU interface
[ 0.000000] CPU features: kernel page table isolation disabled by kernel configuration
[ 0.000000] alternatives: applying boot alternatives
[ 0.000000] Kernel command line: console=ttyS0,115200n8
[ 0.000000] Dentry cache hash table entries: 32768 (order: 6, 262144 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 64512
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] software IO TLB: SWIOTLB bounce buffer size adjusted to 0MB
[ 0.000000] software IO TLB: area num 2.
[ 0.000000] software IO TLB: SWIOTLB bounce buffer size roundup to 0MB
[ 0.000000] software IO TLB: mapped [mem 0x000000004fe46000-0x000000004fec6000] (0MB)
[ 0.000000] Memory: 239176K/262144K available (8832K kernel code, 994K rwdata, 2564K rodata, 448K init, 289K bss, 22968K reserved, 0K cma-reserved)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[ 0.000000] rcu: Hierarchical RCU implementation.
[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
[ 0.000000] Tracing variant of Tasks RCU enabled.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000] GICv3: GIC: Using split EOI/Deactivate mode
[ 0.000000] GICv3: 640 SPIs implemented
[ 0.000000] GICv3: 0 Extended SPIs implemented
[ 0.000000] Root IRQ handler: gic_handle_irq
[ 0.000000] GICv3: GICv3 features: 16 PPIs
[ 0.000000] GICv3: CPU0: found redistributor 0 region 0:0x000000000c080000
[ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[ 0.000000] arch_timer: cp15 timer(s) running at 13.00MHz (phys).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2ff89eacb, max_idle_ns: 440795202429 ns
[ 0.000000] sched_clock: 56 bits at 13MHz, resolution 76ns, wraps every 4398046511101ns
[ 0.000072] Calibrating delay loop (skipped), value calculated using timer frequency.. 26.00 BogoMIPS (lpj=130000)
[ 0.000081] pid_max: default: 32768 minimum: 301
[ 0.002983] Mount-cache hash table entries: 512 (order: 0, 4096 bytes, linear)
[ 0.002991] Mountpoint-cache hash table entries: 512 (order: 0, 4096 bytes, linear)
[ 0.005148] cacheinfo: Unable to detect cache hierarchy for CPU 0
[ 0.005690] RCU Tasks Trace: Setting shift to 1 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=2.
[ 0.005841] rcu: Hierarchical SRCU implementation.
[ 0.005844] rcu: Max phase no-delay instances is 1000.
[ 0.006257] smp: Bringing up secondary CPUs ...
[ 0.006635] Detected VIPT I-cache on CPU1
[ 0.006679] GICv3: CPU1: found redistributor 1 region 0:0x000000000c0a0000
[ 0.006710] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[ 0.006781] smp: Brought up 1 node, 2 CPUs
[ 0.006787] SMP: Total of 2 processors activated.
[ 0.006790] CPU features: detected: 32-bit EL0 Support
[ 0.006793] CPU features: detected: CRC32 instructions
[ 0.006825] CPU features: emulated: Privileged Access Never (PAN) using TTBR0_EL1 switching
[ 0.006828] CPU: All CPU(s) started at EL2
[ 0.006830] alternatives: applying system-wide alternatives
[ 0.010587] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.010604] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
[ 0.011865] pinctrl core: initialized pinctrl subsystem
[ 0.013021] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[ 0.013355] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations
[ 0.013382] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[ 0.013403] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[ 0.013805] thermal_sys: Registered thermal governor 'fair_share'
[ 0.013809] thermal_sys: Registered thermal governor 'bang_bang'
[ 0.013812] thermal_sys: Registered thermal governor 'step_wise'
[ 0.013814] thermal_sys: Registered thermal governor 'user_space'
[ 0.013888] ASID allocator initialised with 65536 entries
[ 0.014603] pstore: Using crash dump compression: deflate
[ 0.014608] pstore: Registered ramoops as persistent store backend
[ 0.014610] ramoops: using 0x10000@0x42ff0000, ecc: 0
[ 0.016111] /soc/interrupt-controller@c000000: Fixed dependency cycle(s) with /soc/interrupt-controller@c000000
[ 0.021717] Modules: 29440 pages in range for non-PLT usage
[ 0.021725] Modules: 520960 pages in range for PLT usage
[ 0.022690] cryptd: max_cpu_qlen set to 1000
[ 0.024791] SCSI subsystem initialized
[ 0.024984] libata version 3.00 loaded.
[ 0.026634] clocksource: Switched to clocksource arch_sys_counter
[ 0.028995] NET: Registered PF_INET protocol family
[ 0.029101] IP idents hash table entries: 4096 (order: 3, 32768 bytes, linear)
[ 0.030221] tcp_listen_portaddr_hash hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.030237] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[ 0.030246] TCP established hash table entries: 2048 (order: 2, 16384 bytes, linear)
[ 0.030264] TCP bind hash table entries: 2048 (order: 4, 65536 bytes, linear)
[ 0.030314] TCP: Hash tables configured (established 2048 bind 2048)
[ 0.030639] MPTCP token hash table entries: 256 (order: 0, 6144 bytes, linear)
[ 0.030745] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[ 0.030771] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[ 0.030976] NET: Registered PF_UNIX/PF_LOCAL protocol family
[ 0.031000] PCI: CLS 0 bytes, default 64
[ 0.032107] workingset: timestamp_bits=46 max_order=16 bucket_order=0
[ 0.036926] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.036935] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[ 0.080596] Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled
[ 0.082855] printk: console [ttyS0] disabled
[ 0.103242] 11002000.serial: ttyS0 at MMIO 0x11002000 (irq = 72, base_baud = 2500000) is a ST16650V2
[ 0.103282] printk: console [ttyS0] enabled
[ 0.859693] loop: module loaded
[ 0.865299] spi-nor spi0.0: en25qx128a (16384 Kbytes)
[ 0.870690] 5 fixed-partitions partitions found on MTD device spi0.0
[ 0.877168] Creating 5 MTD partitions on "spi0.0":
[ 0.881956] 0x000000000000-0x000000040000 : "BL2"
[ 0.887347] 0x000000040000-0x000000050000 : "u-boot-env"
[ 0.893035] 0x000000050000-0x000000100000 : "Factory"
[ 0.899127] 0x000000100000-0x000000180000 : "FIP"
[ 0.904358] 0x000000180000-0x000000f80000 : "firmware"
[ 0.910160] 2 fit-fw partitions found on MTD device firmware
[ 0.915823] 0x000000180000-0x0000005a0000 : "kernel"
[ 0.921224] 0x00000059e244-0x000000f80000 : "rootfs"
[ 0.926189] mtd: partition "rootfs" doesn't start on an erase/write block boundary -- force read-only
[ 0.935793] mtd: setting mtd6 (rootfs) as root device
[ 0.940930] 1 squashfs-split partitions found on MTD device rootfs
[ 0.947123] 0x000000910000-0x000000f80000 : "rootfs_data"
[ 0.956725] spi-nor spi1.0: unrecognized JEDEC id bytes: ff ff ff ff ff ff
[ 1.113861] mtk_soc_eth 15100000.ethernet eth0: mediatek frame engine at 0xffffffc081600000, irq 76
[ 1.123814] mtk_soc_eth 15100000.ethernet eth1: mediatek frame engine at 0xffffffc081600000, irq 76
[ 1.133561] i2c_dev: i2c /dev entries driver
[ 1.139688] mtk-wdt 1001c000.watchdog: Watchdog enabled (timeout=31 sec, nowayout=0)
[ 1.148879] NET: Registered PF_INET6 protocol family
[ 1.154999] Segment Routing with IPv6
[ 1.158711] In-situ OAM (IOAM) with IPv6
[ 1.162672] NET: Registered PF_PACKET protocol family
[ 1.167922] 8021q: 802.1Q VLAN Support v1.8
[ 1.251062] mt7530-mdio mdio-bus:1f: configuring for fixed/2500base-x link mode
[ 1.260166] mt7530-mdio mdio-bus:1f: Link is Up - 2.5Gbps/Full - flow control rx/tx
[ 1.270650] mt7530-mdio mdio-bus:1f lan1 (uninitialized): PHY [mt7530-0:00] driver [MediaTek MT7531 PHY] (irq=80)
[ 1.293022] mt7530-mdio mdio-bus:1f lan2 (uninitialized): PHY [mt7530-0:01] driver [MediaTek MT7531 PHY] (irq=81)
[ 1.315148] mt7530-mdio mdio-bus:1f lan3 (uninitialized): PHY [mt7530-0:02] driver [MediaTek MT7531 PHY] (irq=82)
[ 1.337159] mt7530-mdio mdio-bus:1f lan4 (uninitialized): PHY [mt7530-0:03] driver [MediaTek MT7531 PHY] (irq=83)
[ 1.348742] mtk_soc_eth 15100000.ethernet eth0: entered promiscuous mode
[ 1.355485] DSA: tree 0 setup
[ 1.358825] clk: Disabling unused clocks
[ 1.367710] VFS: Mounted root (squashfs filesystem) readonly on device 31:6.
[ 1.374947] Freeing unused kernel memory: 448K
[ 1.379466] Run /sbin/init as init process
[ 1.383552] with arguments:
[ 1.386506] /sbin/init
[ 1.389210] with environment:
[ 1.392339] HOME=/
[ 1.394687] TERM=linux
[ 1.654302] init: Console is alive
[ 1.657926] init: - watchdog -
[ 1.879553] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[ 1.913894] gpio_button_hotplug: loading out-of-tree module taints kernel.
[ 1.923782] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[ 1.941316] init: - preinit -
[ 2.340437] mtk_soc_eth 15100000.ethernet eth0: configuring for fixed/2500base-x link mode
[ 2.348915] mtk_soc_eth 15100000.ethernet eth0: Link is Up - 2.5Gbps/Full - flow control rx/tx
[ 2.364651] mt7530-mdio mdio-bus:1f lan1: configuring for phy/gmii link mode
[ 2.378098] mt7530-mdio mdio-bus:1f lan1: Link is Up - 1Gbps/Full - flow control off
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[ 6.616904] jffs2: notice: (668) jffs2_build_xattr_subsystem: complete building xattr subsystem, 9 of xdatum (7 unchecked, 1 orphan) and 10 of xref (1 dead, 0 orphan) found.
[ 6.633871] mount_root: switching to jffs2 overlay
[ 6.643289] overlayfs: upper fs does not support tmpfile.
[ 6.653172] overlayfs: null uuid detected in lower fs '/', falling back to xino=off,index=off,nfs_export=off.
[ 6.666262] urandom-seed: Seeding with /etc/urandom.seed
[ 6.739872] mt7530-mdio mdio-bus:1f lan1: Link is Down
[ 6.746488] random: procd: uninitialized urandom read (4 bytes read)
[ 6.749339] procd: - early -
[ 6.755884] procd: - watchdog -
[ 7.337047] procd: - watchdog -
[ 7.340644] procd: - ubus -
[ 11.546633] random: crng init done
[ 11.553997] procd: - init -
Please press Enter to activate this console.
[ 11.951802] kmodloader: loading kernel modules from /etc/modules.d/*
[ 11.969231] crypto-safexcel 10320000.crypto: EIP97:230(0,1,4,4)-HIA:270(0,5,5),PE:150/433(alg:7fcdfc00)/0/0/0
[ 12.019518] PPP generic driver version 2.4.2
[ 12.025304] NET: Registered PF_PPPOX protocol family
[ 12.034459] kmodloader: done loading kernel modules from /etc/modules.d/*
[ 12.145213] urngd: v1.0.2 started.
[ 15.574105] mtk_soc_eth 15100000.ethernet eth0: Link is Down
[ 15.587736] mtk_soc_eth 15100000.ethernet eth0: configuring for fixed/2500base-x link mode
[ 15.602882] mt7530-mdio mdio-bus:1f lan1: configuring for phy/gmii link mode
[ 15.604570] mtk_soc_eth 15100000.ethernet eth0: Link is Up - 2.5Gbps/Full - flow control rx/tx
[ 15.611087] br-lan: port 1(lan1) entered blocking state
[ 15.623811] br-lan: port 1(lan1) entered disabled state
[ 15.629097] mt7530-mdio mdio-bus:1f lan1: entered allmulticast mode
[ 15.635370] mtk_soc_eth 15100000.ethernet eth0: entered allmulticast mode
[ 15.644973] mt7530-mdio mdio-bus:1f lan1: entered promiscuous mode
[ 15.666315] mt7530-mdio mdio-bus:1f lan2: configuring for phy/gmii link mode
[ 15.677532] br-lan: port 2(lan2) entered blocking state
[ 15.682767] br-lan: port 2(lan2) entered disabled state
[ 15.688095] mt7530-mdio mdio-bus:1f lan2: entered allmulticast mode
[ 15.696341] mt7530-mdio mdio-bus:1f lan2: entered promiscuous mode
[ 15.712509] mt7530-mdio mdio-bus:1f lan3: configuring for phy/gmii link mode
[ 15.723300] br-lan: port 3(lan3) entered blocking state
[ 15.728596] br-lan: port 3(lan3) entered disabled state
[ 15.733850] mt7530-mdio mdio-bus:1f lan3: entered allmulticast mode
[ 15.742186] mt7530-mdio mdio-bus:1f lan3: entered promiscuous mode
[ 15.758515] mt7530-mdio mdio-bus:1f lan4: configuring for phy/gmii link mode
[ 15.766146] br-lan: port 4(lan4) entered blocking state
[ 15.771433] br-lan: port 4(lan4) entered disabled state
[ 15.776715] mt7530-mdio mdio-bus:1f lan4: entered allmulticast mode
[ 15.785088] mt7530-mdio mdio-bus:1f lan4: entered promiscuous mode
[ 15.816940] mtk_soc_eth 15100000.ethernet eth1: PHY [mdio-bus:00] driver [MediaTek MT7981 PHY] (irq=POLL)
[ 15.826524] mtk_soc_eth 15100000.ethernet eth1: configuring for phy/gmii link mode
[ 15.834910] mtk_soc_eth 15100000.ethernet eth1: Link is Up - 1Gbps/Full - flow control rx/tx
[ 18.054829] mt7530-mdio mdio-bus:1f lan1: Link is Up - 1Gbps/Full - flow control off
[ 18.054855] br-lan: port 1(lan1) entered blocking state
[ 18.067807] br-lan: port 1(lan1) entered forwarding state
I tried define wifi in dts with correct mac address, but still no wireless
&wifi {
mediatek,mtd-eeprom = <&factory 0x8000>;
nvmem-cells = <&mac_wifi_2g &mac_wifi_5g>;
nvmem-cell-names = "mac-address-2g", "mac-address-5g";
status = "okay";
};
Also adding kmod-mt7915e in filogic.mk does not change anything
DEVICE_VENDOR := Totolink
DEVICE_MODEL := X6000R
DEVICE_DTS := mt7981-totolink-x6000r
DEVICE_DTS_DIR := ../dts
DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware
Stock firmware boot log:
For extra information, i tried ImmortalWrt with mt_wifi driver. And it works but has only AP mode, also has an issue about squashfs partition and image size for this device.
Is OpenWrt does not have wifi driver for this device yet?