Adding new spi-nand device support (Belkin RT3200 and Linksys E8450)

good evening everybody

this is my new test with linksys E8450 (rt3200) and is a good news

http://www.dslreports.com/speedtest/67969201 without SQM

and now

http://www.dslreports.com/speedtest/67969397 with SQM

3 Likes

What CPU load are you seeing ?

What is the command ?

By default, top - but the installable htop tool works better on SMP systems (such as yours).

2 Likes

1 Like

Questions about these routers.

  1. The routers Belkin RT3200 and Linksys E8450 support Band Steering and Mesh?

  2. These routers support Roaming Assistant k, v, r (11kvr)?

  3. AQL work by default or do I have to activate it later?

  4. Is the AQL of mt76 better than ath10k?

1 Like

new firmware by dangoWRT thanks

1 Like
  1. Yes
  2. Most of 11KR are done by upper layer. 11v mbss/BTM ok.
  3. By default
  4. Hope someone can share the result with me :slight_smile:
1 Like

Thank you.

Has anyone tried to back-port our device to the upcoming 21.02? Should it work with the linux 5.4 or do we need any patches?

1 Like

tried to compile the 21.02 branch using the "0340-mtd-spinand-Add-support-for-the-Fidelix-FM35X1GA.patch" from Master. Unfortunately it doesn't compile.

In file included from drivers/mtd/nand/spi/fidelix.c:8:
drivers/mtd/nand/spi/fidelix.c:57:8: error: implicit declaration of function 'SPINAND_ID'; did you mean 'SPINAND_INFO'? [-Werror=implicit-function-declaration]
        SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x71),
        ^~~~~~~~~~
./include/linux/mtd/spinand.h:329:12: note: in definition of macro 'SPINAND_INFO'
   .devid = __id,      \
            ^~~~
drivers/mtd/nand/spi/fidelix.c:57:19: error: 'SPINAND_READID_METHOD_OPCODE_DUMMY' undeclared here (not in a function); did you mean 'SPINAND_READID_OP'?
        SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x71),
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/linux/mtd/spinand.h:329:12: note: in definition of macro 'SPINAND_INFO'
   .devid = __id,      \
            ^~~~
drivers/mtd/nand/spi/fidelix.c:73:3: error: 'const struct spinand_manufacturer' has no member named 'chips'
  .chips = fidelix_spinand_table,
   ^~~~~
drivers/mtd/nand/spi/fidelix.c:73:11: error: initialization of 'const struct spinand_manufacturer_ops *' from incompatible pointer type 'const struct spinand_info *' [-Werror=incompatible-pointer-types]
  .chips = fidelix_spinand_table,
           ^~~~~~~~~~~~~~~~~~~~~
drivers/mtd/nand/spi/fidelix.c:73:11: note: (near initialization for 'fidelix_spinand_manufacturer.ops')
drivers/mtd/nand/spi/fidelix.c:74:3: error: 'const struct spinand_manufacturer' has no member named 'nchips'
  .nchips = ARRAY_SIZE(fidelix_spinand_table),
   ^~~~~~
In file included from ./include/linux/list.h:9,
                 from ./include/linux/kobject.h:19,
                 from ./include/linux/device.h:16,
                 from drivers/mtd/nand/spi/fidelix.c:6:
./include/linux/kernel.h:47:25: warning: excess elements in struct initializer
 #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
                         ^
drivers/mtd/nand/spi/fidelix.c:74:12: note: in expansion of macro 'ARRAY_SIZE'
  .nchips = ARRAY_SIZE(fidelix_spinand_table),
            ^~~~~~~~~~
./include/linux/kernel.h:47:25: note: (near initialization for 'fidelix_spinand_manufacturer')
 #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
                         ^
drivers/mtd/nand/spi/fidelix.c:74:12: note: in expansion of macro 'ARRAY_SIZE'
  .nchips = ARRAY_SIZE(fidelix_spinand_table),
            ^~~~~~~~~~
cc1: some warnings being treated as errors
make[9]: *** [scripts/Makefile.build:262: drivers/mtd/nand/spi/fidelix.o] Error 1
make[8]: *** [scripts/Makefile.build:496: drivers/mtd/nand/spi] Error 2
make[7]: *** [scripts/Makefile.build:496: drivers/mtd/nand] Error 2
make[6]: *** [scripts/Makefile.build:496: drivers/mtd] Error 2
make[5]: *** [Makefile:1734: drivers] Error 2
make[5]: Leaving directory '/home/thorsten/OWRT/Belkin/2102/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_mt7622/linux-5.4.111'
make[4]: *** [Makefile:19: /home/thorsten/OWRT/Belkin/2102/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_mt7622/linux-5.4.111/.image] Error 2
make[4]: Leaving directory '/home/thorsten/OWRT/Belkin/2102/openwrt/target/linux/mediatek'
make[3]: *** [Makefile:11: install] Error 2
make[3]: Leaving directory '/home/thorsten/OWRT/Belkin/2102/openwrt/target/linux'
time: target/linux/install#7.75#4.08#11.53
    ERROR: target/linux failed to build.
make[2]: *** [target/Makefile:25: target/linux/install] Error 1
make[2]: Leaving directory '/home/thorsten/OWRT/Belkin/2102/openwrt'
make[1]: *** [target/Makefile:19: /home/thorsten/OWRT/Belkin/2102/openwrt/staging_dir/target-aarch64_cortex-a53_musl/stamp/.target_install] Error 2
make[1]: Leaving directory '/home/thorsten/OWRT/Belkin/2102/openwrt'
make: *** [/home/thorsten/OWRT/Belkin/2102/openwrt/include/toplevel.mk:230: world] Error 2

I guess we need a working patch compatible with linux-5.4

1 Like

i can help if you want tell me if you can

i have a belkin rt3200

https://downloads.openwrt.org/releases/21.02.0-rc1/targets/mediatek/mt7622/

is what mt7622 ubi sysupgrade.bin is for our router ? thanks

1 Like

hello everybody what's the all things ?

Current Enhancements

  • System entropy enhancements (haveged)
  • Interrupt distribution over CPUs to improve system latency and throughput (irqbalance)
  • Bottleneck Bandwidth and Round-trip propagation time (BBR) as a TCP congestion control algorithm (kmod-tcp-bbr)
  • Using GCC 10
  • Using the GCC "-O3" speed optimization flag during compilation
  • Using the GCC "-mcpu=cortex-a53+crypto" architecture optimization flag during compilation
  • Using the GCC "-mharden-sls=all" hardening flag during compilation
  • Using the GCC "-mbranch-protection=standard" hardening flag during compilation
2 Likes

@daniel do you have a working patch for the nand which is compatible with Linux 5.4?

Would be cool to get the router running with the upcoming 21.02 release :smiley:

3 Likes

That would be quite a lot of backporting at a very late moment (package/boot/arm-trusted-firmware-mediatek, package/boot/uboot-mediatek, target/linux/mediatek, include/image*.mk, scripts/mkits.sh, ...).
I guess we should just roll another release based on Linux 5.10 not too far in the future and people on that hardware should use snapshot till then.

5 Likes

Patching forward seems smarter than backporting

2 Likes

rt3200 not available to 21.02, why ? i'm so sad :frowning:

2 Likes

openwrt-2021.02 branched off master at 2021-02-16, support for the E8450/ RT3200 was merged to master 2021-02-28 and is still evolving.

Given the invasive nature of the patches necessary to support it, also touching other mt7622 based devices and refactoring their support code quite considerably, this would normally not be a candidate for backporting. Considering that this device is pretty popular among OpenWrt developers, there might be efforts spent of this nevertheless, but it's not really advisable.

3 Likes

I would be so happy if it was supported at 21.02 this is one of the best routers on the market today for openWRT

if I can help to make it compatible it is with pleasure, but I have no knowledge at the moment in terms of development

1 Like

There will always be a release after 2021.02.x, the cut-off just needs to be somewhere.

--
Disclaimer: I'm not an OpenWrt developer and can't speak for their intentions, the above is merely my own interpretation. I would very clearly not recommend trying to backport support for this device at this point. Even master doesn't have full support for it yet, iwinfo support for 802.11ax has just been posted to the mailing list yesterday, hostapd will need an update as well, such as luci and many other things. u-boot and basic mt7622 image building support have seen considerable changes this very week. Sorry, but this is IMHO way to invasive at this point in the release process for 2021.02, give it the time it needs to mature and get completed in master and get it into proper shape for the next release.

3 Likes