Skip to content

FENVI WiFi 6 Adapter AX286 (AICSemi AIC8800DC) #680

@luckylinux

Description

@luckylinux

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:

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions