2008-02-17

Ô Intel, dá uma caprichada, vai... [atualizado]

O adaptador de rede wi-fi do meu notebook é um Intel 3945. O da minha mulher (um Macbook da primeira geração) também. Na verdade, por dentro os dois computadores são relativamente parecidos: mesmo chip gráfico, mesmo adaptador de rede wi-fi, processadores semelhantes.

O que é mais marcantemente diferente entre as duas máquinas -- fora o fato de o Macbook ser muito mais bonito, é claro -- é o sistema operacional: o meu é Linux e o dela é Mac OS X.

Mas essa diferença relativamente pequena tem um efeito em particular que é bastante grande: o funcionamento do adaptador wi-fi. Nosso roteador wi-fi fica no apartamento ao lado, que é da minha prima (é ela que tem o acesso à Internet, e nós pegamos emprestado). No Mac, basta ligar o sistema (aliás, que boot rápido! -- um sonho) e esperar uns 5 segundos que o ícone informa que já está conectado à nossa rede com criptografia WPA-PSK.

Já nos meus Linux (Gentoo e Ubuntu -- Mint, na verdade, mas no Ubuntu original também acontecia) a coisa é um tanto mais demorada. Depois de terminar o boot e subir o X automaticamente, entrando sozinho no Gnome sob o meu usuário padrão (segurança pra quê, né?), espero mais 1 minuto ou mais pra ser informado de que meu adaptador wi-fi está negociando a autenticação com o roteador. Eu tenho que me movimentar pelo apartamento, mesmo que eu comece a "negociação" no canto do apartamento que fica mais próximo ao roteador, pra conseguir autenticar lá pela quinta tentativa, depois de dar time out quatro vezes.

Se a principal diferença entre os dois computadores é o sistema operacional, eu pergunto: por que o driver pra esse adaptador de rede é tão pior no Linux do que no Mac OS X?

É a própria Intel que produz o driver pra Linux! E imagino que também seja o caso no Mac OS. Então, o que que custa fazer o driver decentemente?

Por favor não me venham com essa de "o código é aberto, você pode implementar o que quiser ou ajudar a melhorar sua qualidade". Repetindo: a mesma Intel faz os dois drivers, sendo que um funciona como deveria e o outro é um certo suplício.

É claro que eu fico muito, mas muito feliz MESMO pelo driver para Linux receber "atenção oficial" da todo-poderosa Intel. Senão, não teria feito questão de comprar um laptop que é todo Intel por dentro. Mas vamos lá, Intel, nós sabemos que vocês são capazes de fazer um driver que funcione pelo menos tão bem quanto o do Mac OS X.

Se alguém por acaso quiser discutir isso, ou argumentar que é o meu kernel que é ruim, aí vão os detalhes:

  • O driver ipw3945, que precisava do daemon regulatório ipw3495d, funcionava ainda pior. Kernels de ~2.6.16 até 2.6.20 ou 2.6.21, não me lembro ao certo.
  • O driver iwlwifi já funciona um pouco melhor, desde o começo, com kernel 2.6.21 ou algo assim, até agora, com o kernel 2.6.24.2, com o driver já junto do kernel (mas compilado como módulo, já que embutido realmente não funcionou).
  • Kernels testados: Vanilla (o do kernel.org) e Gentoo-sources, além dos oficiais do Ubuntu desde o 6.10 até o 7.10.

Atualização

Aparentemente, a julgar pelas reações, o meu caso de insucesso com a placa wi-fi Intel é particular. Mas a solução que funcionou pra mim foi colocar o roteador no meu próprio apartamento. Agora, a rede entra rapidinho todas as vezes.

Hmpf.