:. Indique este site a um amigo...
 3325057 visitas desde 28/02/1999  |  Responsável: Carlos E. Morimoto
 :. Novo na área?! Leia nosso tutorial: Hardware para Iniciantes

Seções
Cursos OnLine :. Linux Intermediário
Relacionados

+ HOME
   :. Análises
   :. Artigos
   :. Cursos Online
       :. Hardware
       :. Redes
       :. Linux (foca)
       :. Gravação CDs
       :. Notebooks
       :. Setup
   :. Livros
      
:. Entendendo e
    Dominando o Linux 4.Ed
   :. Arquivo DDD
   :. Dicionário
   :. FAQ
   :. Notícias
   :. Dicas Linux
   :. Overclock
   :. Tutoriais

+ Publicações
   :. CD GDH
   :. CDs Mandrake
   :. CDs do Linux
   :. E-Books

+ Kurumin Linux

+ Outros
   :. Fórum
   :. Humor
   :. Palm
   :. Quiz

+ Pesquisar no site:

+ Expediente

+ Comente esta
   Matéria

Dúvidas sobre
Linux?
Baixe o E-book
Entendendo e Dominando o Linux
de Carlos E. Morimoto
ou increva-se no
Curso de Linux
em SP


Invista em
conhecimento:
:.CD-ROM Guia do Hardware: Todos os e-books e uma cópia off-line de todo o site por R$ 21,00
:.Linux Mandrake 9.0 GDH, com manual em Português e aplicativos. 4 CDs por R$ 24,00
:. E-Books de Carlos E. Morimoto:
Manual de Hardware Completo 3ed.
Redes 3ed
Upgrade e Manutenção
Novas tecnologias 3Ed
Entendendo e Dominando o Linux
Dicionário Técnico de Informática. R$ 8,00

:. CDs do Linux:
Slackware 8.1 R$ 8,00
Red Hat 8.0 R$ 16,00
DemoLinux 3.0 R$ 8,00
Knoppix R$ 8,00
Peanut 9.1 R$ 8,00
FreeBSD R$ 20,00
NetBSD R$ 16,00
Libranet R$ 8,00
Debian 3.0 R$ 35,00
Definity R$ 8,00
E outras distribuições

 

Dicas do dia : Receba as atualizações do Guia do Hardware todos os dias, direto no seu e-mail. Clique aqui para se inscrever.
 

Data: 22.03.2001  :. Em Reformulação!
Tipo: Curso
Assunto: Linux: Guia Foca GNU/Linux Nível Intermediário
Por: Gleydson Mazioli da Silva

 

   Capítulo 3: Hardware

Hardware é tudo que diz respeito a parte física do computador. Nesta seção serão abordados assuntos relacionados com a configuração de hardwares, escolha de bons hardwares, dispositivos for Windows, etc.

3.1 Placa de expansão

É um circuito eletrônico encaixado na placa mãe que tem por objetivo adicionar novas funcionalidades ao computador. Esta placa pode ser uma:

  • placa de som - para fazer o computador emitir sons, músicas, ligar um joystick, etc.
  • fax-modem - para enviar/receber fax, conectar-se a internet, BBS, acesso remoto, bina, etc.
  • rede - para permitir a comunicação com outros computadores em uma rede interna
  • controladora de periféricos - Para ligar discos rígidos, unidades de disquete, impressora, mouse, joystick, etc.
  • SCSI - Para ligar unidades de disco rígidos e periféricos de alto desempenho.
  • Controladora de Scanner - Para ligar um Scanner externo ao micro computador.

O encaixe da placa mãe que recebe as placas de expansão são chamados de Slots.

3.2 Nomes de dispositivos

Seria terrível se ao configurar CADA programa que utilize o mouse ou o modem precisássemos nos se referir a ele pela IRQ, I/O, etc... para evitar isso são usados os nomes de dispositivos.

Os nomes de dispositivos no sistema GNU/Linux são acessados através do diretório /dev. Após configurar corretamente o modem, com sua porta I/O 0x2F8 e IRQ 3, ele é identificado automaticamente por /dev/ttyS1 (equivalente a COM2 no DOS). Daqui para frente basta se referir a /dev/ttyS1 para fazer alguma coisa com o modem.

Você também pode fazer um link de /dev/ttyS1 para um arquivo chamado /dev/modem usando: ln -s /dev/ttyS1 /dev/modem, faça a configuração dos seus programas usando /dev/modem ao invés de /dev/ttyS1 e se precisar reconfigurar o seu modem e a porta serial mudar para /dev/ttyS3, será necessário somente apagar o link /dev/modem antigo e criar um novo apontando para a porta serial /dev/ttyS0.

Não será necessário reconfigurar os programas que usam o modem pois eles estão usando /dev/modem que está apontando para a localização correta. Isto é muito útil para um bom gerenciamento do sistema.

Abaixo uma tabela com o nome do dispositivo no GNU/Linux, portas I/O, IRQ, DMA e nome do dispositivo no DOS (os nomes de dispositivos estão localizados no diretório /dev):


     Dispos.   Dispos.
      Linux     DOS       IRQ     DMA     I/O
     
     ttyS0      COM1       4       -      0x3F8
     ttyS1      COM2       3       -      0x2F8
     ttyS2      COM3       4       -      0x3E8
     ttyS3      COM4       3       -      0x2E8
     lp0        LPT1       7      3(ECP)  0x378
     lp1        LPT2       5      3(ECP)  0x278
     /dev/hda1  C:        14       -      0x1F0,0x3F6
     /dev/hda2  D: *      14       -      0x1F0,0x3F6
     /dev/hdb1  D: *      15       -      0x170,0x376

* A designação de letras de unidade do DOS não é padrão como no GNU/Linux e depende da existência de outras unidades físicas/lógicas no computador.

3.3 Configuração de Hardware

A configuração consiste em ajustar as opções de funcionamento dos dispositivos (periféricos) para comunicação com a placa mãe. Um sistema bem configurado consiste em cada dispositivo funcionando com suas portas I/O, IRQ, DMA bem definidas, não existindo conflitos com outros dispositivos. Isto também permitirá a adição de novos dispositivos ao sistema sem problemas.

É importante conhecer bem a configuração dos dispositivos do sistema para saber identificar e corrigir possíveis problemas de conflitos e o que deve ser modificado, caso seja necessário.

Os parâmetros usados para configurar dispositivos de hardware são a IRQ, DMA e I/O. Nem todo dispositivo usam estes três parâmetros, alguns apenas a I/O e IRQ, outros apenas a I/O, etc.

3.3.1 IRQ - Requisição de Interrupção

Existem dois tipos básicos de interrupções: as usadas por dispositivos (para a comunicação com a placa mãe) e programas (para obter a atenção do processador). As interrupções de software são mais usadas por programas, incluindo o sistema operacional e interrupções de hardware mais usado por periféricos. Daqui para frente será explicado somente detalhes sobre interrupções de hardware.

Os antigos computadores 8086/8088 (XT) usavam somente 8 interrupções de hardware operando a 8 bits. Com o surgimento do AT foram incluídas 8 novas interrupções, operando a 16 bits. Os computadores 286 e superiores tem 16 interrupções de hardware numeradas de 0 a 15. Estas interrupções oferecem ao dispositivo associado a capacidade de interromper o que o processador estiver fazendo, pedindo atenção imediata.

As interrupções do sistema podem ser visualizadas no kernel com o comando cat /proc/interrupts. Abaixo um resumo do uso mais comum das 16 interrupções de hardware:


     0     Timer do Sistema  - Fixa
     
     01    Teclado - Fixa
     
     02    Controlador de Interrupção Programável - Fixa. 
           Esta interrupção é usada como ponte para a IRQ 9 e vem dos 
           antigos processadores 8086/8088 que somente tinham 8 IRQs. 
           Assim, pera tornar processadores 8088 e 80286 comunicáveis, 
           a IRQ 2 é usada como um redirecionador quando se utiliza uma
           interrupção acima da 8. 
     
     03    Normalmente usado por /dev/ttyS1 mas seu uso depende dos 
           dispositivos instalados em seu sistema (como fax-modem,  
           placas de rede 8 bits, etc). 
     
     04    Normalmente usado por /dev/ttyS0 e quase sempre usada pelo mouse 
           serial a não ser que um mouse PS2 esteja instalado no sistema. 
     
     05    Normalmente a segunda porta paralela. Muitos micros não tem a segunda 
           porta paralela, assim é comum encontrar placas de som e outros 
           dispositivos usando esta IRQ. 
     
     06    Controlador de Disquete - Esta interrupção pode ser compartilhada 
           com placas aceleradoras de disquete usadas em tapes (unidades de fita). 
     
     07    Primeira porta de impressora. Pessoas tiveram sucesso compartilhando 
           esta porta de impressora com a segunda porta de impressora. 
           Muitas impressoras não usam IRQs. 
     
     08    Relógio em tempo real do CMOS - Não pode ser usado por nenhum 
           outro dispositivo.
     
     09    Esta é uma ponte para IRQ2 e deve ser a última IRQ a ser 
           utilizada. No entanto pode ser usada por dispositivos. 
     
     10   Interrupção livre para dispositivos
     
     11   Interrupção livre para dispositivos
     
     12   Interrupção normalmente livre para dispositivos. O mouse PS/2, 
          quando presente, utiliza esta interrução. 
     
     13   Processador de dados numéricos - Não pode ser usada ou compartilhada 
     
     14  Esta interrupção é usada pela primeira controladora de discos 
         rígidos e não pode ser compartilhada. 
     
     15  Esta é a interrução usada pela segunda controladora de discos 
         e não pode ser compartilhada. Pode ser usada caso a segunda 
         controladora esteja desativada.

Dispositivos ISA, VESA, EISA, SCSI não permitem o compartilhamento de uma mesma IRQ, talvez isto ainda seja possível caso não haja outras opções disponíveis e/ou os dois dispositivos não acessem a IRQ ao mesmo tempo, mas isto é uma solução precária.

Conflitos de IRQ ocorrem quando dois dispositivos disputam uma mesma IRQ, e normalmente ocasionam a parada ou mal funcionamento de um dispositivo e/ou de todo o sistema. Para resolver um conflito de IRQs, deve-se conhecer quais IRQs estão sendo usadas por quais dispositivos (usando cat /proc/interrupts) e configurar as interrupções de forma que uma não entre em conflito com outra. Isto normalmente é feito através dos jumpers de placas ou através de software (no caso de dispositivos jumperless ou plug-and-play).

Dispositivos PCI são projetados para permitir o compartilhamento de uma mesma IRQ pois as manipulam de forma diferente. Se for necessário usar uma interrupção normal, o chipset (ou BIOS) mapeará a interrupção para uma interrupção normal do sistema (normalmente usando alguma interrupção entre a IRQ 9 e IRQ 12).

3.3.1.1 Prioridade das Interrupções

Cada IRQ no sistema tem um número que identifica a prioridade que será atendida pelo processador. Nos antigos sistemas XT as prioridades eram identificadas em sequência de acordo com as interrupções existentes:


     IRQ 0 1 2 3 4 5 6 7 8 
     PRI 1 2 3 4 5 6 7 8 9

Com o surgimento do barramento AT (16 bits), as interrupções passaram a ser identificadas da seguinte forma:


     IRQ 0  1  2  (9  10  11  12  13  14  15)  3  4  5  6  7  8 
     PRI 1  2  3   4   5   6   7   8   9  10  11 12 13 14 15 16

Note que a prioridade segue em sequência através da ponte da IRQ 2 para IRQ 9. Os dispositivos com prioridade mais baixa são atendidos primeiro, mas é uma diferença de desempenho praticamente imperceptível de ser notada nos sistemas atuais.

3.3.2 DMA - Acesso Direto a Memória

A DMA é usada para permitir a transferência de dados entre dispositivos I/O e a memória sem precisar do processador faze-lo. Ele livra esta carga do processador e resulta em uma rápida transferência de dados.

O PC padrão tem dois controladores de DMA. O primeiro controla os canais 0, 1, 2, 3 e o segundo os canais 4, 5, 6, 7, assim temos 8 canais. No entanto, o canal 4 é perdido porque é usado pelo controlador de acesso direto a memória. Os canais 0-3 são chamados de canais baixos porque podem somente mover um byte (8 bits) por transferência enquanto canais altos movem 2 bytes (16 bits) por transferência.

Os dados movidos usando a DMA não são movidos através do controlador de DMA. Isto oferece uma limitação porque a DMA somente podem mover dados entre os dispositivos (portas I/O) e a memória. Não é possível mover dados entre as portas ou entre a memória.

Existem dois controladores de DMA nos computadores AT e superiores. Ao contrário do que acontece com os dois controladores de IRQ, o primeiro controlador é ligado ao segundo e não o segundo ao primeiro. Os canais de DMA altos (5 ao 7) somente podem ser acessados por dispositivos de 16 bits (aqueles que utilizam a segunda parte do slot AT). Como resultado temos 8 canais de DMA, de 0 a 7, sendo que a DMA 4 é usada como ligação entre eles.

Os canais de DMA em uso no sistema podem ser visualizados com cat /proc/dma. Abaixo uma listagem de uso mais comum dos canais de DMA.


     DMA    Barram.    Uso
     0        -        Usada pelo circuito de refresh da memória DRAM
     1     8/16 bits   Normalmente usado por placas de som (canal 8 bits), 
                       porta paralela ECP, adaptadoras SCSI, placas de rede ou 
                       controladora de scanner. 
     2     8/16 bits   Normalmente usado pela controladora de disquetes ou 
                       controladoras de tapes. 
     3     8/6 bits    Usado pela porta paralela ECP, placa de som, 
                       controladoras de tapes, controladoras SCSI ou 
                       controladora de scanner antiga. 
     4        -        Usada como ponte para a outra controladora de DMA (0-3)
     5     16 bits     Normalmente usada pela placa de som (canal 16 bits), 
                       placas controladoras SCSI, placas de rede ou 
                       controladora de scanner. 
     6     16 bits     Placa de som (canal 16 bits), controladora de scanner  
                       ou placa de rede. 
     7     16 bits     Placa de som (canal 16 bits), controladora de scanner 
                       ou placa de rede.

Somente dispositivos ISA e derivados dele, como o EISA e VESA, usam os canais de DMA padrão. Os atuais dispositivos de alta taxa de transferência (normalmente PCI) possuem seu próprio controlador de DMA embutido, muito mais rápido do que a DMA padrão. Este controlador de DMA é chamado de Bus Mastering e muito usado nos discos rígidos atuais e pode atingir taxas de 33,3Mb/s (no modo 2) e 66Mb/s (no modo 4 - requer um cabo IDE com aterramento para evitar interferências de ruidos externos).

3.3.2.1 Conflitos de DMA

Um canal de DMA não pode ser compatilhado entre dispositivos. Ainda é possível configurar dois dispositivos para usarem um mesmo canal de DMA, desde que ele não seja usado ao mesmo tempo. Isto acontece com Scanners paralelos que compartilham a mesma porta paralela com a impressora. Se você for uma pessoa que explora os recursos de multitarefa de seu Linux e seu desempenho, evite estes tipos de dispositivos, prefira aqueles que utilizam seus próprios recursos.

Quando ocorre um conflito de DMA, os dados podem ser misturados e podem ocorrer desde coisas estranhas como o travamento total do sistema. Este tipo de conflito é difícil de se diagnosticar, a não ser que o técnico seja experiente o bastante e tenha desconfiado do que o problema se trata...

3.3.3 I/O - Porta de Entrada/Saída

Cada dispositivo possui um endereço de porta. O endereço é uma localização da memória usada pelo computador para enviar dados ao dispositivo e onde o dispositivo envia dados ao computador. Ao contrários da IRQ e DMA, o dispositivo pode usar mais de uma porta de Entrada/Saída ou uma faixa de endereços. Por exemplo, uma placa de som padrão usa as portas 0x220, 0x330 e 0x388, respectivamente audio digital, midi e opl3.

As placas de rede normalmente transferem grandes quantidades de dados, assim ocupam uma faixa de endereços. Minha NE2000, por exemplo, ocupa a faixa de endereços 0x260 a 0x27F (0x260-0x27F). O tamanho da faixa de endereços varia de acordo com o tipo de dispositivo.

Os endereços de I/O em uso no sistema podem ser visualizados com o comando cat /proc/ioports.

Endereços das portas de entrada/saída não podem ser compartilhados

3.4 Hardwares configuráveis por jumpers, dip-switches, jumperless e Plug-and-Play.

3.4.1 Jumpers

Hardwares configuráveis por jumpers (pinos metálicos protegidos por uma capa plástica) tem sua configuração alterada através da colocação, retirada ou mudança de posição. Hardwares configuráveis por jumpers são os preferidos por técnicos de informática muito experientes.

Estes hardwares possuem a característica de somente terem seus parâmetros modificados através da mudança da posição dos jumpers da placa, desta forma se obtém uma configuração fixa (não podendo ser modificada por qualquer tipo de programa) e o dispositivo estará sempre pronto para ser ativado após a inicialização de qualquer sistema operacional.

O único inconveniente é a necessidade de se retirar a placa do computador para se ter acesso aos jumpers de configuração, a não ser que estejam manualmente acessíveis. Alguns hardwares configuráveis através de jumpers podem também funcionar como Plug-and-Play, através de um ajuste da posição dos jumpers para Plug-and-Play.

Normalmente as placas controladoras SIDE, rede, bons modelos de fax-modens, placas de som, SCSI, etc., são configuradas por jumpers e possuem um mapa de configuração gravado em seu circuito impresso que explica as posições de como os jumpers devem ser posicionados para operar na configuração desejada. Normalmente é possível escolher uma entre vários tipos de configuração, mas é recomendado optar por valores padrões (para detalhes veja a IRQ - Requisição de Interrupção, Seção 3.3.1, DMA - Acesso Direto a Memória, Seção 3.3.2 e I/O - Porta de Entrada/Saída, Seção 3.3.3).

As disposição dos jumpers são normalmente definidas em fechado/aberto e multi-posição. Na disposição fechado/aberto, o jumper pode ou não ser colocado, definindo a configuração do dispositivo:


     ::|::

Esta disposição é facilmente encontrada na seleção de IRQ e I/O em placas de fax-modem.

Na disposição multiposição, os pinos de encaixe são numerados de 1 a 3 (ou 1 a 4, 1 a 5, etc) e os pinos podem ou não ser colocados na placa e a posição que são colocados também influencia os valores escolhidos para o funcionamento do dispositivo (a posição 1-2 especificam um valor enquanto 2-3 especificam outro). A associação entre a posição dos jumpers e a configuração desejada é feita consultando o mapa desenhado no circuito impresso da placa ou o manual de instruções da placa.

A configuração de jumper através de multiposição é normalmente usada em placas mãe para definir a frequência de operação do barramento, a frequência de multiplicação ou o tipo do processador.

Se não possuir o mapa de configuração de sua placa e/ou o manual de instruções, será necessário fazer um mapeamento manual da placa, mas para isto você precisará conhecer detalhadamente a configuração de portas I/O, DMA, IRQ usadas na máquina que será usada e anotar as diferenças obtidas através da modificação da pinagem do dispositivo. Isto não é fácil, mas técnicos de informática experientes conhecerão as armadilhas encontradas pelo mapeamento manual de placas e farão o esquema de configuração completo do dispositivo, obtendo um excelente manual de instruções. Nesta hora a experiência conta mais que o uso de programas de diagnóstico.

Outra característica de hardwares configurados através de jumpers é que raramente apresentam problemas de funcionamento, a não ser que seus parâmetros como IRQ, DMA, ou I/O estejam em conflitos com outro dispositivo, mas isso não é culpa do fabricante e nem mesmo do dispositivo...

3.4.2 Dip-Switches

É a mesma coisa que os hardwares configuráveis por jumpers exceto que são usados dip-switches no lugar de jumpers. O dip-switches é um conjunto de chaves numeradas que podem ser colocadas para cima ou para baixo (como um disjuntor ou vários interruptores LIGA/DESLIGA colocados um ao lado do outro) para se modificar a configuração do dispositivo.

Normalmente as chaves estão acessíveis na parte metálica da placa (onde os hardwares são conectados) para permitir a fácil mudança de configuração sem retirar a placa. É ainda comum encontrar isto em algumas placas de fax-modem.

3.4.3 Jumperless (sem jumper)

Os hardwares jumperless não possuem jumpers e são configurados através de um programa que acompanha a própria placa. Neste programa é escolhida a IRQ, DMA, I/O e a configuração é salva na própria placa ou restaurada após cada inicialização por um programa carregado na memória. Devido a configuração via software, se obtém uma configuração fixa com muito mais facilidade do que via jumpers (por não haver a necessidade de se retirar a placa).

A maioria das placas jumperless podem funcionar também como Plug-and-Play. Existem muitas placas de rede, fax-modem, scanner jumperless no mercado.

3.4.4 Plug-and-Play

O Plug-and-Play é um protocolo que lê os valores de operação disponíveis para a placa e permitem que o usuário possa especificar facilmente qual será sua IRQ, DMA, I/O.

A diferença em relação ao modo jumperless é que o mesmo programa de configuração Plug-and-Play permite configurar todas as placas Plug-and-Play e a placa somente recebe os valores de IRQ, DMA e I/O após ser ativada por este programa, normalmente o isapnp no Linux. Isto significa que a placa não tem nenhum parâmetro de IRQ, DMA e I/O na partida do sistema.

Desta forma, somente sistemas operacionais que possuem suporte ao Plug-and-Play (como o GNU/Linux, Windows) ou programas acionadores PnP (como o ICU para o DOS) podem ativar e usar estes tipos de placas.

Placas Plug-and-Play permitem muita flexibilidade de configuração de dispositivos. O programa usado para a configuração de placas Plug-and-Play no GNU/Linux é o isapnp e a configuração de todas as placas Plug-and-Play são definidas no arquivo /etc/isapnp.conf.

Veja a próxima seção para entender como funciona o arquivo de configuração isapnp.conf e assim poder ativar seu dispositivo Plug-and-Play.

3.4.4.1 Entendendo o arquivo de configuração isapnp.conf

Segue abaixo um exemplo de arquivo /etc/isapnp.conf gerado através do pnpdump para a configuração de uma placa de Som Sound Blaster com porta IDE embutida no GNU/Linux.

O objetivo é configurar a placa Sound Blaster para operar na configuração:

  • IO=0x220
  • IRQ=5
  • DMA=1
  • DMA16=5
  • MIDI=0x330
  • OPL=0x388
  • IDE operando como placa controladora quartenária na porta 0x168/0x36e - Nós queremos ligar um HD na placa de som, SIM o GNU/Linux permite isso, e ele será configurado como /dev/hdg1
  • JOYSTICK na porta 0x220 - É bom para jogos e controle do xmms

Observe que as linhas iniciando com # são apenas comentários e não serão interpretadas pelo isapnp:


     # $Id: pnpdump.c,v 1.21 1999/12/09 22:28:33 fox Exp $
     # Release isapnptools-1.21 (library isapnptools-1.21)
     # 
     # Para detalhes do formato do arquivo de saída, veja a página de 
     # manual do isapnp.conf
     # 
     
     # A seção abaixo faz o isolamento da placa através da BIOS (normalmente não 
     # precisa ser alterado). Com a configuração abaixo, os dados sobre 
     # dispositivos serão obtidos diretamente da BIOS. 
     # Em placas mãe que não suportam Plug-and-Play, é necessário apenas o 
     # parâmetro (ISOLATE) para que o isapnp possa assumir totalmente o controle 
     # para identificação dos dispositivos Plug-and-Play
     (READPORT 0x0273)
     (ISOLATE PRESERVE)
     (IDENTIFY *)
     (VERBOSITY 2)
     (CONFLICT (IO FATAL)(IRQ FATAL)(DMA FATAL)(MEM FATAL)) # ou WARNING
     
     # Card 1: (serial identifier fc 10 01 fb 5d 28 00 8c 0e)
     # Vendor Id CTL0028, Serial Number 268565341, checksum 0xFC.
     # Version 1.0, Vendor version 1.0
     # ANSI string -->Creative SB16 PnP<--
     #
     # Descomente os valores desejados abaixo, selecionando a configuração requerida. 
     # Note que o valor padrão equivale ao primeiro parâmetro disponível (Minimum)
     # "(CONFIGURE" inicia um bloco de configuração e finaliza com "(ACT Y)"
     # Para ativar as configurações selecionadas, basta descomentar a linha 
     # "#(ACT Y)" no final do bloco de configuração. 
     
     (CONFIGURE CTL0028/268565341 (LD 0
     #     ANSI string -->Audio<--
     # Pela string acima, esta é a configuração de Audio da Sound Blaster
     # Hora de múltiplas escolhas, escolha apenas uma!
     
     #     Inicia funções dependentes, classificada por prioridade aceitável 
     #
     #       IRQ 5, 7 ou 10.
     (INT 0 (IRQ 5 (MODE +E)))
     # Foi especificada a IRQ 5 na configuração acima
     
     #       Primeiro canal DMA 0, 1 ou 3.
     #             Somente DMA de 8 bits 
     #             Dispositivo lógico não é um bus master
     #             DMA may execute in count by byte mode
     #             DMA may not execute in count by word mode
     #             DMA channel speed in compatible mode
     (DMA 0 (CHANNEL 1))
     # O valor da DMA 8 bits padrão é 0 (o mais baixo), mas este não é o valor 
     # que desejamos. Ajustamos o valor para 1. 
     
     #       Next DMA channel 5, 6 or 7.
     #             16 bit DMA only
     #             Logical device is a bus master
     #             DMA may not execute in count by byte mode
     #             DMA may execute in count by word mode
     #             DMA channel speed in compatible mode
     (DMA 1 (CHANNEL 5))
     # O canal DMA 16 bits desejado para a Sound Blaster é o 5. Apenas 
     # descomentamos a linha acima. 
     
     #       Logical device decodes 16 bit IO address lines
     #             Minimum IO base address 0x0220
     #             Maximum IO base address 0x0280
     #             IO base alignment 32 bytes
     #             Number of IO addresses required: 16
     (IO 0 (SIZE 16) (BASE 0x0220))
     # Apenas descomentamos a linha.
     
     #       Logical device decodes 16 bit IO address lines
     #             Minimum IO base address 0x0300
     #             Maximum IO base address 0x0330
     #             IO base alignment 48 bytes
     #             Number of IO addresses required: 2
     (IO 1 (SIZE 2) (BASE 0x0330))
     # O valor padrão é 0x0300 para a porta MIDI, mas nós desejamos usar o 
     # valor 0x0330. Descomentamos a linha e alteramos o valor da I/O. 
     
     #       Logical device decodes 16 bit IO address lines
     #             Minimum IO base address 0x0388
     #             Maximum IO base address 0x0388
     #             IO base alignment 1 bytes
     #             Number of IO addresses required: 4
     (IO 2 (SIZE 4) (BASE 0x0388))
     # Apenas descomentamos a linha. 0x0388 é um valor padrão para OPL
     
     #     Fim de funções dependentes
      (NAME "CTL0028/268565341[0]{Audio               }")
     (ACT Y) #Descomentamos para ativar este bloco de configuração acima
     ))
     
     
     ########################################
     # Logical device id CTL2011
     #
     # Descomente os valores desejados abaixo, selecionando a configuração requerida. 
     # Note que o valor padrão equivale ao primeiro parâmetro disponível (Minimum)
     # "(CONFIGURE" inicia um bloco de configuração e finaliza com "(ACT Y)"
     # Para ativar as configurações selecionadas, basta descomentar a linha 
     # "#(ACT Y)" no final do bloco de configuração. 
     
     (CONFIGURE CTL0028/268565341 (LD 1
     #     Compatible device id PNP0600
     #     ANSI string -->IDE<--
     # Pela string acima sabemos que esta é a configuração da IDE embutida na SB
     
     # Hora de múltiplas escolhas, escolha apenas uma!
     
     #     Inicia funções dependentes: Prioridade Preferida
     #       IRQ 10.
     (INT 0 (IRQ 10 (MODE +E)))
     # Descomentamos e aceitamos o valor acima, pois não entra em conflito com 
     # nenhum outro dispositivo do sistema. 
     
     #       Logical device decodes 16 bit IO address lines
     #             Minimum IO base address 0x0168
     #             Maximum IO base address 0x0168
     (IO 0 (SIZE 8) (BASE 0x0168))
     # Descomentamos e aceitamos o valor acima, pois não entra em conflito com 
     # nenhum outro dispositivo do sistema. 
     
     #       Logical device decodes 16 bit IO address lines
     #             Minimum IO base address 0x036e
     #             Maximum IO base address 0x036e
     #             IO base alignment 1 bytes
     #             Number of IO addresses required: 2
     (IO 1 (SIZE 2) (BASE 0x036e))
     # Descomentamos e aceitamos o valor acima, pois não entra em conflito com 
     # nenhum outro dispositivo do sistema.
     
     #     End dependent functions
      (NAME "CTL0028/268565341[1]{IDE                 }")
      (ACT Y) # Descomentando esta linha, a placa IDE da Sound Blaster passará a 
              # funcionar como IDE quartenária (de acordo com os recursos passados)
     ))
     
     
     #######################################
     # Logical device id CTL7001
     #
     # Descomente os valores desejados abaixo, selecionando a configuração requerida. 
     # Note que o valor padrão equivale ao primeiro parâmetro disponível (Minimum)
     # "(CONFIGURE" inicia um bloco de configuração e finaliza com "(ACT Y)"
     # Para ativar as configurações selecionadas, basta descomentar a linha 
     # "#(ACT Y)" no final do bloco de configuração. 
     
     (CONFIGURE CTL0028/268565341 (LD 3
     #     Compatible device id PNPb02f
     #     ANSI string -->Game<--
     # Pela string acima sabemos que é a Entrada para Joystick
     
     #     Logical device decodes 16 bit IO address lines
     #         Minimum IO base address 0x0200
     #         Maximum IO base address 0x0200
     #         IO base alignment 1 bytes
     #         Number of IO addresses required: 8
      (IO 0 (SIZE 8) (BASE 0x0200))
      (NAME "CTL0028/268565341[3]{Jogo                }")
      (ACT Y) # Sem muitos comentários... descomentamos a linha IO acima e 
              # ativamos a configuração (descomentando (ACT Y)). A diferença 
         # é que especificamos o nome GAME para o recurso através da 
         # linha (NAME "CTL0028/268565341[3]{Jogo              }")
              # Este nome será mostrado quando o Joystick for ativado
     ))
     
     # Returns all cards to the 'Wait for Key' state
     (WAITFORKEY)

Note ainda que o isapnp.conf gerado através do pnpdump contém vários tipos de prioridades de configuração para o mesmo bloco de configuração e a prioridade que usamos acima foi priority acceptable para o bloco de audio da Sound Blaster e priority preferred para a porta IDE e Joystick. Os tipos de prioridades disponíveis são:

  • priority preferred - Configuração preferida para o funcionamento do hardware. É a recomendada pelo fabricante do hardware e também recomendável se você não tem muita experiência na configuração de hardwares, pois lista somente uma configuração por recurso. Se a placa entrar em conflito com outras placas usando priority preferred, tente a priority acceptable.
  • priority acceptable - Lista todas as configurações aceitas pelo seu hardware. Ela é minha opção preferida, pois permite analisar dinâmicamente todas as configurações permitidas pelo hardware e escolher qual é a mais adequada para funcionar sem problemas no sistema.
  • priority functional - Pode conter 1 ou mais blocos de prioriade funcional por hardware. Note que alguns recursos do hardware podem não estar disponível neste tipo de prioridade. É útil para uso em casos de conflito, quando o hardware pode ser colocado em funcionamento de forma alternativa ou parcial.

Após a gravação do arquivo /etc/isapnp.conf, basta você digitar isapnp /etc/isapnp.conf para ativar a configuração dos dispositivos listados com as configurações que você escolheu. Se o isapnp lhe mostrar mensagens de conflito ou qualquer outro problema, verifique as configurações do hardware e modifique, se necessário. Depois execute novamente o /etc/isapnp.conf. Para detalhes sobre outros parâmetros não explicados aqui, veja a página de manual do isapnp.conf.

A maioria das distribuições GNU/Linux configura os dispositivos Plug-and-Play existentes neste arquivo automáticamente na inicialização (como é o caso da Debian e a Red Hat). Se este não for o seu caso, coloque a linha isapnp /etc/isapnp.conf em um dos scripts de inicialização de sua distribuição.

3.5 Conflitos de hardware

Ocorre quando um ou mais dispositivos usam a mesma IRQ, I/O ou DMA. Um sistema com configurações de hardware em conflito tem seu funcionamento instável, travamentos constantes, mal funcionamento de um ou mais dispositivos e até mesmo, em casos mais graves, a perda de dados.

Sempre que possível conheça e utilize os valores padrões para a configuração de periféricos, isto pode te livrar de conflitos com outros dispositivos e mal funcionamento do sistema. Alguns programas de diagnóstico ou de auto-detecção podem não localizar seu dispositivo caso ele esteja usando um valor muito diferente do padrão.

Para resolver conflitos de hardware será necessário conhecer a configuração de cada dispositivo em seu sistema. Os comandos cat /proc/interrupts, cat /proc/dma e cat /proc/ioports podem ser úteis para se verificar as configurações usadas.

Lembre-se que o barramento PCI permite o compartilhamento de IRQs entre placas PCI.

3.6 Barramento

O tipo de slot varia de acordo com o barramento usado no sistema, que pode ser um(s) do(s) seguinte(s):

ISA 8 Bits
Industry Standard Architecture - É o padrão mais antigo, encontrado em computadores PC/XT.
ISA 16 Bits
Evolução do padrão ISA 8 Bits, possui um conector maior e permite a conexão de placas de 8 bits. Sua taxa de transferência chega a 2MB/s.
VESA
Video Electronics Standard Association - É uma interface feita inicialmente para placas de video rápidas. O barramento VESA é basicamente um ISA com um encaixe extra no final. Sua taxa de transferência pode chegar a 132MB/s.
EISA
Enhanced Industry Standard Architecture - É um barramento mais encontrado em servidores. Tem a capacidade de bus mastering, que possibilita a comunicação das placas sem a interferência da CPU.
MCA
Micro Channel Architecture - Barramento 32 bits proprietário da IBM. Você não pode usar placas ISA nele, possui a característica de bus mastering, mas pode procurar por dispositivos conectados a ele, procurando configuração automática.

Este barramento estava presente no PS/1 e PS/2, hoje não é mais usado.

PCI
Peripheral Component Interconnect - É outro barramento rápido produzido pela Intel com a mesma velocidade que o VESA. O barramento possui um chipset de controle que faz a comunicação entre os slots PCI e o processador. O barramento se configura automaticamente (através do Plug-and-Play). O PCI é o barramento mais usado por Pentiums e está se tornando uma padrão no PC.
PCMCIA
Personal Computer Memory Card International Association - É um slot especial usado para conexões de placas externas (normalmente revestivas de plástico) e chamadas de cartões PCMCIA. Estes cartões podem adicionar mais memória ao sistema, conter um fax-modem, placa de rede, disco rígido, etc.

Os cartões PCMCIA são divididos em 3 tipos:

Tipo 1
Tem a espessura de 3.3 milímetros, e podem conter mais memória RAM ou memória Flash.
Tipo 2
Tem a espessura de 5 milímetros e capacidade de operações I/O. É um tipo usado para placas de fax-modem, rede, som. Computadores que aceitam cartões PCMCIA do tipo 2, mantém a compatibilidade com o tipo 1.
Tipo 3
Tem a espessura de 10.5 milímetros e normalmente usado para discos rígidos PCMCIA. Slots PCMCIA do tipo 3 mantém a compatibilidade com o tipo 2 e 1.
AMR
Audio Modem Raise - Pequeno barramento criado pela Intel existente nas novas placas mãe para a conexão de placas de som e modem AMR. Placas de som e modem AMR usam o HSP (host signal processor) e são como as Placas on-board e todo o processamento é feito pela CPU do computador (veja detalhes na Placas on-board / off-board, Seção 3.7 e Hardwares específicos ou "For Windows", Seção 3.8.

Sua vantagem é o preço: um modem ou placa de som AMR custa em torno de R$ 25,00.

3.7 Placas on-board / off-board

Placas on-board são embutidas na placa mãe (motherboard). Placas off-board são placas externas encaixadas nos slots de expansão da placa mãe.

No inicio da era do PC/XT todos as placas eram embutidas na placa mãe (na época eram somente a placa de vídeo e controladora). Com o surgimento do padrão AT, diversas empresas de informática desenvolveram dispositivos concorrentes e assim o usuário tinha a liberdade de escolha de qual dispositivo colocar em sua placa mãe (ou o mais barato ou o de melhor qualidade e desempenho), isto permitiu a adição de periféricos de qualidade sem romper com seu orçamento pessoal (comprando uma placa de som, depois uma de fax-modem, placa de vídeo melhor, etc).

Atualmente parece que voltamos ao ponto de partida e tudo vem embutido na placa mãe (on-board) e o usuário não tem como escolher qual dispositivo usar em seu computador. É muito difícil (praticamente impossível) encontrar uma placa mãe que satisfaça completamente as necessidades do usuário ou recomendações de um bom técnico de informática (a não ser que seja um técnico experiente e encontre alguma alternativa).

Certamente o único dispositivo que funciona melhor se embutido na placa mãe é a placa controladora de periféricos. Esta placa é usada para se conectar unidades de disquete, discos rígidos, CD-ROM, portas seriais, paralelas, joystick ao computador. Os HDs conectados em uma controladora embutida conseguem ter um desempenho muito maior do que em placas conectadas externamente, sem causar nenhum tipo de problema. Felizmente os últimos modelos de placas mãe 486 e os Pentium já trazem a placa controladora de periféricos embutida.

Hardwares embutidos na placa mãe (como fax-modem, video, som) são em média 30% mais baratos que os vendidos separadamente mas quase sempre são usados dispositivos de baixo desempenho e qualidade para reduzir o preço da placa mãe e quase sempre usados hardwares For Windows.

Hoje em dia por causa do preço da placa mãe, é comum encontrar pessoas que verificam somente o preço e sequer procuram saber ou conhecem a qualidade das placas embutidas na placa mãe. Pior ainda é encontrar vendedores despreparados que sequer sabem explicar o porque que uma placa de som Sound Blaster 64 é mais cara que uma de modelo genérico...

Certa vez fiz um teste de desempenho em um jogo chamado Network Rally do DOS com minha máquina Pentium 120 MHZ (só com a placa controladora embutida), 16 MB RAM, placa de som Sound Blaster 16, placa de video Trident 9680 com 1MB versus um computador Pentium 200 MMX, 32 MB RAM, placa de video embutida (usando 2 MB de memória compartilhada), fax modem Rockwell embutido, e som CMI 8330 também embutido.

O resultado foi que o jogo rodava perfeito em meu pentium 120MHZ e no outro computador com o som pipocando e imagem apresentando paradas. O problema é que em dispositivos de baixa qualidade e baratos, sua carga de processamento é jogada para o processador, resultando em menos potência para executar os programas (veja a Hardwares específicos ou "For Windows", Seção 3.8 para maiores detalhes sobre o problema). A memória de vídeo compartilhada quer dizer que parte da memória RAM é usada para memória de video ao invés de uma memória DRAM específica e desenvolvida exclusivamente para aceleração de video. Isto traz mais lentidão pois a memória de video (RAM) também será acessada pelo barramento do computador, envolvendo mais carga para o processador, etc. A técnica de memória compartilhada é exclusiva de placas de video embutidas.

Outro periférico que traz problemas e muita carga para o processador é o fax-modem for Windows, HSP, AMR, micromodem, etc. A maioria destes periféricos se recusam a funcionar em computadores inferiores ao Pentium 150, não trazem seu chip de processamento e o pior: o chip UART. Isto faz com que o periférico, mesmo marcando conexão a 57.600 ou mais tenha um desempenho de até duas vezes menor que um fax-modem inteligente com chip de processamento próprio e UART (sem contar com os controles internos do modem, como os protocolos de correção de erros, e sua extensa interface de programação via comandos). A economia, neste caso, será paga em sua conta telefônica.

Outra vantagem de fax-modens inteligentes é que os modelos atuais vem com FlashBios o que significa que podem ser reprogramados facilmente para passar de 33.600 para 57.600 sem trocar a placa, ou aceitarem novas tendências de tecnologia. Para detalhes veja a Hardwares específicos ou "For Windows", Seção 3.8.

Se você estiver em uma situação destas, certamente os computadores de menor potência e com hardwares inteligentes (que possuem seus próprios chips de controle e processamento) terão um desempenho muito melhor. Mas também existem placas embutidas que tem a mesma qualidade de placas separadas (como alguns modelos de placas mãe que trazem a Sound Blaster embutida). O preço pode ser maior mas você estará pagando por um dispositivo de melhor qualidade e que certamente trará benefícios a você e ao seu sistema.

Consulte um técnico em informática experiente para te indicar uma placa mãe de bom preço e de qualidade. É muito comum encontrar falta de profissionalismo em pessoas que não sabem distinguir as características, funções e vantagens entre uma placa de boa qualidade e um hardware for Windows a não ser o preço mais barato.

3.8 Hardwares específicos ou "For Windows"

Esta seção foi retirada do manual de instalação da Debian GNU/Linux. Uma tendência que pertuba é a proliferação de Modems e impressoras específicos para Windows. Em muitos casos estes são especialmente fabricados para operar com o Sistema Operacional Microsoft Windows e costumam ter a legenda WinModem, for Windows, ou Feito especialmente para computadores baseados no Windows.

Geralmente estes dispositivos são feitos retirando os processadores embutidos daquele hardware e o trabalho deles são feitos por drivers do Windows que são executados pelo processador principal do computador. Esta estratégia faz o hardware menos expansível, mas o que é poupado não é passado para o usuário e este hardware pode até mesmo ser mais caro quanto dispositivos equivalentes que possuem inteligência embutida.

Você deve evitar o hardware baseado no Windows por duas razões:

  1. O primeiro é que aqueles fabricantes não tornam os recursos disponíveis para criar um driver para Linux. Geralmente, o hardware e a interface de software para o dispositivo é proprietária, e a documentação não é disponível sem o acordo de não revelação, se ele estiver disponível. Isto impede seu uso como software livre, desde que os escritores de software grátis descubram o código fonte destes programas.

  2. A segunda razão é que quando estes dispositivos tem os processadores embutidos removidos, o sistema operacional deve fazer o trabalho dos processadores embutidos, freqüentemente em prioridade de tempo real, e assim a CPU não esta disponível para executar programas enquanto ela esta controlando estes dispositivos. Um exemplo típico disso são os Modems for Windows; Além da carga jogada na CPU, o dispositivo não possui o chip UART 16550, que é essencial para uma boa taxa de transferência do modem. O que alguns dispositivos fazer é a emulação deste chip exigindo no mínimo uma CPU Pentium de 166 MHZ para operar adequadamente nesta taxa de transmissão. Mesmo assim, devido a falta do chip UART, um modem destes iniciar uma transmissão de arquivo a 57.600, a tendência é sua taxa de transferência ir caindo na medida que um arquivo é transferido (até se estabilizar em 21/25 Kbps).

    Assim o usuário típico do Windows não obtem um multi-processamento tão intensivo como um usuário do Linux, o fabricante espera que aquele usuário do Windows simplesmente não note a carga de trabalho que este hardware põe naquela CPU. No entanto, qualquer sistema operacional de multi-processamento, até mesmo Windows 95 / 98 ou NT, são prejudicados quando fabricantes de periféricos retiram o processador embutido de suas placas e colocam o processamento do hardware na CPU.

Você pode ajudar a reverter esta situação encorajando estes fabricantes a lançarem a documentação e outros recursos necessários para nós desenvolvermos drivers para estes hardwares, mas a melhor estratégia é simplesmente evitar estes tipos de hardwares até que ele esteja listado no HOWTO de hardwares compatíveis com Linux.

Note que hoje já existem muitos drivers para WinModems e outros hardwares for Windows para o Linux. Veja a lista de hardwares compatíveis no HARDWARE-HOWTO ou procure o driver no site do fabricante de seu dispositivo. Mesmo assim a dica é evitar hardwares for Windows e comprar hardwares inteligentes onde cada um faz sua função sem carregar a CPU.

3.9 Dispositivos específicos para GNU/Linux

Esta seção foi retirada do manual de instalação da Debian GNU/Linux. Existem diversos vendedores, agora, que vendem sistemas com a Debian ou outra distribuição do GNU/Linux pré-instaladas. Você pode pagar mais para ter este privilégio, mas compra um nível de paz de mente, desde então você pode ter certeza que seu hardware é bem compatível com GNU/Linux. Praticamente todas as placas que possuem processadores próprios funcionam sem nenhum problema no Linux (algumas placas da Turtle Beach e mwave tem suporte de som limitado).

Se você tiver que comprar uma máquina com Windows instalado, leia cuidadosamente a licença que acompanha o Windows; você pode rejeitar a licença e obter um desconto de seu vendedor. Veja http://www.linuxmall.com/refund/ para detalhes.

Se não estiver comprando um computador com GNU/Linux instalado, ou até mesmo um computador usado, é importante verificar se os hardwares existentes são suportados pelo kernel do GNU/Linux. Verifique se seu hardware é listado no Hardware Compatibility HOWTO, na documentação do código fonte do kernel no diretório Documentation/sound ou consulte um técnico de GNU/Linux experiente.

Deixe seu vendedor (se conhecer) saber que o que está comprando é para um sistema GNU/Linux. Desta forma isto servirá de experiência para que ele poderá recomendar o mesmo dispositivo a outras pessoas que procuram bons dispositivos para sistemas GNU/Linux. Apóie vendedores de hardwares amigos do GNU/Linux.


[ anterior ] [ Resumo ] [ Nota de Copyright ] [ Conteúdo ] [ próximo ]

Guia Foca GNU/Linux
Versão 4.70 - 6 novembro 2000
Gleydson Mazioli da Silva


 

© 1999 - 2002 :. Todos os direitos reservados :. Carlos E. Morimoto
Melhor visualizado em qualquer browser. Você escolhe o que usar, não nós :-)
"Discussing this document with a US citizen may be an offence."
(From the disclaimer of "Security Holes Fixed in Linux 2.4.19", by RH)