For those who have tested XR1710G, please also send feedback on the pull request so we can get this device into OpenWrt.
After using it for six days, the WIFI negotiation rate became abnormal. At 80 MHz, it could only negotiate a speed of 216 Mbit/s, and at 160 MHz, it could only negotiate a speed of 432.3 Mbit/s. There were no errors reported at both the kernel layer and the user layer.
Have you checked the rate while running iperf traffic?
Under normal circumstances, I can achieve speeds of over 400 uplink and 500 downlink. My device only supports 11AC. Currently, it only reaches 88/138 Mbps.
The rate at the top of the graph fluctuates between 100+ and 800+, while the rate at the bottom ranges from 20+ to 195, and remains basically fixed at 195M.
For an 11ac device, a link rate of 866 Mbps at 80 MHz is normal. However, as for your actual throughput, it does seem a bit slow.
Is it an Apple device? My Apple devices have been behaving similar to this for a while now. Everything else is fine though.
Thanks to @glassdoor for pointing out the patch at https://github.com/rchen14b/openwrt_rchen14b/commit/aed85eb09a5e1513ab4d7f9b3579f9e76db4f004. I have fixed the issue you mentioned on the 6.18 branch. I am currently porting the 6.18 kernel to my xr1710g. Once I confirm there are no obvious bugs, I will publish it as a branch in my repository. It should be available very soon.
I've pushed the 6.18 version for the xr1710g to my repository. It includes a hostapd patch that doesn't have much practical effect, but it does suppress an error message, so I decided to keep it anyway.
Could you please PR that hostapd Too many open files in system fix? I hate that stupid error message.
This is a very old samsung cellphone noet8 with wifi5 support.There is also other devices such as dell laptops and desktops.I am using xr1700g as acesspoint in company.
I have submitted the PR to upstream. However, given that this is for hostapd, it might require further review, even though the patch is already quite conservative.
just to confirm. the below 4 patches for 6.18 is a complete replacement and port of the PM and cpufreq fix in 6.12? Will test and revert.
-
0401-pmdomain-airoha-fallback-to-PLL-registers-when-BL31-GET_FREQ-fails.patch( Falls back to direct PLL access if BL31 GET_FREQ fails.) -
0403-pmdomain-airoha-expose-kconfig-symbol-on-ARCH_AIROHA.patch(Enables Kconfig for the PM domain.) -
403-01-cpufreq-airoha-fix-config_clks-callback-signature.patch(Adapts to 6.18 OPP callback changes.) -
403-02-cpufreq-airoha-handle-positive-pm-domain-attach-count.patch(Fixes attach return value to prevent probe failures.)
@hurrian can this be included in your 6.18 airoha target PR?
Besides these four patches, there should also be some DTS changes, just like the commit referenced earlier.
Thanks. Already ported over the dts changes.
Also. I had to remove this.
Because it is already in the 6.18 PR
Thanks for the heads-up. I checked out the PR and realized I probably need to sync my branch. It looks like upstream is carrying more patches than I have right now.
I will keep the 6.18 commit on feature-parity with 6.12 so we can get it approved quicker.
anyone getting build errors? I suspect itβs from this commit.
2026-04-15T10:15:27.3270272Z In file included from ./include/linux/bits.h:32,
2026-04-15T10:15:27.3270666Z from ./include/linux/bitops.h:6,
2026-04-15T10:15:27.3270924Z from ./include/linux/of.h:15,
2026-04-15T10:15:27.3271201Z from drivers/net/ethernet/airoha/airoha_eth.c:6:
2026-04-15T10:15:27.3271616Z drivers/net/ethernet/airoha/airoha_eth.c: In function 'airhoha_set_gdm2_loopback':
2026-04-15T10:15:27.3272157Z drivers/net/ethernet/airoha/airoha_eth.c:1813:51: error: 'nbq' undeclared (first use in this function)
2026-04-15T10:15:27.3272641Z 1813 | u32 mask = FC_ID_OF_SRC_PORT_MASK(nbq);
2026-04-15T10:15:27.3273332Z | ^~~
2026-04-15T10:15:27.3273689Z ./include/linux/build_bug.h:16:62: note: in definition of macro 'BUILD_BUG_ON_ZERO'
2026-04-15T10:15:27.3274127Z 16 | #define BUILD_BUG_ON_ZERO(e) ((int)(sizeof(struct { int:(-!!(e)); })))
2026-04-15T10:15:27.3274456Z | ^
2026-04-15T10:15:27.3274795Z ./include/linux/bits.h:36:17: note: in expansion of macro '__is_constexpr'
2026-04-15T10:15:27.3275149Z 36 | __is_constexpr((l) > (h)), (l) > (h), 0)))
2026-04-15T10:15:27.3275397Z | ^~~~~~~~~~~~~~
2026-04-15T10:15:27.3275707Z ./include/linux/bits.h:69:10: note: in expansion of macro 'GENMASK_INPUT_CHECK'
2026-04-15T10:15:27.3276073Z 69 | (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l))
2026-04-15T10:15:27.3276323Z | ^~~~~~~~~~~~~~~~~~~
2026-04-15T10:15:27.3276667Z drivers/net/ethernet/airoha/airoha_regs.h:390:41: note: in expansion of macro 'GENMASK'
2026-04-15T10:15:27.3277143Z 390 | #define FC_ID_OF_SRC_PORT_MASK(_n) GENMASK(4 + ((_n) << 3), ((_n) << 3))
2026-04-15T10:15:27.3277477Z | ^~~~~~~
2026-04-15T10:15:27.3278018Z drivers/net/ethernet/airoha/airoha_eth.c:1813:28: note: in expansion of macro 'FC_ID_OF_SRC_PORT_MASK'
2026-04-15T10:15:27.3278652Z 1813 | u32 mask = FC_ID_OF_SRC_PORT_MASK(nbq);
2026-04-15T10:15:27.3279400Z | ^~~~~~~~~~~~~~~~~~~~~~
2026-04-15T10:15:27.3279933Z drivers/net/ethernet/airoha/airoha_eth.c:1813:51: note: each undeclared identifier is reported only once for each function it appears in
2026-04-15T10:15:27.3280492Z 1813 | u32 mask = FC_ID_OF_SRC_PORT_MASK(nbq);
2026-04-15T10:15:27.3280761Z | ^~~
2026-04-15T10:15:27.3281105Z ./include/linux/build_bug.h:16:62: note: in definition of macro 'BUILD_BUG_ON_ZERO'
2026-04-15T10:15:27.3281887Z 16 | #define BUILD_BUG_ON_ZERO(e) ((int)(sizeof(struct { int:(-!!(e)); })))
2026-04-15T10:15:27.3282328Z | ^
2026-04-15T10:15:27.3282740Z ./include/linux/bits.h:36:17: note: in expansion of macro '__is_constexpr'
2026-04-15T10:15:27.3283177Z 36 | __is_constexpr((l) > (h)), (l) > (h), 0)))
2026-04-15T10:15:27.3283510Z | ^~~~~~~~~~~~~~
2026-04-15T10:15:27.3283830Z ./include/linux/bits.h:69:10: note: in expansion of macro 'GENMASK_INPUT_CHECK'
2026-04-15T10:15:27.3284269Z 69 | (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l))
2026-04-15T10:15:27.3284591Z | ^~~~~~~~~~~~~~~~~~~
2026-04-15T10:15:27.3285026Z drivers/net/ethernet/airoha/airoha_regs.h:390:41: note: in expansion of macro 'GENMASK'
2026-04-15T10:15:27.3285578Z 390 | #define FC_ID_OF_SRC_PORT_MASK(_n) GENMASK(4 + ((_n) << 3), ((_n) << 3))
2026-04-15T10:15:27.3285986Z | ^~~~~~~
2026-04-15T10:15:27.3286476Z drivers/net/ethernet/airoha/airoha_eth.c:1813:28: note: in expansion of macro 'FC_ID_OF_SRC_PORT_MASK'
2026-04-15T10:15:27.3287205Z 1813 | u32 mask = FC_ID_OF_SRC_PORT_MASK(nbq);
2026-04-15T10:15:27.3287572Z | ^~~~~~~~~~~~~~~~~~~~~~
2026-04-15T10:15:27.3288043Z ./include/linux/bits.h:35:28: error: first argument to '__builtin_choose_expr' not a constant
2026-04-15T10:15:27.3288617Z 35 | (BUILD_BUG_ON_ZERO(__builtin_choose_expr( \
2026-04-15T10:15:27.3288982Z | ^~~~~~~~~~~~~~~~~~~~~
2026-04-15T10:15:27.3289420Z ./include/linux/build_bug.h:16:62: note: in definition of macro 'BUILD_BUG_ON_ZERO'
2026-04-15T10:15:27.3289928Z 16 | #define BUILD_BUG_ON_ZERO(e) ((int)(sizeof(struct { int:(-!!(e)); })))
2026-04-15T10:15:27.3290337Z | ^
2026-04-15T10:15:27.3290764Z ./include/linux/bits.h:69:10: note: in expansion of macro 'GENMASK_INPUT_CHECK'
2026-04-15T10:15:27.3291387Z 69 | (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l))
2026-04-15T10:15:27.3291652Z | ^~~~~~~~~~~~~~~~~~~
2026-04-15T10:15:27.3309891Z drivers/net/ethernet/airoha/airoha_regs.h:390:41: note: in expansion of macro 'GENMASK'
2026-04-15T10:15:27.3310458Z 390 | #define FC_ID_OF_SRC_PORT_MASK(_n) GENMASK(4 + ((_n) << 3), ((_n) << 3))
2026-04-15T10:15:27.3310794Z | ^~~~~~~
2026-04-15T10:15:27.3311204Z drivers/net/ethernet/airoha/airoha_eth.c:1813:28: note: in expansion of macro 'FC_ID_OF_SRC_PORT_MASK'
2026-04-15T10:15:27.3311648Z 1813 | u32 mask = FC_ID_OF_SRC_PORT_MASK(nbq);
2026-04-15T10:15:27.3311921Z | ^~~~~~~~~~~~~~~~~~~~~~
2026-04-15T10:15:27.3312298Z ./include/linux/build_bug.h:16:51: error: bit-field '<anonymous>' width not an integer constant
2026-04-15T10:15:27.3312775Z 16 | #define BUILD_BUG_ON_ZERO(e) ((int)(sizeof(struct { int:(-!!(e)); })))
2026-04-15T10:15:27.3313109Z | ^
2026-04-15T10:15:27.3313433Z ./include/linux/bits.h:35:10: note: in expansion of macro 'BUILD_BUG_ON_ZERO'
2026-04-15T10:15:27.3314094Z 35 | (BUILD_BUG_ON_ZERO(__builtin_choose_expr( \
2026-04-15T10:15:27.3314337Z | ^~~~~~~~~~~~~~~~~
2026-04-15T10:15:27.3314637Z ./include/linux/bits.h:69:10: note: in expansion of macro 'GENMASK_INPUT_CHECK'
2026-04-15T10:15:27.3315002Z 69 | (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l))
2026-04-15T10:15:27.3315244Z | ^~~~~~~~~~~~~~~~~~~
2026-04-15T10:15:27.3315582Z drivers/net/ethernet/airoha/airoha_regs.h:390:41: note: in expansion of macro 'GENMASK'
2026-04-15T10:15:27.3316045Z 390 | #define FC_ID_OF_SRC_PORT_MASK(_n) GENMASK(4 + ((_n) << 3), ((_n) << 3))
2026-04-15T10:15:27.3316375Z | ^~~~~~~
2026-04-15T10:15:27.3316904Z drivers/net/ethernet/airoha/airoha_eth.c:1813:28: note: in expansion of macro 'FC_ID_OF_SRC_PORT_MASK'
2026-04-15T10:15:27.3317355Z 1813 | u32 mask = FC_ID_OF_SRC_PORT_MASK(nbq);
2026-04-15T10:15:27.3317622Z | ^~~~~~~~~~~~~~~~~~~~~~
2026-04-15T10:15:27.4657033Z make[11]: *** [scripts/Makefile.build:229: drivers/net/ethernet/airoha/airoha_eth.o] Error 1
your hwrng patch from 6.12 to 6.18 is not complete.
this is from my 6.18 bootlog.
kern.info: [ 0.664472] airoha-trng 1faa1000.rng: scu regmap found, controlling clocks manually
kern.info: [ 0.672161] airoha-trng 1faa1000.rng: TRNG mode: DRBG
kern.info: [ 0.677262] airoha-trng 1faa1000.rng: TRNG mode setup [0x1faa1804]: old=0x00000002, new=0x00000002 (setting DRBG mode)
kern.info: [ 0.687994] airoha-trng 1faa1000.rng: TRNG init [0x1faa1804]: old=0x00000002, new=0x80000002 (enabling RNG and OSC)
kern.info: [ 0.698451] airoha-trng 1faa1000.rng: SCU init [offset 0x1e4]: old=0xffffffff, new=0xffffffff (enabling BUS clock)
kern.info: [ 0.708820] airoha-trng 1faa1000.rng: SCU init [offset 0x1ec]: old=0xffffffff, new=0xffffffff (enabling PER1 clock)
kern.info: [ 0.719267] airoha-trng 1faa1000.rng: SCU init [offset 0x200]: old=0xffffffff, new=0xffffffff (enabling PER2 clock)
kern.notice: [ 0.735161] random: crng init done
~# cat /dev/hwrng | rngtest -c 10000
rngtest 6.17
Copyright (c) 2004 by Henrique de Moraes Holschuh
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
rngtest: starting FIPS tests...
rngtest: bits received from input: 200000032
rngtest: FIPS 140-2 successes: 9992
rngtest: FIPS 140-2 failures: 8
rngtest: FIPS 140-2(2001-10-10) Monobit: 1
rngtest: FIPS 140-2(2001-10-10) Poker: 0
rngtest: FIPS 140-2(2001-10-10) Runs: 3
rngtest: FIPS 140-2(2001-10-10) Long run: 4
rngtest: FIPS 140-2(2001-10-10) Continuous run: 0
rngtest: input channel speed: (min=953.907; avg=83842.092; max=19531250.000)Kibits/s
rngtest: FIPS tests speed: (min=26.565; avg=85.563; max=87.094)Mibits/s
rngtest: Program run time: 4563918 microseconds




