AX3000T (AN8855 revision): hardware flow offloading non-functional due to probe error -110

Describe the bug

On the Xiaomi AX3000T hardware revision with the Airoha AN8855 switch (introduced in units shipped with stock firmware 1.0.84+), hardware flow offloading is non-functional. The AN8855 switch driver fails to fully initialize at boot, resulting in the following kernel log entry:

an8855-switch: probe of an8855-switch.2.auto failed with error -110

Because the switch driver does not successfully probe, the kernel flowtable cannot offload flows to the hardware PPE, and enabling flow_offloading_hw has no effect or causes instability. Software flow offloading (flow_offloading '1' with flow_offloading_hw '0') works correctly and is stable as a workaround.

Steps to reproduce

  1. Use a Xiaomi AX3000T with AN8855 switch (stock firmware version ≥ 1.0.84)
  2. Flash OpenWrt 25.12.x
  3. Enable Hardware Flow Offloading in Network → Firewall → Routing/NAT Offloading
  4. Observe that hardware offloading has no effect; dmesg shows the probe failure at boot

Expected behavior

Hardware flow offloading should function on the AN8855 switch, as it does on the older MT7530/MT7531 revision of the same router.

Actual behavior

The AN8855 switch driver fails to probe with error -110 (timeout), preventing hardware flow offloading from working entirely.
Boot log confirms the probe failure:

[    1.852202] an8855-switch an8855-switch.2.auto: probe with driver an8855-switch failed with error -110

Workaround

Disable hardware flow offloading, use software flow offloading only:

/etc/config/firewall:
option flow_offloading '1'
option flow_offloading_hw '0'

Environment

  • Device: Xiaomi Mi Router AX3000T (AN8855 hardware revision)
  • SoC: MediaTek MT7981B (Filogic 820)
  • Switch chip: Airoha AN8855
  • OpenWrt version: 25.12.0
  • Kernel: 6.12.87 (SMP Mon May 25 02:36:00 2026 aarch64)

Additional context

The AN8855 driver was introduced via PR #16709. During that PR's review and testing, a contributor noted instability related to the AN8855 switch under certain traffic conditions, which may be related to the incomplete driver initialization. The driver probe failure suggests the flowtable offload hook is never registered for this switch, leaving hardware acceleration permanently unavailable on affected units.

As the AX3000T is one of the most widely used budget routers in the OpenWrt community, a large number of users with the AN8855 revision are currently unable to use hardware flow offloading.

Does this mean you actually tried something newer than .0 + snapshots ?

Sorry, I should clarify my environment. I am currently using ImmortalWrt 25.12.0, which is based on the same OpenWrt version. Unfortunately, ImmortalWrt does not provide a newer release beyond 25.12.0 at the moment, so I am unable to test with a higher version.I appreciate any guidance you can provide :flushed_face:

Then you're barking up the wrong tree.


It appears you are using firmware that is not from the official OpenWrt project.

When using forks/offshoots/vendor-specific builds that are "based on OpenWrt", there may be many differences compared to the official versions (hosted by OpenWrt.org). Some of these customizations may fundamentally change the way that OpenWrt works. You might need help from people with specific/specialized knowledge about the firmware you are using, so it is possible that advice you get here may not be useful.

You may find that the best options are:

  1. Install an official version of OpenWrt, if your device is supported (see https://firmware-selector.openwrt.org).
  2. Ask for help from the maintainer(s) or user community of the specific firmware that you are using.
  3. Provide the source code for the firmware so that users on this forum can understand how your firmware works (OpenWrt forum users are volunteers, so somebody might look at the code if they have time and are interested in your issue).

If you believe that this specific issue is common to generic/official OpenWrt and/or the maintainers of your build have indicated as such, please feel free to clarify.

Hi there, I tried verifying it on ChatGPT, and now I’ve confirmed that it’s Claude’s error. My router’s model is still MT7531. Can close this issue. The hardware flowoff works good