[ 16.872312] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
[ 128.148927] usb 1-1.1: new high-speed USB device number 3 using xhci_hcd
[ 305.112342] EXT4-fs (mmcblk1p4): error count since last fsck: 576
[ 305.118453] EXT4-fs (mmcblk1p4): initial error at time 1702617596: ext4_readdir:258: inode 65743: block 262704
[ 305.128467] EXT4-fs (mmcblk1p4): last error at time 1702894279: ext4_readdir:258: inode 67582: block 263087
yes I got this logs after few minutes, is this related to wifi module?
What does lsusb give for the VID (Vendor ID):PID (Product ID) of the USB WiFi module ?
It should be two four digit hexadecimal numbers.
I did a quick lookup on a “rtl8821ae” and it is listed as a “802.11AC/ABGN PCIE WLAN WITH BLUETOOTH 4.0 SINGLE-CHIP CONTROLLER” which would logically be inserted into a PCIe slot and not a USB port.
Or is the dongle that you are using a M.2 M-key module based around the rtl8821ae chip ?
when i inserted this dongle in my system(ubuntu x86)
this logs in dmesg
[10697.815273] usb 1-2: new high-speed USB device number 13 using xhci_hcd
[10697.967536] usb 1-2: New USB device found, idVendor=3452, idProduct=6600, bcdDevice= 0.01
[10697.967542] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[10697.967545] usb 1-2: Product: 6600U
[10697.967548] usb 1-2: Manufacturer: ESWIN
[10697.967550] usb 1-2: SerialNumber: 6600U
and after connecting to the wifi this logs
[11002.459973] wlp1s0: authenticate with 42:8a:536a:0c
[11002.465191] wlp1s0: send auth to 42:8a:536a:0c (try 1/3)
[11002.469496] wlp1s0: authenticated
[11002.472628] wlp1s0: associate with 42:8a:536a:0c (try 1/3)
[11002.484273] wlp1s0: RX AssocResp from 42:8a:536a:0c (capab=0x411 status=0 aid=1)
[11002.487114] wlp1s0: associated
And as tempting as it may be to look at the driver and matching firmware here: https://github.com/eswincomputing/eswin_6600u
I suspect that there might be problems using that under RISC-V.
Speed reading the “riscv-jh71x0-202308b” source for openWRT, it uses a 6.1 Linux kernel, which is probably the root cause of the problem. You might have to port/patch the ESWIN 6600U driver which currently works for 5.15 to be compatible with a 6.1 kernel.
@mzs That is the dongle which gets delivered with many VF2 when bought as a kit and it works perfectly out of the box with the starfive kernel. But as I guessed, the driver is wrong.
That one uses wlan_ecr6600U_usb.ko
Could have been found out very easily using lsmod on the working debian image then.
make ARCH=riscv \
CROSS_COMPILE=/home/aximsoft//openWRT/toolchain/openwrt-toolchain-23.05.0-sifiveu-generic_gcc-12.3.0_musl.Linux-x86_64/toolchain-riscv64_riscv64_gcc-12.3.0_musl/bin/riscv64-openwrt-linux- \
KERNELDIR=/home/aximsoft/openWRT/wigyori/build_dir/target-riscv64_riscv64_musl/linux-jh71x0_generic/linux-6.1.46 \
KBUILDDIR=/home/aximsoft/openWRT/wigyori/build_dir/target-riscv64_riscv64_musl/linux-jh71x0_generic/linux-6.1.46 \
product=6600u
I’m getting error and the error logs is below
Makefile:142: "select chip is 6600u."
Makefile:144: "select slave is used CEVA RTOS."
rm -rf *.ko
make -C /home/aximsoft/openWRT/wigyori/build_dir/target-riscv64_riscv64_musl/linux-jh71x0_generic/linux-6.1.46 O=/home/aximsoft/openWRT/wigyori/build_dir/target-riscv64_riscv64_musl/linux-jh71x0_generic/linux-6.1.46 M=/home/aximsoft/openWRT/eswin_6600u modules
make[1]: Entering directory '/home/aximsoft/openWRT/wigyori/build_dir/target-riscv64_riscv64_musl/linux-jh71x0_generic/linux-6.1.46'
warning: the compiler differs from the one used to build the kernel
The kernel was built by: riscv64-openwrt-linux-musl-gcc (OpenWrt GCC 12.3.0 r23795-fcfb9f211b) 12.3.0
You are using: riscv64-openwrt-linux-musl-gcc.bin (OpenWrt GCC 12.3.0 r23497-6637af95aa) 12.3.0
CC [M] /home/aximsoft/openWRT/eswin_6600u/ecrnx_msg_tx.o
riscv64-openwrt-linux-musl-gcc.bin: warning: environment variable 'STAGING_DIR' not defined
In file included from /home/aximsoft/openWRT/eswin_6600u/ecrnx_msg_tx.h:16,
from /home/aximsoft/openWRT/eswin_6600u/ecrnx_msg_tx.c:13:
/home/aximsoft/openWRT/eswin_6600u/fullmac/ecrnx_defs.h:506:19: error: 'IEEE80211_MAX_AMPDU_BUF' undeclared here (not in a function); did you mean 'IEEE80211_MIN_AMPDU_BUF'?
506 | int ampdus_tx[IEEE80211_MAX_AMPDU_BUF];
| ^~~~~~~~~~~~~~~~~~~~~~~
| IEEE80211_MIN_AMPDU_BUF
/home/aximsoft/openWRT/eswin_6600u/ecrnx_msg_tx.c: In function 'ecrnx_send_me_sta_add':
/home/aximsoft/openWRT/eswin_6600u/ecrnx_msg_tx.c:1036:33: error: 'struct station_parameters' has no member named 'ht_capa'; did you mean 'ext_capab'?
1036 | u8 *ht_mcs = (u8 *)¶ms->ht_capa->mcs;
| ^~~~~~~
| ext_capab
/home/aximsoft/openWRT/eswin_6600u/ecrnx_msg_tx.c:1050:36: error: 'struct station_parameters' has no member named 'supported_rates_len'; did you mean 'supported_channels_len'?
1050 | req->rate_set.length = params->supported_rates_len;
| ^~~~~~~~~~~~~~~~~~~
| supported_channels_len
/home/aximsoft/openWRT/eswin_6600u/ecrnx_msg_tx.c:1051:29: error: 'struct station_parameters' has no member named 'supported_rates_len'; did you mean 'supported_channels_len'?
1051 | for (i = 0; i < params->supported_rates_len; i++)
| ^~~~~~~~~~~~~~~~~~~
| supported_channels_len
/home/aximsoft/openWRT/eswin_6600u/ecrnx_msg_tx.c:1052:42: error: 'struct station_parameters' has no member named 'supported_rates'; did you mean 'supported_channels'?
1052 | req->rate_set.array[i] = params->supported_rates[i];
| ^~~~~~~~~~~~~~~
| supported_channels
/home/aximsoft/openWRT/eswin_6600u/ecrnx_msg_tx.c:1062:17: error: 'struct station_parameters' has no member named 'ht_capa'; did you mean 'ext_capab'?
1062 | if (params->ht_capa) {
| ^~~~~~~
| ext_capab
/home/aximsoft/openWRT/eswin_6600u/ecrnx_msg_tx.c:1063:58: error: 'struct station_parameters' has no member named 'ht_capa'; did you mean 'ext_capab'?
1063 | const struct ieee80211_ht_cap *ht_capa = params->ht_capa;
| ^~~~~~~
| ext_capab
/home/aximsoft/openWRT/eswin_6600u/ecrnx_msg_tx.c:1075:17: error: 'struct station_parameters' has no member named 'vht_capa'; did you mean 'ext_capab'?
1075 | if (params->vht_capa) {
| ^~~~~~~~
| ext_capab
/home/aximsoft/openWRT/eswin_6600u/ecrnx_msg_tx.c:1076:60: error: 'struct station_parameters' has no member named 'vht_capa'; did you mean 'ext_capab'?
1076 | const struct ieee80211_vht_cap *vht_capa = params->vht_capa;
| ^~~~~~~~
| ext_capab
/home/aximsoft/openWRT/eswin_6600u/ecrnx_msg_tx.c:1087:15: error: 'struct station_parameters' has no member named 'he_capa'
1087 | if (params->he_capa) {
| ^~
/home/aximsoft/openWRT/eswin_6600u/ecrnx_msg_tx.c:1088:61: error: 'struct station_parameters' has no member named 'he_capa'
1088 | const struct ieee80211_he_cap_elem *he_capa = params->he_capa;
| ^~
/home/aximsoft/openWRT/eswin_6600u/ecrnx_msg_tx.c:1116:15: error: 'struct station_parameters' has no member named 'opmode_notif_used'
1116 | if (params->opmode_notif_used) {
| ^~
/home/aximsoft/openWRT/eswin_6600u/ecrnx_msg_tx.c:1118:29: error: 'struct station_parameters' has no member named 'opmode_notif'
1118 | req->opmode = params->opmode_notif;
| ^~
make[2]: *** [scripts/Makefile.build:250: /home/aximsoft/openWRT/eswin_6600u/ecrnx_msg_tx.o] Error 1
make[1]: *** [Makefile:2012: /home/aximsoft/openWRT/eswin_6600u] Error 2
make[1]: Leaving directory '/home/aximsoft/openWRT/wigyori/build_dir/target-riscv64_riscv64_musl/linux-jh71x0_generic/linux-6.1.46'
make: *** [Makefile:145: modules] Error 2
how to compile the driver or anything i m missing.?
My guess would be that it will not work without patching/modifying the driver source code to be compatable with a 6.1 linux kernel. Speedreading the warnings and error messages I would say that there are mismatches between what the driver is providing and what the kernel expects in the structures that would be passed between the two.