Artigo demonstra os percalços na configuração de dispositivo WiFi 802.11AC (RTL8821CU), com nenhum suporte do fabricante. O dispositivo USB traz, inclusive, um disco com driver para Windows (apenas) o qual precisa ser ejetado para a interface de Rede WiFi "Double Band" emergir. Veremos como desabilitar o disco via UDEV e como compilar o driver a partir de colaboração de entusiastas GNU-Linux.
Primeiro problema: Desativar O Disco Virtual Com Drivers
Como se disse, ao espetar o dispositivo, um disco virtual (srN) é notificado. A partir daí, temos três opções; duas manuais e uma programada, automática, via UDEV.
Primeira opção: na linha de comando, digite eject srN (seu dispositivo será o último "loop device", após o índice do CD/DVD, normalmente, como "sr1" ). Não é a melhor forma, nem a mais elegante, mas funciona;
Segunda opção: no Gerenciador de Arquivos (Thunar, Dolphin, Nautilus, etc.), ejete o dispositivo. Nem mesmo é preciso estar montado, para isso, o efeito imediato é o anúncio de novo device, no dmesg;
Terceira opção: criar uma regra no UDEV para liberar o dispositivo de disco. O Windows parece ter abordagem semelhante, pois após a configuração do driver fornecido, o disco virtual não mais se anuncia. Esta é, sem dúvida, a abordagem melhor, pois libera não só o device, mas o próprio usuário de tão tediosa tarefa.
Para essa regra ser criada, podemos lançar mão do udevadm ou simplesmente verificar o sistema rotativo de mensagens do Sistema, o conhecido dmesg.
Ao invocá-lo, veremos a notificação de um dispositivo de disco com o IdVendor = 0BDA (Realtek) e o IdProduct = 1a2b. Após a sua desativação, seja por qual o método, o DMesg anunciará um novo IdProduct: C811. Preste atenção nesse "C" no Id do dispositivo: a confusão está aí, na hora de identificar o Chipset. Falaremos mais sobre isso. Vejamos a saída do buffer rotativo após a remoção do disco virtual:
MeiaNoite, não testei na versão 5.X; esperando a própria, pois tem um grande acréscimo no que tange drivers, de Rede inclusive. Para quem usa o Fedora, como eu, pode tentar baixar já compilado, a partir do Repositório Koji, ou pode compilar por si, mesmo ainda nos RC´s.
[7] Comentário enviado por jonathan_santos em 30/05/2019 - 09:52h
EXCELENTE MORVAM!! Me salvou....quer dizer...salvou o adaptador, que, caso eu fracassasse nesta última tentativa, iria para o lixo!! Funcionou até o led rsrsrsr!!! Exatamente como você disse no tópico, instalei milhares de drives e módulos, todos sem sucesso. Só para que fique registrado, para futuras consultas, eu precisei alterar uma linha de código de um arquivo do instalador. Ao inserir o comando "make", ele me retornava este erro: r/rtl8821CU_WiFi_linux_v5.4.1_28754.20180921_COEX20180712-3232/os_dep/linux/ioctl_cfg80211.c:691:2: error: implicit declaration of function ‘ktime_get_boottime_ts64’; did you mean ‘ktime_get_boottime’? [-Werror=implicit-function-declaration]
ktime_get_boottime_ts64(&ts); //get_monotonic_boottime(&ts);
Tudo o que fiz foi entrar no diretório /rtl8821CU_WiFi_linux_v5.4.1_28754.20180921_COEX20180712-3232/os_dep/linux/, fazer uma cópia backup do arquivo ioctl_cfg80211.c (vai que piora tudo, rsrsr!!) e alterar a linha 691: onde estava "ktime_get_boottime_ts64" ficou "ktime_get_boottime". Mais uma vez, agradeço a dedicação que você teve em explicar detalhadamente o processo. VLW!!!
[8] Comentário enviado por morvan em 30/05/2019 - 10:32h
... EXCELENTE MORVAM!! Me salvou....quer dizer...salvou o adaptador, que, caso eu fracassasse nesta última tentativa, iria para o lixo!! Funcionou até o led rsrsrsr!!! Exatamente como você disse no tópico, instalei milhares de drives e módulos, todos sem sucesso. Só para que fique registrado, para futuras consultas, ...
Tamos aqui para ajudar. Esse é o espírito SL. Abaixo, eu outro comentário, eu aponto uma URL que eu testei para o Kernel 5.1.x (quebrando compilação por problema com tipagem).
[9] Comentário enviado por morvan em 30/05/2019 - 10:35h
Bom dia. Com apassagem do 5.0 para o 5.1, este driver deu problema na compilação (dessa vez, problema com tipagem); eu estava mais à cata de uma solução do que propriamente fuçar, pois tempo era justo o que me falta[va]. Achei estte endereço; ele resolve problemas com headers, tipos e ainda com gerenciamento de energia do chipset: