Revista Do Linux
EDIÇÃO DO MÊS
 CD do Mês
 Jogos
 Kernel

 Entrevista
 Capa
 Tutorial
 Debian
 Programação
 Portáteis
 Segurança

 

Linux no notebook? Funciona, sim senhor!
Já havia algum tempo que eu estava sentindo falta de um notebook, um companheiro de viagens e desenvolvimento. Há algumas semanas tomei coragem e comprei um. Não queria gastar muito dinheiro, portanto, admito que o preço foi o principal ingrediente na escolha do modelo

O notebook escolhido foi um Compaq Presario 1200, desses que são encontrados em lojas de departamentos. As características desse modelo são: processador AMD K6 450 Mhz, disco rígido de 4.8 GB, 32 MB RAM, chipset VIA MVP-4, incluindo controlador de vídeo AGP Trident Blade3D, chipset de som VIA 82cxxx PCI, cache de 512 KB L2, monitor LCD 800x600 HPA, unidade CD-ROM 24x, unidade de discos flexíveis 1.44 MB, modem Lucent V.90 56 Kbps por software, portas VGA, teclado, serial, paralela, mouse PS/2, USB, entrada de áudio, saída de áudio, slot para cartão PCMCIA tipo II ou III e alguns softwares Microsoft.

Comprei também um cartão PCMCIA Ethernet 10/100 Mbps, da marca Encore, modelo ESP832-TX-PC. No caso deste item opcional, o preço e a presença de um driver para Linux foram os fatores determinantes.

Instalando o Linux

Duas versões do Conectiva Linux foram testadas, ambas fornecidas pela Revista do Linux (Edição Especial 4.0 do número 1 e Edição Especial 5.0 do número 8). Acabei optando pela Edição Especial 4.0 porque o XFree86 3.3.5 acabou resultando numa melhor apresentação de cores que o XFree 3.3.6, embora ambas as versões tenham sido instaladas satisfatoriamente.

O disco rígido do Presario 1200 vem particionado de fábrica com 3,5 GB numa partição principal Windows e 1,3 GB numa partição Windows estendida, cujo propósito é funcionar como um tipo de backup da partição primária. Eu usei o Partition Magic da PowerQuest para encolher a partição estendida para cerca de 900 MB, encolher a partição primária para 2,5 GB e criar um espaço vazio de 1,4 GB para instalar o Linux.

O notebook reconheceu corretamente o CD inserido na unidade durante o boot, e a instalação correu sem nenhum problema. Durante uma consulta anterior ao Linux on Laptops, já sabia que Xconfigurator não iria configurar apropriadamente o ambiente gráfico, portanto, durante o setup apenas instalei o servidor SVGA do XFree86. Não configurei o ambiente de rede pois o cartão não foi reconhecido. Instalei o LILO no MBR.

Após a primeira carga, instalei os RPM do XF86Setup, editores e hdparm. O script abaixo aumentou o desempenho do disco rígido para algo em torno de 10 MB/s (a configuração original reportava 3 MB/s. Outros parâmetros não foram testados):



#! /bin/sh
# /etc/rc.d/init.d/dma32bit
# Aumenta o desempenho do disco rígido
hdparm -q -c3 -d1 -m16 -k1 /dev/hda


Usando ln -s /etc/rc.d/init.d/dma32bit /etc/rc.d/rc3.d/S02dma32bit, o aumento de desempenho configurou-se sempre que o Linux foi executado (crie um link simbólico em /etc/rd.c/rc5.d para obter o mesmo efeito em boot gráfico).

Com XF86Setup fui capaz de configurar corretamente o vídeo para 800x600 com cores de 16 bits (a memória de vídeo reservada foi de 2 MB). A versão da Edição Especial 5.0 resultou num vídeo um pouco claro demais, incômodo.

Instalando os drivers

Os dispositivos que compõem o Compaq Presario 1200 são relativamente recentes, conforme comprovado pelo grau de reconhecimento das versões do Conectiva Linux usadas na instalação.

O kernel 2.2.12 da Edição Especial 4.0 não possui o driver via82xxx que trabalha com o chipset MVP-4, ao passo que o kernel 2.2.14 da Edição Especial 5.0 reconheceu o chipset (sempre usando o utilitário sndconfig). Ambos usaram o modo de compatibilidade Sound Blaster Pro, que resultou numa qualidade de som fraca. Como não pretendo usar som de qualidade a curto prazo, dei-me por satisfeito por ter som.

Sem ter nenhum dispositivo USB para usar, optei por não configurar suporte USB para a máquina.

Existe um driver binário para o modem colocado à disposição pela Lucent e que pode ser obtido em www.linmodems.org/linux586.zip.

O driver foi compilado para o kernel 2.2.12, mas também funcionou com o kernel 2.2.14. Após expandir o arquivo, bastou executar o script de instalação para o modem passar a funcionar em /dev/modem.

Suporte para PCMCIA

O suporte PCMCIA dos kernels das duas versões funciona perfeitamente. Vou limitar meu relato à versão 3.0.12, distribuída com a Edição Especial 4.0. Foi muito difícil conseguir fazer o cartão Encore ESP832-TX-PC funcionar com qualquer distribuição Linux, pois ele não é diretamente reconhecido, e está meio fora de padrão. Após recompilar e instalar o pacote, o cartão não era reconhecido (apenas um bip grave). Mesmo após editar /etc/pcmcia/config para inserir as informações dele, a inicialização sempre informava que o endereço de rede não tinha sido encontrado. Forçar o reconhecimento do cartão fornecendo o endereço de rede resultava em reentrância de interrupções, e em 99,9% de dados perdidos. O disquete de drivers do cartão possuía apenas dois arquivos fonte em C, pcnet_cs.c e 8390.c, específicos — mais ou menos — para o pcmcia-3.0.9. Levou uma semana para descobrir como fazer o cartão funcionar, mas agora está perfeito. Abaixo segue a descrição do que foi feito.

O módulo pcnet_cs é responsável pela instalação e remoção do módulo, enquanto que 8390 é responsável pela manipulação de entrada/saída em mais baixo nível. Em pcnet_cs.c existe uma estrutura chamada hw_info_t, com informações dos cartões aceitos numa matriz chamada hw_info[].

Inseri uma nova linha nesta matriz, com a seguinte grafia:



{ /* Encore ESP832-TX-PC */ 0x01c8, 0x00, 0x00, 0x21 }

Indicando que o cartão da Encore possui deslocamento de leitura em 0x01c8, e os três primeiros bytes do endereço de rede do cartão são 0, 0 e 21 (em hexadecimal). Isto é fixo para todos os cartões.

Substituí o conteúdo da função get_prom pela versão do arquivo do disquete fornecido com o cartão, recompilei e executei /etc/rc.d/init.d/pcmcia restart. O cartão passou a ser reconhecido, mas os problemas de interrupções reentrantes continuavam.

Resolvi arriscar e substituí o arquivo 8390.c pela versão do disquete fornecido com o cartão. Afinal, pareciam ser bastante semelhantes. Ao recompilar, alguns erros apareceram. Corrigidos os erros, tudo passou a funcionar perfeitamente.

Recompilando o kernel

Ignorei as recomendações e não recompilei o kernel, ainda.

Sumário

O notebook Compaq Presario é uma máquina de baixo custo, de desempenho razoável, apenas um pouco pesada. O Linux foi instalado sem problemas nele.

A não ser que você goste mesmo de sofrer, evite comprar o cartão Encore 16-bit 100/10M Fast Ethernet PCMCIA Adapter (modelo ESP832-TX-PC). Embora seja barato (por volta de US$ 80), sua instalação irá exigir conhecimentos de programação e do funcionamento do kernel que poderão estar além do seu alcance. Imprima e leve junto com você o arquivo /usr/src/linux/pcmcia-cs-3.X.XX/SUPPORTED.CARDS.

Existe uma ótima fonte na Internet para pesquisar Linux em laptops. Por coincidência, ela se chama Linux on Laptops, e sua URL é www.cs.utexas.edu/users/kharker/ linux-laptop. Se você quer ver o pingüim voando baixo numa dessas pequenas geringonças, não deixe de consultá-la.

 

A Revista do Linux é editada pela Conectiva S/A
Todos os Direitos Reservados.

Política de Privacidade
Anuncie na Revista do Linux