-
Notifications
You must be signed in to change notification settings - Fork 236
Description
Introduction
I bought this FENVI WiFi 6 AX286 Adapter from the FENVI Aliexpress Store: https://www.aliexpress.com/item/1005005698160651.html
I thought I'd give it a Try since it was quite cheap for a WiFi 6 Device.
It is one of these "Driver-Free" WiFi Adapters, so that was the first Obstacle to solve.
Initial Identification
Connecting the Device shows the following in dmesg -T:
[Fri Nov 28 17:40:31 2025] usb 1-1.4: new high-speed USB device number 9 using dwc_otg
[Fri Nov 28 17:40:31 2025] usb 1-1.4: New USB device found, idVendor=a69c, idProduct=5721, bcdDevice= 2.00
[Fri Nov 28 17:40:31 2025] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[Fri Nov 28 17:40:31 2025] usb 1-1.4: Product: Aic MSC
[Fri Nov 28 17:40:31 2025] usb 1-1.4: Manufacturer: aicsemi
[Fri Nov 28 17:40:31 2025] usb 1-1.4: SerialNumber: 20200203
[Fri Nov 28 17:40:31 2025] usb-storage 1-1.4:1.0: USB Mass Storage device detected
[Fri Nov 28 17:40:31 2025] scsi host0: usb-storage 1-1.4:1.0
[Fri Nov 28 17:40:32 2025] scsi 0:0:0:0: Direct-Access AIC flash 1.0 PQ: 0 ANSI: 4
[Fri Nov 28 17:40:32 2025] sd 0:0:0:0: Attached scsi generic sg0 type 0
[Fri Nov 28 17:40:32 2025] sd 0:0:0:0: [sda] 15840 512-byte logical blocks: (8.11 MB/7.73 MiB)
[Fri Nov 28 17:40:32 2025] sd 0:0:0:0: [sda] Write Protect is on
[Fri Nov 28 17:40:32 2025] sd 0:0:0:0: [sda] Mode Sense: 03 00 80 00
[Fri Nov 28 17:40:32 2025] sd 0:0:0:0: [sda] No Caching mode page found
[Fri Nov 28 17:40:32 2025] sd 0:0:0:0: [sda] Assuming drive cache: write through
[Fri Nov 28 17:40:32 2025] sda: sda1
[Fri Nov 28 17:40:32 2025] sd 0:0:0:0: [sda] Attached SCSI removable disk
Output of lsusb:
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0424:9514 Microchip Technology, Inc. (formerly SMSC) SMC9514 Hub
Bus 001 Device 003: ID 0424:ec00 Microchip Technology, Inc. (formerly SMSC) SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 009: ID a69c:5721 aicsemi Aic MSC
Device identifies as idVendor a69c and idProduct 5721.
Output of lsusb -vvvvv -d a69c:5721:
Bus 001 Device 009: ID a69c:5721 aicsemi Aic MSC
Negotiated speed: High Speed (480Mbps)
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 [unknown]
bDeviceSubClass 0 [unknown]
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0xa69c aicsemi
idProduct 0x5721 Aic MSC
bcdDevice 2.00
iManufacturer 1 aicsemi
iProduct 2 Aic MSC
iSerial 3 20200203
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0020
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 80 Bulk-Only
iInterface 4 01
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 [unknown]
bDeviceSubClass 0 [unknown]
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 0
can't get debug descriptor: Resource temporarily unavailable
Device Status: 0x0000
(Bus Powered)
But this is just the Storage Device (roughly 8 MiB Storage Device).
Ejecting the USB Storage Device
Turns out somebody already had to deal with it somehow (but I still post it here, since @morrownr is the Reference for WiFi Adapters on Linux 😉) and they gave some Recommendations on how to eject the Storage Adapter, which will then expose the Network Adapter.
Eject the USB Storage Adapter:
/usr/sbin/usb_modeswitch -KQ -v a69c -p 5721
Output of dmesg -T:
[Fri Nov 28 17:46:18 2025] usb 1-1.4: USB disconnect, device number 9
[Fri Nov 28 17:46:18 2025] usb 1-1.4: new high-speed USB device number 10 using dwc_otg
[Fri Nov 28 17:46:19 2025] usb 1-1.4: New USB device found, idVendor=a69c, idProduct=88dc, bcdDevice= 1.00
[Fri Nov 28 17:46:19 2025] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[Fri Nov 28 17:46:19 2025] usb 1-1.4: Product: AIC8800DC
[Fri Nov 28 17:46:19 2025] usb 1-1.4: Manufacturer: AICSemi
[Fri Nov 28 17:46:19 2025] usb 1-1.4: SerialNumber: 20220127
Output of lsusb:
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0424:9514 Microchip Technology, Inc. (formerly SMSC) SMC9514 Hub
Bus 001 Device 003: ID 0424:ec00 Microchip Technology, Inc. (formerly SMSC) SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 010: ID a69c:88dc AICSemi AIC8800DC
Output of lsusb -vvvvv -d a69c:88dc:
Bus 001 Device 010: ID a69c:88dc AICSemi AIC8800DC
Negotiated speed: High Speed (480Mbps)
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 [unknown]
bDeviceSubClass 0 [unknown]
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0xa69c AICSemi
idProduct 0x88dc AIC8800DC
bcdDevice 1.00
iManufacturer 1 AICSemi
iProduct 2 AIC8800DC
iSerial 3 20220127
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x002e
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 4
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 4 Wlan
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 [unknown]
bDeviceSubClass 0 [unknown]
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 0
can't get debug descriptor: Resource temporarily unavailable
Device Status: 0x0000
(Bus Powered)
Further Steps
Based on the above linked LinuxMint Forum Thread, it seems that one has to go forward and install the Kernel Drivers via dkms from a GitHub Repository.
References:
- https://forums.linuxmint.com/viewtopic.php?p=2562784
- https://www.reddit.com/r/raspberry_pi/comments/1jtqecl/need_help_getting_aic8800_based_usb_wifi_adapter/
Looking around, I found this Gentoo ebuild File:
https://gitweb.gentoo.org/repo/gentoo.git/tree/net-wireless/aic8800/aic8800-1.0.6.ebuild
Which hints at the Location of a DKMS File for Debian:
https://linux.brostrend.com/aic8800-dkms.deb
This contains the Firmware, Kernel Module Source Code and some Udev Rules:
./lib/firmware/aic8800D80:
total 1800
-rw-r--r-- 1 user user 3303 Jun 23 19:56 aic_powerlimit_8800d80.txt
-rw-r--r-- 1 user user 2724 Jun 23 19:56 aic_userconfig_8800d80.txt
-rw-r--r-- 1 user user 2724 Jun 23 19:56 aic_userconfig_8800d80_u11_cus.txt
-rw-r--r-- 1 user user 2724 Jun 23 19:56 aic_userconfig_8800d80_u11_pro.txt
-rw-r--r-- 1 user user 2724 Jun 23 19:56 aic_userconfig_8800d80_u11.txt
-rw-r--r-- 1 user user 17076 Jun 23 19:56 calibmode_8800d80.bin
-rw-r--r-- 1 user user 351716 Jun 23 19:56 fmacfw_8800d80_h_u02.bin
-rw-r--r-- 1 user user 346052 Jun 23 19:56 fmacfw_8800d80_h_u02_ipc.bin
-rw-r--r-- 1 user user 327620 Jun 23 19:56 fmacfw_8800d80_u02.bin
-rw-r--r-- 1 user user 345092 Jun 23 19:56 fmacfw_8800d80_u02_ipc.bin
-rw-r--r-- 1 user user 1708 Jun 23 19:56 fw_adid_8800d80_u02.bin
-rw-r--r-- 1 user user 370640 Jun 23 19:56 fw_ble_scan_ad_filter.bin
-rw-r--r-- 1 user user 31044 Jun 23 19:56 fw_patch_8800d80_u02.bin
-rw-r--r-- 1 user user 10956 Jun 23 19:56 fw_patch_8800d80_u02_ext0.bin
-rw-r--r-- 1 user user 1240 Jun 23 19:56 fw_patch_table_8800d80_u02.bin
-rw-r--r-- 1 user user 273306 Jun 23 19:56 lmacfw_rf_8800d80_u02.bin
./lib/firmware/aic8800DC:
total 394
-rw-r--r-- 1 user user 3303 Jun 23 19:56 aic_powerlimit_8800dc.txt
-rw-r--r-- 1 user user 3303 Jun 23 19:56 aic_powerlimit_8800dw.txt
-rw-r--r-- 1 user user 1138 Jun 23 19:56 aic_userconfig_8800dc.txt
-rw-r--r-- 1 user user 1138 Jun 23 19:56 aic_userconfig_8800dw.txt
-rw-r--r-- 1 user user 1138 Jun 23 19:56 aic_userconfig_8800dw_u2.txt
-rw-r--r-- 1 user user 1138 Jun 23 19:56 aic_userconfig_8800dw_w311.txt
-rw-r--r-- 1 user user 32684 Jun 23 19:56 fmacfw_calib_8800dc_h_u02.bin
-rw-r--r-- 1 user user 40428 Jun 23 19:56 fmacfw_calib_8800dc_u02.bin
-rw-r--r-- 1 user user 26116 Jun 23 19:56 fmacfw_patch_8800dc_h_u02.bin
-rw-r--r-- 1 user user 26984 Jun 23 19:56 fmacfw_patch_8800dc_ipc_u02.bin
-rw-r--r-- 1 user user 23356 Jun 23 19:56 fmacfw_patch_8800dc_u02.bin
-rw-r--r-- 1 user user 744 Jun 23 19:56 fmacfw_patch_tbl_8800dc_h_u02.bin
-rw-r--r-- 1 user user 504 Jun 23 19:56 fmacfw_patch_tbl_8800dc_ipc_u02.bin
-rw-r--r-- 1 user user 504 Jun 23 19:56 fmacfw_patch_tbl_8800dc_u02.bin
-rw-r--r-- 1 user user 1468 Jun 23 19:56 fw_adid_8800dc_u02.bin
-rw-r--r-- 1 user user 1476 Jun 23 19:56 fw_adid_8800dc_u02h.bin
-rw-r--r-- 1 user user 16592 Jun 23 19:56 fw_patch_8800dc_u02.bin
-rw-r--r-- 1 user user 2892 Jun 23 19:56 fw_patch_8800dc_u02_ext0.bin
-rw-r--r-- 1 user user 15680 Jun 23 19:56 fw_patch_8800dc_u02h.bin
-rw-r--r-- 1 user user 960 Jun 23 19:56 fw_patch_table_8800dc_u02.bin
-rw-r--r-- 1 user user 568 Jun 23 19:56 fw_patch_table_8800dc_u02h.bin
-rw-r--r-- 1 user user 169706 Jun 23 19:56 lmacfw_rf_8800dc.bin
./lib/udev/rules.d:
total 5
-rw-r--r-- 1 user user 726 Jun 23 20:00 aic.rules
./usr/share/aic8800-dkms:
total 6
-rw-r--r-- 1 user user 2253 Aug 26 2022 brostrend.gpg
-rw-r--r-- 1 user user 53 Aug 25 2022 brostrend.list
./usr/share/doc:
total 1
drwxr-xr-x 2 user user 4 Oct 22 08:15 aic8800-dkms
./usr/src/aic8800-1.0.8:
total 38
drwxr-xr-x 2 user user 109 Oct 22 08:08 aic8800_fdrv
drwxr-xr-x 2 user user 26 Oct 22 08:08 aic_load_fw
-rw-r--r-- 1 user user 382 Oct 22 08:15 dkms.conf
-rwxr-xr-x 1 user user 5392 Oct 22 08:15 driverctl
-rw-r--r-- 1 user user 266 Jun 23 19:56 Kconfig
-rw-r--r-- 1 user user 3155 Oct 22 08:08 Makefile
Seems to be Version 1.0.8 (Folder Name for the Kernel Module is indeed /usr/src/aic8800-1.0.8).
System Information
Computer: Raspberry Pi2 (32bit armhf)
Kernel:
Linux raspberrypi2-03 6.12.47+rpt-rpi-v7 #1 SMP Raspbian 1:6.12.47-1+rpt1 (2025-09-16) armv7l GNU/Linux