Quase tudo foi detectado automaticamente. Vou organizar de acordo com a ordem como
as opções apareceram para mim e a respeito do que precisou de alguma mudança, mesmo
que banal.
Mouse:
Apesar do notebook possuir um Touchpad, utilizo um mouse USB com três botões e roda
(USB wheel mouse). Se você possui apenas dois botões, certifique-se de ativar a
opção para emular o terceiro botão (você poderá então simular o terceiro botão
pressionando os dois ao mesmo tempo). Caso você seja adepto do Touchpad, configure
seu mouse como PS/2.
Monitor LCD:
Você deve selecionar logo na instalação o modelo "LCD Panel 1024x768".
Placa de rede:
Durante a instalação, ela deve ser detectada automaticamente (ou seja, sem problemas
aqui). Porém, você deverá configurar o IP ou deixar de acordo com o DHCP
(automático pelo servidor), além de [a|desa]tivar o firewall.
ACPI:
Obviamente, quero monitorar o status da bateria na barra de ferramentas, já que
estou usando um notebook. Para tanto, você deverá incluir o seguinte parâmetro
na inicialização do kernel:
acpi=on
Isso pode ser feito durante a instalação, na configuração do GRUB. Caso você não
inclua o parâmetro, você não poderá verificar o nível de bateria ou saber se o
notebook está conectado na rede elétrica, por exemplo.
Placa de som:
A placa de som foi detectada automaticamente. O som é extremamente baixo quando
a placa é detectada no primeiro boot ("firstboot", se você tiver instalado este
pacote), mas se você encostar o ouvido no auto-falante você escuta. Não se preocupe,
quando o
Gnome (interface padrão do X no Fedora) carregar, clique com o
botão direito do ícone do som (no canto direito inferior da tela) e abra o
controle de som, configurando de acordo com suas preferências...
Modem:
Como é regra no
Linux, o suporte a softmodems é muito deficiente. É desconfortante
ler em grupos de discussão e em páginas na internet opiniões do tipo
"deixe de ser pão-duro e compre um modem decente". O fato é que isso pode ser
verdadeiro para um desktop, onde um hardmodem realmente melhora a conexão e livra
toda a CPU do peso do processamento, melhorando o desempenho do computador
(os gamers que o digam). Porém, quando você compra um notebook, mesmo se você
possuir o dinheiro para importar um lançamento da IBM ou da Sony (os novos
Centrino 2.0 Ghz, à época deste texto), você não terá escolha: irá pagar uma
fortuna e levará um softmodem. Portanto, opiniões como essas não ajudam muito o
desenvolvimento do Linux.
Instalando o driver:
Mas vamos à solução para o nosso notebook: Primeiramente faça o download do
seguinte arquivo:
A versão 2.7.10 funciona perfeitamente no meu caso, com conexões de 5,5 a 6 KB/s
todo o tempo utilizando o provedor AOL americano. Não sei se versões mais recentes
funcionam, mas há relatos de versões mais novas (2.7.14) que não conectam ou não
detectam o modem. Não aconselho nenhuma versão anterior à 2.7.10.
Descompacte este arquivo para qualquer pasta de sua escolha e então, dentro da
pasta criada com os arquivos do modem, edite o arquivo "amrmo_init.c", e procure
a linha 75, que está escrita assim:
#define PCI_DEVICE_ID_ICH3 0x2486
Altere esta linha para que fique da seguinte forma:
#define PCI_DEVICE_ID_ICH3 0x24C6
Se você percebeu, a numeração Hexadecimal (word) ficará a mesma da linha 76. Se
você não cumprir essa etapa, terá problemas ao carregar o driver. Este
"hack" foi referenciado em:
Dica opcional:
Se você quiser configurar o nome do modelo/fabricante do modem, edite as
strings presentes no arquivo "editme.c" (essas strings serão acessadas
através de programas como o kppp). Recomendo utilizar as mesmas listagens
que você obtém em "lspci -vv", mas você pode colocar também o nome do
modem como "Modem de José" :-), sem problema nenhum. Mas qualquer
futura referência ficará comprometida...
Editado o arquivo, você provavelmente precisará editar também o arquivo
"Makefile". Procure a variável:
KERNEL_INCLUDES=/caminho/fontes/linux/include
Aqui você deve colocar o caminho (path) para a pasta "include", que está
presente na pasta das fontes do kernel. No
Fedora Core 1, por exemplo,
você pode utilizar
"/usr/src/linux-2.4/include". Note que "linux-2.4"
é, na verdade, um atalho para "linux-2.4.22-1.2115.nptl" (pelo menos na
minha versão... talvez você precise confirmar).
Editado o arquivo "Makefile", utilize o comando "make" para compilar o
pacote e, a seguir, digite "make install-amr". O pacote também oferece
suporte a modems USB, mas não é o caso para este notebook.
Edite o arquivo "
/etc/modules.conf", adicionando a seguinte linha
para configurar o país onde você utilizará o modem. Se você não acrescentar
esta linha, você deverá carregar o módulo "slmdm" mais tarde com a opção
"country=SeuPais" antes de carregar o módulo "slamrmo", o que é mais
trabalhoso. Porém, se você costuma viajar muito, talvez precise configurar
toda vez que for discar (ou veja mais detalhes no item "Instalação personalizada")...
Acredito que a maioria dos usuários irão alterar o arquivo, acrescentando:
options slmdm country=PaísDeUso
Você pode ver a sigla para os países desse driver utilizando "slver -c",
um utilitário que pode ser encontrado na pasta que contém os arquivos do modem.
Pronto, o driver está instalado. Se você possui o utilitário
kmod ativado
(o caso do Fedora Core 1), basta iniciar seu programa de discagem (assumindo
que você alterou o país no arquivo
modules.conf), e dois módulos serão
carregados automaticamente, nesta ordem: slmdm, slamrmo. Caso você não possua o
kmod, deverá carregar os módulos antes de discar, digitando "modprobe slamrmo".
Note que o modprobe verifica a dependência do módulo automaticamente, de forma
que você não precisa carregar o slmdm primeiro.
Carregados os módulos, disque e conecte-se.
Resumo das etapas:
Abaixo você possui um resumo das etapas, caso você tenha se perdido no meio da explicação:
- Baixe o arquivo http://linmodems.technion.ac.il/.../slmdm-2.7.10.tar.gz, descompactando-o para uma pasta qualquer.
- Na pasta do arquivo, edite a linha 75 do arquivo "amrmo_init.c".
- (opcional) - Altere as strings do modem no arquivo "editme.c".
- Altere a variável KERNEL_INCLUDES no arquivo "Makefile".
- Compile ("make").
- Instale os módulos correspondentes ("make install-amr").
- (recomendado) - Acrescente a configuração do país no arquivo "/etc/modules.conf".
- Sempre que for discar, carregue o módulo "slamrmo", caso você não possua o kmod ativado.
Instalação personalizada:
Como dar suporte a usuários comuns e outras dicas para o modem:
A configuração acima é a mesma descrita no arquivo README, que vem no
pacote tar.gz (com exceção do "hack" da linha 75, sem a qual o driver não
funciona para esse notebook). Porém, como alguns usuários um pouco mais
avançados notarão de princípio, você poderá ter alguns impedimentos se
utilizar alguns programas de discagem, pois muitos sistemas variam no
que concerne à permissão de acesso dos arquivos (módulos, no nosso caso).
Para tanto, acrescentei essa parte no tutorial. Como é o meu caso, esta
configuração foi feita para usuários que viajam para outros países (e,
conseqüentemente, usam diferentes opções de "country" para o módulo
slmdm), mas ensinarei como utilizar um país único. Repito, você
poderá utilizar a configuração descrita no item anterior, alterando o
modules.conf e utilizando o
kmod. Assim você basta utilizar
o programa de discagem, como você faz no Windows e esquecer tudo isto.
Mas estes scripts permitem selecionar o país de uso de acordo com a
necessidade, além de permitir liberar memória através do descarregamento
dos módulos do modem, quando você achar que não precisará mais deles.
Repita os passos 1,2,3,4,5 e 6 do tópico anterior, para instalar o driver.
Você deverá criar agora até quatro arquivos, dependendo da sua configuração,
com os nomes de, respectivamente: "modemUSA", "modemOFF", "discar", "desconectar".
Os nomes são de sua escolha. No primeiro, digite:
#! /bin/bash
# arquivo "modemUSA"
sudo /sbin/modprobe slmdm country=USA ; sudo /sbin/modprobe slamrmo
Esse arquivo ("modemUSA") normalmente será mais necessário caso você
utilize mais de um semelhante a este. Um para cada país que você se conectar.
Você pode, por exemplo, ter outro arquivo "modemBRZ" com o devido parâmetro
quando estiver conectando no Brasil. Porém, você deverá ter pelo menos um arquivo,
caso não tenha alterado o arquivo
modules.conf.
#! /bin/bash
# arquivo "modemOFF"
sudo /sbin/rmmod slamrmo | sudo /sbin/rmmod slmdm
O segundo ("modemOFF"), é opcional e serve para descarregar os módulos
quando você julgar desnecessário seu uso.
#! /bin/bash
# arquivo "discar"
sudo /caminho/do/programa/de/discagem
("discar") Atalho para o programa de discagem. Totalmente desnecessário.
Serve realmente para evitar digitar um caminho muito grande.
#! /bin/bash
# arquivo "desconectar"
sudo /usr/bin/killall programadediscagem
("desconectar") Utilizado caso o programa funcione como daemon (utilitário
rodando em segundo plano).
Caso você queira dar permissão aos outros usuários para acessar a internet,
defina as permissões e a propriedade dos arquivos como necessário. Você
também precisará editar o arquivo
/etc/sudoers, acrescentando as
permissões para que os comandos dos scripts sejam executados sem problema.
Um exemplo do que precisa ser acrescentado ao sudoers para os scripts acima
é o seguinte:
poseidon ALL = NOPASSWD: /sbin/modprobe slmdm country=*, /sbin/modprobe slamrmo, /usr/local/sbin/penggy
poseidon ALL = NOPASSWD: /sbin/rmmod slamrmo, /sbin/rmmod slmdm, /usr/bin/killall penggy
Nota: Por algum motivo, não foi possível utilizar um script apenas. Me parece
que, ao carregar o módulo, você deve esperar algo como meio segundo antes de
discar, da mesma forma que preciso esperar algo como meio segundo após cortar
a ligação para poder descarregar os módulos, ou aparece um aviso dizendo que
ainda existem programas utilizando os módulos. Você pode alterar como quiser,
transformando todos os arquivos em um só, mas acrescentando opções através de
parâmetros etc. Ou seja, esse código pode, definitivamente, ser melhorado.
Mas procurei fazer da forma mais simples possível.
Agora, é só utilizar os comandos em seqüência:
# ./modemUSA
# ./discar
e, depois:
# ./desconectar
# ./modemOFF
Um exemplo utilizando o
kppp seria: "modemUSA", depois o kppp e
após o término da conexão, "modemOFF".
Veja, no meu caso, o que seria necessário para o usuário comum
poseidon
carregar os drivers (sem o kmod), discar utilizando um daemon chamado
penggy (para o provedor AOL nos EUA), desconectar e depois descarregar os módulos:
$ sudo /sbin/modprobe slmdm country=USA
$ sudo /sbin/modprobe slamrmo
$ sudo /usr/local/sbin/penggy
Conecta, mas para desconectar e descarregar os módulos:
$ sudo /usr/bin/killall penggy
$ sudo /sbin/rmmod slamrmo
$ sudo /sbin/rmmod slmdm
Ao invés de tudo isso, resumi a quatro simples comandos.