OpenWrt support for Xiaomi AX3000T

Why are people still ignoring the warnings before flashing their device. Just yesterday, someone posted here mentioning a soft brick for the exactly same reason.
This was the first thing I'd considered before buying the device What's your favourite cheap LEDE/OpenWrt device? - #729 by Cthulhu88 and together with the firmware version, the first thing I'd looked after buying it What's your favourite cheap LEDE/OpenWrt device? - #734 by Cthulhu88

XMiR-Patcher should add a confirmation dialog when flashing based on the result of dmesg.

winbond = re.search(r"^\[.*?\] spi-nand spi0\.0: Winbond SPI NAND was found\.$", dmesg_output, re.IGNORECASE | re.MULTILINE)

if winbond is not None:
    print("THIS DEVICE CONTAINS A WINBOND NAND CHIP.")
    print("YOUR DEVICE WILL SOFT BRICK AFTER FLASHING A STABLE BUILD.")
    print("MAKE SURE TO READ ALL OF THE WARNINGS FOR THIS DEVICE.")
    print()

    if not confirm("Continue with flashing?"):
        abort()

Anyway, you can use MIWIFIRepairTool to restore the stock firmware and solve your soft brick.

1 Like

Moreover, backporting the patch for the new Winbond chip is extremely trivial and is just a matter of copying the patch from snapshot and replacing the line numbers (if winbond.c hasn't received any changes between snapshot kernel and 23.05 kernel, this isn't even required).

Why hasn't it been backported yet?

Thanks for you instruction, smart solution to restore absolute brick)
I would like to add one more connection option here, without the router disassembling with help DuPont wires (please see pictures below)

Photo


1 Like

This is if you sew OpenWRT, and if you sew ImmortalWRT then there is support for Winbond in the stable version.
But why 05/23/5 was released without this support i of course a huge question.

1 Like

Right, but ImmortalWRT is mainland China based and this device is extremely popular internationally too.
You can add mention of OpenWrt to the warning, by changing the message to:
print("YOUR DEVICE WILL SOFT BRICK AFTER FLASHING AN OPENWRT STABLE BUILD.")

The author still hasn't made a firmware backup item, and you with such suggestions... Additional income on computer services))).

Is this sarcasm/language barrier problem? The suggestion takes at most 5 minutes to implement and I've already provided the regex, which can be copied verbatim.

>>> import re
>>> dmesg_output = """
... something something something
... [    0.716221] spi-nand spi0.0: Winbond SPI NAND was found.
... something else something else something else
... """
>>> winbond = re.search(r"^\[.*?\] spi-nand spi0\.0: Winbond SPI NAND was found\.$", dmesg_output, re.IGNORECASE | re.MULTILINE)
>>> winbond
<re.Match object; span=(31, 90), match='[    0.716221] spi-nand spi0.0: Winbond SPI NAND >
>>> dmesg_output = """
... something something something
... [    0.716221] spi-nand spi0.0: ESMT SPI NAND was found.
... something else something else something else
... """
>>> winbond = re.search(r"^\[.*?\] spi-nand spi0\.0: Winbond SPI NAND was found\.$", dmesg_output, re.IGNORECASE | re.MULTILINE)
>>> winbond
>>>
>>> dmesg_output = """
... something something something
... [    0.716221] spi-nand spi0.0: GigaDevice SPI NAND was found.
... something else something else something else
... """
>>> winbond = re.search(r"^\[.*?\] spi-nand spi0\.0: Winbond SPI NAND was found\.$", dmesg_output, re.IGNORECASE | re.MULTILINE)
>>> winbond
>>>
1 Like

Alex, I believe, your major issue is new AN 8855 switch, new spi-nand - minor problem and you may compile 23.05.5 release with Winbond by yourself. Of course, also we will need to investigate work algorithm of the stock u-boot - may be here is different mechanism to support 2x slots of ubi.

Translation features))
I am not a programmer, I was a tester a long time ago. I remember some things.
If you modified this Patcher, many people would be grateful to you.

I have no problems. The routers and their support from the OpenWrt team have problems. But since the routers do not say that they are not sewn on OpenWrt and, in fact, should not, the problems arise with the users.

Now the situation is that they are simply the cheapest, and unfortunately you have to deal with them.

Personally, I am currently using AX6000, before that I used AX6S (AX3200), after this router I consider AX3000t an unfinished....

If the author is willing to communicate with me via these forums, sure, there is already code that reads and transfer the output of dmesg to the Python interpreter: https://github.com/openwrt-xiaomi/xmir-patcher/blob/main/read_dmesg.py

I don't use github for personal/ethnical reasons, so submitting a PR there isn't an option.

1 Like

never was OpenWrt teams, just linux + user(s) who want to add support new device in the Open Source product

ps
issue != problem :wink:

2 Likes

Right, but as I've mentioned, backporting it to stable is extremely trivial and anyone can do it. Is there a reason this hasn't been backported? Do they refuse community PRs not targeting main?

There are a few custom compiled images of 23.05.5 in this thread and I am pretty sure the winbond patch has been tested enough to be considered stable by now.

изображение

And who are these then?
It's too bad there are no developers here....

my backport to 23x:

Also see remmitor's repository

Yours does more than just winbond support for the specific model shipped with this device.

I know there are backports to 23.05.5 (see my comment about it being trivial to backport and mention of custom images in this thread). My question is, why hasn't this been backported to branch openwrt-23.05?

I have not this info, maybe no proactive person with ax3000t & Winbond?

After a commercial project (router) "Routerich" appeared on similar hardware, all this started. AX3000t was not added to the stable branch right away. Routerich was added in 23.05.3, but AX3000t remained in Snapshot and got into stable only in 23.05.4...
Maybe this is a coincidence, of course....

I reported an issue with device ioctl handlers in 23.05.4: Ethernet LEDs control for TP-Link TL-WR1043ND v2/v3 - #2 by Cthulhu88
The issue was then fixed in snapshot and backported to stable before the release of 23.05.5.
I think there are enough of us running this device on a Winbond chip to deem support for the winbond chip stable. I guess we could tag someone with commit privileges to take a look at this (should be a 5-10 mins job to backport it from snapshot).

1 Like

You gave a solution and it was entered. I didn't understand even 1% because I'm not a programmer(((. The most I can do is if I find an error, point it out, but I don't know how to fix it.
At this stage, there are several routers with a new AN 8855 Internet switch that don't work on any WRT I know of. Both stable and Snapshot. And I don't know if anyone is working on its solution.

1 Like