Você conecta um periférico ao computador, ele funciona perfeitamente no Windows, mas ao iniciar o Linux algo dá errado. Pode ser um adaptador Wi-Fi, uma impressora, um controle, uma webcam, um mouse ou qualquer outro dispositivo. A primeira reação costuma ser imaginar que o Linux simplesmente não oferece suporte ao hardware, mas essa conclusão pode ser precipitada.
O suporte a hardware no Linux evoluiu muito nos últimos anos e a maioria dos computadores modernos consegue funcionar com poucos ou nenhum ajuste após a instalação. Ainda existem exceções, porém. Quando elas aparecem, entender como o sistema identifica e se comunica com o hardware é o primeiro passo para encontrar uma solução.
Por que um hardware funciona em um sistema e em outro não?
Para que um sistema operacional consiga utilizar um dispositivo, ele precisa saber como se comunicar com ele. É aí que entram os drivers e firmwares.
Um driver contém as instruções necessárias para que o sistema operacional reconheça e controle determinado hardware. Já o firmware é um software armazenado no próprio dispositivo ou utilizado durante sua inicialização para definir seu funcionamento.
O Windows possui uma abordagem diferente da encontrada em muitas distribuições Linux. Fabricantes costumam fornecer drivers diretamente para o sistema da Microsoft, e boa parte desses componentes proprietários é instalada automaticamente pelo Windows Update ou distribuída pelos próprios fabricantes.
No Linux, a situação depende de diversos fatores. Muitos drivers fazem parte do kernel e funcionam imediatamente, enquanto outros dependem de firmware adicional. Questões de licenciamento também influenciam o que cada distribuição pode ou deseja incluir por padrão.
Por isso, duas distribuições podem oferecer experiências diferentes no mesmo computador. Algumas incluem uma quantidade maior de firmwares e componentes proprietários desde a instalação. Outras preferem uma seleção mais conservadora e deixam determinados pacotes para instalação posterior.
Isso não significa necessariamente que uma distribuição possui suporte melhor ou pior. Em muitos casos, o resultado final pode ser exatamente o mesmo, com a diferença estando apenas nos passos necessários para chegar até ele.
Antes de procurar uma solução, descubra exatamente qual é o seu hardware
Pesquisar “meu Wi-Fi não funciona no Linux” dificilmente produzirá resultados precisos. O mercado possui centenas de controladores de rede, inclusive modelos visualmente idênticos vendidos por fabricantes diferentes. A informação mais importante para diagnosticar um problema é a identificação exata do hardware.
Usuários do KDE Plasma podem encontrar muitas dessas informações diretamente nas configurações do sistema. Na seção sobre o sistema, a opção de informações adicionais apresenta dados sobre processador, memória, dispositivos PCI, discos e outros componentes. Na verdade, grande parte dos ambientes gráficos oferece ferramentas gráficas capazes de reunir informações importantes sobre o computador.

Quando uma interface gráfica não fornece detalhes suficientes, o terminal oferece algumas ferramentas tradicionais do Linux.
O comando lspci, por exemplo, lista dispositivos conectados ao barramento PCI. Ele pode ajudar a identificar placas de vídeo, controladores de rede e diversos outros componentes internos.
Já o lsusb é particularmente útil quando o problema envolve periféricos conectados por USB. O comando mostra os dispositivos reconhecidos pelo sistema e pode revelar uma informação extremamente importante: o identificador do fabricante e do produto.
Esses números ajudam a descobrir exatamente qual controlador está sendo utilizado. Eles também tornam muito mais fácil pesquisar por problemas semelhantes ou pedir ajuda em fóruns e comunidades.

Menos informação pode ser melhor
Ferramentas como lspci podem gerar uma enorme quantidade de dados, o que nem sempre é ideal para quem está começando.
O lsusb tem uma vantagem quando o problema envolve um dispositivo externo: ele limita os resultados aos equipamentos conectados via USB. Se um mouse, adaptador Bluetooth, webcam ou controle não funciona corretamente, começar por ali pode ser mais simples.

Outra ferramenta interessante é o lshw, capaz de apresentar informações detalhadas sobre diversos componentes do computador de uma forma relativamente organizada.
Também existe o inxi, bastante popular entre usuários de Linux e especialmente útil para gerar um resumo completo da configuração do sistema. O programa pode facilitar a coleta de informações quando você precisa compartilhar detalhes do computador com outras pessoas para receber ajuda.
Ter esses dados em mãos muda completamente a qualidade de uma busca. Em vez de procurar genericamente por “adaptador Wi-Fi não funciona”, você pode pesquisar pelo modelo exato do controlador, sua identificação e a versão do kernel utilizada.

O firmware também pode ser a origem do problema
Nem todo problema de hardware está relacionado diretamente a drivers. Alguns dispositivos dependem de atualizações de firmware para corrigir falhas ou melhorar a compatibilidade.
O ecossistema Linux possui uma ferramenta importante para esse cenário: o fwupd. Ela permite verificar e instalar atualizações de firmware disponibilizadas por fabricantes compatíveis.
O serviço tem se tornado cada vez mais útil, especialmente em notebooks e periféricos modernos. Dependendo do fabricante, ele pode atualizar componentes como BIOS e UEFI, dispositivos de armazenamento, docks, adaptadores e outros equipamentos.
Atualizações de firmware também podem resolver problemas específicos de compatibilidade. Um periférico que apresenta comportamento estranho pode ter recebido uma correção diretamente do fabricante.
Atualizar firmware exige cuidado
O firmware não deve ser tratado como uma atualização comum de aplicativo. Uma interrupção durante o processo, a instalação de um firmware incompatível ou qualquer problema inesperado pode deixar um dispositivo inutilizável. Esse tipo de situação é conhecido como bricking, quando o hardware deixa de iniciar ou funcionar corretamente após uma alteração em seu software interno.
Por isso, atualizar firmware deve ser uma decisão consciente. Verifique cuidadosamente o modelo do dispositivo, leia as informações fornecidas pelo fabricante e nunca interrompa uma atualização em andamento.
Também vale investigar outras possibilidades antes de concluir que uma atualização é necessária. Às vezes, o problema está em uma configuração, em um módulo ausente, em uma versão específica do kernel ou simplesmente na falta de um pacote de firmware.
Diagnóstico é metade da solução
Quando um periférico não funciona no Linux, sair instalando drivers encontrados aleatoriamente na internet costuma ser uma péssima ideia. O caminho mais seguro começa com uma pergunta simples: o sistema reconhece esse dispositivo?
Descobrir o modelo exato do hardware, identificar seus códigos e pesquisar a compatibilidade com a distribuição e o kernel utilizados reduz muito as tentativas às cegas. O Linux oferece ferramentas para realizar esse diagnóstico e, quando elas não resolvem o problema diretamente, fornecem as informações necessárias para encontrar ajuda.
Na maioria das vezes, um periférico que parece simplesmente “não funcionar no Linux” é apenas um problema que ainda não foi identificado com precisão.
Este conteúdo é um corte do Diocast. Assista na íntegra ao episódio em que conversamos sobre por que determinados componentes podem ser mais temperamentais no Linux, com atenção especial para Wi-Fi e Bluetooth, dois exemplos capazes de transformar uma instalação aparentemente tranquila em uma verdadeira caça ao problema. E se você já passou por isso, provavelmente reconhece a sensação: você sabe que a placa está ali, sabe que ela funcionava, mas o sistema parece simplesmente não saber disso.