Wifi Dongle based on AIC8800, RISC-V, DietPi 9.10

Hi everybody,

I tried DietPi 9.10 on Starfive Visionfive 2. Since using it only via ethernet is troublesome for me, I searched the module paths and found kernel modules for AIC8800 based Wifi dongles. So I ordered a handful.

They don’t get detected automatically. modprobe aic8800_fdrv works, the module is loaded alongside the second aic-module from the kernel folder. Also, a cfg802.11-module is using the module.

But the log shows some message about the driver being a debug driver. No wlan0 interface gets usable (iwonfig shows no wireless extension for any of the interfaces, ifup wlan0 ends with wpa_supplicant-errors). I used dietpi.txt in the FAT partition to add the data of my wifi network.

Any suggestions where to move on from here?
Other USB wifi dongles with for example rtl8192cu ICs don’t get detected, and no modules are available for those.

Thank you,
best regards
Dirk

Some more information since I managed to get Firefox running on that Visionfive2.

dmesg:

[  9.517951] **********************************************************
[    9.532054] **   NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE   **
[    9.546127] **                                                      **
[    9.560133] ** trace_printk() being used. Allocating extra memory.  **
[    9.574134] **                                                      **
[    9.588038] ** This means that this is a DEBUG kernel and it is     **
[    9.601960] ** unsafe for production use.                           **
[    9.615837] **                                                      **
[    9.629629] ** If you see this message and you are not debugging    **
[    9.643424] ** the kernel, report this immediately to your vendor!  **
[    9.657159] **                                                      **
[    9.670850] **   NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE   **
[    9.684525] **********************************************************
[    9.744709] AICWFDBG(LOGINFO)	rwnx v6.4.3.0 - 1a4b0054d2M (master)
[    9.744724] AICWFDBG(LOGINFO)	RELEASE DATE:2023_0707_1001 
[    9.744902] usbcore: registered new interface driver aic8800_fdrv

lsusb:

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 003: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 004: ID a69c:5721 aicsemi Aic MSC
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

lsmod:

Module                  Size  Used by
ov4689_mipi            28672  0
starfivecamss         212992  1 ov4689_mipi
videobuf2_dma_contig    20480  1 starfivecamss
videobuf2_memops       16384  1 videobuf2_dma_contig
videobuf2_v4l2         32768  1 starfivecamss
videobuf2_common       73728  4 videobuf2_dma_contig,videobuf2_v4l2,starfivecamss,videobuf2_memops
imx708                 28672  0
imx219_mipi            24576  0
v4l2_fwnode            24576  4 ov4689_mipi,imx219_mipi,imx708,starfivecamss
v4l2_async             24576  5 ov4689_mipi,v4l2_fwnode,imx219_mipi,imx708,starfivecamss
videodev              331776  7 v4l2_async,ov4689_mipi,imx219_mipi,imx708,videobuf2_v4l2,videobuf2_common,starfivecamss
mc                     57344  8 v4l2_async,ov4689_mipi,videodev,imx219_mipi,imx708,videobuf2_v4l2,videobuf2_common,starfivecamss
starfive_mailbox       16384  0
goodix_ts              36864  0
aic8800_fdrv          581632  0
cfg80211             1007616  1 aic8800_fdrv
aic_load_fw            73728  1 aic8800_fdrv

ifup wlan0

wpa_supplicant: /usr/sbin/wpa_supplicant daemon failed to start
run-parts: /etc/network/if-pre-up.d/wpasupplicant exited with return code 1
ifup: failed to bring up wlan0

I added the necessary Wifi info to wpasupplicant config files.

iwconfig

lo        no wireless extensions.
eth0      no wireless extensions.
eth1      no wireless extensions.
sit0      no wireless extensions.

uname -a

Linux DietPi 6.1.97 #1 SMP Fri Jul  5 23:02:10 UTC 2024 riscv64 GNU/Linux

DietPi 9.11.2, updated on 07.03.2025 9:00h MEZ

Update I just found out that the USB dongle stays in mass storage mode, obviously. Do you have a solution to switch in RISC V / Visionfive 2 as well? For example, here is some documentation: