OpenWrt Support for D-Link DAP-X1860

Device information:

  • Offical website D-Link

    EXO AX1800 Mesh Wi-Fi 6 Range Extender DAP-X1860

    Technical data
    Wireless standard 802.11ax Wi Fi 6
    Frequency band mode Dual-band simultaneous
    Wireless speed 1200 Mbps 5 GHz / 574 Mbps 2.4 GHz
    Antenna type 2t2r Embedded omni-directional antennas
    Wired interface 1 x Gigabit Ethernet LAN
    Flash size 128 MiB SLC NAND
    Memory 256 MiB DRAM
    CPU MediaTek MT7621AT ver 1, eco 3
    Clocks CPU: 880MHz, DDR: 1200MHz, Bus: 220MHz, XTAL: 40MHz
    Wireless radios Mediatek MT7915E + MT7975
    Switch Mediatek MT7530
  • Additional info:

    WLAN 2.4 Ghz WLAN 5 GHz Comments
    b/g/n/ax a/n/ac/ax max channel width 2 GHz band: 40 MHz;
    max channel width 5 GHz band: 80 Mhz, since this is a dbdc device

Max channel width in 5 GHz band is 80 MHz, since this is a dbdc device.

Saw this 30€ per device offer on Amazon and this 15€ per device offer at Mediamarkt (EditΒΉ: both offers require to buy at least two devices for the discount to be recognized) and was wondering if it is possible to make OpenWRT work?

I am not sure where to find what chips are used in the device and if driver or firmware support is uplifted into the kernel like Mediatek does. EditΒ²: Now I do. It was answered in this comment

I know that there is currently no support for the device. I am asking if future support is likely? - The answer is yes.

Where to find official releases for this device:

Where to find pre-release images, non-official snapshot builds and other source code for this device:

How to flash and install OpenWRT:

Commits to OpenWRT

Patches sent to the OpenWRT mailing list:

Performance:

Stock OEM software:

RolandoMagico Pre-Release 2022-12-?

RolandoMagico Pre-Release 2022-12-22:

  • (Measurements D) Iperf3 bidirectional tests with low and high number of client streams (behind 2 walls)

How to configure your device:

General:

Specific:

3 Likes

If you can't find specific information on the web, you need to buy one and disassemble it - that's how lots of devices become eventually supported by OpenWrt.

Often you can find a GPL dump on the vendor website, but I could only locate one for the DAP-1860 (not DAP-X1860). Wikidevi has no page for this model, either.

1 Like

currently a bad choice.
you might take a look at an older thread: there were some attempts on the router-brother (not sure if same chip though), but currently there seems no more new news: Adding OpenWrt support for D-Link DIR-X1860 (MT7621 + MT7915 AX1800)

Astonishingly, newer MT Wifi-AX devices in general seem cheaper that the previous MT Wifi-AC based devices.

If interested in a solid supported D-Link device, try a dir-1960 or dir-2660 in the meantime. Once a while, you find some for 40-60€.

Depending on your country and prices, the RT3200 might be a good AX alternative.
Or the Wax202, which is often also available for 30€.

I specifically look for a small AX repeater to plug into a socket. Routers and big access points like the wax202 or RT3200 are not desired by other people living with me. Currently the place I live in, my computer has to cross 3 walls via WiFi to reach the router and it sucks. Using cat cables and drilling holes are currently not an option. Maybe in a few years, but not now.

The last repeater I bought to shorten the distance is slightly old, has old firmware and most importantly had a flash size of 4mb (so can't even flash OpenWRT), which I only noticed in hindsight and although the speed is great (can reach up to ~ 860 Megabit), it regularly looses the connection for a minute or two (roughly once to three times a day).

Was hoping one of the newer devices (especially 802.11ax) could help decrease latency and prevent loss of connection.

With DBDC, they're saving the cost for one radio… you get only 2x2 that way, but the buzzword bingo gets to tick 802.11ax from the list.

Awesome, I just happened to find the same offer, unfortunately limited to two devices per customer :innocent:

I've had this on my list for a while, bought one when they were new and expensive, did some basic teardown... chipset is MT7621 which is supported, the factory image encryption is solved as well, only annoying part remaining for now would be the ELX header.

As this device is manufactured by Edimax, the factory image will require an ELX header, which currently has a somewhat horrifying implementation in OpenWrt... :joy: And maybe the support for a few additional header fields might be needed here:

Fun fact: There currently seems to be no working (i.e. unencrypted) recovery image available for these devices, I had even asked tech support for an image after accidentally bricking mine (probably unplugged on boot or something?), but the regular Web Update image is not accepted by the recovery web interface.

So, eventually these things may pile up cheaply on ebay, as customers won't be able to recover them with the downloadable firmware provided by D-Link...
Also the amazon reviews are quite bad, if you filter for only this device. So that's another reason they give us great hardware for a reasonable price, just because OEM firmware apparently sucks so bad :innocent:

Let me know if there is indeed interest in getting this supported quickly (I could prioritize it on my huge list of devices :joy: )... Testers willing to solder UART to their devices are welcome :wink: But beware, this thing is awfully annoying to disassemble.

Uff, sorry, was not aware the 30€ only counts if you buy two of them.

I am not sure if you should make it a priority. It is my first time even hearing of UART. The good thing about this device is its cheap price, but honestly, if we are looking for performance, for my specific needs (since I need to cross these walls) I would rather prefer to go for something like

and those are available for 75-80€, which is just slightly more expensive than buying two of the D-Link DAP-X1860 (none of those I just listed are supported by OpenWRT at the moment).

Furthermore, it would be even better if a new repeater device were to be at least a little bit future proof cpu wise for handling traffic shaped output that can reach up to 1 Gigabit (Is that even possible for wifi? - Would qosify/CAKE work?)

Thank you all for the replies so far though!

In all fairness, most clients tend to be 2x2 only. I am seeing throughput improvement with my 802.11ax devices (also with the WAX202 :stuck_out_tongue_closed_eyes:).

That's a two-sided coin, yes, your clients are only 2x2, but 802.11ac/ wave2 and 802.11ax rely increasingly on Mu-MIMO and beam-forming, which profits a lot from more rf chains (unless you have too many connected clients).

I don't doubt that the results are still faster than 802.11ac (the situation might switch around with multiple active clients though, which could be served by independent spatial streams), but that nevertheless is the reason why there can be cheaper 802.11ax devices than there were 802.11ac ones (they are not equivalent).

1 Like

What the... D-Link really seem to want to get rid of them?
https://www.mediamarkt.de/de/product/_d-link-ax1800-mesh-wi-fi-6-range-2723624.html

Apparently even cheaper with pickup in the store :thinking:

Time to hoard a few more :joy: // edit: only two per customer as well

o.O I am really tempted.

@s_2 do you have more info about specs?

  • flash space? I really don't want to buy another low flash space device :((
  • Ram?
  • which chips are responsible for the wifi radio? Is it MT7915? Are there one or two radios?

128 MiB SLC NAND, 256 MiB RAM. I guess I'll just drop the bootlog for now :slightly_smiling_face:

MT7621AT + MT7915 + MT7975

https://fccid.io/KA2APX1860A1/Internal-Photos/Internal-photos-5054228

OEM Bootlog

U-Boot SPL ELX-v1.0.4 (Sep 11 2020 - 10:16:00 +0800)
Trying to boot from NAND

Initializing NMBM ...
Signature found at block 1023 [0x07fe0000]
First info table with writecount 0 found in block 960
Second info table with writecount 0 found in block 963
NMBM has been successfully attached


-Boot ELX-v1.0.4 (Sep 11 2020 - 10:16:00 +0800)

CPU:   MediaTek MT7621AT ver 1, eco 3
Clocks: CPU: 880MHz, DDR: 1200MHz, Bus: 220MHz, XTAL: 40MHz
Model: MediaTek MT7621 reference board (NAND)
DRAM:  256 MiB
NAND:  128 MiB

Initializing NMBM ...
Signature found at block 1023 [0x07fe0000]
First info table with writecount 0 found in block 960
Second info table with writecount 0 found in block 963
NMBM has been successfully attached

Loading Environment from NMBM... OK
In:    uartlite0@1e000c00
Out:   uartlite0@1e000c00
Err:   uartlite0@1e000c00
Net:   eth0: eth@1e100000 using MAC Address - a0:a3:f0:48:af:f0
Hit any key to stop autoboot:  0
gpio: pin 7 (gpio 7) value is 0

  *** U-Boot Boot Menu ***

     1. Startup system (Default)
     2. Upgrade firmware
     3. Upgrade bootloader
     4. Upgrade bootloader (advanced mode)
     5. Load image and run
     0. U-Boot console


  Press UP/DOWN to move, ENTER to select
Loading legacy image at offset 0x180000 to memory 0x80010000, size 0x56aa9c ...
Automatic boot of image at addr 0x80010000 ...
## Booting kernel from Legacy Image at 80010000 ...
   Image Name:   Linux Kernel Image
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    5679708 Bytes = 5.4 MiB
   Load Address: 81001000
   Entry Point:  81009ec0
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
Linux version 4.4.198 (root@leslie-OptiPlex-390) (gcc version 5.4.0 (LEDE GCC 5.4.0 unknown) ) #3 SMP Mon Jan 11 10:38:51 CST 2021
SoC Type: MediaTek MT7621 ver:1 eco:3
bootconsole [early0] enabled
CPU0 revision is: 0001992f (MIPS 1004Kc)
MIPS: machine is MediaTek MT7621 RFB (802.11ax,NAND)
Determined physical RAM map:
 memory: 10000000 @ 00000000 (usable)
Initrd not found or empty - disabling initrd
Zone ranges:
  DMA      [mem 0x0000000000000000-0x0000000000ffffff]
  Normal   [mem 0x0000000001000000-0x000000000fffffff]
Movable zone start for each node
Early memory node ranges
  node   0: [mem 0x0000000000000000-0x000000000fffffff]
Initmem setup node 0 [mem 0x0000000000000000-0x000000000fffffff]
VPE topology {2,2} total 4
Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
PERCPU: Embedded 10 pages/cpu @82958000 s8576 r8192 d24192 u40960
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 65024
Kernel command line: console=ttyS0,115200 rootfstype=squashfs,jffs2
PID hash table entries: 1024 (order: 0, 4096 bytes)
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Writing ErrCtl register=00007282
Readback ErrCtl register=00007282
Memory: 235816K/262144K available (7005K kernel code, 4019K rwdata, 1680K rodata, 10900K init, 218K bss, 26328K reserved, 0K cma-reserved)
SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
Hierarchical RCU implementation.
NR_IRQS:256
clocksource: GIC: mask: 0xffffffffffffffff max_cycles: 0xcaf478abb4, max_idle_ns: 440795247997 ns
clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 4343773742 ns
sched_clock: 32 bits at 440MHz, resolution 2ns, wraps every 4880645118ns
Calibrating delay loop... 586.13 BogoMIPS (lpj=2930688)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
CPU1 revision is: 0001992f (MIPS 1004Kc)
Synchronize counters for CPU 1: done.
Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
CPU2 revision is: 0001992f (MIPS 1004Kc)
Synchronize counters for CPU 2: done.
Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
CPU3 revision is: 0001992f (MIPS 1004Kc)
Synchronize counters for CPU 3: done.
Brought up 4 CPUs
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
futex hash table entries: 1024 (order: 3, 32768 bytes)
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
*********      mediatek_gpio_init  **********
mt7621_gpio 1e000600.gpio: registering 32 gpios
mt7621_gpio 1e000600.gpio: registering 32 gpios
mt7621_gpio 1e000600.gpio: registering 32 gpios
============ platform_device_register ---- edx_led_device ----  rtk_register_leds_gpio ========
mt7621-pci 1e140000.pcie: Failed to get gpio for PCIe1
mt7621-pci 1e140000.pcie: Failed to get gpio for PCIe2
PCIe port 2 link down
PCI coherence region base: 0x60000000, mask/settings: 0xf0000002
PCI host bridge to bus 0000:00
pci_bus 0000:00: root bus resource [mem 0x60000000-0x6fffffff]
pci_bus 0000:00: root bus resource [io  0x1e160000-0x1e16ffff]
pci_bus 0000:00: root bus resource [??? 0x00000000 flags 0x0]
pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
pci 0000:00:01.0: bridge configuration invalid ([bus 00-00]), reconfiguring
pci 0000:00:00.0: BAR 9: assigned [mem 0x60000000-0x601fffff pref]
pci 0000:00:01.0: BAR 9: assigned [mem 0x60200000-0x603fffff pref]
pci 0000:00:00.0: BAR 1: assigned [mem 0x60400000-0x6040ffff]
pci 0000:00:01.0: BAR 1: assigned [mem 0x60410000-0x6041ffff]
pci 0000:01:00.0: BAR 0: assigned [mem 0x60000000-0x600fffff 64bit pref]
pci 0000:01:00.0: BAR 2: assigned [mem 0x60100000-0x60103fff 64bit pref]
pci 0000:01:00.0: BAR 4: assigned [mem 0x60104000-0x60104fff 64bit pref]
pci 0000:00:00.0: PCI bridge to [bus 01]
pci 0000:00:00.0:   bridge window [mem 0x60000000-0x601fffff pref]
pci 0000:02:00.0: BAR 0: assigned [mem 0x60200000-0x602fffff 64bit pref]
pci 0000:02:00.0: BAR 2: assigned [mem 0x60300000-0x60303fff 64bit pref]
pci 0000:02:00.0: BAR 4: assigned [mem 0x60304000-0x60304fff 64bit pref]
pci 0000:00:01.0: PCI bridge to [bus 02]
pci 0000:00:01.0:   bridge window [mem 0x60200000-0x603fffff pref]
clocksource: Switched to clocksource GIC
NET: Registered protocol family 2
TCP established hash table entries: 2048 (order: 1, 8192 bytes)
TCP bind hash table entries: 2048 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
UDP hash table entries: 256 (order: 1, 8192 bytes)
UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
NET: Registered protocol family 1
squashfs: version 4.0 (2009/01/31) Phillip Lougher
jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
io scheduler noop registered
io scheduler deadline registered (default)
Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled
console [ttyS0] disabled
1e000c00.uartlite: ttyS0 at MMIO 0x1e000c00 (irq = 33, base_baud = 3125000) is a 16550A
console [ttyS0] enabled
console [ttyS0] enabled
bootconsole [early0] disabled
bootconsole [early0] disabled
1e000d00.uartfull: ttyS1 at MMIO 0x1e000d00 (irq = 34, base_baud = 3125000) is a 16550A
loop: module loaded
libphy: Fixed MDIO Bus: probed
libphy: mdio: probed
mtk_soc_eth 1e100000.ethernet: generated random MAC address 82:d0:85:d9:ea:3d
mtk_soc_eth 1e100000.ethernet: connected mac 0 to PHY at fixed-0:00 [uid=00000000, driver=Generic PHY]
mtk_soc_eth 1e100000.ethernet eth0: mediatek frame engine at 0xbe100000, irq 10
mtk_soc_eth 1e100000.ethernet: generated random MAC address d2:37:df:f7:f5:b6
mtk_soc_eth 1e100000.ethernet: connected mac 1 to PHY at fixed-0:01 [uid=00000000, driver=Generic PHY]
mtk_soc_eth 1e100000.ethernet eth1: mediatek frame engine at 0xbe100000, irq 10
register mt_drv
<--mt7916_hif_init()
Rx[0] Ring: total 24576 bytes allocated
Rx[1] Ring: total 16384 bytes allocated
<-- pci_alloc_tx_rx_ring_mem, Status=0


=== pAd = c0301000, size = 11274784 ===

<-- RTMPAllocAdapterBlock, Status=0
PCI CSRBaseAddress =0xc0200000, csr_addr=0xc0200000!
RTMPInitPCIeDevice():device_id=0x7915
mt7915_init()-->
Use the default iPAiLNA bin image!
<--mt7915_init()
get_wdev_by_idx: invalid idx(0)
get_wdev_by_idx: invalid idx(0)
get_wdev_by_idx: invalid idx(0)
get_wdev_by_idx: invalid idx(0)
Rx[0] Ring: total 24576 bytes allocated
Rx[1] Ring: total 24576 bytes allocated
Rx[2] Ring: total 8192 bytes allocated
Rx[3] Ring: total 16384 bytes allocated
Rx[4] Ring: total 8192 bytes allocated
<-- pci_alloc_tx_rx_ring_mem, Status=0
get_wdev_by_idx: invalid idx(0)
get_wdev_by_idx: invalid idx(0)
get_wdev_by_idx: invalid idx(0)
Registered button device:reset, gpio:6,code:408,index:10
Registered button device:wps, gpio:4,code:529,index:11
mt7621_wdt 1e000100.wdt: Initialized
Registered led device: power_led
Registered led device: diag
Registered led device: strength0
Registered led device: strength0_1
Registered led device: strength1
Registered led device: strength1_1
Registered led device: sys_led
NET: Registered protocol family 10
NET: Registered protocol family 17
bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this.
Bridge firewalling registered
mtkmips-pinmux pinctrl: spi is already enabled
mtk-nand 1e003000.nand: Error applying setting, reverse things back
nand: device found, Manufacturer ID: 0xc2, Chip ID: 0xf1
nand: Macronix MX30LF1G18AC
nand: 128 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
Scanning device for bad blocks
nmbm nmbm: Signature found at block 1023 [0x07fe0000]
nmbm nmbm: First info table with writecount 0 found in block 960
nmbm nmbm: Second info table with writecount 0 found in block 963
nmbm nmbm: NMBM has been successfully attached
8 ofpart partitions found on MTD device nmbm
Creating 8 MTD partitions on "nmbm":
0x000000000000-0x000000080000 : "Bootloader"
0x000000080000-0x000000100000 : "Config"
0x000000100000-0x000000180000 : "Factory"
0x000000180000-0x000003580000 : "Kernel"
no rootfs found after FIT image in "Kernel"
2 uimage-fw partitions found on MTD device Kernel
0x000000180000-0x000000700000 : "kernel"
0x000000700000-0x000003580000 : "user"
0x000003580000-0x000003980000 : "manufacture"
0x000003980000-0x000004000000 : "storage"
0x000004000000-0x000007800000 : "Reserve"
0x000000000000-0x000007800000 : "ALL"
mt753x gsw: Switch is MediaTek MT7530 rev 1
libphy: mt753x_mdio: probed
hctosys: unable to open rtc device (rtc0)
Freeing unused kernel memory: 10900K
This architecture does not have kernel memory protection.
System Init version: 1.1 date: 1
Setting up file systems ...
proc: unrecognized mount option "defaults" or missing value
Setting up /mnt/tmpfs directory with tmpfs/16384KB
Setting up FLASH storage partition ...
jffs2: Empty flash at 0x000238ac ends at 0x00024000
jffs2: Empty flash at 0x0002488c ends at 0x00025000
jffs2: Empty flash at 0x00026824 ends at 0x00027000
jffs2: jffs2_scan_inode_node(): CRC failed on node at 0x000287e0: Read 0xffffffff, calculated 0xa78aa336
jffs2: Empty flash at 0x000288ec ends at 0x00029000
jffs2: notice: (474) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
Setting up /apps directory ...apps is in FLASH ...
Create Mediatek e2p file from factory partition ...
Setting up loopback device ...
FINISHED
Start Normal Operation Mode ...
************************************************************************
*                                ---ELX---                             *
************************************************************************

KernelApp version: 0.0.2 build date: 2021/01/11 build time: 10:27:04
ln: /sbin/./start_all: File exists
Share memory created:  keyid 6888 shm_id 0 size 321(KB)
Warning: dbox_destroy_share_memory p_dbox_cfg is NULL!
__create_share_mem keyid 6888 shm_id 0
__create_share_mem keyid 6888 shm_id 0
IPv6: ADDRCONF(NETDEV_UP): br0: link is not ready
device eth0 entered promiscuous mode
br0: port 1(eth0) entered forwarding state
br0: port 1(eth0) entered forwarding state


********************
Initialize Radio_(24G) setting ...
rd[0]==1
OK


Configuring Ralink WiFi device ...Wlan is in
 AP Mode
CMD[ifconfig ra0 down]
CMD[ifconfig ra1 down]
ifconfig: SIOCGIFFLAGS: No such device
CMD[ifconfig ra2 down]
ifconfig: SIOCGIFFLAGS: No such device
CMD[ifconfig rax0 down]
ifconfig: SIOCGIFFLAGS: No such device
CMD[ifconfig rax1 down]
ifconfig: SIOCGIFFLAGS: No such device
CMD[ifconfig rax2 down]
ifconfig: SIOCGIFFLAGS: No such device
CMD[ifconfig apcli0 down]
ifconfig: SIOCGIFFLAGS: No such device
CMD[ifconfig apclix0 down]
ifconfig: SIOCGIFFLAGS: No such device
CMD[insmod ]
CMD[echo '====================CE(EU)====================']


********************
Initialize Radio_(5G) setting ...
rd[1]==2
OK
Configuring 5G radio setting ...


Configuring Ralink WiFi device ...Wlan is in
 AP Mode
CMD[ifconfig ra0 down]
CMD[ifconfig ra1 down]
ifconfig: SIOCGIFFLAGS: No such device
CMD[ifconfig ra2 down]
ifconfig: SIOCGIFFLAGS: No such device
CMD[ifconfig rax0 down]
ifconfig: SIOCGIFFLAGS: No such device
CMD[ifconfig rax1 down]
ifconfig: SIOCGIFFLAGS: No such device
CMD[ifconfig rax2 down]
ifconfig: SIOCGIFFLAGS: No such device
CMD[ifconfig apcli0 down]
ifconfig: SIOCGIFFLAGS: No such device
CMD[ifconfig apclix0 down]
ifconfig: SIOCGIFFLAGS: No such device
CMD[insmod /lib/modules/4.4.198/kernel/mt_wifi.ko]
insmod: can't read '/lib/modules/4.4.198/kernel/mt_wifi.ko': No such file or directory
CMD[echo '====================CE(EU)====================']


Bring up Mediatek 24G WiFi device ...Wlan is in
CMD[/sbin/xcontrol  2>/dev/null &]
CMD[ifconfig ra0 0.0.0.0 up]
ra0: ===> main_virtual_if_open
get_wdev_by_idx: invalid idx(0)
RTMP_COM_IoctlHandle -> CMD_RTPRIV_IOCTL_VIRTUAL_INF_INIT
get_wdev_by_idx: invalid idx(0)
get_wdev_by_idx: invalid idx(0)
get_wdev_by_idx: invalid idx(0)
load l1profile succeed!
mt_service_open: wlan service opens successfully!
[multi_profile_merge_5g_only] DBDC_MODE=1
multi-profile merge success, en:1,pf1_num:1,pf2_num:1,total:2
Open file "/etc/wireless/mediatek/DBDC_card0.dat" to store DBDC cfg! (23)
Write file "/etc/wireless/mediatek/DBDC_card0.dat" success (size=3550)!
BssidNum=2
Pf2MbssIdxMap:
 0  1
MacAddress1 = 00:00:00:00:00:00
E2pAccessMode=2
SSID[0]=VPN-D55B55, EdcaIdx=0
SSID[1]=VPN-D55B55, EdcaIdx=0
RTMPSetProfileParameters(): DBDC Mode=1, eDBDC_mode = 1
cfg_mode=16
cfg_mode=16
cfg_mode=16
wmode_band_equal(): Band Equal!
cfg_mode=17
cfg_mode=17
cfg_mode=17
BandSteering=1
BndStrgBssIdx=1;1
[TxPower] BAND0: 100, BAND1: 100
[SKUenable] BAND0: 1, BAND1: 1
[SkuTableIdx]: 1
[PERCENTAGEenable] BAND0: 0, BAND1: 0
[BFBACKOFFenable] BAND0: 1, BAND1: 1
profile: FragThreshold[0]=2346
profile: FragThreshold[1]=2346
APEdca0
Valid=1
APAifsn[0]=3
APAifsn[1]=7
APAifsn[2]=1
APAifsn[3]=1
APEdca1
Valid=1
APAifsn[0]=3
APAifsn[1]=7
APAifsn[2]=1
APAifsn[3]=1
APEdca2
APEdca3
BSSAifsn[0]=3
BSSAifsn[1]=7
BSSAifsn[2]=2
BSSAifsn[3]=2
BSSAifsn[0]=3
BSSAifsn[1]=7
BSSAifsn[2]=2
BSSAifsn[3]=2
APSDCapable[0]=1
APSDCapable[1]=1
default ApCliAPSDCapable[0]=1
default ApCliAPSDCapable[1]=1
DfsZeroWait Support=0/0
DfsZeroWaitCacTime=255/255
read_itxbf: ITxBfEn = 0
read_itxbf: BSSID[0]
read_itxbf: MBSS[0] ITxBfEn = 0
read_itxbf: ITxBfEn = 0
read_itxbf: BSSID[1]
read_itxbf: MBSS[1] ITxBfEn = 0
read_itxbf: Common.ITxBfEn = 0
read_etxbf: ETxBfEnCond = 1
read_etxbf: BSSID[0]
read_etxbf: MBSS[0] ETxBfEnCond = 1
read_etxbf: ETxBfEnCond = 1
read_etxbf: BSSID[1]
read_etxbf: MBSS[1] ETxBfEnCond = 1
MBSS[0] MuMimoDlEnable = 0
MBSS[1] MuMimoDlEnable = 1
MBSS[0] MuMimoUlEnable = 0
MBSS[1] MuMimoUlEnable = 1
[PMF]Set_PMFMFPC_Proc:: apidx=0, Desired MFPC=1
[PMF]Set_PMFMFPC_Proc:: apidx=1, Desired MFPC=1
[PMF]Set_PMFMFPR_Proc:: apidx=0, Desired MFPR=0
[PMF]Set_PMFMFPR_Proc:: apidx=1, Desired MFPR=0
[PMF]Set_PMFSHA256_Proc:: apidx=0, Desired PMFSHA256=0
[PMF]Set_PMFSHA256_Proc:: apidx=1, Desired PMFSHA256=0
[PMF]Set_ApCliPMFMFPC_Proc:: Desired MFPC=1
[PMF]Set_ApCliPMFMFPC_Proc:: MFPC=1, MFPR=0, SHA256=0
[PMF]Set_ApCliPMFMFPC_Proc:: Desired MFPC=1
[PMF]Set_ApCliPMFMFPC_Proc:: MFPC=1, MFPR=0, SHA256=0
[PMF]Set_ApCliPMFMFPR_Proc:: Desired MFPR=0
[PMF]Set_ApCliPMFMFPR_Proc:: MFPC=1, MFPR=0, SHA256=0
[PMF]Set_ApCliPMFMFPR_Proc:: Desired MFPR=0
[PMF]Set_ApCliPMFMFPR_Proc:: MFPC=1, MFPR=0, SHA256=0
[PMF]Set_ApCliPMFSHA256_Proc:: Desired PMFSHA256=0
[PMF]Set_ApCliPMFSHA256_Proc:: Desired PMFSHA256=0
HT_BAWinSize: wdev[0]: (TX=256, RX=256)
HT_BAWinSize: wdev[1]: (TX=256, RX=256)
HT: WDEV[0] Ext Channel = BELOW
HT: WDEV[1] Ext Channel = ABOVE
HT: greenap_cap = 0
ChipID=7915, TWTSupport in profile=1
ICapMode = 0
WtcSetMaxStaNum: MaxStaNum:284, BssidNum:2, WdsNum:0, MSTANum:1, MaxNumChipRept:0, MinMcastWcid:285
Top Init Done!
Use dev_alloc_skb
token_tx_two_queues_init(): ct sw token(0) number = 2048
token_tx_two_queues_init(): token que(0) inited done!id_head/tail=0/2048
token_tx_two_queues_init(): 8d504a04,8d504a04
token_tx_two_queues_init(): ct sw token(1) number = 6144
token_tx_two_queues_init(): token que(1) inited done!id_head/tail=0/6144
token_tx_two_queues_init(): 8d504aac,8d504aac
TxRing[0]: attr:0, total 2048 entry initialized
TxRing[1]: attr:0, total 2048 entry initialized
TxRing[2]: attr:0, total 2048 entry initialized
RX[0] DESC a0d68000 size = 24576
RX[1] DESC a0d4c000 size = 16384
RX[2] DESC a0f10000 size = 24576
RX[3] DESC a0f18000 size = 24576
RX[4] DESC a0ed6000 size = 8192
RX[5] DESC a0f50000 size = 16384
RX[6] DESC a0f54000 size = 8192
-->TX_RING_0[0xd9330]: Attr:0, Base=0xd40000, Cnt=2048!
-->TX_RING_1[0xd5420]: Attr:0, Base=0xed8000, Cnt=2048!
-->TX_RING_2[0xd5430]: Attr:0, Base=0xf00000, Cnt=2048!
-->TX_RING_3[0xd5400]: Attr:3, Base=0xed3000, Cnt=128!
-->TX_RING_4[0xd5410]: Attr:2, Base=0xed4000, Cnt=256!
-->TX_RING_5[0xd5440]: Attr:1, Base=0xed5000, Cnt=256!
-->RX_RING0[0xd8510]: Base=0xd68000, Cnt=1536
-->RX_RING1[0xd9520]: Base=0xd4c000, Cnt=1024
-->RX_RING2[0xd4500]: Base=0xf10000, Cnt=1536
-->RX_RING3[0xd4510]: Base=0xf18000, Cnt=10
-->RX_RING4[0xd5500]: Base=0xed6000, Cnt=512
-->RX_RING5[0xd5510]: Base=0xf50000, Cnt=1024
-->RX_RING6[0xd5520]: Base=0xf54000, Cnt=512
Hif Init Done!
pci_driver_own_by_port: success to clear p=0 fw own, from(1): 1 is interrupt mode, 2 is polling mode.
pci_driver_own_by_port: success to clear p=1 fw own, from(1): 1 is interrupt mode, 2 is polling mode.
fw_prepare():using E2 ROM patch
fw_prepare():using E2 RAM
Parsing patch header
        Built date: 20200506152445a

        Platform: ALPS
        HW/SW version: 0x8a108a10
        Patch version: 0xffffffff
        Section num: 0x2, subsys: 0x4
        Section 0: type = 0x30002, offset = 0xe0, size = 0xfc80
        Target address: 0x200000, length: 0xfc80
        Section 1: type = 0x30002, offset = 0xfd60, size = 0x13540
        Target address: 0xe000f000, length: 0x13540
Patch SEM Status = 2
patch is not ready && get semaphore success
Start address = 0x200000, DL length = 64640, Data mode = 0x80000000
EventGenericEventHandler: CMD Success
MtCmdAddressLenReq:(ret = 0)
Start address = 0xe000f000, DL length = 79168, Data mode = 0x80000000
EventGenericEventHandler: CMD Success
MtCmdAddressLenReq:(ret = 0)
MtCmdPatchFinishReq
EventGenericEventHandler: CMD Success
Patch SEM Status = 3
release patch semaphore
 WfMcuHwInit: Before NICLoadFirmware, check ICapMode = 0
Parsing CPU 0 fw tailer
        Chip ID: 0x0b
        Eco version: 0x01
        Region number: 0x07
        Format version: 0x02
        Format flag: 0x01
        Ram version: ____000000
        Built date: 20200506152529
        Common crc: 0x2c67a785
Parsing tailer region 0
        Decomp crc: 0x0
        Decomp size: 0x0
        Decomp block size: 0x0
        Target address: 0x21fc00
        Download size: 108544
        Feature set: 0x20
Parsing tailer region 1
        Decomp crc: 0x0
        Decomp size: 0x0
        Decomp block size: 0x0
        Target address: 0x31dc00
        Download size: 205824
        Feature set: 0x00
Parsing tailer region 2
        Decomp crc: 0x0
        Decomp size: 0x0
        Decomp block size: 0x0
        Target address: 0x417400
        Download size: 31744
        Feature set: 0x00
Parsing tailer region 3
        Decomp crc: 0x0
        Decomp size: 0x0
        Decomp block size: 0x0
        Target address: 0xe0022800
        Download size: 389120
        Feature set: 0x00
Parsing tailer region 4
        Decomp crc: 0x0
        Decomp size: 0x0
        Decomp block size: 0x0
        Target address: 0xe0081800
        Download size: 354304
        Feature set: 0x00
Parsing tailer region 5
        Decomp crc: 0x0
        Decomp size: 0x0
        Decomp block size: 0x0
        Target address: 0x23a400
        Download size: 89088
        Feature set: 0x00
Parsing tailer region 6
        Decomp crc: 0x0
        Decomp size: 0x0
        Decomp block size: 0x0
        Target address: 0x400000
        Download size: 81920
        Feature set: 0x00
        Release info: header tag = 0, total length = 72
        tag 1, padding length = 3, tag length = 65
        payload: t-neptune-MP-AX1800-2007-MT7915_WIFI_RAM_REBB_2007-20200506152412
Start address = 0x21fc00, DL length = 108544, Data mode = 0x80000000
EventGenericEventHandler: CMD Success
MtCmdAddressLenReq:(ret = 0)
Start address = 0x31dc00, DL length = 205824, Data mode = 0x80000000
EventGenericEventHandler: CMD Success
MtCmdAddressLenReq:(ret = 0)
Start address = 0x417400, DL length = 31744, Data mode = 0x80000000
EventGenericEventHandler: CMD Success
MtCmdAddressLenReq:(ret = 0)
Start address = 0xe0022800, DL length = 389120, Data mode = 0x80000000
EventGenericEventHandler: CMD Success
MtCmdAddressLenReq:(ret = 0)
Start address = 0xe0081800, DL length = 354304, Data mode = 0x80000000
EventGenericEventHandler: CMD Success
MtCmdAddressLenReq:(ret = 0)
random: nonblocking pool is initialized
Start address = 0x23a400, DL length = 89088, Data mode = 0x80000000
EventGenericEventHandler: CMD Success
MtCmdAddressLenReq:(ret = 0)
Start address = 0x400000, DL length = 81920, Data mode = 0x80000000
EventGenericEventHandler: CMD Success
MtCmdAddressLenReq:(ret = 0)
MtCmdFwStartReq: override = 0x1, address = 0x21fc00
EventGenericEventHandler: CMD Success
Parsing CPU 1 fw tailer
        Chip ID: 0x00
        Eco version: 0x01
        Region number: 0x03
        Format version: 0x02
        Format flag: 0x01
        Ram version: DEV_000000
        Built date: 20200506152549
        Common crc: 0xf020288f
Parsing tailer region 0
        Decomp crc: 0x0
        Decomp size: 0x0
        Decomp block size: 0x0
        Target address: 0x10200000
        Download size: 83200
        Feature set: 0x00
Parsing tailer region 1
        Decomp crc: 0x0
        Decomp size: 0x0
        Decomp block size: 0x0
        Target address: 0x10300000
        Download size: 17920
        Feature set: 0x00
Parsing tailer region 2
        Decomp crc: 0x0
        Decomp size: 0x0
        Decomp block size: 0x0
        Target address: 0xe0000000
        Download size: 1952
        Feature set: 0x00
        Release info: header tag = 0, total length = 0
Start address = 0x10200000, DL length = 83200, Data mode = 0x80000010
EventGenericEventHandler: CMD Success
MtCmdAddressLenReq:(ret = 0)
Start address = 0x10300000, DL length = 17920, Data mode = 0x80000010
EventGenericEventHandler: CMD Success
MtCmdAddressLenReq:(ret = 0)
Start address = 0xe0000000, DL length = 1952, Data mode = 0x80000010
EventGenericEventHandler: CMD Success
MtCmdAddressLenReq:(ret = 0)
MtCmdFwStartReq: override = 0x4, address = 0x0
EventGenericEventHandler: CMD Success
MCU Init Done!
efuse_probe: efuse = 10000012
RtmpChipOpsEepromHook::e2p_type=2, inf_Type=5
RtmpEepromGetDefault::e2p_dafault=1
RtmpChipOpsEepromHook: E2P type(2), E2pAccessMode = 2, E2P default = 1
NVM is FLASH mode. dev_idx [0] FLASH OFFSET [0x0]
rtmp_nv_init(): EEPROM Size[131072]
[EEPROMImage - PreCalImageInfo - PreCalImage - TxDPDImage]
[0x8c020000 - 0x8c020e00 - 0x8c020e10 - 0x8c02d220]
validFlashEepromID(): eeFlashId=7915, pAd->ChipID=7915
[d-die version:1]
[a-die version:2]

NICReadEEPROMParameters: EEPROM 0x62 7
NICReadEEPROMParameters: Group Pre-Cal finished, load Group Pre-Cal data
NICReadEEPROMParameters: DPD 5G Pre-Cal finished!
NICReadEEPROMParameters: DPD 2G Pre-Cal finished!
Country Region from e2p = 0
antenna_default_reset() todo
antenna_default_reset() value = 0x2424, TxPath = 4, RxPath = 4
RTMPReadTxPwrPerRate(458): Don't Support this now!
rc_radio_init(): DBDC MODE=1, ConcurrentBand=2
rc_radio_init(): radio_ctrl=8e3716bc,Band=0,rfcap=3,channel=1,PhyMode=2 extCha=0xf
rc_radio_init(): radio_ctrl=8e371a10,Band=1,rfcap=3,channel=1,PhyMode=2 extCha=0xf
rcUpdateBandForBFMU     PhyCtrl[0].RadioCtrl.IsBfBand = 1
rcUpdateBandForBFMU     PhyCtrl[1].RadioCtrl.IsBfBand = 1
TxBfModuleEnCtrl:u1BfNum = 2, u1BfBitmap = 3, u1BfSelBand[0] = 0
ucAction = 0, ucBandIdx = 0, ucSmthIntlBypass = 0
ucAction = 0, ucBandIdx = 1, ucSmthIntlBypass = 0
AntCfgInit(2702): Not support for HIF_MT yet!
mt7915_check_RF_lock_down: RFlockDown Enable: 0
MtReadPwrLimitTable: sku table idx: 1
mt7915_check_RF_lock_down: RFlockDown Enable: 0
MtReadPwrLimitTable: sku table idx: 1
EEPROM Init Done!
mac_init()-->
init_mac_cr()-->
<--mac_init()
CmdRxHdrTransBLUpdateRsp::EventExtCmdResult.u4Status = 0x0
CmdRxHdrTransBLUpdateRsp::EventExtCmdResult.u4Status = 0x0
CmdRxHdrTransBLUpdateRsp::EventExtCmdResult.u4Status = 0x0
MAC Init Done!
BBPInit():BBP Initialization.....
        Band 0: valid=1, isDBDC=0, Band=2, CBW=1, CentCh/PrimCh=1/1, prim_ch_idx=0, txStream=2
        Band 1: valid=0, isDBDC=0, Band=0, CBW=0, CentCh/PrimCh=0/0, prim_ch_idx=0, txStream=0
BBPInit() todo
PHY Init Done!
tx_pwr_comp_init():NotSupportYet!
Set_SCSEnable_Proc(): BandIdx=0, SCSEnable=1
MtCmdSetMacTxRx:(ret = 0)
MtCmdSetMacTxRx:(ret = 0)
ap_ftkd> Initialize FT KDP Module...
Main bssid = 00:00:00:00:00:00
MtCmdSetMacTxRx:(ret = 0)
MtCmdSetMacTxRx:(ret = 0)
<==== mt_wifi_init, Status=0
TxBfModuleEnCtrl:u1BfNum = 2, u1BfBitmap = 3, u1BfSelBand[0] = 0
HeraInitStbcPriority: u1BandIdx = 0, u1StbcPriority = 0
HeraConfigStbcPriority: u1BandIdx = 0, u1Operation=1, u1StbcPriority = 0
CmdHeraStbcPriorityCtrl: u1BandIdx=0, u1Operation=1, u1StbcPriority=0
HeraInitStbcPriority: u1BandIdx = 1, u1StbcPriority = 0
HeraConfigStbcPriority: u1BandIdx = 1, u1Operation=1, u1StbcPriority = 0
CmdHeraStbcPriorityCtrl: u1BandIdx=1, u1Operation=1, u1StbcPriority=0
Register MBSSID IF 1 (rax0)
MSTA_Init (2) ---> ApCli
Register MSTA IF (apcli0) , pAd->MSTANum = 1
Caller: SetCommonHT+0x100/0x170

phy_mode=78, ch=4, wdev_type=2
ht_cap: ht_cap->HtCapInfo,
ldpc=1,ch_width=1,gf=0,sgi20=1,sgi40=1,tx_stbc=1,rx_stbc=1,amsdu_size=1
ht_cap: ht_cap->HtCapParm,
mdpu_density=0, ampdu_factor=3
Register MSTA IF (apclix0) , pAd->MSTANum = 2
Caller: SetCommonHT+0x100/0x170

phy_mode=177, ch=36, wdev_type=2
ht_cap: ht_cap->HtCapInfo,
ldpc=1,ch_width=1,gf=0,sgi20=1,sgi40=1,tx_stbc=1,rx_stbc=1,amsdu_size=1
ht_cap: ht_cap->HtCapParm,
mdpu_density=0, ampdu_factor=3
mt_service_init: wlan service inits successfully!
WtcSetMaxStaNum: MaxStaNum:282, BssidNum:2, WdsNum:0, MSTANum:2, MaxNumChipRept:0, MinMcastWcid:284
RedInit: set CR4/N9 RED Enable to 1.
RedInit: RED Initiailize Done.
cp_support_is_enabled: set Driver CP_SUPPORT to Mode 2.
RTMP_COM_IoctlHandle -> CMD_RTPRIV_IOCTL_VIRTUAL_INF_UP
wifi_sys_open(), wdev idx = 0
rcUpdateBandForBFMU     PhyCtrl[0].RadioCtrl.IsBfBand = 1
rcUpdateBandForBFMU     PhyCtrl[1].RadioCtrl.IsBfBand = 1
TxBfModuleEnCtrl:u1BfNum = 2, u1BfBitmap = 3, u1BfSelBand[0] = 0
ucAction = 0, ucBandIdx = 0, ucSmthIntlBypass = 0
ucAction = 0, ucBandIdx = 1, ucSmthIntlBypass = 0
BuildChannelList() BandIdx = 0, PhyMode = 78, ChListNum = 13:
phy_oper_init(): operate TxStream = 2, RxStream = 2
mt7915_apply_dpd_flatness_data: DPD Pre-Cal finished, load DPD Pre-Cal data
MtCmdChannelSwitch: control_chl = 4,control_ch2=0, central_chl = 6 DBDCIdx= 0, Band= 0
BW = 1,TXStream = 2, RXStream = 2, scan(0)
MtCmdSetTxRxPath: control_chl = 4,control_ch2=0, central_chl = 6, BW = 1,TXStream = 2, RXStream = 2,RXPath = 3, BandIdx =0,  scan(0), Channel_Band = 0
Caller: wlan_operate_init+0x104/0x118

phy_mode=78, ch=4, wdev_type=1
ht_cap: ht_cap->HtCapInfo,
ldpc=1,ch_width=1,gf=0,sgi20=1,sgi40=1,tx_stbc=1,rx_stbc=1,amsdu_size=1
ht_cap: ht_cap->HtCapParm,
mdpu_density=5, ampdu_factor=3
wdev_attr_update(): wdevId0 = a0:a3:f0:48:af:f1
AP inf up for ra_0(func_idx) OmacIdx=0
AsicRadioOnOffCtrl(): DbdcIdx=0 RadioOn
BndStrg_Init()
ApAutoChannelAtBootUp----------------->
ApAutoChannelAtBootUp: AutoChannelBootup[0] = 0
MtCmdSetMacTxRx:(ret = 0)
MtCmdSetMacTxRx:(ret = 0)
 ap_run_at_boot() : ACS is disable !!
[PMF]APPMFInit:: Security is not WPA2/WPA2PSK AES
[PMF]APPMFInit:: apidx=0, MFPC=0, MFPR=0, SHA256=0
Caller: SetCommonHT+0x100/0x170

// cropped. Since when do we have a 32k chars linit here :thinking:

2 Likes

Thanks!
I decided and bought 2 of em.

Me too. The price is too good to be true for a small AX1800 device.

What's wrong with uartlite after initialization :thinking:

initramfs boot
=> tftpboot 81000000
Using eth@1e100000 device
TFTP from server 192.168.0.8; our IP address is 192.168.0.50
Filename 'uImage_RE-7476DRX'.
Load address: 0x81000000
Loading: *
ARP Retry count exceeded; starting again
=> tftpboot 81000000
Using eth@1e100000 device
TFTP from server 192.168.0.8; our IP address is 192.168.0.50
Filename 'uImage_RE-7476DRX'.
Load address: 0x81000000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ####################################
         791 KiB/s
done
Bytes transferred = 7193974 (6dc576 hex)
=> bootm 81000000
## Booting kernel from Legacy Image at 81000000 ...
   Image Name:   MIPS OpenWrt Linux-5.10.149
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    7193910 Bytes = 6.9 MiB
   Load Address: 80001000
   Entry Point:  80001000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
[    0.000000] Linux version 5.10.149 (sebastian@sebastian-msi) (mipsel-openwrt-linux-musl-gcc (OpenWrt GCC 11.3.0 r19732+12-96012227e5) 11.3.0, GNU ld (GNU Binutils) 2.37) #0 SMP Thu Oct 27 23:16:00 2022
[    0.000000] SoC Type: MediaTek MT7621 ver:1 eco:3
[    0.000000] printk: bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 0001992f (MIPS 1004Kc)
[    0.000000] MIPS: machine is D-Link DAP-X1860 A1
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] VPE topology {2,2} total 4
[    0.000000] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    0.000000] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x000000000fffffff]
[    0.000000]   HighMem  empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x000000000fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000000fffffff]
[    0.000000] percpu: Embedded 15 pages/cpu s30224 r8192 d23024 u61440
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 64960
[    0.000000] Kernel command line: console=ttyS0,57600 rootfstype=squashfs,jffs2
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[    0.000000] Writing ErrCtl register=00020e00
[    0.000000] Readback ErrCtl register=00020e00
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 244824K/262144K available (6739K kernel code, 622K rwdata, 1368K rodata, 5528K init, 235K bss, 17320K reserved, 0K cma-reserved, 0K highmem)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000]  Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] NR_IRQS: 256
[    0.000000] CPU Clock: 880MHz
[    0.000000] clocksource: GIC: mask: 0xffffffffffffffff max_cycles: 0xcaf478abb4, max_idle_ns: 440795247997 ns
[    0.000012] sched_clock: 64 bits at 880MHz, resolution 1ns, wraps every 4398046511103ns
[    0.007941] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 4343773742 ns
[    0.016977] Calibrating delay loop... 586.13 BogoMIPS (lpj=2930688)
[    0.083148] pid_max: default: 32768 minimum: 301
[    0.087912] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.095114] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.105629] rcu: Hierarchical SRCU implementation.
[    0.110655] dyndbg: Ignore empty _ddebug table in a CONFIG_DYNAMIC_DEBUG_CORE build
[    0.118741] smp: Bringing up secondary CPUs ...
[    0.123979] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
[    0.123989] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    0.124000] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
[    0.124073] CPU1 revision is: 0001992f (MIPS 1004Kc)
[    0.178509] Synchronize counters for CPU 1: done.
[    0.210490] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
[    0.210499] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    0.210508] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
[    0.210555] CPU2 revision is: 0001992f (MIPS 1004Kc)
[    0.269662] Synchronize counters for CPU 2: done.
[    0.300247] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
[    0.300257] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    0.300264] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
[    0.300315] CPU3 revision is: 0001992f (MIPS 1004Kc)
[    0.354851] Synchronize counters for CPU 3: done.
[    0.384719] smp: Brought up 1 node, 4 CPUs
[    0.393002] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.402823] futex hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.409831] pinctrl core: initialized pinctrl subsystem
[    0.417300] NET: Registered protocol family 16
[    0.422898] thermal_sys: Registered thermal governor 'step_wise'
[    0.423754] cpuidle: using governor teo
[    0.475369] clocksource: Switched to clocksource GIC
[    0.482017] NET: Registered protocol family 2
[    0.486734] IP idents hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.494716] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear)
[    0.503136] TCP established hash table entries: 2048 (order: 1, 8192 bytes, linear)
[    0.510744] TCP bind hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.517828] TCP: Hash tables configured (established 2048 bind 2048)
[    0.524249] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.530732] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.537935] NET: Registered protocol family 1
[    0.542229] PCI: CLS 0 bytes, default 32
[    6.010977] workingset: timestamp_bits=14 max_order=16 bucket_order=2
[    6.021401] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    6.027173] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    6.039199] mt7621_gpio 1e000600.gpio: registering 32 gpios
[    6.045039] mt7621_gpio 1e000600.gpio: registering 32 gpios
[    6.050953] mt7621_gpio 1e000600.gpio: registering 32 gpios
[    6.057447] Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled
[    6.065519] printk: console [ttyS0] disabled
[    6.069841] 1e000c00.uartlite: ttyS0 at MMIO 0x1e000c00 (irq = 19, base_baud = 3125000) is a 16550A
β–’β–’β–’β–’β–’~β–’β–’fβ–’β–’`β–’β–’~β–’β–’β–’β–’β–’β–’fβ–’β–’~`fβ–’β–’~β–’β–’β–’β–’β–’β–’β–’fxζ€˜β–’β–’β–’β–’β–’β–’~β–’β–’fβ–’β–’`β–’β–’~β–’β–’β–’β–’β–’β–’fβ–’β–’~`fβ–’β–’~β–’β–’β–’β–’β–’β–’β–’fxζ€˜β–’β–’β–’β–’β–’β–’xβ–’β–’~β–’β–’fβ–’β–’`β–’β–’~β–’β–’β–’β–’`β–’β–’β–’β–’β–’β–’fβ–’β–’fxβ–’β–’β–’β–’β–’~xβ–’β–’fβ–’β–’β–’fxζ€˜β–’β–’β–’β–’β–’β–’xβ–’β–’~β–’β–’fβ–’β–’`β–’β–’~β–’β–’β–’β–’`β–’β–’β–’β–’β–’β–’fβ–’β–’fxβ–’β–’β–’β–’β–’~xβ–’β–’fβ–’β–’β–’fxζ€˜β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’`β–’~xfβ–’~β–’β–’fxxβ–’β–’fβ–’β–’`β–’β–’fβ–’β–’fβ–’xβ–’β–’~fβ–’β–’fxβ–’`β–’β–’β–’xβ–’β–’β–’β–’β–’β–’β–’`β–’β–’xβ–’β–’β–’β–’β–’xβ–’β–’xβ–’β–’β–’β–’`β–’~β–’fβ–’β–’β–’β–’β–’β–’fxβ–’xfβ–’`β–’β–’fβ–’β–’β–’β–’β–’β–’x~β–’xβ–’β–’~β–’β–’β–’`β–’~β–’β–’xβ–’β–’fβ–’β–’β–’β–’β–’β–’β–’β–’β–’β–’fβ–’β–’fxβ–’β–’fβ–’β–’fxβ–’β–’β–’xβ–’β–’β–’fβ–’β–’fβ–’xfβ–’β–’fβ–’β–’fxβ–’xβ–’β–’β–’β–’β–’β–’β–’β–’fβ–’β–’fxβ–’`β–’β–’β–’β–’β–’β–’β–’xβ–’β–’β–’~β–’β–’~~β–’β–’β–’β–’β–’`β–’β–’β–’xβ–’β–’β–’β–’`β–’~β–’β–’β–’β–’β–’~fxβ–’~~β–’β–’β–’β–’xβ–’β–’fβ–’β–’~fx~β–’β–’β–’fβ–’`β–’β–’fβ–’β–’β–’β–’β–’fβ–’β–’xβ–’~β–’xβ–’β–’β–’fx`fβ–’fβ–’β–’~β–’β–’`fβ–’β–’β–’β–’fβ–’β–’~β–’β–’`fβ–’β–’β–’β–’xβ–’β–’fβ–’β–’`β–’β–’β–’β–’f`xfβ–’~β–’β–’fxβ–’β–’~~β–’β–’β–’β–’β–’`fβ–’β–’β–’β–’β–’β–’β–’β–’~β–’β–’β–’β–’fx~β–’β–’β–’~β–’β–’f`fβ–’β–’~β–’β–’`fβ–’β–’β–’β–’β–’β–’β–’`β–’`β–’xxβ–’β–’β–’β–’β–’`β–’`β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’~`β–’β–’β–’`β–’β–’β–’xfβ–’β–’`ζ€˜β–’β–’β–’β–’`β–’β–’~β–’β–’β–’β–’~`β–’β–’xfβ–’~β–’`ζ€˜β–’β–’β–’xβ–’x~xβ–’β–’β–’β–’β–’β–’β–’~`xfβ–’β–’~β–’β–’fβ–’`ζ€˜β–’β–’β–’β–’xβ–’β–’β–’β–’~β–’β–’β–’β–’β–’xf~`xfβ–’fβ–’~fβ–’β–’fxβ–’β–’β–’β–’β–’~β–’fβ–’β–’xβ–’~xβ–’β–’fβ–’β–’β–’xffβ–’xβ–’~fβ–’β–’~β–’β–’`fβ–’β–’β–’β–’xβ–’β–’fβ–’β–’`β–’β–’β–’β–’f`xfβ–’~β–’β–’fxxβ–’β–’fβ–’~fβ–’β–’fxζ€˜β–’β–’β–’~β–’β–’~β–’β–’β–’β–’fx~β–’β–’β–’~xβ–’f`fβ–’β–’~β–’β–’`fβ–’β–’β–’β–’β–’β–’β–’`xfβ–’fβ–’~fβ–’β–’fx~ζ€˜β–’β–’β–’~β–’β–’β–’β–’β–’xβ–’β–’β–’β–’β–’~`β–’β–’fβ–’β–’fβ–’β–’β–’β–’β–’β–’β–’β–’xβ–’~β–’β–’β–’β–’β–’x`~`β–’β–’β–’`β–’xβ–’`ζ€˜β–’β–’β–’β–’β–’β–’xβ–’β–’~β–’β–’~`β–’~xfβ–’~β–’β–’fxβ–’β–’β–’β–’β–’β–’`β–’xfβ–’β–’β–’fx`~β–’β–’β–’fxβ–’β–’β–’β–’`xβ–’β–’β–’fβ–’β–’fβ–’β–’~ffβ–’ζ€˜β–’β–’β–’β–’β–’β–’xfxβ–’~β–’β–’β–’β–’ff~β–’β–’β–’xβ–’β–’fβ–’β–’β–’β–’`fβ–’β–’~β–’β–’`fβ–’β–’β–’β–’xβ–’β–’fβ–’β–’`β–’β–’β–’β–’f`xfβ–’~β–’β–’fxβ–’β–’β–’β–’`β–’xfβ–’β–’β–’β–’β–’β–’`fβ–’~β–’β–’β–’β–’β–’x`~`β–’β–’β–’`β–’xβ–’fx~β–’`ζ€˜β–’β–’β–’β–’~β–’β–’xβ–’~β–’xfβ–’β–’β–’xβ–’~`β–’β–’β–’fβ–’xβ–’β–’~fβ–’β–’fxβ–’β–’β–’β–’β–’β–’fβ–’xβ–’β–’xβ–’β–’β–’~`~β–’β–’fβ–’xfβ–’`ζ€˜β–’β–’β–’β–’xβ–’~β–’β–’~β–’β–’β–’β–’~`fxfxβ–’~fβ–’`

Irregular burst of more gibberish are received, so it's still the right pin but wrong baudrate... will solder a logic analyzer tomorrow to measure actual baudrate; what does base_baud = 3125000 mean here?

In mt7621.dtsi there is an attribute clock-frequency = <50000000>; being set, wonder if this is relevant. Any advice?

UART baudrate is reduced to 57600 from that point, any ideas how to keep it at 115200?
// edit: the chosen { bootargs = "console=ttyS0,115200"; };
boilerplate indeed fixed it, totally unexpected... :innocent:

bootlog continued
β–’*xβ–’    β–’β–’BEHβ–’β–’Zβ–’β–’Xβ–’β–’+β–’rβ–’β–’Βͺβ–’β–’β–’printk: console [ttyS0] enabled
[    6.078551] printk: console [ttyS0] enabled
[    6.095033] printk: bootconsole [early0] disabled
[    6.095033] printk: bootconsole [early0] disabled
[    6.116449] nand: device found, Manufacturer ID: 0xc2, Chip ID: 0xf1
[    6.129238] nand: Macronix MX30LF1G18AC
[    6.136893] nand: 128 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[    6.151975] mt7621-nand 1e003000.nand: ECC strength adjusted to 4 bits
[    6.165103] 7 fixed-partitions partitions found on MTD device mt7621-nand
[    6.179572] Creating 7 MTD partitions on "mt7621-nand":
[    6.190033] 0x000000000000-0x000000080000 : "bootloader"
[    6.206606] 0x000000080000-0x000000100000 : "config"
[    6.222594] 0x000000100000-0x000000180000 : "factory"
[    6.238905] 0x000000180000-0x000003580000 : "firmware"
[    6.774175] 2 uimage-fw partitions found on MTD device firmware
[    6.786013] Creating 2 MTD partitions on "firmware":
[    6.795908] 0x000000000000-0x000000580000 : "kernel"
[    6.862082] 0x000000580000-0x000003400000 : "rootfs"
[    7.339805] mtd: device 5 (rootfs) set to be root filesystem
[    7.351188] 1 squashfs-split partitions found on MTD device rootfs
[    7.363509] 0x000000a80000-0x000003400000 : "rootfs_data"
[    7.791964] 0x000003580000-0x000003980000 : "manufacture"
[    7.844120] 0x000003980000-0x000004000000 : "storage"
[    7.920673] 0x000004000000-0x000007800000 : "reserve"
[    8.545542] mt7530 mdio-bus:1f: MT7530 adapts as multi-chip module
[    8.575849] mtk_soc_eth 1e100000.ethernet eth0: mediatek frame engine at 0xbe100000, irq 21
[    8.593461] mtk_soc_eth 1e100000.ethernet wan: mediatek frame engine at 0xbe100000, irq 21
[    8.611503] i2c /dev entries driver
[    8.621197] mt7621-pci 1e140000.pcie: host bridge /pcie@1e140000 ranges:
[    8.634648] mt7621-pci 1e140000.pcie:   No bus range found for /pcie@1e140000, using [bus 00-ff]
[    8.652186] mt7621-pci 1e140000.pcie:      MEM 0x0060000000..0x006fffffff -> 0x0000000000
[    8.668491] mt7621-pci 1e140000.pcie:       IO 0x001e160000..0x001e16ffff -> 0x0000000000
[    8.684887] mt7621-pci 1e140000.pcie: Parsing DT failed
[    8.697292] NET: Registered protocol family 10
[    8.708057] Segment Routing with IPv6
[    8.715538] NET: Registered protocol family 17
[    8.724769] 8021q: 802.1Q VLAN Support v1.8
[    8.736617] mt7530 mdio-bus:1f: MT7530 adapts as multi-chip module
[    8.775665] mt7530 mdio-bus:1f: configuring for fixed/rgmii link mode
[    8.792655] DSA: tree 0 setup
[    8.798890] rt2880-pinmux pinctrl: pcie is already enabled
[    8.809908] mt7621-pci 1e140000.pcie: host bridge /pcie@1e140000 ranges:
[    8.823277] mt7621-pci 1e140000.pcie:   No bus range found for /pcie@1e140000, using [bus 00-ff]
[    8.840803] mt7621-pci 1e140000.pcie:      MEM 0x0060000000..0x006fffffff -> 0x0000000000
[    8.857102] mt7621-pci 1e140000.pcie:       IO 0x001e160000..0x001e16ffff -> 0x0000000000
[    8.873487] mt7621-pci-phy 1e149000.pcie-phy: PHY for 0xbe149000 (dual port = 1)
[    8.888566] mt7621-pci-phy 1e14a000.pcie-phy: PHY for 0xbe14a000 (dual port = 0)
[    8.903552] mt7621-pci 1e140000.pcie: failed to parse bus ranges property: -22
[    9.018109] mt7621-pci-phy 1e149000.pcie-phy: Xtal is 40MHz
[    9.029229] mt7621-pci-phy 1e14a000.pcie-phy: Xtal is 40MHz
[    9.140469] mt7621-pci 1e140000.pcie: pcie2 no card, disable it (RST & CLK)
[    9.154353] mt7621-pci 1e140000.pcie: PCIE0 enabled
[    9.164046] mt7621-pci 1e140000.pcie: PCIE1 enabled
[    9.173759] mt7621-pci 1e140000.pcie: PCI coherence region base: 0x60000000, mask/settings: 0xf0000002
[    9.192473] mt7621-pci 1e140000.pcie: PCI host bridge to bus 0000:00
[    9.205153] pci_bus 0000:00: root bus resource [io  0x1e160000-0x1e16ffff]
[    9.218848] pci_bus 0000:00: root bus resource [mem 0x60000000-0x6fffffff]
[    9.232544] pci_bus 0000:00: root bus resource [bus 00-ff]
[    9.243469] pci_bus 0000:00: root bus resource [mem 0x60000000-0x6fffffff] (bus address [0x00000000-0x0fffffff])
[    9.263793] pci 0000:00:00.0: [0e8d:0801] type 01 class 0x060400
[    9.275773] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x7fffffff]
[    9.288262] pci 0000:00:00.0: reg 0x14: [mem 0x60400000-0x6040ffff]
[    9.300805] pci 0000:00:00.0: supports D1
[    9.308788] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
[    9.320638] pci 0000:00:01.0: [0e8d:0801] type 01 class 0x060400
[    9.332640] pci 0000:00:01.0: reg 0x10: [mem 0x00000000-0x7fffffff]
[    9.345140] pci 0000:00:01.0: reg 0x14: [mem 0x60410000-0x6041ffff]
[    9.357681] pci 0000:00:01.0: supports D1
[    9.365664] pci 0000:00:01.0: PME# supported from D0 D1 D3hot
[    9.378627] pci 0000:01:00.0: [14c3:7916] type 00 class 0x000280
[    9.390647] pci 0000:01:00.0: reg 0x10: initial BAR value 0x00000000 invalid
[    9.404698] pci 0000:01:00.0: reg 0x10: [mem size 0x00100000 64bit pref]
[    9.418054] pci 0000:01:00.0: reg 0x18: initial BAR value 0x00000000 invalid
[    9.432086] pci 0000:01:00.0: reg 0x18: [mem size 0x00004000 64bit pref]
[    9.445457] pci 0000:01:00.0: reg 0x20: initial BAR value 0x00000000 invalid
[    9.459489] pci 0000:01:00.0: reg 0x20: [mem size 0x00001000 64bit pref]
[    9.472960] pci 0000:01:00.0: supports D1 D2
[    9.481463] pci 0000:01:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[    9.494688] pci 0000:01:00.0: 2.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s PCIe x1 link at 0000:00:00.0 (capable of 4.000 Gb/s with 5.0 GT/s PCIe x1 link)
[    9.525532] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
[    9.535963] pci 0000:00:00.0:   bridge window [io  0x0000-0x0fff]
[    9.548096] pci 0000:00:00.0:   bridge window [mem 0x60000000-0x601fffff pref]
[    9.562486] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[    9.575918] pci 0000:02:00.0: [14c3:7915] type 00 class 0x000280
[    9.587931] pci 0000:02:00.0: reg 0x10: initial BAR value 0x00000000 invalid
[    9.601971] pci 0000:02:00.0: reg 0x10: [mem size 0x00100000 64bit pref]
[    9.615343] pci 0000:02:00.0: reg 0x18: initial BAR value 0x00000000 invalid
[    9.629376] pci 0000:02:00.0: reg 0x18: [mem size 0x00004000 64bit pref]
[    9.642736] pci 0000:02:00.0: reg 0x20: initial BAR value 0x00000000 invalid
[    9.656776] pci 0000:02:00.0: reg 0x20: [mem size 0x00001000 64bit pref]
[    9.670240] pci 0000:02:00.0: supports D1 D2
[    9.678747] pci 0000:02:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[    9.691955] pci 0000:02:00.0: 2.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s PCIe x1 link at 0000:00:01.0 (capable of 4.000 Gb/s with 5.0 GT/s PCIe x1 link)
[    9.722768] pci 0000:00:01.0: PCI bridge to [bus 02-ff]
[    9.733199] pci 0000:00:01.0:   bridge window [io  0x0000-0x0fff]
[    9.745344] pci 0000:00:01.0:   bridge window [mem 0x60200000-0x603fffff pref]
[    9.759734] pci_bus 0000:02: busn_res: [bus 02-ff] end is updated to 02
[    9.772951] pci 0000:00:00.0: BAR 0: no space for [mem size 0x80000000]
[    9.786139] pci 0000:00:00.0: BAR 0: failed to assign [mem size 0x80000000]
[    9.800002] pci 0000:00:01.0: BAR 0: no space for [mem size 0x80000000]
[    9.813169] pci 0000:00:01.0: BAR 0: failed to assign [mem size 0x80000000]
[    9.827040] pci 0000:00:00.0: BAR 9: assigned [mem 0x60000000-0x601fffff pref]
[    9.841423] pci 0000:00:01.0: BAR 9: assigned [mem 0x60200000-0x603fffff pref]
[    9.855818] pci 0000:00:00.0: BAR 1: assigned [mem 0x60400000-0x6040ffff]
[    9.869344] pci 0000:00:01.0: BAR 1: assigned [mem 0x60410000-0x6041ffff]
[    9.882869] pci 0000:00:00.0: BAR 7: assigned [io  0x1e160000-0x1e160fff]
[    9.896389] pci 0000:00:01.0: BAR 7: assigned [io  0x1e161000-0x1e161fff]
[    9.909920] pci 0000:01:00.0: BAR 0: assigned [mem 0x60000000-0x600fffff 64bit pref]
[    9.925360] pci 0000:01:00.0: BAR 2: assigned [mem 0x60100000-0x60103fff 64bit pref]
[    9.940796] pci 0000:01:00.0: BAR 4: assigned [mem 0x60104000-0x60104fff 64bit pref]
[    9.956226] pci 0000:00:00.0: PCI bridge to [bus 01]
[    9.966118] pci 0000:00:00.0:   bridge window [io  0x1e160000-0x1e160fff]
[    9.979633] pci 0000:00:00.0:   bridge window [mem 0x60000000-0x601fffff pref]
[    9.994029] pci 0000:02:00.0: BAR 0: assigned [mem 0x60200000-0x602fffff 64bit pref]
[   10.009467] pci 0000:02:00.0: BAR 2: assigned [mem 0x60300000-0x60303fff 64bit pref]
[   10.024907] pci 0000:02:00.0: BAR 4: assigned [mem 0x60304000-0x60304fff 64bit pref]
[   10.040335] pci 0000:00:01.0: PCI bridge to [bus 02]
[   10.050228] pci 0000:00:01.0:   bridge window [io  0x1e161000-0x1e161fff]
[   10.063751] pci 0000:00:01.0:   bridge window [mem 0x60200000-0x603fffff pref]
[   10.079536] mt7530 mdio-bus:1f: Link is Up - 1Gbps/Full - flow control rx/tx
[   10.114674] Freeing unused kernel memory: 5528K
[   10.123713] This architecture does not have kernel memory protection.
[   10.136563] Run /init as init process
[   10.677670] init: Console is alive
[   10.685921] init: - watchdog -
[   10.706347] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[   10.728696] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[   10.744816] init: - preinit -
[   10.952023] random: jshn: uninitialized urandom read (4 bytes read)
[   11.038858] random: jshn: uninitialized urandom read (4 bytes read)
[   11.084068] random: jshn: uninitialized urandom read (4 bytes read)
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
[   13.470097] procd: - early -
[   13.476221] procd: - watchdog -
[   14.044570] procd: - watchdog -
[   14.051246] procd: - ubus -
[   14.064006] random: ubusd: uninitialized urandom read (4 bytes read)
[   14.115161] random: ubusd: uninitialized urandom read (4 bytes read)
[   14.128365] random: ubusd: uninitialized urandom read (4 bytes read)
[   14.144933] procd: - init -
Please press Enter to activate this console.
[   14.511568] kmodloader: loading kernel modules from /etc/modules.d/*
[   14.707866] Loading modules backported from Linux version v5.15.74-0-ga3f2f5ac9d61
[   14.715620] urngd: v1.0.2 started.
[   14.723051] Backport generated by backports.git v5.15.74-1-0-ge2d78967
[   14.809272] mt7621-pci 1e140000.pcie: bus=1 slot=0 irq=22
[   14.820084] pci 0000:00:00.0: enabling device (0006 -> 0007)
[   14.831363] mt7915e_hif 0000:01:00.0: enabling device (0000 -> 0002)
[   14.844507] mt7621-pci 1e140000.pcie: bus=2 slot=1 irq=23
[   14.855382] pci 0000:00:01.0: enabling device (0006 -> 0007)
[   14.866681] mt7915e 0000:02:00.0: enabling device (0000 -> 0002)
[   14.908116] random: crng init done
[   14.914926] random: 31 urandom warning(s) missed due to ratelimiting
[   15.035826] mt7915e 0000:02:00.0: HW/SW Version: 0x8a108a10, Build Time: 20211222184017a
[   15.035826]
[   15.071890] mt7915e 0000:02:00.0: WM Firmware Version: ____000000, Build Time: 20211222184052
[   15.116959] mt7915e 0000:02:00.0: WA Firmware Version: DEV_000000, Build Time: 20211222184111
[   15.282868] mt7915e 0000:02:00.0: eeprom load fail, use default bin
[   15.295519] mt7915e 0000:02:00.0: Direct firmware load for mediatek/mt7915_eeprom_dbdc.bin failed with error -2
[   15.315631] mt7915e 0000:02:00.0: Falling back to sysfs fallback for: mediatek/mt7915_eeprom_dbdc.bin
[   15.352790] mt7915e: probe of 0000:02:00.0 failed with error -12
[   15.407716] PPP generic driver version 2.4.2
[   15.418021] NET: Registered protocol family 24
[   15.434613] kmodloader: done loading kernel modules from /etc/modules.d/*
[   44.749097] mtk_soc_eth 1e100000.ethernet wan: PHY [mdio-bus:04] driver [MediaTek MT7530 PHY] (irq=POLL)
[   44.770944] mtk_soc_eth 1e100000.ethernet wan: configuring for phy/rgmii link mode



BusyBox v1.35.0 (2022-10-27 23:16:00 UTC) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt SNAPSHOT, r21117-5384c9337f
 -----------------------------------------------------
=== WARNING! =====================================
There is no root password defined on this device!
Use the "passwd" command to set up a new password
in order to prevent unauthorized SSH logins.
--------------------------------------------------
root@OpenWrt:/#


pcie stuff
root@OpenWrt:/# lspci -nn
00:00.0 PCI bridge [0604]: Device [0e8d:0801] (rev 01)
00:01.0 PCI bridge [0604]: Device [0e8d:0801] (rev 01)
01:00.0 Unclassified device [0002]: MEDIATEK Corp. Device [14c3:7916]
02:00.0 Unclassified device [0002]: MEDIATEK Corp. MT7915E 802.11ax PCI Express Wireless Network Adapter [14c3:7915]
root@OpenWrt:/#

I guess ethernet port is next, should probably configure it as lan first...

Any ideas how to spot the mtd-eeprom dump in the manufacturer's partitions?
For ath10k caldata I kinda just know it when I see it... but not so familiar with mediatek yet :innocent:

Also check the u-boot variables, some vendors like to set the MAC from there.

The EEPROM data usually starts with the reverse notation for the radio, e.g. for MT7615 that would be 15 76 ... but that still doesn't get you the offset. I'd check the /proc/mtd contents in the OEM firmware for the partition names and boundaries (that's what OpenWrt will copy in the DTS). Usually the calibration data is on a partition called 'Factory' or something for those newer MT7621 TP-Links. Following the MediaTek logic your calibration data would start at 15 79 ... and 75 79 ... somewhere in that partition.

1 Like

Thanks, it seems like there is only a single eeprom dump required for DBDC, and &factory 0x0 looks good already (although / also there is a mac address at 0x4, which is probably normal?)

[   11.729534] pci 0000:00:00.0: enabling device (0006 -> 0007)
[   11.735219] mt7915e_hif 0000:01:00.0: enabling device (0000 -> 0002)
[   11.742052] mt7621-pci 1e140000.pcie: bus=2 slot=1 irq=23
[   11.747559] pci 0000:00:01.0: enabling device (0006 -> 0007)
[   11.753234] mt7915e 0000:02:00.0: enabling device (0000 -> 0002)
[   12.012664] mt7915e 0000:02:00.0: HW/SW Version: 0x8a108a10, Build Time: 20211222184017a
[   12.012664]
[   12.346492] mt7915e 0000:02:00.0: WM Firmware Version: ____000000, Build Time: 20211222184052
[   12.384416] mt7915e 0000:02:00.0: WA Firmware Version: DEV_000000, Build Time: 20211222184111

Should there be further output than this?
I still don't see the SSIDs coming up, even though the wireless config shows up in uci.

// edit: Current state:

Neither LAN nor Wifi are working at the moment, maybe I'm just missing basic stuff regarding mt7621?

You have no switch defined in the DTS from what I can see? Or is this a single port device? If it's not, another DBDC MT7621 device is the Netgear WAX202. Maybe that helps for DTS pointers.