Vimos que tenho barramento ISA também no micro, se você quiser instalar
uma placa que esta nesse barramento (como um modem ISA PNP, por exemplo),
tem que usar o conjunto "pnpdump e isapnp", faca o seguinte:
# pnpdump | less
Este programa faz parte do famoso pacote
isatools, um conjunto de ferramentas para detectar e instalar hardware que tem barramento ISA (plug and play = pnp), a maioria das placas ISA são PNP, talvez tenha problemas de se configurar as mais antigas.
A linha acima faz o seguinte: verifica que hardware ISA que o micro tem e mostra na tela isto também inclui possíveis caminhos ou portas que o sistema pode usar para acessar o hardware, para cada sistema (microcomputador), o "| less" apenas joga a saída do "pnpdump para o programa less que é usado para ler as informações.
Sistemas
GNU/Linux tem um suporte muito bom para hardware que usa barramentos ISA, ate mais que PCI, mas isto começou a mudar a algum tempo, com o abandono da fabricação de placas-mãe novas com barramento ISA. Cada vez mais e mais hardware tem saído da fabrica com drivers prontos para funcionar com GNU/Linux, isso é muito bom.
Bem, para ter uma idéia de como configurar um modem usando essa ferramenta, vamos dar uma olhada na saída do
pnpdump:
# pnpdump | less
(o cabeçalho não foi incluído)
(CONFIGURE MOT1550/90440205 (LD 0
# Compatible device id MOT1550
# Multiple choice time, choose one only !
# Start dependent functions: priority acceptable
# Logical device decodes 16 bit IO address lines
# Minimum IO base address 0x03e8
# Maximum IO base address 0x03e8
# IO base alignment 8 bytes
# Number of IO addresses required: 8
# (IO 0 (SIZE 8) (BASE 0x03e8) (CHECK))
# IRQ 5, 7, 9, 10, 11, 12 or 15.
# High true, edge sensitive interrupt (by default)
# (INT 0 (IRQ 5 (MODE +E)))
Aqui vemos uma pequena parte da saída mas que explica muita coisa,
primeiro onde está escrito:
(CONFIGURE MOT1550/90440205
*** Mostra que a placa é um Motorola, varia de acordo com a placa encontrada
Para fazer a placa funcionar temos que criar um arquivo chamado
"
isapnp.conf" que ficara no diretório /etc. Para redirecionar a saída do "pnpdump" diretamente para o arquivo, fazemos:
# pnpdump > /etc/isapnp.conf
O sinal ">" (maior que) envia a saída que deveria ir para a tela, para o arquivo isapnp.conf. Agora abrimos esse arquivo de texto para editá-lo,
usaremos um editor de textos da nossa escolha.
# vi /etc/isapnp.conf
Com o arquivo aberto, deveremos descomentar (retirar o #) para ativar as
portas, onde há a seguinte linha:
# (IO 0 (SIZE 8) (BASE 0x03e8) (CHECK))
# IRQ 5, 7, 9, 10, 11, 12 or 15.
# High true, edge sensitive interrupt (by default)
# (INT 0 (IRQ 5 (MODE +E)))
Deveremos apenas apagar o sinal de "#", para que o sistema a faça
funcionar, deixando-a assim:
(IO 0 (SIZE 8) (BASE 0x03e8) (CHECK))
# IRQ 5, 7, 9, 10, 11, 12 or 15.
# High true, edge sensitive interrupt (by default)
(INT 0 (IRQ 5 (MODE +E)))
É claro também que isso pode não funcionar para todas as placas, a
configuração depende do microcomputador e que tipo de placas estão
instaladas nele e como estão distribuindo os recursos.
Antes de salvar e sair do arquivo, não esqueça também de descomentar a linha onde está escrito (# ACT Y), bem no final, senão o modem não funcionará.
Com o arquivo salvo precisamos fazer o "isapnp" usá-lo como arquivo de
configuração:
# isapnp /etc/isapnp.conf
Se tudo deu certo aparecera algo como:
Board 1 has Identity fc 05 64 02 0d 50 15 f4 35: MOT1550 Serial No 90440205 [checksum fc]
MOT1550/90440205[0]{Motorola ModemSURFR 56K Modem }: Port 0x3E8; IRQ5 --
- Enabled OK
Notem que o "isapnp" ativou a placa "Motorola ModemSURF 56k Modem", a
parte difícil de se configurar a placa era essa. Se alguma coisa deu
errada neste ponto é porque você provavelmente escolheu os endereços
errados, abra novamente o isapnp.conf, comente as linhas modificadas e descomente outras duas, preste atenção a IRQ, o modem do exemplo ficou setada para usar a IRQ 5, sei que no meu computador essa IRQ esta livre, mas isso muda de micro para micro.
Um truque se você vai instalar GNU/Linux no micro, e ele ainda usa MS Windows* é dar uma boa olhada no "painel de controle" no ítem "Sistema",
ver os dispositivos que você tem e anotar a IRQ que estão usando, para o
modem é bom anotar também qual porta serial ele esta usando. Isto é de
COM1 a COM4. Iremos usar esta informação a seguir.
Onde esta o modem? Bem agora precisaremos setar sua localização para
/dev/modem, acredite muitos problemas são resolvidos fazendo isso. Veja a tabela:
COM1 = ttyS0
COM2 = ttyS1
COM3 = ttyS2
COM4 = ttyS3
É importante notar aqui é que no GNU/Linux as "COM"(interfaces seriais) tem outro nome, como vemos na tabela ao lado. Então se no Windows* seu modem usa a COM3, (como normalmente acontece), então no GNU/LINUX ela se chamará ttyS2.
Este dispositivo estará no arquivo /dev/ttyS2 (/dev/ = devices), vamos setar o endereço dele para /dev/modem, criando um link, ou atalho como conhecido em ambientes MS Windows.
Primeiro apagaremos o /dev/modem existente:
# rm /dev/modem
Agora criaremos um atalho simbólico (mais informações faça "man ln") de
/dev/ttyS2 para /dev/modem:
# ln -s /dev/ttyS2 /dev/modem
A ferramenta "ln" cria links entre arquivos ou diretórios, é
extremamente útil para encurtar caminhos. Depois de criar um link, vamos
inicializar o modem.
Usaremos agora um outro programa chamado "setserial". Ele irá setar as
informações, digamos assim, do modem na nossa configuração, ate o próximo
reboot:
# setserial /dev/modem irq 5 autoconfig
Usamos ali "/dev/modem" porque já o linkamos com /dev/ttyS2, usamos
também "irq 5" porque foi essa IRQ que escolhemos lá em cima, no
isapnp.conf e o autoconfig buscará informações no kernel sobre o
dispositivo automaticamente, o tipo de UART e a porta de entrada e saída
correta (I/O = input output).
Para testar a configuração o programa Minicom ajuda bastante. Mas antes precisamos configurá-lo para usar o dispositivo serial " /dev/modem",
para isso fazemos:
# minicom -s
No menu que apareceu, selecione "Serial port setup", e pressione
"Enter", veja se a opção "Serial Device :" esta configurada para
"/dev/modem", se estiver mantenha como está, caso contrário precisará
modificá-la pressionando "A".
Para sair pressione "Esc", e no menu principal selecione "Save setup as dfl", (dfl = default, ou padrão), e saia com a opção "Exit".
Se tudo deu certo aparecera no programa Minicom algo parecido com a
seguinte linha:
AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0
OK
Isto significa que seu modem foi achado pelo sistema, para sair faça
"CTRL + A dai Z Q". Esses são os passos que eu dou para configurar o meu
modem ISA, a primeira vez demora um pouco ate descobrir que IRQ ou porta
usar, mas depois de ter conseguido essas informações, conseguirá
configurar seu modem com as mãos em menos de 30 segundos :).
Em outras distribuições você provavelmente encontrará alguns
utilitários que facilitam a tarefa de encontrar e configurar o modem,
mas como todos nos já sabemos, ele não te diz o que está fazendo e onde
esta mexendo.
Vejam, não sou contra esse tipo de utilitário, sou a favor de se automatizar tanto quanto possível, é pra isso que o micro serve, apenas sei também que é bom saber mexer diretamente nos arquivos de configuração, para impressionar os amigos, saber como funciona seu computador e para o caso de algo não funcionar como esperado...