Closed ghost closed 3 years ago
With this diff, the correct result code is returned. A side effect: It also fixes the WiFi issue on my WRT-32X.
See this thread in the official OpenWrt forum for details.
guess, I'll get the dust off my wrt3200acm router and see about this annoying issue, mostly happening on wpa3
can someone test this PR with the Openwrt master branch ? @krjdev have you had any similar issues with 5.10 prior to apply your fix
@rmandrad
I had this issues with the current stable release 21.02.0 with Linux 5.4. Used the firmware selector for flashing my router. I applied the fix on the Git tag v21.02.0 from OpenWrt to test my modification:
$ cat /etc/os-release
NAME="OpenWrt"
VERSION="21.02.0"
ID="openwrt"
ID_LIKE="lede openwrt"
PRETTY_NAME="OpenWrt 21.02.0"
VERSION_ID="21.02.0"
HOME_URL="https://openwrt.org/"
BUG_URL="https://bugs.openwrt.org/"
SUPPORT_URL="https://forum.openwrt.org/"
BUILD_ID="r16279-5cc0535800"
OPENWRT_BOARD="mvebu/cortexa9"
OPENWRT_ARCH="arm_cortex-a9_vfpv3-d16"
OPENWRT_TAINTS="no-all"
OPENWRT_DEVICE_MANUFACTURER="OpenWrt"
OPENWRT_DEVICE_MANUFACTURER_URL="https://openwrt.org/"
OPENWRT_DEVICE_PRODUCT="Generic"
OPENWRT_DEVICE_REVISION="v0"
OPENWRT_RELEASE="OpenWrt 21.02.0 r16279-5cc0535800"
$ uname -a
Linux wrt32x 5.4.143 #0 SMP Tue Aug 31 22:20:08 2021 armv7l GNU/Linux
$
The (solved) issues:
After enabling WiFi the clients could only connect for a few minutes, but then they loses the connection. Also the LuCI WebUI was no longer accessible after this issue. These were the main issues with the stable release on my WRT32X.
I will test the fix with the current master branch from OpenWrt on my router. But I can only test this on my device. Because the driver supports multiple WiFi devices, somebody should compare (verify) this fix with the other supported devices too.
WRT32X with Marvell/NXP 88W8964 and Firmware 9.3.2.12 works for me.
Data point RE: other devices. Tested with master build r17525-a46fa5c3a, kernel 5.10.66, on a mamba. Nothing noted as having been broken by patch.
I will revert the pull request, because I haven't considered that the new check breaks the driver. It works interestingly on WRT32X. But it should not work.
The reason:
Each command is constructed with memset
, which sets also the result code to 0
. But the result code 0
is also HOSTCMD_RESULT_OK
. So the wait routine always passes, also when the command to the chip isn't successfully executed.
I will work on a new modification.
PLEASE don't use this pull request any more.
Was there a follow-up to this?
Signed-off-by: Johannes Krottmayer krjdev@gmail.com