Guia Foca GNU/Linux.
-------------------------------------------------
Gleydson Mazioli da Silva <gledson@guiafoca.org>
Capítulo 3, 'Gleydson Mazioli da Silva'
Versão 5.65, Domingo, 05 de Setembro de 2010
Anotações
---------
Estas anotações foram feitas do documento guia foca intermediário
página offical [http://www.guiafoca.org]
Capítulo 3 - Hardware
---------------------
Hardware diz respeito a parte física do computador.
3.1 Placa de Expansão
---------------------
É um circuito eletrônico encaixado na placa mãe, sua
responsabilidade é adicionar novas funcionaliades ao computador.
Esta placa pode ser:
* placa de som: para emitir sons, músicas, ligar um joystick etc.
* placa de vídeo 3D: obter imagens mais rápidas para jogos e
ambientes de desktop 3D [três dimensões].
* placa de captura: para assistir televisão, rádio e fazer uma
gravação da programação de TV em seu micro.
* fax-modem: para enviar/receber fax, conectar-se a internet,
acesso remoto, bina etc..
* rede: para permitir a comunicação com outros computadores em
uma rede.
* controladora de periféricos: para ligar discos rígidos unidade
de disquetes, impressora, mouse, joystick etc..
* SCSI: para ligar unidade de disco rígido e periféricos de alto
nível.
3.2 - Nomes de Dispositivos
---------------------------
Seria terrível quando fosse configurar cada programa que use o
mouse ou modem, pois seria preciso se referir à ele [IRQ I/O],
etc.. por isso usamos [nomes de dispositivos].
Os nomes de dispositivos são acessados no diretório [/dev].
Após fazer as devidas configurações em sua porta [I/O 0x2F8 e
IRQ 3], ele é automaticamente identificado por [/dev/ttyS1] igual
à [COM2 no DOS]. Podemos também fazer um link de [/dev/ttys1]
para um arquivo chamado [/dev/modem] usando o comando:
ln -s /dev/ttyS1 /dev/modem
Agora faça as configurações dos seus programas usando o novo
arquivo [/dev/modem] ao invés de usar o arquivo original
[/dev/ttyS1] e se precisar reconfigurar o seu modem e a porta
serial mudar para outro [/dev/ttyS3], será necessário somente
apagar o link [/dev/modem] antigo e criar um novo.
Não será necessário reconfigurar os programas que usam o modem
pois, eles estão usando [/dev/modem] que está apontando para sua
localização correta. Isto é muito útil para um bom gerenciamento
de sistema.
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 letra de unidades dos DOS não segue o padrão
do GNU/Linux e depende da existência de outras unidades física
da máquina.
3.3 Configuração de Hardware
----------------------------
A configuração nada mais é do que ajudar as opções dos
dispositivos [periféridos] para a comunicação com a placa mãe,
bem como fazer todas as configurações do software
correspondentes para acesso ao hardware.
Um sistema bem configurado consiste em cada dispositivo
funcionando com suas portas [I/O, IRQ, DMA] bem definidas.
Dispositivos PCI, PCI Express, AMR, CNR possuem configuração
automática. Os parâmetros dos módulos do kernel usados para
dispositivo de hardware são [IRQ, DMA, e I/O]. Para dispositivos
[plug and play] como PCI só carregar o módulo para ter o hardware
funcionando.
3.3.1 - IRQ, Requisição de Interrupção
--------------------------------------
Existem dois tipos básicos de interrupções:
Interrupções de software - são usadas por programas,
incluindo o OS para obter a atenção do processador
Interrupções de hardware - são usadas por periféricos
para o acesso e comunicação com a placa mãe
Antigos computadores como 8086/8088 [XT] usam somente 8
interrupções operando a 8 bit. No Kernel 2.4 e superiore do Linux
a função APIC [Advanced Programmable Interruption Controller]
permite gerenciar mais de 15 interrupções no sistema operacional.
As interrupções do sistema podem ser visualizadas no kernel com o
comando:
cat /proc/interrupts
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 vem dos antigos processadores
8086/8088 somente 8 IRQs
É usado como redirecionador quando se
utiliza uma acima de 8
03 Normalmente usado por [/dev/ttyS1] mas seu uso
depende dos outros dispositivos instalados no
sistema, como fax-modem, placa de rede
04 Normalmente usado por [/dev/ttyS0] sempre usada
pelo mouse serial na não ser que um mouse PS2
esteja instalado no sistema.
05 Nornmalmente a segunda porta paralela. Muitos
micros não tem a segunda porta paralela, é comum
o uso do IRQ.
06 Controlador de Disqueite, esta interrupção pode
ser compartilhada com placas aceleradoras usadas
em tapes [unidades de fita].
07 Primeira porta de impressora, a maioria não usam
IRQs.
08 Relógio em tempo real do CMOS não pode ser usado
por nenhum outro
09 Ponte para IRQ 2, deve ser a última IRQ a ser
utilizada.
10 Interrupção normalmente livre para dispositivos,
o controlador de USB utiliza esse interrupção
quando presente.
11 Interrupção livre para dispositivos.
12 Livre para dispositivos, o mouse PS/2 quando
presente
13 Processador de dados númerico não pode ser
compartilhada ou usada
14 Usada pela primeira controladora de discos rígido
e não pode ser compartilhada.
15 Usada pela segunda controladora de discos rígidos
e não pode ser compartilhada. Somente quando a
primeira esteja desativada.
Dispositivos ISA, VESA, EISA, SCSI não permitem compartilhamento
de uma mesma IRQ. Conflitos de IRQ ocorreriam nesses tipos de
hardwares acima, ocasionado a parada ou mal funcionamento de um
dispositivo. Para resolver conflito de IRQ use o comando:
cat /proc/interrupsts
configure as interrupções de forma que uma não entre em
conflito com as outras. Isto é feito através de jumpers de
placa ou software. Os dispositivos PCI e PCI Express são
projetado para compartilharmento de interrupções.
O chipset ou BIOS mapeará a interrupção para uma interrupção
normal do sistema entre IRQ 9 e IRQ 12 ou APIC
Prioridade das Interrupções
Cada IRQ no sistema tem um número que identifica sua
prioridade que será atendida pelo processador nos antigos
sistemas XT eram feitas de acordo com a sequência:
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 [16bit] interrupções
passaram a ser identificadas assim:
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 a prioridade segue em sequência através da ponte
IRQ 2 para IRQ 9 Os dispositivos com baixa prioridade são
atendidos primeiros.
3.3.2 DMA - Acesso Direto a Memória
-----------------------------------
A DMA é usda para permitir a transferência de dados entre
dispositivos I/O e a memória sem precisar do processador para
fazê-lo. O PC tem dois controladores de DMA. O primeiro controla
os canais de [0-3] e o segundo de [4-7] assim temos 8 canais, no
entando, o canl 4 é perdido, porque é usado pelo [controlador de
acesso direto a memória] os canais de [0-3] são chamados de
canais baixos, e os restando são de altos por mover 2 bytes por
transferência.
Os dados movidos usando DMA não são movidos através do
controlador de DMA, não é possível mover dados entre as portas
entre a memória.
Há dois tipos de controladores de DMA o primeiro é ligado ao
segundo e não o segundo ao primeiro canais de DMA altos [5-7]
somente podem ser acessados por dispositivo de 16bit.
Como resultados temo 8 canais de DMA de [0-7] sendo que [4] é
usado com ligação entre eles. Para visualizar digite:
cat /proc/dma
DMA Barramento Uso
0 - usada pelo circuto da refresh da
memória DRAM
1 8/16bit usada por placa de som, [canal 8]
porta paralela ECP, adaptadores
SCSI placas de rede ou
controladores de scanner.
2 8/16bit controladora de disquete ou tapes
3 8/16bit usada pela porta paralela ECP,
placa de som, tapes, SCSI ou
scanner antigas.
4 - usada como ponte para a outra
controladora DMA
5 16bit placa de som, controladoras SCSI,
placa de rede
6 16bit Placa de som scanner ou placa de
rede.
7 16bit placa de som, scanner ou placa
de rede.
Somente dispositivos ISA e derivados dele, usam os canais de DMA
padrão. Os atuais dispositivos de alta taxa de transferência usam
PCI, que tem seu próprio controlador embutido muito mais rápido
do que DMA padrão. Este tipo é chamado de [Bus Mastering].
Conflito de DMA
Um canal de DMA não pode ser compartilhado entre
dispositivos. Ainda
é possível configurar dois dispositivos para usarem o
mesmo canal, desde que ele não seja usado ao mesmo tempo.
Quando ocorre um conflito de DMA os dados podem ser
misturados e pode ocorrer coias estranhas até travamento
total do sistema.
3.3.3 I/O - Porta de Entrda/Saída
---------------------------------
Cada dispositivo possui um endereço de porta. O endereço é um
local da memória usada para enviar dados ao dispositivo e onde o
dispositivo envia dados ao computador. Ao contrário da IRQ e DMA
dipositivo pode usar mais de um porta de entrada/saída, ou faixa
de endereço. Uma placa de som padrão usa as portas [0x220, 0x330
e 0x388] que são respectivamente [áudio digital, midi e opl3].
As placas de rede normalmente transferem grandes quantidades de
dados, assim ocupam uma faixa de endereços. Por exemplo uma NE200
ocupa as faixas, [0x260 - 0x27F]. Para visualizar use o comando:
cat /proc/ioports
Os endereços das portas I/O não podem ser compartilhados.
3.4 - Hardware configuráveis, Jumpers, Switches, Jumperless Plug-and-Play
-------------------------------------------------------------------------
3.4.1 - Jumpers
---------------
Hardwares configuráveis por jumpers [pino metálico de capa de
plástico] tem sua configuração alterada através da colocação,
retirada ou mudança de posição física do pino.
Este tipo de hardware está em placas ISA e VESA não é usado
atualmente. As posições 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
Na disposição multi-posição, os pinos de encaixe são numerados de
[1-3] ou [1-4, 1-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 funcionamento do dispositivo.
A configuração de jumper através de multi-posição é normalmente
usada em placa mãe para definir a frequência de operação do
barramento e frequência de multiplicação ou tipo do processador.
3.4.2 - Switches
--------------
A mesma coisa que os hardwares configurados por jumpers execeto
que os dip-switches são usados no lugar de jumpers o dip-switches
são várias chaves numeradas que pode ser colocadas para cima ou
para baixo, como se fosse um disjuntor ou vários interruptores
[liga/desliga] um ao lado do outro.
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.
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 passa saber
qual será sua IRQ, DMA, I/O.
Hardware PCI possuem configuração nativa, registrando suas portas
interrupções e dma na tabela de hardware PCI do sistema.
3.5 - Listando as placas e outros hardwares em um computador
------------------------------------------------------------
Dispositivos PCI, AMR, CNR podem ser listados com o comando:
cat /proc/pci
lspci
lspci -vv
O mapeamento de memória de dispositivos podem ser mostrados com o
comando:
cat /proc/ioports
lsdev
O barramento USB e dispositivos conectados podem ser lisatao com
o comando:
lsusb
cat /proc/bus/usb/devices
3.6 - Conflitos de Hardware
---------------------------
Ocorre quando um ou mais dispositivos usam a mesma IRQ, I/O DMA.
Travamento constantes mal funcionamento de um ou mais dispositivo
em casos mais graves perda de dados.
Para resolver conflitos de hardware é necessário conhecer cada
dispositivo em seu sistema. Os comandos podem ser úteis:
cat /proc/interrupts
cat /proc/ioports
cat /proc/dma
3.7 - Barramento
----------------
O tipo de slot varia de acordo com o barramento usado no sistema
que pode ser um dos seguintes:
ISA 8 bit - [Industry Standard Architecture]
é o padrão mais antigo encontrados em PC/XT.
ISA 16bit - possui um concetor maior e permite a conexão
de placas de 8 bit. Transferência de 2MB
VESA - [Vídeo Electronics Standard Association]
é uma interface feita para placas de vídeos mais rápidas
basicamente é um ISA com encaixe extra no final.
Transferência de 132MB.
EISA - [Enhanced Industry Standard Architecture]
é um barramento mais encontrado em servidores. Tem mais
capacidade de bus mastering que possibilida a comunicação
das placas sem a interferência da CPU.
MCA - [Micro Channel Architecture] Barramento de 32bit
proprietário da IBM
PCI - [Peripheral Component Interconnect] é barramento
mais rápido pela Intel com mesma velocidade que o VESA.
Possui um chipset que faz a comunicação entre slots e o
processador.
PCI Express - [Peripheral Component Interconnect Express]
idêntico ao barramento PCI, funciona no clock de 64bit.
AGP - [Accelerated Graphics Port]
é um novo barramento criado exclusivamente para a ligação
de placas de vídeos.
Estas placas permitem obter um desempenho mais elevado de
vídeo se comparado com as placas onboards com memórias
compartilhadas e mesmo PCI externa.
PCMCIA
[Personal Computer Memory Card International Assocition]
é um slot especial para conexões de placas externas.
chamado de cartões PCMCIA podem adicionar mais memória ao
sistema. Há três tipos:
tipo 1 - pode conter mais memória RAM ou Flash
tipo 2 - pode usar em fax-modem, rede, som
tipo 3 - usada para discos rígidos
AMR - [Audio Modem Raise] pequeno barramento criado pela
Intel para conexão de placas de som e modem.
Usam o HSP [host signal processor] como em on-board e
todo o processamento é feito pela CPU
CNR - [Communication and Networking Rise] barramento para
conexão de placa de som, rede e modens feito pela Intel.
3.8 - Placas on-board / off-board
---------------------------------
Placas on-board são embutidas na placa mãe [motherboard] e as
placas off-board são placas externas encaixadas nos slots de
expansão da placa mãe.
O único dispositivo que funciona melhor se embutido na placa mãe
é a placa controladores de periféricos.
Esta placa é usada para se conectar unidades de disquetes, discos
rígidos, CD-ROM, portas seriais, paralelas e joystick.
Os HDs concetados em uma controladores embutida conseguem ter um
desempenho maior do que em placas conectada externamente.
3.9 Hardware específico ou For Windows
--------------------------------------
Há muitos casos que modens e impressoras são fabricados para o
Windows sistema operacional Microsoft e costuma ter a legenda
[WinModem, For Windows, ou Feito especialmente para computadores
baseados no Windows].
Geralmente estes dispositivos são feitos retirando o processador
embutido no hardware e trabalho são feito por drivers do Windows
que são executados pelo processador principal do computador.
Deve sser evitar o hardware baseado no Windows por duas razões:
1. Não tornam os recursos disponíveis para criar um
driver para Linux.
Geralmente o hardware e a interface de software para o
dispositivo são proprietária e a documentação não é
disponível sem o acordo de não revelação.
2. Quando estes dispositivos não tem os processadores
o sistema operacional deve fazer o trabalho deles dos
processadores embutidos, e assim a CPU não esta mais
disponível para executar programas.
3.10 - Dispositivos específicos para GNU/Linux
--------------------------------------------
Se você tive que comprar uma máquina com Windows instalado, leia
a licença que acompanha.
É importante verificar se os hardware existentes são suportados
pelo kernel do GNU/Linux.
3.11 - Configurações de Dispositivos
------------------------------------
3.11.1 - Configurando uma placa de rede
---------------------------------------
Para configurar sua placa de rede:
1. identifique se sua placa é ISA, ou PCI, se for ISA
use configuação de jumpers ou plug-and-play, para evitar
conflite de hardware.
2. identifique a marca ou modelo de sua placa. O comando
(lshw) é útil para isto.
Caso sua placa seja PCI ou CNR, execute o comando lspci
e veja a linha "Ethernet"
3. Depois de identificar a placa, será precisso carregar
o módulo correspondente para ser usado no Linux. Para
carregar o módulo digite o comando:
modprobe module
Em placas ISA, geralmente é preciso passar IRQ e I/O
como argumentos para alocar os recursos corretamente
modprobe ne io=0x300 irq=10
Para evitar a digitação dos parâmetros sempre que for
iniciar a máquina configure no arquivo /etc/modules.conf
options ne io=0x300 irq=10
Depois execute o comando, para gerar um novo arquivo
update-modules
Resta configurar os parâmetros de rede usando o comando
ifconfig
3.11.2 - Configurando uma placa de som no Linux
-----------------------------------------------
A configuração de dispositivos de audio no Linux é simples só
carregar o módulo da placa e ajudar o mixer.
Atualmente existem 2 padrões de som OSS (Open Sound System) e
ALSA (Advanced Linux Sound Architecture)
Configurando uma placa de som usando o padrão OSS
O OSS é o presente por padrão desde que o suporte a som foi
incluído no kernel.
Primeiro compile seu kernel com o suporte ao módulo de sua placa
de som. Caso seja ISA terá que habilitar a seção "Open Sound
System" para ver as opções disponíveis, a sound blaster e as que
são compatíveis.
Use o comando lspci caso sua placa seja PCI, AMR procure por
"multimedia" e veja o nome da placa, execute o comando:
modprobe module
Algumas placas principalmente a ISA requerem que seja passados
para o módulo argumentos.
modprobe sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330
Configure o comando no arquivo de /etc/modules/modules.conf
options sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330
Assim quando passar o comando modprobe sb será carregado com as
opções acima.
Na Debian deve criar um arquivo chamado /etc/modutils/sb com o
comando acima e depois executar update-modules para "juntar" todo
os arquivos do /etc/modutils e criaar /etc/modules.conf
Após carregar o módulo correto de sua placa de som, seu sistema
de som deverá estar funcionando, os dispositivos de som devem
estar em /dev/audio ou /dev/dsp ou /dev/mixer caso não esteja
execute o comando:
makedev audio
O próximo passo é instalr um programa para controle de volume,
tonalidade e outro recursos, é recomendado o (aumix) por ser mais
simples, depois basta adicionar seu usuário ao grupo de áudio.
adduser usuário audio
3.11.3 - Configurando um gravador de CD/DVD no Linux
----------------------------------------------------
Caso tenha um gravador IDE e use um Kernel 2.6 ou superior não é
necessário fazer qualquer configuração.
Para realizar a configuração da unidade IDE com emulação SCSI,
usando o método para kernel 2.4 e inferiores:
1. Tenha certeza que compilou o suporte para as características
no kernel:
Em "ATA/IDE/MFM/RLL support" marque as opções:
* Incluce IDE/ATAPI CDROM support
* SCSI emulation support
Depois em "SCSI support" marque as opções:
* SCSI support
M SCSI CD-ROM Support
M SCSI Generic Support
As opções marcadas com [*] serão embutidas no kernel e as [M]
como módulos.
Para ambas as opções "IDE/ATAPI CDROM" e "SCSI Emulation" foram
marcadas como embutidas. Ist faz com que o driver ATAPI tenha
prioridade em cima do SCSI
O próximo passo é identificar o dispositivo de CD/DVD pode fazer
isso pelo comando [dmesg] supondo que sua unidade de CD é "hdc"
[primeiro disco na segunda controladora IDE] e que compilou o
ambos os suporte a "IDE ATAPI" e "SCSI Emulation" no kernel,
adicione o argumento [hdc=ide-scsi] no /etc/lilo.conf ou grub:
# Lilo ou Grub
vmlinuz=/vmlinuz
append="hdc=ide-scsi"
Isso diz ao kernel que a unidade [hdc] usará emulação [ide-scsi]
Execute o lilo para gerar novamente o setor de inicialização com
as modificações e reinicie o computador
Obs: cuidado ao colocar um disco rígido IDE como hdc a linha
[hdc=ide-scsi] deverá ser retirar, caso contrário seu disco não
será detectado.
3.11.4 - Configurando o gerenciamento de energia usando o APM
-------------------------------------------------------------
O APM [Advanced Power Management] permite que sistemas gerencie
o uso de consumo de energia do computador.
Opera a nível de BIOS, para reduzir o consumo de energia quando
o sistema estiver em uso, [como reduzindo o clock da CPU,
desligar o HD, desligar o monitor etc..].
Para ativar o suporte a APM no Linux compile seu kernel com o
suporte embutido a APM, para compilar como módulo basta carregar
o módulo [apm] adicionando no arquivo /etc/modules/modules.conf
Depois instale o daemon apmd para gerenciar as características do
recurso no sistema.
Para desativar remova sue suporte do kernel, passando o argumento
apm=off [quando compilado estaticamente no kernel] ou removendo
do módulo do arquivo /etc/modules/modules.conf [quando compilado
como módulo] por fim, remova o daemon apmd.
3.11.5 - Configurando o gerenciamento de energia usando ACPI
------------------------------------------------------------
O ACPI [Advanced Configuration and Power Interface] é uma camada
de gerenciamento de energia que opera a nível avançado de sistema
Apresenta os mesmos recursos que o APM e outros:
* desligamento da máquina por teclas;
* controle de brilho e contraste de notebook;
* suspend para RAM;
* suspend para disco;
* redução de velocidade de CPU;
* monitoramento de periféricos;
* temperatura e hardware;
O ACPI varia de sistema para sistema por causa do suporte DSDT.
O Linux inclui suporte a recursos ACPI genéricos entre placa mãe.
Quanto mais nova a versão do kernel maiores são as chances do seu
hardware ser suportado.
Para compilar estaticamente marque com Y a opção ACPI e módulos
que quer que ele monitore: button [butão power], fan [ventoinha]
adicione o nome do módulo acpi no arquivo /etc/modules.
Após isso entre no diretório /proc/acpi e com o comando ls nos
diretórios vendo se existe o arquivos dentro deles.
Feito isso, instale o daemon acpid e configure-o para monitorar
o sistema.
O suporte a ACPI pode ser desativa, removendo seu suporte kernel
passando o argumento acpi=off ao kernle, ou remover o módulo do
/etc/modules [caso tenha compilado como módulo].
Desintale o daemon acpid do sistema.
3.11.6 - Ativando WakeUP on Lan
-------------------------------
Este suporte permite que sua máquina seja ligada através da rede
em algumas placa mãe ATX já vem embutido.
Isso é feito por envios sequenciais de pacotes direto para o MAC
Para usar o recurso é preciso ter:
* Placa mãe ATX
* Fonte de alimentação ATX 2.0 fornecimento de 720ma na saída +3v
* Placa de rede com suporte a WakeUP-on-Lan [WOL]
* Suporte na BIOS também deverá conter a opção para WakuUP-on-Lan
Com todos os requisitos instale o pacote etherwake. Depois pegue
o Mac da máquina da rede e execute o comando:
ether-wake AA:BB:CC:DD:EE:FF
A máquina deverá ligar e realizar o procedimento padrão de POST
Em alguns casos devido a rede ser controlada por Switches pode
ser que não funcione ou case esteja atrás de um reteador que não
faz proxy arp.
-------------------------------------------------------------------------
Referências:
Hardware How-to
<http://www.tldp.org/HOWTO/Hardware-HOWTO/>
Nenhum comentário:
Postar um comentário