Eu encontrei um problema relativamente comum com o adaptador ASIX AX88179 USB 3.0 Gigabit Ethernet, onde ele não estava funcionando ou estava funcionando esporadicamente e dmesg
estava mostrando erros como
[23552.344134] ax88179_178a 2-1:2.1 eth1: Failed to read reg index 0x0000: -32
Pesquisando on-line, encontrei relatos deste ou de problemas semelhantes sem soluções ou explicações satisfatórias.
Após alguma depuração, descobriu-se que o problema é resolvido se o cdc_mbim
módulo for carregado antes do ax88179_178a
. O seguinte resolve o problema até a próxima reinicialização:
# rmmod ax88179_178a
# modprobe cdc_mbim
# modprobe ax88179_178a # optional
Verifiquei que cdc_mbim
não é declarada uma dependência de ax88179_178a
, nem direta, nem indiretamente.
Como posso fazer ax88179_178a
depender cdc_mbim
, para que cdc_mbim
seja sempre carregado automaticamente antes ax88179_178a
?
Você pode usar um
modprobe.d
arquivo para configurar isso sem alterar o kernel. Crie um arquivo, chamado/etc/modprobe.d/ax88179.conf
, com o seguinte conteúdo:Isso garantirá que as tentativas de instalação
ax88179_178a
resultem nocdc_mbim
carregamento primeiro, seguido porax88179_178a
.--ignore-install
no segundo comando pula esta linha (para evitar processamento sem fim).Uma estratégia semelhante, mas um pouco mais limpa, também envolvendo um arquivo
modprobe.d/
é usar osoftdep
recurso para dizermodprobe
para carregarcdc_mbim
antes doax88179_178a
. Em/etc/modprobe.d/ax88179.conf
: