Dynalink DL-WRX36 Askey RT5010W IPQ8072A technical discussion

Ok, I think I traced them properly, but will check once I get home.

all good with your last patch so far ... will report back if there any problems

How did you flash it? Using ubiformat?

yes ... boot the itb image ... flash both rootfs and roofs_1 with
ubiformat /dev/mtd18 & 20 -f /tmp/openwrt-ipq807x-generic-xiaomi_ax3600-squashfs-nand-factory.ubi -s 2048 -O 2048

important for this to work is that from uart you save the uboot environment and setup the bootcmd as described on one of my posts ... note I don't think this is optimal but at least it works and I am able to do sysupgrade etc without bothering with uart

can somebody upload the config to enable ssh with a working password again?
Thx!! :). The old links are expired ...

try https://mega.nz/file/QVdBCCTR#czWjAT6If4RN_JjArdexUgq3DmFiAjaJMEpg8zw2IB4

2 Likes

fantastic thx!!!

1 Like

the password is askey1234 (as I recall from @robimarko )

1 Like

@robimarko one observation based on testing performance with "ondemand" that response is providing a much better performance that on what is on "schedutil" by default.

The processor changes much more quickly to upward Hz on ondemand than on schedutil... any possibility of changing to ondemand by default? thank you

I dont plan on moving back to ondemand, we moved to schedutil as it generally has better performance.

edit:
bootm did the trick ...


I have part set up and my tufts server is copying the initram but the device is not rebooting ...

Using eth0 device
TFTP from server 192.168.1.2; our IP address is 192.168.1.3
Filename 'C0A80103.img'.
Load address: 0x44000000
Loading: *
Got TFTP_OACK: TFTP remote port: changes from 69 to 55153
#################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ###############################
         2 MiB/s
done
Bytes transferred = 12846036 (c403d4 hex)
ipq807x_eth_halt: done

I gues I am missing something ... ?

Help is highly appreciated :smiley:

can somebody share a working image with wifi and ethernet included / or a config. In my self compiled one is too much missing. No ethernet and complains about the wifi board-2.bin

   5.006908] ath11k c000000.wifi: fw_version 0x250a04a5 fw_build_timestamp 2021-12-20 07:09 fw_build_id WLAN.HK.2.5.0.1-01208-QCAHKSWPL_SILICONZ-1
[    5.016391] kmodloader: done loading kernel modules from /etc/modules.d/*
[    5.096008] ath11k c000000.wifi: failed to fetch board data for bus=ahb,qmi-chip-id=0,qmi-board-id=255,variant=Dynalink-DL-WRX36 from ath11k/IPQ8074/hw2.0/board-2.bin
[    5.096069] ath11k c000000.wifi: failed to fetch board data for bus=ahb,qmi-chip-id=0,qmi-board-id=255 from ath11k/IPQ8074/hw2.0/board-2.bin
[    5.109840] ath11k c000000.wifi: failed to fetch board.bin from IPQ8074/hw2.0
[    5.122604] ath11k c000000.wifi: qmi failed to fetch board file: -12
[    5.129569] ath11k c000000.wifi: failed to load board data file: -12

if you forked robi's repo you can add to your https://github.com//openwrt/tree/ipq807x-5.15-pr-dynalink/.github/workflows the action from https://github.com/robimarko/openwrt/blob/ipq807x-5.15-pr/.github/workflows/ipq807x.yaml and customise. It should be able to give the essentials to boot

here's an extract below ... you may want to add CONFIG_TARGET_ipq807x_generic_DEVICE_dynalink_dl-wrx36=y

           - name: Generate config for IPQ807x Generic
              run: |
                echo "CONFIG_TARGET_ipq807x=y" > .config
                echo "CONFIG_TARGET_ipq807x_generic=y\n" >> .config
                echo "CONFIG_TARGET_MULTI_PROFILE=y\n" >> .config
                echo "CONFIG_TARGET_ALL_PROFILES=y\n" >> .config
                echo "CONFIG_TARGET_PER_DEVICE_ROOTFS=y\n" >> .config
                echo "CONFIG_TARGET_ROOTFS_INITRAMFS=y\n" >> .config
                echo "CONFIG_TARGET_INITRAMFS_COMPRESSION_ZSTD=y\n" >> .config
                echo "CONFIG_PACKAGE_luci=y\n" >> .config
                echo "CONFIG_PACKAGE_kmod-qca-nss-dp=y\n" >> .config
                echo "CONFIG_PACKAGE_qca-ssdk-shell=y\n" >> .config
                echo "CONFIG_PACKAGE_wpad-basic-wolfssl=m\n" >> .config
                echo "CONFIG_PACKAGE_wpad-wolfssl=y\n" >> .config
                make defconfig
2 Likes

uboot ... in order to set variable on uboot you need to use "setenv" check this example https://stackoverflow.com/questions/67224268/how-to-save-u-boot-environment-variable-persistently

make sure you save the variables in the end using saveenv

1 Like

Now it works!

I had to set the commands in "" to get it set properly ...

like:

setenv setpartfs "ubi part fs;ubi read 0x44000000 kernel 0x80000000"

otherwise the command is truncated.

1 Like

I've created a rough draft script that can be run on the stock OS to download and flash OpenWrt from u-boot without user interaction. This also adds a crude bootcounter - from what I have seen (and I may be wrong), the device's u-boot doesn't have bootcount capability enabled - so as to switch partitions after 3 boot failures, and then to tftp recovery if booting on both partitions fails 3 times.

Still in draft so please don't run it, however it would be good if someone with UART can test manually. Also not 100% sure if all the variables at the top of the list are necessary. bootargs can also be shortened.

Using the bootcounter also requires bootcount to be reset to 0 here.

1 Like

I apologise for my ignorance but on the script you are mixing uboot hush with openwrt fw_setenv will this mix work? ... have you tested?

@robimarko reporting that i applied the recent ath11k patch issued on the ax3600 forum and all fine so far (as in my ax3600 as well) no noticeable improvements as there will be more. This device is so much better

The idea is that the user runs this script from the stock OS that saves everything to the ubootenv. Next time the router boots it uses this env. In this case it's set up to perform a tftp recovery that will install OpenWrt, after which it will boot from the NAND based on the change of the active variable.

Haven't tested on this device but I have something very similar on another device.

I don't have stock firmware anymore but how will this work ? openwrt and u-boot ... like the below

fw_setenv bootlinux 'ubi read 0x44000000 kernel 0x80000000 &&
bootm 0x44000000#config@rt5010w-d350-rev0'