Instalador automatizado para habilitar adaptadores USB AIC8800 no Linux, com correcoes de compatibilidade para kernels modernos e setup completo de firmware. Descricao completa: Este repositorio existe para simplificar a instalacao e o uso de adaptadores USB Wi-Fi baseados no chip AIC8800 (D80/D81) em Linux. O projeto automatiza tarefas que normalmente sao manuais e sujeitas a erro: instalacao de dependencias, aplicacao de patches de compatibilidade para kernels recentes, compilacao dos modulos, instalacao de firmware e configuracao de modeswitch/boot. O objetivo e fazer o dispositivo funcionar de forma reproduzivel em distribuicoes como Arch, Debian e Ubuntu, reduzindo o tempo de diagnostico e evitando falhas comuns de compilacao e reconhecimento do hardware. O repositorio tambem serve como base tecnica para manutencao do driver, documentacao de problemas conhecidos e colaboracao da comunidade em novos kernels, distros e variantes do chip.
Find a file
2026-05-07 16:17:53 -03:00
.gitignore chore: initialize repository with installer script 2026-05-07 16:15:29 -03:00
install_aic8800.sh chore: initialize repository with installer script 2026-05-07 16:15:29 -03:00
KNOWN_ISSUES.md docs: add project documentation and license 2026-05-07 16:17:53 -03:00
LICENSE docs: add project documentation and license 2026-05-07 16:17:53 -03:00
MANUAL.md docs: add project documentation and license 2026-05-07 16:17:53 -03:00
README.md docs: add project documentation and license 2026-05-07 16:17:53 -03:00

AIC8800 USB Wi-Fi — Linux Driver Installer

Instalador automático do driver AIC8800D80/D81 para Linux (Arch e Debian/Ubuntu), com correções para kernel 6.8+.

Este projeto nasceu da necessidade de fazer o dongle funcionar no Arch Linux com kernel 6.19, onde o driver oficial não compilava nem reconhecia o dispositivo após o firmware switch.


Dispositivos suportados

VID:PID Modo Descrição
a69c:5721 MSC (armazenamento) Estado inicial do dongle
a69c:8d80 Wi-Fi Após modeswitch
368b:8d81 Wi-Fi Após firmware upload (variante)

Correções incluídas

Arquivo Problema Correção
rwnx_rx.c in_irq() removido no kernel 6.x Removido da mensagem de debug
rwnx_main.c Assinatura de get_tx_power mudou no kernel 6.8+ Adicionado #if LINUX_VERSION_CODE >= 6.8.0 com nova assinatura
aicwf_usb.c (fdrv) VID 368b com PID 8d81 não reconhecido Adicionado na tabela usb_device_id
aicwf_usb.c (load_fw) Idem para o módulo de carregamento de firmware Adicionado na tabela e no chipmatch

Requisitos

Arch Linux:

base-devel git linux-headers usb_modeswitch dkms

Debian / Ubuntu:

build-essential git linux-headers-$(uname -r) usb-modeswitch dkms bc

Instalação

git clone https://github.com/SEU_USUARIO/aic8800-linux-installer.git
cd aic8800-linux-installer
sudo bash install_aic8800.sh

O script faz automaticamente:

  1. Instala dependências (detecta Arch ou Debian)
  2. Clona o driver de github.com/radxa-pkg/aic8800
  3. Aplica todas as correções de compatibilidade
  4. Compila e instala os módulos do kernel
  5. Copia o firmware para /lib/firmware/aic8800D80/
  6. Configura modeswitch automático via udev
  7. Configura carregamento do módulo no boot
  8. Ajusta o NetworkManager para usar wpa_supplicant (compatível com AIC8800)

Nota de compatibilidade: com wifi.backend=iwd, alguns APs retornam NotSupported no NetworkManager e a conexão falha com supplicant-failed. O instalador corrige isso automaticamente.


Uso manual (sem o script)

1. Modeswitch manual

sudo usb_modeswitch -v 0xa69c -p 0x5721 -K

2. Carregar módulo

sudo modprobe aic8800_fdrv

3. Verificar interface

iw dev

Estrutura do projeto

install_aic8800.sh   — Script de instalação automática
README.md            — Este arquivo
MANUAL.md            — Guia de instalação manual passo a passo
KNOWN_ISSUES.md      — Problemas conhecidos e soluções
LICENSE              — Licença MIT
.gitignore           — Ignora pastas geradas (aic8800/, wifi-debug/, win10_x64/)

Contribuindo

Contribuições são muito bem-vindas! Áreas que precisam de melhorias:

  • Suporte a outras distros (Fedora, openSUSE, Manjaro)
  • Suporte a outros chips AIC (8800DC, 8800D80X2, 8800DLN)
  • Integração com DKMS para recompilar automaticamente após atualizações do kernel
  • Detecção automática da versão do chip pelo VID:PID
  • Melhorias de estabilidade na reconexão USB
  • Suporte a modo AP (ponto de acesso)
  • Testes com kernel 6.x no Raspberry Pi / ARM

Veja também: KNOWN_ISSUES.md

Como contribuir

  1. Fork este repositório
  2. Crie uma branch: git checkout -b minha-melhoria
  3. Faça suas alterações e commit: git commit -m "Descrição da melhoria"
  4. Abra um Pull Request descrevendo o que mudou e em qual hardware testou

Reportar problemas

Abra uma Issue incluindo:

  • Saída de uname -r
  • Saída de lsusb
  • Log gerado em ~/wifi-debug/ pelo script

Testado em

Distro Kernel Status
Arch Linux 6.19.11-arch1-1 Funcionando

Se testou em outro sistema, abra uma PR atualizando esta tabela!


Licença

MIT — veja LICENSE.