Você está na página 1de 39

Tpico 101.

1: Identifcao e confgurao de hardware 3


Tpico 101: Arquitetura do
sistema
101.1: Identifcao e confgurao de
hardware
LPI: Esse o Tpico 101.1, Peso 2 do exame de certificao LPIC-1 117-101.
Nota: Os candidatos devero estar aptos para fazer configuraes bsicas de hardware.
Configurao bsica do BIOS
importante que voc domine pelo menos o conhecimento bsico apresentado
aqui porque ele sempre aparece em todos os exames LPI. No exame, voc dever
estar ambientado com conhecimentos sobre o hardware genrico para a plataforma
Intel-PC, entender os recursos de alocao do hardware como IRQ, Portas I/O e
DMA, entender expanso com cartes PCMCIA e genricos, nomenclatura SCSI e
USB, deteco da interface de rede, e entender os passos bsicos para a confgurao
de modems a placas de som, bem como sua nomenclatura tcnica.
BIOS e componentes principais
Muita gente sabe o que BIOS, mas no consegue defnir muito bem. simples.
BIOS Basic Input Output System nada mais do que um programa que j
vem gravado no chip do computador o qual responsvel por testar a parte de
hardware e dispositivos conectados placa me (main board ou mother board).
o que chamamos de memria ROM Ready Only Memory, a memria apenas
de leitura.
BIOS modernas fazem todas as confguraes de forma automtica, mas alguns
dispositivos requerem alguns acertos, e isso feito manualmente para ajustes
mais fnos. Veja a seguir o quem vem agregado placa me do computador e que
tambm tem interao com a BIOS:
RAM Randomic Access Memory: a memria de acesso aleatrio. uma
memria de armazenamento temporrio, pois quando o computador desligado
perde-se o seu contedo;
Processador: a parte do computador responsvel pelos processamentos
das instrues matemticas e lgicas e os programas que so carregados na
memria RAM;
Co-Processador: Sua funo trabalhar em conjunto com o processador
principal para processar as instrues matemticas. Nos computadores
modernos, ele j vem incluso no processador principal. Placas de acelerao 3D
tambm apresentam seu prprio processador matemtico;
4 Tpico 101: Arquitetura do Sistema
Memria Cache: a memria de armazenamento auxiliar do Processador. Possui
alta velocidade de funcionamento, geralmente a mesma que o processador. Sua
funo aumentar o desempenho de processamento. A memria cache pode
ser interna ou externa placa me;
CMOS: a memria temporria a qual alimentada por uma bateria onde fcam
armazenadas as confguraes do computador feitas pelo programa residente
em BIOS.
BIOS modernas so muito fceis de confgurar, ao contrrio de BIOS antigas onde
tnhamos que praticamente jampear tudo na mo. Todo computador pode ter
a parte BIOS confgurada por um programa residente o qual deve ser chamado
antes de entrar o sistema operacional. Geralmente, podemos fazer isso de diversas
formas usando combinaes de teclas como [del], [F12], [control]+[alt]+[esc], etc,
porm isso pode depender do fabricante.
Figura 101.1.1 e Figura 101.1.2: Configurao da BIOS de um computador (vrias opes) e seus
componentes internos.
Quando da configurao da BIOS, a partir desse ponto voc entra no programa de configurao e ajustes do
seu equipamento. Porm, tome cuidado, pois dependendo da configurao que fazemos, o computador pode
apresentar super aquecimento, ou at mesmo no funcionar, o que precisaria, ento, que se refizesse uma
configurao adequada.
A arquitetura BIOS
BIOS Basic Input and Output System o sistema bsico de entrada e sada, que
na verdade nada mais que a memria ROM Read Only Memory, memria
apenas de leitura (no pode ser apagada) a qual contm as instrues bsicas
para a inicializao do computador, reconhecimento e ativao dos perifricos
conectados placa me. As BIOS mais modernas (a partir do 286) tambm trazem
um programa que usado para confgurar o computador modifcando os valores
localizados na CMOS (memria temporria alimentada por uma bateria onde so
lidas/armazenadas as confguraes do computador feitas pelo programa residente
na BIOS).
As placas controladoras padro IDE dependem da BIOS em si, mas as placas
controladoras padro SCSI possuem sua prpria BIOS que identifcam
automaticamente os perifricos conectados a ela.
O entendimento simples, ainda mais se voc j tiver feito algum curso de hardware
ou simplesmente gostar de mexer com a parte mecnica de computadores. Quando
Tpico 101.1: Identifcao e confgurao de hardware 5
abrimos o computador podemos ver dentro dele todos os componentes como a CPU
em si, ou seja, qual processador voc tem em seu computador, como a memria
ROM, a memria CMOS para confgurao da BIOS, uma bateria que guarda as
confguraes, conexes para teclado, mouse, vdeo, placa de rede etc, e os slots
para encaixe de cartes, principalmente de memria, sendo que o tipo do slot pode
variar dependendo do barramento.
Tabela 101.1.1: Quadro dos principais barramentos em um Intel-PC.
Barramento Descrio
ISA 8 Bits o Industry Standard Architecture. Esse um padro antigo e pode ainda ser
encontrado nos velhos computadores PC/XT, se ainda existirem.
ISA 16 Bits a evoluo do ISA 8 bits. Permite uma taxa de transferncia de 2 MB/s e
seu conector maior.
VESA o Video Electronics Standard Association. Foi feito para placas de vdeo
rpidas. Apresenta taxa de transferncia que pode chegar a 132MB/s.
EISA o Enhanced Industry Standard Architecture. mais encontrado em servidores
e tem a capacidade de bus mastering, a qual possibilita a comunicao das
placas sem a interferncia da CPU.
MCA o Micro Channel Architecture (32 bits). Desenvolvido pela IBM e foi usado
nos antigos PS/1 e PS/2.
PCI o Peripheral Component Interconnect. Produzido pela Intel, rpido e tem
caracte-rstica/velocidade do VESA. Pode se configurar automaticamente
atravs do Plug and Play (PNP).
AGP o Accelerated Graphics Port. novo e foi criado exclusivamente para a
ligao de placas de vdeo. Muito bom para processamento de jogos.
PCMCIA o Personal Computer Memory Card International Association. Apresenta um
encaixe (slot) especial usado para conexes de placas externas. Esses cartes
podem adicionar mais memria ao sistema, conter um fax-modem, placa de
rede, disco rgido, e mais um monte de coisas legais.
O padro IDE
O padro de discos para a grande maioria da plataforma Intel PC o IDE
Integrated/Intelligent Drive Electronics. Os discos IDE variam em tamanho,
indo de meros 20 Mb at 80 GB para uma controladora padro, porm, os mais
modernos do tipo ATA Advanced Technology Attachment chegam a 137 GB, e
maior que isso so todos do tipo SATA Serial Advanced Technology Attachment,
o qual o sucessor da tecnologia ATA que foi renomeada para PATA Parallel ATA
para se diferenciar da tecnologia SATA.
BIOS modernas usam o padro IDE pelas seguintes razes:
BIOS carrega a parte essencial do sistema operacional durante o processo de
inicializao;
BIOS prov a informao correta sobre as mdias instaladas para o sistema
operacional. Essa informao nada mais que o nmero de cilindros, cabeas e
setores do disco.
NOTA: Algumas distribuies no conseguem funcionar corretamente se a geometria do
disco estiver inconsistente. possvel corrigir isso com uma formatao de baixo nvel do
disco, mas se o problema continuar porque o disco j est com os dias contados.
6 Tpico 101: Arquitetura do Sistema
A geometria do disco serve, dentre outras coisas, para informar exatamente onde
se encontram as informaes. Quando o carregador do sistema operacional entra
em ao, ele consulta exatamente esses valores. A geometria de disco refere-se
dimenso lgica do disco. Um dos locais onde podemos obter informaes sobre o
hardware IDE em nosso sistema em /proc/ide conforme para discos com padro
IDE, ou /proc/scsi para discos com padro SCSI. Os arquivos drivers, ide0, ide1 e
sis contm informaes sobre esses dispositivos e hda e hdc informaes sobre o
HD/CD IDE.
Experimente examinar agora o contedo desses arquivos.
# ls -l /proc/ide/
t ot al 2
- r - - r - - r - - . 1 r oot r oot 0 2010- 03- 18 15: 00 dr i ver s
l r wxr wxr wx. 1 r oot r oot 8 2010- 03- 18 15: 00 hda - > i de0/ hda
l r wxr wxr wx. 1 r oot r oot 8 2010- 03- 18 15: 00 hdc - > i de1/ hdc
dr - xr - xr - x. 3 r oot r oot 0 2010- 03- 18 15: 00 i de0
dr - xr - xr - x. 3 r oot r oot 0 2010- 03- 18 15: 00 i de1
- r - - r - - r - - . 1 r oot r oot 0 2010- 03- 18 15: 00 si s
Para disco SCSI use o comando:
# ls -l /proc/scsi
t ot al 0
- r - - r - - r - - . 1 r oot r oot 0 2010- 03- 18 15: 00 devi ce_i nf o
- r - - r - - r - - . 1 r oot r oot 0 2010- 03- 18 15: 00 scsi
dr - xr - xr - x. 2 r oot r oot 0 2010- 03- 18 15: 00 sg
Veja o contedo do arquivo /proc/scsi/scsi. Essa listagem pode ser diferente
dependendo do equipamento:
# cat /proc/scsi/scsi
At t ached devi ces:
Host : scsi 0 Channel : 00 I d: 00 Lun: 00
Vendor : ATA Model : ST380011A Rev: 3. 16
Type: Di r ect - Access ANSI SCSI r evi si on: 05
Host : scsi 1 Channel : 00 I d: 00 Lun: 00
Vendor : HL- DT- ST Model : RW/ DVD GCC- 4320B Rev: 1. 00
Type: CD- ROM ANSI SCSI r evi si on: 05
H dois comandos teis, o hwi nf o e o hwscan, os quais tm a funo de mostrar
informaes e varrer dispositivos no computador. Alm desses, em algumas
distribuies h o di scover (Debian), o kudzu (Red Hat), o l sdev (maioria dos
sistemas Linux) e o hwset up- knoppi x (Knoppix).
Entendendo IRQ, I/O e DMA
As IRQs Interrupt Request (Requisio de Interrupo) so chamadas especiais
que os dispositivos fazem ao processador quando precisam de enlaces de tempo,
ou seja, quando se movimenta o mouse, o dispositivo responsvel pelo mouse
solicita uma ateno do processador para que o movimento seja feito, e isso ao
mesmo tempo pode acontecer quando a impressora est imprimindo, pois ela
tambm solicitou informaes ao processador.
Tpico 101.1: Identifcao e confgurao de hardware 7
DICA: Os dispositivos PCI permitem o compartilhamento de IRQs, pois as manipulam de
forma diferente, mapeando uma interrupo para uma interrupo normal do sistema que
geralmente interrupo entre a IRQ 9 e IRQ 12.
As IRQs servem para sinalizar para a CPU que h dados disponveis. O processador
faz isso dando pequenos espaos de tempos, e isso para o usurio totalmente
transparente. Na plataforma Intel PC temos no mximo 16 (dezesseis) IRQs, que
variam de 0 (zero) a 15 (quinze). Parece pouco, mas, felizmente, as IRQs podem ser
compartilhados, ao contrrio das I/O. As IRQs que sempre so usados pelo sistema
e so numeradas como 1, 2, 6, 8, 14, 15, e os que esto livres com mais frequncia
so 5, 9, 10, 11, 13, e os que podem ser liberados so 3, 4, 7, 12.
Os canais DMA, os quais servem para acesso direto memria e os dispositivos
de entrada e sada, tm a funo de permitir que alguns dispositivos escrevam
diretamente nela, onde cada dispositivo usa o seu prprio canal DMA. Na plataforma
PC h dois controladores de DMA, sendo que o primeiro controlador tem quatro
canais (0, 1, 2 e 3) e o segundo controlador tambm quatro (4, 5, 6 e 7), somando-se
ento 8 (oito) canais.
A transferncia de dados nos quatro primeiros canais d-se a uma taxa de 1 byte, ou
seja, 8 bits, enquanto nos demais a taxa de 2 bytes ou 16 bits. Os canais de DMA
altos (5, 6 e 7) somente podem ser acessados por dispositivos de 16 bits, e o canal
4 usado como ligao entre eles, o que chamamos cascade (cascata). Os canais
DMA padro so usados por dispositivos ISA, EISA e VESA, e os dispositivos PCI
usam o seu prprio controlador DMA chamado de Bus Mastering, pois assim a
transferncia muito mais alta. A taxa de transferncia varia de 33 MB/s no modo
2 e 66 MB/s no modo 4.
Lembre-se que dos oito canais DMA, o canal 4 sempre est ocupado, pois ele
responsvel por fazer a comunicao entre os canais inferiores (0, 1, 2 e 3) com
barramento 8/16 bits e os superiores (5, 6 e 7) com barramento de 16 bits. Os
endereos de entrada e sada (I/O) so necessrios porque cada dispositivo precisa
ser endereado pela CPU, e esses endereos so usados para entrada e sada desses
dispositivos. Porm, na arquitetura atual, apenas um nico dispositivo pode
usar esses endereamentos num determinado momento, logo, no se permite
compartilhamento.
Tabela 101.1.2: Quadro dos canais DMA.
Canal Barramento Descrio
DMA 0 8/16 bits Livre, mas usado por circuitos de memria RAM.
DMA 1 8/16 bits Utilizado por placas de som (canal 8 bits), porta paralela ECP,
adaptadoras SCSI, placas de rede ou controladora de scanner.
DMA 2 8/16 bits Utilizado pela controladora de disquete e controladoras de
fitas.
DMA 3 8/16 bits Utilizado pela porta paralela ECP, placa de som, controladoras
de fitas, controladoras SCSI ou controladora de scanner antiga.
Tambm pode ser usado pela placa de rede.
DMA 4 --- Modo Cascade. usado como ponte para comunicao entre
os canais.
DMA 5, 6, 7 8/16 bits Livre, porm pode ser usado pela placa de som (canal 16 bits),
controladora de scanner ou placa de rede. O canal 5 usado
por dispositivos SCSI.
8 Tpico 101: Arquitetura do Sistema
Algumas BIOS fazem alocao de recursos automaticamente com o intuito de evitar
confitos, onde os dispositivos PCI e ISA plug and play compartilham interrupes
entre si. Pode acontecer de os dispositivos entrarem em confito pelo uso ao mesmo
tempo desses endereamentos. Isso resolve-se da seguinte maneira:
Trocar as confguraes dos dispositivos via confgurao BIOS;
Trocar os jumpers nos cartes/placas de expanso;
Confgurar o dispositivo em questo usando um programa especfco.
Praticando a configurao bsica da BIOS
Essa parte de certa forma simples, pois aqui voc dever estar apto a fazer umas
confguraes bsicas de BIOS do sistema. Voc dever entender a diferena em
discos IDE e LBA Large Block Address e discos maiores que 1024 cilindros.
Habilitar e desabilitar a integrao de perifricos como, por exemplo, o teclado.
Faz-se necessrio saber os principais comandos do sistema para poder fazer
consultas sobre as informaes base da BIOS. Esse conhecimento sempre exigido
junto aos exames LPI.
O diretrio /proc
O diretrio /proc um diretrio virtual no sistema Linux, pois ele existe apenas
quando a mquina est ligada, e geralmente todos os arquivos dentro desse diretrio
tem 0 (zero) bytes, mas mesmo assim seus arquivos apresentam contedo. O maior
arquivo dentro desse diretrio o kcore, e geralmente ele apresenta o tamanho
prximo do total de memria presente no seu sistema. Veja a seguinte listagem
para um sistema com 256 MB de RAM:
# ls -l /proc/kcore
- r - - - - - - - - . 1 r oot r oot 536858624 2010- 03- 18 15: 00 / pr oc/ kcor e
# ls -lh /proc/kcore
- r - - - - - - - - . 1 r oot r oot 512M 2010- 03- 18 15: 00 / pr oc/ kcor e
Cuidado, como esse um diretrio virtual, usado na verdade pelo kernel, no
possvel escrever nele pelo mtodo convencional. Caso voc faa isso, vai receber
uma mensagem de erro. Lembre-se que o /proc usado exclusivamente pelo kernel
para gerenciamento.
# touch /proc/teste
t ouch: cannot t ouch `/ pr oc/ t est e : No such f i l e or di r ect or y
# echo oi proc > /proc/oi
- bash: / pr oc/ oi : No such f i l e or di r ect or
Alocao de recursos
A alocao de recursos serve para que possamos permitir perifricos e dispositivos
conectados ao PC se comunicarem diretamente com os recursos do sistema, em
particular a CPU. A alocao de recursos pode ser pesquisada usando os comandos
comuns de visualizao de arquivos textos como, por exemplo, cat , l ess, mor e,
porm, os mais usados so o hwi nf o, l shal , l spci e o dmesg. Fique atento
quanto a esses dois ltimos.
Tpico 101.1: Identifcao e confgurao de hardware 9
Esses recursos so: IRQS, I/O e DMA.
IRQs Interrupt Requests Lines: As IRQs permitem que os diversos tipos de
dispositivos conectados ao computador requisitem enlaces de tempo para a
CPU. Quando isso ocorre, a CPU para a sua atividade do momento e processa a
atividade requisitada. Isso acontece o tempo todo;
I/O Input/Output: Entrada e sada representa um endereo especfco do
sistema no mapa de memria. A comunicao do dispositivo com a CPU d-se
pela leitura e escrita na memria em endereos especfcos;
DMA Direct Memory Access: Alguns dispositivos podem ter acesso memria
do sistema atravs dos canais DMA, e isso permite a escrita e o processamento
de dados sem o acesso direto CPU.
Listando os recursos alocados
O kernel mantm informaes relacionadas aos recursos alocados no diretrio /
proc, conforme j havamos comentado. Fique atento, pois esse diretrio contm
informaes importantes para o hardware e pode ser facilmente consultado,
e na grande maioria das vezes, apenas com o comando cat e similares. Mas h
comandos mais especfcos os quais analisam as informaes desse diretrio para
gerar uma sada customizada.
Alguns dos principais comandos para listar esses recursos so:
dmesg: Mostra as informaes do kernel quando da hora da inicializao.
muito til por podermos analisar passo a passo todo o reconhecimento do
hardware feito pelo kernel. Essas mensagens encontram-se no arquivo /var/
log/dmesg;
hwi nf o, l shal : Esses dois comandos so muito teis, pois nos fornecem
todas as informaes detalhadas do sistema em forma de relatrio;
l spci : Mostra informaes do chipset de todos os componentes padro PCI.
Esse comando listar tambm IRQs e I/O se for usado o parmetro -v ou
-vv;
l susb: Mostra informaes sobre o suporte USB e informaes adicionais
caso algum dispositivo USB esteja plugado na mquina.
Todas as informaes/arquivos do diretrio /proc so importantes, porm algumas
se destacam nesse momento. A numerao dessa listagem representa os diretrios
criados por processos no sistema.
# cd /proc; echo *
1 10 1076 1078 1079 11 1103 1121 1134 1163 1171 1184 1194 1195 12 1204 1225 1233
1236 1237 13 1328 1362 1365 1380 1393 1398 14 1402 1405 1413 1445 1461 1470 1480
1491 15 1502 1510 1512 1519 1526
( . . . ) acpi asound buddyi nf o bus cgr oups cmdl i ne cpui nf o cr ypt o devi ces di skst at s
dma dr i dr i ver execdomai ns f b f i l esyst ems f s i nt er r upt s i omem i opor t s i r q
kal l syms kcor e keys key- user s kmsg kpagecount kpagef l ags l at ency_st at s l oadavg
l ocks mdst at memi nf o mi sc modul es mount s mt r r net paget ypei nf o par t i t i ons sched_
debug schedst at scsi sel f sl abi nf o st at swaps sys sysr q- t r i gger sysvi pc t i mer _
l i st t i mer _st at s t t y upt i me ver si on vmal l oci nf o vmst at zonei nf o
Por exemplo, caso queira saber como est mapeada a memria, simplesmente
digite o comando cat / pr oc/ memi nf o (esse comando apresenta mais informaes
tcnicas) ou, se quiser apenas uma simples checagem, use o comando a seguir. Veja
a parte reservada que est sendo usada para swap (rea de troca ou temporria)
10 Tpico 101: Arquitetura do Sistema
no sistema; mas em mquinas com maior capacidade de memria como 4 GB, 8
GB e 16 GB de memria, ela raramente usada. O uso dela depende do destino
da mquina. Se for para tarefas normais, simples, do dia-a-dia, e a mquina tiver
pouca memria, ela ser usada. Caso contrrio, no.
# free
t ot al used f r ee shar ed buf f er s cached
Mem: 510720 461368 49352 0 4796 161212
- / + buf f er s/ cache: 295360 215360
Swap: 1048568 10128 1038440
Veja outros parmetros para brincar com o comando f r ee:
f r ee: Exibe uso de memria em kilobytes (-k padro);
f r ee - m: Exibe uso de memria em megabytes;
f r ee - g: Exibe uso de memria em gigabytes;
f r ee - b: Exibe uso de memria em blocos;
f r ee - mt : Exibe uso de memria + Swap;
f r ee - s 5: Exibe uso de memria a cada cinco segundos.
Para informaes de memria com mais detalhes usamos o comando vmst at (use
vmst at - d para ver estatsticas do disco) ou o cat / pr oc/ meni nf o. Esses dois
comandos so teis para uma inspeo com mais detalhes:
# vmstat -S M -s
498 M t ot al memor y
450 M used memor y
137 M act i ve memor y
208 M i nact i ve memor y
47 M f r ee memor y
4 M buf f er memor y
157 M swap cache
1023 M t ot al swap
9 M used swap
1014 M f r ee swap
32439 non- ni ce user cpu t i cks
0 ni ce user cpu t i cks
6464 syst emcpu t i cks
80397 i dl e cpu t i cks
5972 I O- wai t cpu t i cks
73 I RQ cpu t i cks
( . . . )
# cat /proc/meminfo
MemTot al : 510720 kB
MemFr ee: 48876 kB
Buf f er s: 4952 kB
Cached: 161384 kB
SwapCached: 284 kB
Act i ve: 141228 kB
I nact i ve: 213948 kB
Act i ve( anon) : 68552 kB
I nact i ve( anon) : 124648 kB
Act i ve( f i l e) : 72676 kB
I nact i ve( f i l e) : 89300 kB
Unevi ct abl e: 8 kB
Ml ocked: 8 kB
Hi ghTot al : 0 kB
Hi ghFr ee: 0 kB
LowTot al : 510720 kB
( . . . )
Um outro comando til o sl abt op que serve para ver o cache (rea secundria)
do kernel. Ele mostra o comportamento dos objetos, nome, e consumo em nvel
de kernel (outros comandos teis so o i ost at e o l sof ; use a pgina de manual
para aprender mais sobre eles):
# slabtop
Act i ve / Tot al Obj ect s ( %used) : 554898 / 582805 ( 95. 2%)
Act i ve / Tot al Sl abs ( %used) : 4586 / 4586 ( 100. 0%)
Act i ve / Tot al Caches ( %used) : 63 / 77 ( 81. 8%)
Act i ve / Tot al Si ze ( %used) : 17935. 39K / 21606. 70K ( 83. 0%)
Mi ni mum/ Aver age / Maxi mumObj ect : 0. 01K / 0. 04K / 4. 00K
OBJ S ACTI VE USE OBJ SI ZE SLABS OBJ / SLAB CACHE SI ZE NAME
Tpico 101.1: Identifcao e confgurao de hardware 11
294912 293642 99% 0. 02K 1152 256 4608K kmal l oc- 16
157696 157690 99% 0. 01K 308 512 1232K kmal l oc- 8
26944 18494 68% 0. 06K 421 64 1684K buf f er _head
22144 22046 99% 0. 03K 173 128 692K kmal l oc- 32
12720 6092 47% 0. 13K 424 30 1696K dent r y
12648 7137 56% 0. 04K 124 102 496K sel i nux_i node_secur i t y
9798 9710 99% 0. 09K 213 46 852K vm_ar ea_st r uct
8840 8831 99% 0. 05K 104 85 416K sysf s_di r _cache
( . . . )
Para verifcar os pontos de montagens no sistema nesse momento (veja como a
sada desse comando diferente do comando df ):
# cat /proc/mounts
r oot f s / r oot f s r w 0 0
/ dev/ r oot / ext 4 r w, r el at i me, bar r i er =1, dat a=or der ed 0 0
/ dev / dev t mpf s r w, r el at i me, mode=755 0 0
/ pr oc / pr oc pr oc r w, r el at i me 0 0
/ sys / sys sysf s r w, r el at i me 0 0
/ pr oc/ bus/ usb / pr oc/ bus/ usb usbf s r w, r el at i me 0 0
devpt s / dev/ pt s devpt s r w, r el at i me, mode=600, pt mxmode=000 0 0
/ dev/ sda2 / boot ext 3 r w, r el at i me, er r or s=cont i nue, user _xat t r , acl , dat a=or der ed 0
0
t mpf s / dev/ shmt mpf s r w, r el at i me 0 0
( . . . )
Para saber qual a sua partio de troca (swap) use o comando (dois exemplos):
# cat /proc/swaps For mat ado nor mal ment e comExt 3.
Fi l ename Type Si ze Used Pr i or i t y
/ dev/ sda5 par t i t i on 1020088 64 - 1
# cat /proc/swaps For mat ado comLVM.
Fi l ename Type Si ze Used Pr i or i t y
/ dev/ mapper / vg_ns1- l v_swap par t i t i on 1048568 10128 -
Tabela 101.1.3: Quadro dos principais diretrios do diretrio /proc.
Diretrio Descrio
asound/ Informaes sobre a placa de som.
bus/ Informaes sobre dispositivos como mouse, PCI e USB.
driver/ Informaes sobre tipos de driver, geralmente USB.
fs/
Informaes sobre sistema de arquivos (file system) no sistema. Geralmente,
nfsd e supermount.
ide/ Informaes sobre dispositivos IDE no sistema.
irq/ Diretrio reservado para IRQs.
net Informaes sobre conexes.
sys/ A partir do kernel 2.6 o novo diretrio para configuraes plug and play.
tty/ Informaes sobre dispositivos seriais etc.
12 Tpico 101: Arquitetura do Sistema
J sabemos que cada arquivo dentro do diretrio /proc se faz importante, e que
todos podem ser lidos com os comandos cat , mor e e l ess. Mas tenha uma ateno
especial quanto aos seguintes arquivos:
cmdline: Local onde se encontra o kernel e opes de carregamento;
cpuinfo: Informaes genricas sobre processador, modelo, velocidade etc;
dma: Informao sobre DMA;
interrupts: IRQs usadas pelos perifricos;
iomem: Informaes sobre a memria;
ioports: Portas de entrada e sada;
modules: Lista todos os mdulos do sistema.
partitions: Lista as parties presentes no sistema;
pci: Informaes sobre slots PCI e AGP.
DICA: Os dispositivos padro ISA, VESA, EISA e SCSI no permitem o compartilhamento
de uma mesma IRQ, pois no foram projetados para isso. Existem algumas solues,
mas no so muito eficazes.
No processador h endereos de memria reservados que realizam entrada e sada
de informaes. Ns os chamamos de portas, portanto, portas de entrada e sada
I/O Input/Output. Essas portas tm como objetivo principal a troca de dados entre
o processador e os dispositivos de forma simplifcada. Cada dispositivo conectado
CPU apresenta um endereo de porta I/O que no pode ser compartilhado com
outros dispositivos.
Para visualizar as portas de entrada e sada use o comando a seguir:
# cat /proc/ioports
0000- 001f : dma1
0020- 0021 : pi c1
0040- 0043 : t i mer 0
0050- 0053 : t i mer 1
0060- 0060 : keyboar d
0064- 0064 : keyboar d
0070- 0071 : r t c0
0080- 008f : dma page r eg
00a0- 00a1 : pi c2
00c0- 00df : dma2
00f 0- 00f f : f pu
0170- 0177 : 0000: 00: 07. 1
0170- 0177 : at a_pi i x
01f 0- 01f 7 : 0000: 00: 07. 1
01f 0- 01f 7 : at a_pi i x
02f 8- 02f f : ser i al
( . . . )
Lembre-se que os dispositivos PCI permitem o compartilhamento da mesma IRQ,
pois as manipulam de forma diferente. Eles fazem isso mapeando uma interrupo
para uma interrupo normal do sistema que geralmente interrupo entre a
IRQ 9 e IRQ 12. As interrupes do sistema podem ser visualizadas com o seguinte
comando:
# cat /proc/interrupts
CPU0
0: 280 I O- API C- edge t i mer
1: 4035 I O- API C- edge i 8042
Tpico 101.1: Identifcao e confgurao de hardware 13
4: 1 I O- API C- edge
7: 0 I O- API C- edge par por t 0
8: 1 I O- API C- edge r t c0
9: 0 I O- API C- f ast eoi acpi
12: 89242 I O- API C- edge i 8042
14: 20969 I O- API C- edge pat a_vi a
15: 23503 I O- API C- edge pat a_vi a
16: 1 I O- API C- f ast eoi nouveau@pci : 0000: 01: 00. 0
19: 26 I O- API C- f ast eoi CS4281
21: 0 I O- API C- f ast eoi ehci _hcd: usb1, uhci _hcd: usb2, uhci _hcd: usb3,
uhci _hcd: usb4
22: 389 I O- API C- f ast eoi VI A8233
23: 0 I O- API C- f ast eoi et h0
NMI : 0 Non- maskabl e i nt er r upt s
LOC: 476004 Local t i mer i nt er r upt s
RES: 0 Reschedul i ng i nt er r upt s
CAL: 0 Funct i on cal l i nt er r upt s
TLB: 0 TLB shoot downs
TRM: 0 Ther mal event i nt er r upt s
SPU: 0 Spur i ous i nt er r upt s
ERR: 0
MI S: 0
NOTA: No confunda o comando cat / pr oc/ i opor t s que lista as portas I/O (entrada
e sada) com o comando cat / pr oc/ i omemque lista endereamento de memria para
os dispositivos de entrada e sada. Fique atento, pois aparece em exames LPI.
Assim como temos as portas I/O, temos o DMA que o acesso direto memria
que serve para permitir a transferncia de dados entre os dispositivos e a memria
sem a interveno do processador. Isso se d atravs de canais (channels) onde a
maioria dos computadores apresenta 2 (dois) controladores de DMA. importante
que voc saiba que temos um total de 8 (oito) canais onde o primeiro controlador
de DMA cuida dos canais 0, 1, 2 e 3 e o segundo cuida dos canais 4, 5, 6 e 7. O
DMA importante, pois ele livra a carga do processador e resulta em uma rpida
transferncia de dados.
Para informaes sobre DMA usamos o seguinte comando:
# cat /proc/dma
2: f l oppy
4: cascade
Comandos relacionados com as informaes sobre dispositivos PCI:
l spci : Lista todos os dispositivos PCI;
cat / pr oc/ pci : semelhante ao comando l spci ;
set pci : Confgura dispositivos PCI;
pci t weak: L, escreve e lista confguraes para dispositivos PCI e scanpci :
Faz uma varredura e testa dispositivos PCI;
/ sbi n/ hot pl ug: Script que em algumas distribuies fornece informaes
sobre dispositivos PCI e USB, assim como mdulos ativos. O utilitrio hotplug
no mais usado em algumas distribuies.
14 Tpico 101: Arquitetura do Sistema
Para listar todos os dispositivos PCI:
# lspci -b
00: 00. 0 Host br i dge: VI A Technol ogi es, I nc. VT8377 [ KT400/ KT600 AGP] Host
Br i dge
00: 01. 0 PCI br i dge: VI A Technol ogi es, I nc. VT8235 PCI Br i dge
00: 0c. 0 Mul t i medi a audi o cont r ol l er : Ci r r us Logi c Cr yst al CS4281 PCI Audi o ( r ev
01)
00: 0e. 0 Communi cat i on cont r ol l er : Ager e Syst ems V. 92 56K Wi nModem( r ev 02)
00: 10. 0 USB Cont r ol l er : VI A Technol ogi es, I nc. VT82xxxxx UHCI USB 1. 1 Cont r ol l er
( r ev 80)
00: 10. 1 USB Cont r ol l er : VI A Technol ogi es, I nc. VT82xxxxx UHCI USB 1. 1 Cont r ol l er
( r ev 80)
00: 10. 2 USB Cont r ol l er : VI A Technol ogi es, I nc. VT82xxxxx UHCI USB 1. 1 Cont r ol l er
( r ev 80)
00: 10. 3 USB Cont r ol l er : VI A Technol ogi es, I nc. USB 2. 0 ( r ev 82)
00: 11. 0 I SA br i dge: VI A Technol ogi es, I nc. VT8235 I SA Br i dge
00: 11. 1 I DE i nt er f ace: VI A Technol ogi es, I nc. VT82C586A/ B/ VT82C686/ A/ B/ VT823x/
A/ C PI PC Bus Mast er I DE ( r ev 06)
00: 11. 5 Mul t i medi a audi o cont r ol l er : VI A Technol ogi es, I nc. VT8233/ A/ 8235/ 8237
AC97 Audi o Cont r ol l er ( r ev 50)
00: 12. 0 Et her net cont r ol l er : VI A Technol ogi es, I nc. VT6102 [ Rhi ne- I I ] ( r ev 74)
01: 00. 0 VGA compat i bl e cont r ol l er : nVi di a Cor por at i on NV18 [ GeFor ce4 MX 440 AGP
8x] ( r ev a2
Para listar todos os dispositivos PCI com detalhamento. Use o parmetro -vv para
mais detalhes (o comando scanpci fornece uma sada resumida; verifque se esse
comando est presente):
# lspci -v
00: 00. 0 Host br i dge: VI A Technol ogi es, I nc. VT8377 [ KT400/ KT600 AGP] Host
Br i dge
Subsyst em: ASUSTeK Comput er I nc. A7V8X mot her boar d
Fl ags: bus mast er , 66MHz, medi umdevsel , l at ency 0
Memor y at f 8000000 ( 32- bi t , pr ef et chabl e) [ si ze=64M]
Capabi l i t i es: [ 80] AGP ver si on 3. 5
Capabi l i t i es: [ c0] Power Management ver si on 2
Ker nel dr i ver i n use: agpgar t - vi a
00: 01. 0 PCI br i dge: VI A Technol ogi es, I nc. VT8235 PCI Br i dge ( pr og- i f 00 [ Nor mal
decode] )
Fl ags: bus mast er , 66MHz, medi umdevsel , l at ency 0
Bus: pr i mar y=00, secondar y=01, subor di nat e=01, sec- l at ency=0
Memor y behi nd br i dge: f 2000000- f 3ef f f f f
Pr ef et chabl e memor y behi nd br i dge: f 3f 00000- f 7f f f f f f
Capabi l i t i es: [ 80] Power Management ver si on 2
( . . . )
Lembre-se que podemos usar o comando dmesg com | (pipes) para buscar
somente uma determinada informao do hardware como, por exemplo, a placa
de rede do tipo Ethernet (eth0) ou Wireless (wlan0). Veja como poderamos usar o
comando dmesg para esse tipo de pesquisa:
# dmesg | grep eth0
et h0: VI A Rhi ne I I at 0xef 800000, 00: 0c: 6e: 4e: 41: ec, I RQ 23.
et h0: MI I PHY f ound at addr ess 1, st at us 0x7849 adver t i si ng 01e1 Li nk 0000.
et h0: l i nk down
ADDRCONF( NETDEV_UP) : et h0: l i nk i s not r eady
Para mostrar todas as informaes de hardware reconhecidas pelo kernel (a
listagem extensa) usamos o comando dmesg sem nenhum parmetro. A listagem
Tpico 101.1: Identifcao e confgurao de hardware 15
longa, bem detalhada e, acredite, ela vai te ajudar muito no seu dia-a-dia. Porm,
a listagem poder ser diferente daquela da sua mquina:
# dmesg
I ni t i al i zi ng cgr oup subsys cpuset
I ni t i al i zi ng cgr oup subsys cpu
Li nux ver si on 2. 6. 31. 5- 127. f c12. i 686. PAE ( mockbui l d@x86- 3. f edor a. phx. r edhat .
com) ( gcc ver si on 4. 4. 2 20091027 ( Red Hat 4. 4. 2- 7) ( GCC) ) #1 SMP Sat Nov 7
21: 25: 57 EST 2009
KERNEL suppor t ed cpus:
I nt el Genui neI nt el
AMD Aut hent i cAMD
NSC Geode by NSC
Cyr i x Cyr i xI nst ead
Cent aur Cent aur Haul s
Tr ansmet a Genui neTMx86
Tr ansmet a Tr ansmet aCPU
( . . . )
O retorno do comando l shal pode ter mais de duas mil linhas dependendo do seu
hardware. Veja a seguir como buscar informaes sobre o kernel e a placa de rede
no sistema. O sistema detectado tem uma arquitetura do tipo 686 (confrme com o
comando ar ch), e o driver da placa de rede 8139:
# lshal | grep kernel
syst em. ker nel . machi ne = i 686 ( st r i ng)
syst em. ker nel . name = Li nux ( st r i ng)
syst em. ker nel . ver si on = 2. 6. 31. 5- 127. f c12. i 686. PAE ( st r i ng)
syst em. ker nel . ver si on. maj or = 2 ( 0x2) ( i nt )
syst em. ker nel . ver si on. mi cr o = 31 ( 0x1f ) ( i nt )
syst em. ker nel . ver si on. mi nor = 6 ( 0x6) ( i nt )
# lshal | grep 8139
udi = / or g/ f r eedeskt op/ Hal / devi ces/ pci _10ec_8139
i nf o. l i nux. dr i ver = 8139t oo ( st r i ng)
i nf o. pr oduct = RTL- 8139/ 8139C/ 8139C+ ( st r i ng)
i nf o. udi = / or g/ f r eedeskt op/ Hal / devi ces/ pci _10ec_8139 ( st r i ng)
pci . pr oduct = RTL- 8139/ 8139C/ 8139C+ ( st r i ng)
pci . pr oduct _i d = 33081 ( 0x8139) ( i nt )
i nf o. par ent = / or g/ f r eedeskt op/ Hal / devi ces/ pci _10ec_8139 ( st r i ng)
net . or i gi nat i ng_devi ce = / or g/ f r eedeskt op/ Hal / devi ces/ pci _10ec_8139
( st r i ng)
net . physi cal _devi ce = / or g/ f r eedeskt op/ Hal / devi ces/ pci _10ec_8139 ( st r i ng)
Em algumas situaes onde o servidor possui mais de uma interface de rede, o
administrador pode sentir a necessidade de saber qual mdulo de rede do kernel
est ligado a essa interface. Veja a seguir como ele poderia saber que o mdulo
8139too est ligado interface de rede eth0:
# lspci -v -s $(lshal | grep eth0 | head -1 | cut -d -f5 | cut -d/ -f5) |
tail -3 | head -2
Ker nel dr i ver i n use: 8139t oo
Ker nel modul es: 8139t oo, 8139cp
Nota: Troque eth0 por eth1, eth2, eth3 etc para saber qual mdulo est ligado interface de rede do tipo
Ethernet. Essa combinao de comando muito til quando h interfaces de rede na mquina de diferentes
fabricantes.
16 Tpico 101: Arquitetura do Sistema
Endereamento de recursos
O endereamento de recursos d-se pelas IRQs presentes no sistema, as quais na
plataforma Intel PC tm um total de 16 (dezesseis), na faixa de 0-15, sendo que
a IRQ 2 responsvel pelo cascateamento com o segundo controlador. Algumas
podem ser compartilhadas, mas outras so fxas para o sistema como, por exemplo,
a IRQ 0 (fxa) que o Timer do Sistema, a IRQ 1 (fxa) que o teclado e a IRQ 2 (fxa)
que o controlador de interrupo programvel. Essa interrupo interessante,
pois ela serve como ponte para outras IRQs, mais especifcamente as acima de 8
(9..15). As IRQs indisponveis no sistema so:
IRQ 0: Timer do sistema, IRQ 1: Teclado;
IRQ 2: Cascateamento para o segundo controlador, IRQ 6: Unidade de
disquete;
IRQ 8: Relgio do sistema, IRQ 13: Coprocessador matemtico;
IRQ 14: Controlador IDE primrio, IRQ 15: Controlador IDE secundrio.
Como podemos ver, no muito complicado. Tudo questo de memorizao. Por
exemplo, a IRQ 14 usada pela primeira controladora de discos e no pode ser
compartilhada, e a IRQ 15 usada pela segunda controladora a qual no pode ser
compartilhada.
Configurao bsica de dispositivos SCSI
O conhecimento requerido nessa parte estar apto a confgurar dispositivos SCSI
atravs da prpria BIOS ou de utilitrios do sistema Linux. Tambm interessante
saber as diferenas entre os diversos tipos de dispositivos SCSI Small Computer
System Interfaces. O objetivo dos exames inclui a manipulao do BIOS SCSI
para detectar e habilitar as confguraes corretas que sero usadas na hora da
inicializao.
Tabela 101.1.4: Quadro dos endereos dos principais recursos.
Dispositivo I/O Port IRQ DMA
/dev/ttyS0 (COM 1) 0x03f8 4 ---
/dev/ttyS1 (COM 2) 0x02f8 3 ---
/dev/ttyS2 (COM 3) 0x03e8 4 ---
/dev/ttyS3 (COM 4) 0x02e8 3 ---
/dev/lp0 (LPT 1:) 0x378 7 3 (ECP)
/dev/lp0 (LPT 2:) 0x278 5 3 (ECP)
/dev/lp0 (LPT 3:) 0x3bc 7 3 (ECP)
/dev/fd0 e /dev/fd1 (A: e B:) 0x3f0, 0x3f7 6 2
/dev/fd2 e /dev/fd3 0x370, 0x377 10 3
Ethernet (Placa de rede) 0xd0000 10 ---
Sound Card (Placa de som) 0x220, 0x330, 0x388 11 ---
/dev/hda1 (C:) 0x1f0, 0x3f6 14 ---
/dev/hdc (D: ou CDROM) 0x170-0x177, 0x376 15 ---
Nota: Em kernel antigo, de verso anterior a 2.2.x, em vez de ser /dev/ttyS[0-4], a nomenclatura
ser /dev/cua[1-3].
Tpico 101.1: Identifcao e confgurao de hardware 17
A arquitetura SCSI
Dispositivos SCSI podem se comunicar entre si e, geralmente, a comunicao entre
eles muito rpida, a qual pode variar de 5 MB a 320 MB. Os dispositivos SCSI
so dispositivos para armazenamento de dados, os quais podem ser CD-ROM,
DVD-ROM, HD, Fitas Dat, Scanners, Zip/Jaz Drivers etc. Alm da velocidade alta,
podemos ter 8 (oito) dispositivos (incluindo a controladora) por barramento para
uma controladora SCSI 8 bits e 16 (dezesseis) dispositivos (incluindo a controladora)
por barramento para uma controladora SCSI 16 bits.
Para que os dispositivos SCSI funcionem em um sistema Linux, o kernel deve dar
suporte a isso. Felizmente, isso acontece h muito tempo, porm pode acontecer
de ser preciso passar alguns parmetros adicionais para se obter mais desempenho
desses dispositivos.
Estes dispositivos so classifcados em 3 categorias:
SCSI I: Usa um cabo de 25 condutores para a ligao de perifricos. Normalmente
usado em scanners, impressoras e outros dispositivos;
SCSI II: Tambm chamado de Fast SCSI. Usa um cabo de 50 condutores para
a ligao de perifricos. Permite que sejam ligados at 7 perifricos em uma
mesma controladora. o mais comum encontrado hoje em dia;
SCSI III: Tambm chamado de Fast SCSI SE ou LVD. Usa um cabo de 68
condutores para ligao de perifricos. Permite que sejam ligados at 16
perifricos em uma mesma controladora.
importante saber que um cabo SCSI pode ter o comprimento de at cinco metros
de extenso. Os perifricos SCSI so identifcados atravs de nmeros chamados de
identifcador SCSI ou SCSI ID. Estes nmeros vo de 0 a 6 para o padro SCSI II e
de 0 a 15 para o padro SCSI III.
DICA: Para discos SCSI, fitas e CDs nenhum software adicional requerido, uma vez
que o protocolo para esses dispositivos fazem parte do protocolo SCSI. Hoje em dia s
conectar e reiniciar que o sistema Linux reconhece automaticamente.
Dispositivos SCSI
J sabemos que o comando cat / pr oc/ pci mostra os dispositivos PCI e o comando
cat / pr oc/ scsi / scsi mostra todos os dispositivos SCSI que atualmente esto
carregados pelo kernel. Observe que os dispositivos tm um identifcador que o
SCSI ID; e ele tambm aparece nessa listagem. Um ponto importante que bom
sabermos que todos os dispositivos USB so tratados como dispositivos SCSI pelo
sistema Linux.
# cat /proc/scsi/scsi
At t ached devi ces:
Host : scsi 0 Channel : 00 I d: 00 Lun: 00
Vendor : VMwar e, Model : VMwar e Vi r t ual S Rev: 1. 0
Type: Di r ect - Access ANSI SCSI r evi si on: 02
Host : scsi 2 Channel : 00 I d: 00 Lun: 00
Vendor : HL- DT- ST Model : RW/ DVD GCC- 4320B Rev: 1. 00
Type: CD- ROM ANSI SCSI r evi si on: 05
Host : scsi 3 Channel : 00 I d: 00 Lun: 00
Tpico 101.1: Identifcao e confgurao de hardware 19
prpria controladora monitora o estado do disco e disponibiliza um log numa rea
reservada, que pode ser lida pelo sistema operacional.
O comando smar t ct l pode ser usado para extrair um relatrio detalhado sobre o
disco IDE/SCSI presente no sistema. Esse comando pode ser executado em ambos
os tipos de discos IDE (/dev/hd??) e SCSI (/dev/sd??):
# smartctl -i /dev/sda ou smartctl -i /dev/hda I nf or mao r esumi da.
# smartctl -a /dev/sda ou smartctl -a /dev/hda I nf or mao det al hada.
smar t ct l ver si on 5. 38 [ i 386- r edhat - l i nux- gnu] Copyr i ght ( C) 2002- 8 Br uce Al l en
Home page i s ht t p: / / smar t mont ool s. sour cef or ge. net /
=== START OF I NFORMATI ON SECTI ON ===
Model Fami l y: I BM Tr avel st ar 48GH, 30GN, and 15GN f ami l y
Devi ce Model : I C25N010ATDA04- 0
Ser i al Number : 170172M9962
Fi r mwar e Ver si on: DACOA76A
User Capaci t y: 10, 056, 130, 560 byt es
Devi ce i s: I n smar t ct l dat abase [ f or det ai l s use: - P show]
ATA Ver si on i s: 5
ATA St andar d i s: ATA/ ATAPI - 5 T13 1321D r evi si on 3
Local Ti me i s: Tue Aug 6 16: 25: 45 2013 BRT
SMART suppor t i s: Avai l abl e - devi ce has SMART capabi l i t y.
SMART suppor t i s: Enabl ed
( . . . )
Nota: Aqui podemos ver que o suporte ao smart est habilitado, caso no tivesse, usaramos o comando
smar t ct l - s on / dev/ sda, para habilitar nesse tipo de disco.
O parmetro -H exibe um diagnstico rpido da sade do disco, fornecido pela
prpria controladora:
# smartctl -H /dev/sda | grep result
SMART over al l - heal t h sel f - assessment t est r esul t : PASSED
Nota: Em casos de problemas iminentes o resultado ser FAILING. Se isso ocorrer, recomenda-se trocar o
disco o mais rpido possvel.
O comando hdpar mpode ser usado para extrair um relatrio detalhado sobre o
disco IDE/SCSI presente no sistema. Esse comando pode ser executado em ambos
os tipos de discos IDE (/dev/hd??) e SCSI (/dev/sd??). Use esse comando com
cuidado, pois possvel ajustar alguns parmetros do disco, mas se fzer isso errado
poder ter problemas:
# hdparm -I /dev/sda ou hdparm -I /dev/hda
/ dev/ sda:
ATA devi ce, wi t h non- r emovabl e medi a
Model Number : I C25N010ATDA04- 0
Ser i al Number : 170172M9962
Fi r mwar e Revi si on: DACOA76A
St andar ds:
Used: ATA/ ATAPI - 5 T13 1321D r evi si on 3
Suppor t ed: 5 4 3 & some of 6
Conf i gur at i on:
Logi cal max cur r ent
20 Tpico 101: Arquitetura do Sistema
cyl i nder s 16383 16383
heads 16 16
sect or s/ t r ack 63 63
- -
CHS cur r ent addr essabl e sect or s: 16514064
LBA user addr essabl e sect or s: 19640880
Logi cal / Physi cal Sect or si ze: 512 byt es
devi ce si ze wi t h M = 1024*1024: 9590 MByt es
devi ce si ze wi t h M = 1000*1000: 10056 MByt es ( 10 GB)
cache/ buf f er si ze = 347 KByt es ( t ype=Dual Por t Cache)
( . . . )
O comando ainda permite que seja feita uma checagem de performance do disco:
# hdparm -Tt /dev/sda ou hdparm -Tt /dev/hda
/ dev/ sda:
Ti mi ng cached r eads: 174 MB i n 2. 01 seconds = 86. 53 MB/ sec
Ti mi ng buf f er ed di sk r eads: 24 MB i n 3. 09 seconds = 7. 76 MB/ sec
Para uma listagem completa sobre dispositivos SCSI em seu sistema:
# dmesg | grep sd[a-z]
sd 0: 0: 0: 0: [ sda] 19640880 512- byt e l ogi cal bl ocks: ( 10. 0 GB/ 9. 36 Gi B)
sd 0: 0: 0: 0: [ sda] Wr i t e Pr ot ect i s of f
sd 0: 0: 0: 0: [ sda] Mode Sense: 00 3a 00 00
sd 0: 0: 0: 0: [ sda] Wr i t e cache: enabl ed, r ead cache: enabl ed, doesn t suppor t
DPO or FUA
sda: sda1 sda2
sd 0: 0: 0: 0: [ sda] At t ached SCSI di sk
dr acut : Scanni ng devi ces sda2 f or LVM vol ume gr oups
EXT4- f s ( sda1) : bar r i er s enabl ed
kj our nal d2 st ar t i ng: pi d 535, dev sda1: 8, commi t i nt er val 5 seconds
EXT4- f s ( sda1) : i nt er nal j our nal on sda1: 8
EXT4- f s ( sda1) : del ayed al l ocat i on enabl ed
EXT4- f s ( sda1) : mount ed f i l esyst emwi t h or der ed dat a mode
SELi nux: i ni t i al i zed ( dev sda1, t ype ext 4) , uses xat t r
( . . . )
Nota: Essa listagem pode ter sutis diferenas conforme particionamento do disco, sistema de arquivos etc.
NOTA: Os dispositivos SCSI quando ligados na mesma placa recebem um endereamento
nico que podemos chamar de SCSI ID. Esse cdigo de identificao SCSI simples e vai
de 0 (zero) a 7 nas placas que operam a 8 bits e de 0 (zero) a 15 nas placas que operam
a 16 bits. O identificador ID 7 reservado para as prprias placas.
Tabela 101.1.7: Quadro das categorias dos dispositivos SCSI.
Nome Bits Descrio
SCSI 1 8 Transferncia de 5 MB/s, usa um cabo de 50 pinos.
SCSI 2 8 Transferncia de 5 MB/s, usa um cabo de 50 pinos, permite ligao
de at 7 dispositivos na mesma controladora.
Wide SCSI 16 Transferncia de 10 MB/s, usa um cabo de 68 pinos.
Fast SCSI 8 Transferncia de 10 MB/s, usa um cabo de 50 pinos.
Fast Wide 16 Transferncia de 20 MB/s, usa um cabo de 68 pinos (a tecnologia
foi melhorada).
Tpico 101.1: Identifcao e confgurao de hardware 21
Nome Bits Descrio
Ultra SCSI 8 Transferncia de 20 MB/s, usa um cabo de 50 pinos.
Ultra Wide SCSI 16 Transferncia de 40 MB/s, usa um cabo de 68 pinos, permite
ligao de at 16 dispositivos na mesma controladora. Tambm
chamada de SCSI 3.
Ultra SCSI 320 2 x 32 Transferncia de 320 MB/s, usa um cabo de 68 pinos. Taxa bem
alta para transferncias.
Atualmente tem-se um total de 8 (oito) categorias de dispositivos SCSI, sendo que
a parte hardware desses dispositivos no entra no escopo dos exames LPI, mas o
seu conhecimento sim, conforme a descrio. Para enderear um dispositivo SCSI
em particular, o kernel adiciona alguns detalhes ao adaptador:
host <nmero do adaptador>: O adaptador SCSI est em um bus SCSI. O
nmero inicia-se em 0 (zero) e alocado aleatoriamente;
bus <nmero do canal>: Um simples adaptador SCSI pode ter um nmero de
bus SCSI adicionado a ele;
target <nmero ID>: Controladora no bus SCSI sendo endereada;
lun <nmero da unidade lgica>: Controladora com mltiplos dispositivos
sendo endereadas.
Assim como o comando l spci lista os dispositivos PCI, o comando l sscsi lista
os dispositivos SCSI em seu sistema. No diretrio /proc/scsi voc encontrar
informaes sobre SCSI; para isso, use o comando cat / pr oc/ scsi / scsi o qual
lista os dispositivos SCSI.
# cat /proc/scsi/scsi
At t ached devi ces:
Host : scsi 0 Channel : 00 I d: 00 Lun: 00
Vendor : VMwar e, Model : VMwar e Vi r t ual S Rev: 1. 0
Type: Di r ect - Access ANSI SCSI r evi si on: 02
Host : scsi 2 Channel : 00 I d: 00 Lun: 00
Vendor : HL- DT- ST Model : RW/ DVD GCC- 4320B Rev: 1. 00
Type: CD- ROM ANSI SCSI r evi si on: 05
Host : scsi 3 Channel : 00 I d: 00 Lun: 00
Vendor : SMSC Model : USB FDC Rev: 2. 10
Type: Di r ect - Access ANSI SCSI r evi si on: 00
Host : scsi 4 Channel : 00 I d: 00 Lun: 00
Vendor : Sony Model : Sony DSC Rev: 6. 00
Type: Di r ect - Access ANSI SCSI r evi si on: 00

Para listar os diretrios dos dispositivos SCSI:
# ls -l /proc/scsi
t ot al 0
dr - xr - xr - x. 2 r oot r oot 0 2010- 03- 18 15: 00 BusLogi c
- r - - r - - r - - . 1 r oot r oot 0 2010- 03- 18 15: 00 devi ce_i nf o
- r - - r - - r - - . 1 r oot r oot 0 2010- 03- 18 15: 00 scsi
dr - xr - xr - x. 2 r oot r oot 0 2010- 03- 18 15: 00 sg
dr - xr - xr - x. 2 r oot r oot 0 2010- 03- 18 15: 00 usb- st or age
Observe que temos um diretrio para dispositivos USB e temos um de nmero 3.
Para saber que o tal do dispositivo, basta um simples comando cat . E pelo jeito
uma unidade de disquete externa:
22 Tpico 101: Arquitetura do Sistema
# ls -l /proc/scsi/usb-storage/
t ot al 0
- r w- r - - r - - . 1 r oot r oot 0 2010- 03- 18 15: 00 3
# cat / pr oc/ scsi / usb- st or age/ 3
Host scsi 3: usb- st or age
Vendor : Sony
Pr oduct : Sony DSC
Ser i al Number : None
Pr ot ocol : 8070i
Tr anspor t : Cont r ol / Bul k
Qui r ks: SI NGLE_LUN
O kernel do Linux pode tratar dispositivos SCSI de modo transparente, porm,
tome cuidado com alguns dispositivos meio ortodoxos que existem por a. Procure
documentao para poder obter a melhor performance desses tipos de dispositivos.
Os dispositivos SCSI precisam ser carregados pelo kernel se estiverem em forma
de mdulos ou, ento, quando da compilao do kernel, a opo para o dispositivo
deve ser inclusa nele.
Para ver os mdulos (drive) para dispositivos SCSI que esto carregados. Fique
atento quanto localizao desse arquivo, bem como seu nome conforme a
distribuio em uso:
# cat /etc/modprobe.conf
al i as et h0 pcnet 32
al i as scsi _host adapt er mpt spi
al i as scsi _host adapt er 1 l i bat a
al i as scsi _host adapt er 2 at a_pi i x
al i as snd- car d- 0 snd- ens1371
opt i ons snd- car d- 0 i ndex=0
opt i ons snd- ens1371 i ndex=0
( . . . )
Algumas distribuies no usam mais o arquivo /etc/modprobe.conf, mas sim o
diretrio /etc/modprobe.d/ onde se localizam vrios arquivos de mdulos. A ideia
seria descentralizar para fcar mais fcil:
# ls -l /etc/modprobe.d/*
- r w- r - - r - - . 1 r oot r oot 52 2010- 03- 18 15: 00 / et c/ modpr obe. d/ anaconda. conf
- r w- r - - r - - . 1 r oot r oot 845 2010- 03- 18 15: 00 / et c/ modpr obe. d/ bl ackl i st . conf
- r w- r - - r - - . 1 r oot r oot 16 2010- 03- 18 15: 00 / et c/ modpr obe. d/ bl ackl i st - vi sor .
conf
- r w- r - - r - - . 1 r oot r oot 5616 2010- 03- 18 15: 00 / et c/ modpr obe. d/ di st . conf
- r w- r - - r - - . 1 r oot r oot 473 2010- 03- 18 15: 00 / et c/ modpr obe. d/ di st - oss. conf
- r w- r - - r - - . 1 r oot r oot 26 2010- 03- 18 15: 00 / et c/ modpr obe. d/ f l oppy- pnp. conf
NOTA: Os arquivos /etc/conf.modules (kernel 2.2.x), /etc/modules.conf (kernel 2.4.x) e
/etc/modprobe.conf (kernel 2.6.x), possuem apenas leves mudanas em seus nomes, mas
tm o mesmo objetivo que o arquivo que informa ao kernel quais mdulos carregar.
Configurao bsica de placas de expanso
Voc dever estar apto a confgurar alguns tipos de cartes/placas em seu sistema
mediante a identifcao das informaes do seu hardware. Voc dever conhecer
Tpico 101.1: Identifcao e confgurao de hardware 23
a diferena entre cartes PCI e ISA e como confgur-los em seu sistema. Como
objetivo, os exames incluem a correta confgurao pelas IRQs, DMA e portas I/O
dos respectivos cartes, especialmente se houver confito entre eles. Tambm est
incluso o uso do i sapnp se, por exemplo, a placa em questo for um dispositivo ISA
PNP padro. O conhecimento a ser usado aqui muito simples e muito fcil, e j
foram at mesmo comentados e ensinados nesse captulo. Ento, vamos revis-los.
importante saber usar os arquivos de informao os quais podem ser usados
junto com os comandos cat , mor e ou l ess. Os arquivos de informao so:
/proc/dma, /proc/interrupts, /proc/ioports e /proc/pci. Tambm importante
saber usar os comandos de informao direta que so: pnpdump, i sapnp, l spci ,
l susb e l sscsi . Para os exames LPI importante que voc no tenha dvidas
sobre hardware e seus parmetros com (IRQ, DMA e I/O). Entender como funciona
o diretrio /proc e seus arquivos de informao, placas ISA PNP, e como confgurar
e ler a hora do sistema e do hardware.
O que vem a ser uma placa de expanso? Simples, um circuito eletrnico encaixado
na placa me que tem por objetivo adicionar novas funcionalidades ao computador.
Esta placa pode ser uma:
Placa de som: Fornece suporte ao computador para sons, msicas, ligar um
joystick, etc;
Placa de Fax-modem: Fornece suporte ao computador para enviar/receber fax,
conectar-se internet, BBS, acesso remoto, bina, etc;
Placa de rede: Fornece suporte ao computador para permitir a comunicao
com outros computadores em uma rede interna ou na Internet;
Placa controladora de perifricos: Fornece suporte ao computador para ligar
discos rgidos, unidades de disquete, impressora, mouse, joystick, etc;
Placa SCSI: Fornece suporte ao computador para ligar unidades de disco rgidos
e perifricos de alto desempenho;
Placa controladora de scanner: Fornece suporte ao computador para ligar um
scanner externo.
A arquitetura BUS
O BUS , fsicamente falando, um conjunto de condutores paralelos com a funo
de conectar componentes/dispositivos em um computador. Esses componentes
usam o bus para comunicao enviando sinais eltricos de um para outro. Os
componentes que so conectados pelo bus so, por exemplo, a CPU, as memrias
RAM e ROM e os perifricos/dispositivos, como o controlador de interrupo, o
adaptador de vdeo, a interface de disco etc.
Os recursos alocados pelo bus, tanto em PCI quanto ISA, podem ser:
Endereo de entrada e sada (I/O) para um especfco componente como o
endereamento I/O da prpria CPU. Logo j se percebe porque o sistema bus
(I/O) no pode ser compartilhado;
O endereamento de memria para ler e escrever em uma determinada
localizao na memria. A CPU usa esses endereamentos de memria;
As IRQs para quando um dispositivo qualquer precisar de enlaces de tempo
da CPU. O bus inteligente, pois tem o nmero da interrupo o qual habilita o
kernel a saber qual dispositivo causou uma interrupo;
24 Tpico 101: Arquitetura do Sistema
Se dois dispositivos compartilham uma mesma IRQ, pode acontecer de haver
uma requisio ao mesmo tempo e o kernel responder a ambas de acordo com
suas prioridades;
O acesso direto memria (DMA) permite que dispositivos copiem dados
diretamente da memria sem interveno da CPU. Isso permite uma melhoria
na performance, mas no possvel o compartilhamento de canais DMA entre
esses dispositivos.
A identificao BUS
Atravs da numerao bus que j conhecemos possvel saber mais um monte de
informaes, pois dispositivos PCI incluem alguns recursos de identifcao como
parte de sua especifcao. Por exemplo, sabemos que para uma placa de rede
funcionar, ela precisa de um mdulo no sistema Linux, e esse mdulo deve ser lido
pelo kernel. E para pesquisarmos por esse tipo de informao, um dos comandos
mais usados o comando l spci .
O comando lspci tem a seguinte sintaxe:
# lspci [opes]
As opes mais comuns so (para mais informaes use o comando man l spci
ou i nf o l spci ):
-k: Muito til, pois informa que mdulo do kernel est anexado ao dispositivo
PCI;
-m: Exibe informaes com mais detalhes que o simples comando l spci ;
-mm: Semelhante ao -m, porm com mais detalhes ainda;
-n e -nn: Mostra codifcao dos dispositivos e codifcao, mais informaes do
vendedor;
-s e -d: Usado para pesquisas com mais detalhes sobre um dispositivo
especifco;
-v: Modo verboso;
Para saber qual mdulo (driver) do kernel responsvel pelo dispositivo PCI, por
exemplo. Aqui percebemos que o mdulo da interface de rede o pcnet32.
# lspci -k
( . . . )
00: 11. 5 Mul t i medi a audi o cont r ol l er : VI A Technol ogi es, I nc. VT8233/ A/ 8235/ 8237
AC97 Audi o Cont r ol l er ( r ev 50)
Subsyst em: ASUSTeK Comput er I nc. A7V8X- X Mot her boar d
Ker nel dr i ver i n use: VI A 82xx Audi o
Ker nel modul es: snd- vi a82xx
00: 12. 0 Et her net cont r ol l er : VI A Technol ogi es, I nc. VT6102 [ Rhi ne- I I ] ( r ev 74)
Subsyst em: ASUSTeK Comput er I nc. A7V8X- X Mot her boar d
Ker nel dr i ver i n use: via-rhine
Ker nel modul es: via-rhine
01: 00. 0 VGA compat i bl e cont r ol l er : nVi di a Cor por at i on NV18 [ GeFor ce4 MX 440 AGP
8x] ( r ev a2)
Ker nel modul es: nouveau
Os mdulos no sistema Linux terminam em .ko ou .o. Veja como saber onde ele
est, o que nesse caso descobrimos que est em ../../drivers/net:
# locate pcnet32 | egrep .ko$|.o$
/ l i b/ modul es/ 2. 6. 31. 5- 127. f c12. i 686. PAE/ ker nel / dr i ver s/ net / pcnet 32. ko
Tpico 101.1: Identifcao e confgurao de hardware 25
Para saber como essa interface de rede trabalha quando da transmisso/recepo,
basta usar o comando modi nf o com um fltro simples de comando gr ep. Veja:
# modinfo $(locate pcnet32 | egrep .ko$|.o$) | grep plex
par m: f ul l _dupl ex: pcnet 32 f ul l dupl ex set t i ng( s) ( 1) ( ar r ay of i nt
Para o comando anterior, se desejar as informaes tcnicas do dispositivo, basta
retirar o fltro gr ep:
# modinfo $(locate pcnet32 | egrep .ko$|.o$)
f i l ename: / l i b/ modul es/ 2. 6. 31. 5- 127. f c12. i 686. PAE/ ker nel / dr i ver s/ net /
pcnet 32. ko
l i cense: GPL
descr i pt i on: Dr i ver f or PCnet 32 and PCnet PCI based et her car ds
aut hor : Thomas Bogendoer f er
sr cver si on: BE4E52164A7079455A3B16D
al i as: pci : v00001023d00002000sv*sd*bc02sc00i *
al i as: pci : v00001022d00002000sv*sd*bc*sc*i *
al i as: pci : v00001022d00002001sv*sd*bc*sc*i *
depends: mi i
ver magi c: 2. 6. 31. 5- 127. f c12. i 686. PAE SMP mod_unl oad 686
par m: debug: pcnet 32 debug l evel ( i nt )
par m: max_i nt er r upt _wor k: pcnet 32 maxi mumevent s handl ed per i nt er r upt
( i nt )
par m: r x_copybr eak: pcnet 32 copy br eakpoi nt f or copy- onl y- t i ny- f r ames
( i nt )
par m: t x_st ar t _pt : pcnet 32 t r ansmi t st ar t poi nt ( 0- 3) ( i nt )
par m: pcnet 32vl b: pcnet 32 Vesa l ocal bus ( VLB) suppor t ( 0/ 1) ( i nt )
par m: opt i ons: pcnet 32 i ni t i al opt i on set t i ng( s) ( 0- 15) ( ar r ay of
i nt )
par m: f ul l _dupl ex: pcnet 32 f ul l dupl ex set t i ng( s) ( 1) ( ar r ay of i nt )
par m: homepna: pcnet 32 mode f or 79C978 car ds ( 1 f or HomePNA, 0 f or
Et her net , def aul t Et her net ( ar r ay of i nt )
O cdigo do dispositivo de interface de rede 00:12.00 (para esse hardware); e
para saber informaes mais especfcas sobre ele podemos fazer uma pesquisa
direta. Nos exemplos a seguir poderamos usar tambm 12:0:
# lspci -s 12.0 Pesqui sa di r et a semdet al hes.
00: 12. 0 Et her net cont r ol l er : VI A Technol ogi es, I nc. VT6102 [ Rhi ne- I I ] ( r ev 74)
# lspci -s 12.0 -v Pesqui sa di r et a comdet al hes.
00: 12. 0 Et her net cont r ol l er : VI A Technol ogi es, I nc. VT6102 [ Rhi ne- I I ] ( r ev 74)
Subsyst em: ASUSTeK Comput er I nc. A7V8X- X Mot her boar d
Fl ags: bus mast er , st eppi ng, medi umdevsel , l at ency 32, I RQ 23
I / O por t s at a800 [ si ze=256]
Memor y at ef 800000 ( 32- bi t , non- pr ef et chabl e) [ si ze=256]
Capabi l i t i es: [ 40] Power Management ver si on 2
Ker nel dr i ver i n use: vi a- r hi ne
Ker nel modul es: vi a- r hi ne
Usando o comando l spci , podemos consultar informaes dos tipos de mdulos
que o kernel poder trabalhar.
# lspci
00: 00. 0 Host br i dge: VI A Technol ogi es, I nc. VT8377 [ KT400/ KT600 AGP] Host Br i dge
00: 01. 0 PCI br i dge: VI A Technol ogi es, I nc. VT8235 PCI Br i dge
00: 0c. 0 Mul t i medi a audi o cont r ol l er : Ci r r us Logi c Cr yst al CS4281 PCI Audi o ( r ev 01)
26 Tpico 101: Arquitetura do Sistema
00: 0e. 0 Communi cat i on cont r ol l er : Ager e Syst ems V. 92 56K Wi nModem( r ev 02)
00: 10. 0 USB Cont r ol l er : VI A Technol ogi es, I nc. VT82xxxxx UHCI USB 1. 1 Cont r ol l er
( r ev 80)
00: 10. 1 USB Cont r ol l er : VI A Technol ogi es, I nc. VT82xxxxx UHCI USB 1. 1 Cont r ol l er
( r ev 80)
00: 10. 2 USB Cont r ol l er : VI A Technol ogi es, I nc. VT82xxxxx UHCI USB 1. 1 Cont r ol l er
( r ev 80)
00: 10. 3 USB Cont r ol l er : VI A Technol ogi es, I nc. USB 2. 0 ( r ev 82)
00: 11. 0 I SA br i dge: VI A Technol ogi es, I nc. VT8235 I SA Br i dge
00: 11. 1 I DE i nt er f ace: VI A Technol ogi es, I nc. VT82C586A/ B/ VT82C686/ A/ B/ VT823x/
A/ C PI PC Bus Mast er I DE ( r ev 06)
00: 11. 5 Mul t i medi a audi o cont r ol l er : VI A Technol ogi es, I nc. VT8233/ A/ 8235/ 8237
AC97 Audi o Cont r ol l er ( r ev 50)
00: 12. 0 Et her net cont r ol l er : VI A Technol ogi es, I nc. VT6102 [ Rhi ne- I I ] ( r ev 74)
01: 00. 0 VGA compat i bl e cont r ol l er : nVi di a Cor por at i on NV18 [ GeFor ce4 MX 440 AGP
8x] ( r ev a2)
Conseguiu entender at aqui? Bom, e agora? Qual o prximo passo? Use o l spci
- n para sada resumida.
# lspci -n
00: 00. 0 0600: 1106: 3189
00: 01. 0 0604: 1106: b168
00: 0c. 0 0401: 1013: 6005 ( r ev 01)
00: 0e. 0 0780: 11c1: 048c ( r ev 02)
00: 10. 0 0c03: 1106: 3038 ( r ev 80)
00: 10. 1 0c03: 1106: 3038 ( r ev 80)
00: 10. 2 0c03: 1106: 3038 ( r ev 80)
00: 10. 3 0c03: 1106: 3104 ( r ev 82)
00: 11. 0 0601: 1106: 3177
00: 11. 1 0101: 1106: 0571 ( r ev 06)
00: 11. 5 0401: 1106: 3059 ( r ev 50)
00: 12. 0 0200: 1106: 3065 ( r ev 74)
01: 00. 0 0300: 10de: 0181 ( r ev a2)
Para uma listagem resumida, mas com informaes mais teis como o cdigo do
vendedor e dos dispositivos:
# lspci -nn
00: 00. 0 Host br i dge [ 0600] : VI A Technol ogi es, I nc. VT8377 [ KT400/ KT600 AGP] Host
Br i dge [ 1106: 3189]
00: 01. 0 PCI br i dge [ 0604] : VI A Technol ogi es, I nc. VT8235 PCI Br i dge
[ 1106: b168]
00: 0c. 0 Mul t i medi a audi o cont r ol l er [ 0401] : Ci r r us Logi c Cr yst al CS4281 PCI
Audi o [ 1013: 6005] ( r ev 01)
00: 0e. 0 Communi cat i on cont r ol l er [ 0780] : Ager e Syst ems V. 92 56K Wi nModem
[ 11c1: 048c] ( r ev 02)
00: 10. 0 USB Cont r ol l er [ 0c03] : VI A Technol ogi es, I nc. VT82xxxxx UHCI USB 1. 1
Cont r ol l er [ 1106: 3038] ( r ev 80)
00: 10. 1 USB Cont r ol l er [ 0c03] : VI A Technol ogi es, I nc. VT82xxxxx UHCI USB 1. 1
Cont r ol l er [ 1106: 3038] ( r ev 80)
00: 10. 2 USB Cont r ol l er [ 0c03] : VI A Technol ogi es, I nc. VT82xxxxx UHCI USB 1. 1
Cont r ol l er [ 1106: 3038] ( r ev 80)
00: 10. 3 USB Cont r ol l er [ 0c03] : VI A Technol ogi es, I nc. USB 2. 0 [ 1106: 3104] ( r ev
82)
00: 11. 0 I SA br i dge [ 0601] : VI A Technol ogi es, I nc. VT8235 I SA Br i dge [ 1106: 3177]
00: 11. 1 I DE i nt er f ace [ 0101] : VI A Technol ogi es, I nc. VT82C586A/ B/ VT82C686/ A/ B/
VT823x/ A/ C PI PC Bus Mast er I DE [ 1106: 0571] ( r ev 06)
Tpico 101.1: Identifcao e confgurao de hardware 27
00: 11. 5 Mul t i medi a audi o cont r ol l er [ 0401] : VI A Technol ogi es, I nc. VT8233/
A/ 8235/ 8237 AC97 Audi o Cont r ol l er [ 1106: 3059] ( r ev 50)
00: 12. 0 Et her net cont r ol l er [ 0200] : VI A Technol ogi es, I nc. VT6102 [ Rhi ne- I I ]
[ 1106: 3065] ( r ev 74)
01: 00. 0 VGA compat i bl e cont r ol l er [ 0300] : nVi di a Cor por at i on NV18 [ GeFor ce4 MX
440 AGP 8x] [ 10de: 0181] ( r ev a2)
Para uma listagem detalhada de todos os dispositivos, porm, aqui s tem o que
nos interessa no momento:
# lspci -vvv
( . . . )
00: 12. 0 Et her net cont r ol l er : VI A Technol ogi es, I nc. VT6102 [ Rhi ne- I I ] ( r ev 74)
Subsyst em: ASUSTeK Comput er I nc. A7V8X- X Mot her boar d
Cont r ol : I / O+ Mem+ BusMast er + SpecCycl e- MemWI NV+ VGASnoop- Par Er r -
St eppi ng+ SERR- Fast B2B- Di sI NTx-
St at us: Cap+ 66MHz- UDF- Fast B2B- Par Er r - DEVSEL=medi um>TAbor t - <TAbor t -
<MAbor t - >SERR- <PERR- I NTx-
Lat ency: 32 ( 750ns mi n, 2000ns max) , Cache Li ne Si ze: 32 byt es
I nt er r upt : pi n A r out ed t o I RQ 23
Regi on 0: I / O por t s at a800 [ si ze=256]
Regi on 1: Memor y at ef 800000 ( 32- bi t , non- pr ef et chabl e) [ si ze=256]
Capabi l i t i es: [ 40] Power Management ver si on 2
Fl ags: PMECl k- DSI - D1+ D2+ AuxCur r ent =0mA
PME( D0+, D1+, D2+, D3hot +, D3col d+)
St at us: D0 PME- Enabl e- DSel =0 DScal e=0 PME-
Ker nel dr i ver i n use: vi a- r hi ne
Ker nel modul es: vi a- r hi ne
( . . . )
DICA: Os mdulos no sistema Linux possuem a extenso .ko ou .o e, geralmente,
residem dentro do diretrio /lib/modules/verso_do_kernel/kernel/drivers/. Eles
so carregados dinamicamente com os comandos insmod ou modprobe e podem ser
declarados no arquivo /etc/modprobe.conf.
Foi usado aqui como exemplo um carto/placa de rede modelo Pcnet32 como nica
placa de rede. Para que ele seja carregado automaticamente, umas das alternativas
seria usar uma chamada para o carregamento desse mdulo no arquivo /etc/
modprobe.conf. Ento, sua interface era a eth0. Quando estiver mais de uma interface
de rede presente no sistema, a prxima interface eth1, e assim por diante.
O contedo do arquivo modprobe.conf muda conforme o seu hardware e conforme
a distribuio, e em raros casos (antes era comum), o administrador precisar editar
esse arquivos e criar manualmente as entradas para os mdulos (drivers) para o
sistema funcionar adequadamente com determinado tipo de hardware. Veja um
exemplo desse arquivo em uma distribuio Red Hat:
# ls /etc/modprobe.conf
( . . . )
al i as usb- uhci uhci - hcd
al i as usb- ohci ohci - hcd
al i as uhci uhci - hcd

al i as char - maj or - 116- * snd
al i as sound- ser vi ce- *- 0 snd- mi xer - oss
al i as sound- ser vi ce- *- 1 snd- seq- oss
al i as sound- ser vi ce- *- 3 snd- pcm- oss
28 Tpico 101: Arquitetura do Sistema
al i as sound- ser vi ce- *- 8 snd- seq- oss
al i as sound- ser vi ce- *- 12 snd- pcm- oss

i nst al l sound- sl ot - * / sbi n/ modpr obe snd- car d- ${MODPROBE_MODULE##sound[ _- ]
sl ot [ _- ] }

al i as nf s4 nf s
al i as r pc_pi pef s sunr pc
al i as r pc_svc_gss_pi pef s sunr pc

i nst al l et h1394 / bi n/ t r ue
( . . . )
Nota: Dependendo da distribuio e do que foi instalado e o tipo de hardware, esse arquivo apresenta sutis
diferenas.
Algumas distribuies atuais mudaram a ideia desse arquivo, pois agora usam o
diretrio /etc/modprobe.d/ e, dentro dele, os arquivos de mdulos. Dessa forma,
fcou menos centralizado para oferecer um melhor controle:
# ls /etc/modprobe.d/
anaconda. conf bl ackl i st - vi sor . conf di st . conf f l oppy- pnp. conf
bl ackl i st . conf di st - al sa. conf di st - oss. conf openf wwf . conf
Nota: Dependendo da distribuio e do que foi instalado e o tipo de hardware, outros arquivos podero estar
presente nesse diretrio.
Mdulos para placas de rede existem aos milhares para Linux, para carregar via
linha de comando um mdulo para uma placa de rede como o mdulo via-rhine,
por exemplo. Esses comandos carregam o mdulo para a memria e o kernel faz o
devido tratamento. Geralmente, quando usamos o comando i snmod, precisamos
passar o caminho completo, e com o comando modpr obe, apenas o nome do
mdulo:
# insmod /lib/modules/2.6.31.5-127.fc12.i686.PAE/kernel/drivers/net/via-rhine.
ko ou
# modpr obe vi a- r hi ne
Para verifcar via linha de comando se esse mdulo est carregado:
# lsmod | grep rhine
vi a_r hi ne 19872 0
mi i 4028 1 vi a_r hi ne
NOTA: O comando r mmod <mdul o> remove, ou tenta remover, um mdulo da
memria. Tome muito cuidado com ele, pois se voc remover um mdulo errado ter
srios problemas, principalmente se esse mdulo for um mdulo de interface de rede.
Todas as suas conexes de rede estaro seriamente comprometidas.
Quando o mdulo j faz parte da instalao do sistema, tudo funciona a mil
maravilhas; mas e se o mdulo existe, porm no veio com o sistema? Bom, a
precisaremos ler as instrues na pgina do desenvolvedor de como fazer o
procedimento correto. Lembre-se que uma entrada no arquivo /etc/modules.conf
ou /etc/conf. modules ou /etc/modprobe.conf para esse mdulo dever existir, e o
mdulo dever ser copiado em um local padro do sistema para que os comandos
Tpico 101.1: Identifcao e confgurao de hardware 29
de pesquisa e gerao de cache funcionem. S para exemplifcar, usaremos o
mdulo pcnet32.ko, o qual dever ser copiado no local correto.
E na sequncia, execute o comando depmod - va para que seja criado/verifcado o
arquivo /lib/modules/2.6.29.4-167.fc11.i686.PAE/modules.dep se o mdulo mais
novo ou no, e para que ele possa estar ativo no sistema na prxima inicializao.
A funo desse arquivo guardar o caminho para os diversos mdulo do sistema.
Essa listagem para o kernel PAE presente no sistema:
# grep rhine /lib/modules/2.6.29.4-167.fc11.i686.PAE/modules.dep --color
ker nel / dr i ver s/ net / vi a- r hi ne. ko: ker nel / dr i ver s/ net / mi i . ko
Agora, por ltimo (faa a pesquisa anteriormente mostrada para saber como
identifcar o nmero/cdigo do dispositivo PCI), usaremos o comando l spci - s
12. 0 - v que vai listar mais informaes sobre a interface de rede (identifcao
12:0):
# lspci -s 12:0 -v ou lspci -s 00:12.0 -v Pesqui sa di r et a comdet al hes.
00: 12. 0 Et her net cont r ol l er : VI A Technol ogi es, I nc. VT6102 [ Rhi ne- I I ] ( r ev 74)
Subsyst em: ASUSTeK Comput er I nc. A7V8X- X Mot her boar d
Fl ags: bus mast er , st eppi ng, medi umdevsel , l at ency 32, I RQ 23
I / O por t s at a800 [ si ze=256]
Memor y at ef 800000 ( 32- bi t , non- pr ef et chabl e) [ si ze=256]
Capabi l i t i es: [ 40] Power Management ver si on 2
Ker nel dr i ver i n use: vi a- r hi ne
Ker nel modul es: vi a- r hi ne
Nota: Se desejar apenas a linha informativa, retire o parmetro -v.
Se tudo funcionou, poderemos consultar as informaes quando do procedimento
de inicializao atravs do comando dmesg.
# dmesg | grep via-rhine
vi a- r hi ne. c: v1. 10- LK1. 4. 3 2007- 03- 06 Wr i t t en by Donal d Becker
vi a- r hi ne 0000: 00: 12. 0: PCI I NT A - > GSI 23 ( l evel , l ow) - > I RQ 23
Os dispositivos PCI so identifcados por um nico ID como se fosse um endereo
MAC de uma placa de rede. As informaes sobre essa identifcao, dependendo
da distribuio, podem fcar em diretrios um pouco diferentes:
/usr/share/pci.ids: Para uma distribuio SuSE;
/usr/share/hwdata/pci.ids: Para uma distribuio Red Hat ou Debian;
/usr/share/mics/pci.ids: Uma distribuio Debian mais antiga.
Os arquivos anteriores podem ser visualizados com o comando cat , mor e ou l ess,
e o comando updat e- pci i ds faz uma atualizao desses arquivos da internet
baseado na hora atual:
# update-pciids
- - 15: 00: 00- - ht t p: / / pci i ds. sour cef or ge. net / pci . i ds. bz2
=> `/ usr / shar e/ pci . i ds. new
Resol vi ng pci i ds. sour cef or ge. net . . .
Algumas informaes que so necessrias saber so:
O suporte Linux para PCI (Bus ID=00) completo e no precisa de confgurao
manual;
30 Tpico 101: Arquitetura do Sistema
O AGP PCI bus (Bus ID=01) reservado para cartes/placa de vdeo e tem
apenas um slot (encaixe) feito para transferncia de dados entre chip de vdeo e
o PC;
O sistema de endereamento para o bus PCI segue a mesma lgica do
endereamento SCSI: BusNo:SlotNo:FunoNo (Dispositivo No);
O comando l spci usado para listar dispositivos PCI no sistema e tambm
retorna o fabricante a partir do arquivo /usr/share/pci.ids. Se usarmos o
parmetro -n no ser feita a leitura a partir desse arquivo.
A partir do kernel 2.1.82 h mais informaes sobre os dispositivos PCI no
diretrio /proc/pci;
As portas seriais, conhecidas como COM 1, COM 2 etc no sistema Linux, so
referenciadas como ttyS0, ttyS1 etc, e as impressoras paralelas, como lpt1, lpt2,
so referenciadas como lp0, lp1 etc.
Configurao bsica de dispositivos de comunicao
Os conhecimentos para essa parte so praticamente os mesmos usados para a
confgurao do modem, com a diferena que aqui tem mais algumas observaes
importantes. Os mesmos objetivos requisitados para a confguraes do modem
so requisitados aqui e mais alguma complementao sobre protocolos.
Funcionamento de uma conexo PPP
As redes como, por exemplo, a ethernet, frame relay e ATM conectam um nmero
muito grande de computadores entre si, e cada computador conectado nessa rede
pode trocar informaes com diferentes tipos de computadores simultaneamente
sobre a mesma conexo. Uma das formas mais comuns de interconexo a ponto
a ponto (p2p), e um exemplo disso o seu computador conectado ao computador
do seu provedor de acesso. E para esse tipo de conexo h vrios mtodos para
disponibiliz-las:
Modem analgico: Usando uma linha telefnica do computador para o
computador do provedor onde os modems podem conversar entre si, e dessa
conversa passa a existir uma conexo;
Modem ISDN: praticamente a mesma ideia que o modem analgico, porm
aqui o sinal digital;
Modem DSL: Aqui j um pouco mais complexo, pois aproveitamos a mesma
banda de voz para usar dados. Esses modems so sofsticados e podem at
mesmo ter implementaes de Firewall embutida neles.
A funo elementar do modem prover um canal de comunicao em duas direes,
e para isso, pode ser usado um protocolo de comunicao ponto a ponto (point
to point) ou simplesmente PPP, o qual usa protocolos de rede para comunicao.
Quando dois computadores esto interligados usando o protocolo PPP, um processo
executado, o qual informaes so enviadas para o kernel para processamento de
rede.
Modems analgicos
O protocolo PPP em modems analgicos requer autenticao em ambos os lados
da conexo ponto a ponto. Geralmente funciona assim: iniciada uma discagem
Tpico 101.1: Identifcao e confgurao de hardware 31
para o provedor (ISP Internet Solution Provider) e l, ento, o servidor requisita
a autenticao. Se estiver tudo certo, completa-se a conexo e um processo pppd
passa a existir.
Esse tipo de modem geralmente confgurado da seguinte maneira:
Usa uma das portas de comunicao do sistema como, por exemplo, /dev/ttyS0
ou /dev/ttyS1;
Se o modem for WinModem, um mdulo especfco para o kernel dever ser
carregado antes disso. Se for modem interno, dever ser confgurado com o
comando set ser i al ;
Ser necessrio o telefone do provedor para discar;
Um nome de usurio (login) e uma senha (password) vlida;
DICA: Depois que esses requisitos estiverem todos certos, pode-se usar inmeros
programas para configurar parmetros extras do protocolo PPP como o wvdi al , kppp
etc. No entanto, a explicao desses utilitrios est fora do escopo desse material.

H na maioria dos sistemas um script que podemos cham-lo com o comando /
sbin/ifup ppp0 para ativar o link de comunicao. Como seria uma conexo usando
ento o processo pppd? Simples, mas preciso fazer tudo mo. Vamos seguir o
procedimento para ativar um link de comunicao com o provedor: Cria-se um
arquivo texto chamado provedor no diretrio /etc/ppp/peers/. Esse arquivo
vai ser consultado quando executarmos o comando pppd cal l pr ovedor . O
contedo dele :
/ dev/ cua0 38400 cr t sct s / dev/ cua0 pode ser / dev/ t t yS0.
connect " chat / et c/ ppp/ l pi - i sp/ conect ar "
user adi l son
Depois, cria-se um diretrio chamado lpi-isp dentro do diretrio /etc/ppp, e
depois cria-se um arquivo chamado conectar (chamado de chap script) nesse
diretrio com o seguinte contedo:
ABORT " NO CARRI ER"
ABORT " NO DI ALTONE"
ABORT " ERROR"
ABORT " NO ANSWER"
ABORT " BUSY"
ABORT " User name/ Passwor d i ncor r et o. . . "
" " " at "
OK " at &d0&c1"
OK " at dt 11123456789" Tel ef one a ser chamado.
CONNECT
Agora, dependendo do modo de autenticao que vai ser usado, o arquivo /etc/ppp/
chap-secrets ou /etc/ppp/pap-secrets deve conter o nome do usurio e a senha.
Se quiser, pode-se colocar a mesma informao de um em outro. Esses arquivos
apresentaro o seguinte contedo (nome de login e senha):
" adi l son" * " l pi 2010"
Agora s executar o comando pppd cal l pr ovedor . Dependendo de como
est confgurado o syslogd vai ser gerado uma sada de log em /var/log/messages.
32 Tpico 101: Arquitetura do Sistema
Espere pela conexo, e depois navegue vontade. O protocolo CHAP mais seguro
que o PAP porque criptografado, enquanto o outro no.
Modems DSL
Esses modems, que so muito populares, usam uma tcnica chamada PPP sobre
Ethernet, ou pppoe. Nos CDs de sua distribuio instale esse pacote para ter os
utilitrios corretos. Seu funcionamento simples e preciso que a placa de rede
esteja confgurada corretamente, e ento s seguir os passos para ter um link de
comunicao com o provedor.
Dependendo da distribuio a ser usada, cada uma pode trazer seus prprios
utilitrios de confgurao; e aps instalados os pacotes necessrios (geralmente
quase todos) rp-pppoe-gui-[verso], rp-pppoe-server-[verso] e rp-pppoe-
[verso], estar presente tambm alguns scripts de conexo:
adsl-connect, adsl-setup: Usado para conectar e confgurar a autenticao em
uma conta ADSL;
adsl-start: Inicia uma conexo;
adsl-status: Mostra status da conexo;
adsl-stop: Para a conexo.
Em algumas distribuies os comandos todos comeam com adsl; mas cuidado,
pois na maioria das distribuies os comandos iniciam por ppp, sendo os comandos
adsl - st ar t e adsl - st op l i nks para os comandos ppp responsveis. Veja:
# ppp <tab><tab>
pppd pppoe pppoe- di scover y pppoe- ser ver pppoe- sni f f p p p o e -
st at us pppst at s
pppdump pppoe- connect pppoe- r el ay pppoe- set up p p p o e - s t a r t
pppoe- st op ppp- wat ch
# file $(which adsl-start)
/ usr / sbi n/ adsl - st ar t : symbol i c l i nk t o `. . / . . / sbi n/ pppoe- st ar t
# file $(which adsl-stop)
/ usr / sbi n/ adsl - st op: symbol i c l i nk t o `. . / . . / sbi n/ pppoe- st op
Um utilitrio, o t kpppoe, para o modo grfco para o pacote pppoe poder ser
encontrado em http://www.roaringpenguin.com/pppoe, caso sua distribuio no
o tenha.
Configurao bsica de dispositivos USB
Voc dever estar apto a ativar e compreender o suporte a dispositivos USB
Universal Serial Bus em um sistema Linux, o que de certa forma muito simples
de ser feito. Nessa parte vamos aprender como fazer a seleo correta do chipset
USB e os mdulos correspondentes. Tambm vamos ter uma base do modelo de
camada da arquitetura bsica de dispositivos USB. O uso correto dos comandos
para dispositivos USB e a compreenso dos mdulos e utilitrios de acordo com a
verso do kernel.
Tpico 101.1: Identifcao e confgurao de hardware 33
A arquitetura USB
O USB Universal Serial Bus foi concebido com o intuito de facilitar a conexo
de perifricos existentes para computador. Entre eles, esto os dispositivos mais
comuns como teclados, mouses, impressoras e webcams, e placas de rede com fo
ou wireless. Mas espere ver por a muita coisa extica como caixas de som, mini
ventiladores, e, acredite, tem at barbeador e mini lanternas. Estou falando srio!
Cada vez mais popular, o USB uma boa soluo para unifcar e facilitar a adio
de perifricos a um computador.
Atualmente, a deteco e a confgurao de dispositivos USB so feitas
automaticamente atravs do subsistema hotplug e udev. Quando um dispositivo
conectado ao barramento USB da mquina, o prprio kernel o reconhece e
envia uma mensagem ao programa hotplug/udev, que se encarrega de carregar
os mdulos necessrios ao seu funcionamento, bem como executar outras tarefas
como, por exemplo, o acerto de permisses.
Eventualmente, claro, pode haver um dispositivo muito recente que pode no ser
suportado pelo kernel, a voc ter que arregaar as mangas e recompilar o kernel.
Mas felizmente muitos fabricantes tm optado por padres como, por exemplo, o
usb-storage, o que torna o perifrico totalmente suportado. O suporte ao padro
USB em sistemas Linux est presente desde o kernel 2.2.18, mas a partir do
kernel 2.4 que o suporte a esse padro melhorou muito. E a ideia do padro USB
veio como uma mo na roda para todos os tipos de usurios; e quem for do tempo
do kernel 2.0, sabe do que estou falando.
O padro muito fexvel e muito funcional, basta plugar um dispositivo USB (mouse,
cd-rom, scanner, cmera, pendrive, players, teclado, unidades de disquetes e ftas
etc) que o sistema j detecta automaticamente. O barramento USB pode operar em
velocidades baixas de 1,5 MB/s at velocidades altas como 12 MB/s.
A confgurao de dispositivos USB no sistema Linux extremamente simples e
pode ser feito de duas maneiras: a frio e a quente onde:
A frio (coldplug): Conecta-se todos os dispositivos USB, por exemplo, liga-
se o micro, e tudo vai sendo detectado automaticamente. Outros exemplos
de dispositivos coldplug so placas PCI, ISA, e dispositivos IDE e pentes de
memria;
A quente (hotplug): Depois do micro ligado, conecta-se os dispositivos e aguarda-
se um tempo para que o sistema detecte um novo hardware. Seu funcionamento
simples. Assim que um dispositivo conectado ou desconectado, o hotplug
dispara um evento que atualiza os arquivos de dispositivos em /dev (diretrio
de dispositivos) e faz o devido reconhecimento do tipo de dispositivo.
NOTA: No entanto, o padro USB 1.0 tambm evoluiu e, em 1999, foi anunciada a verso
2.0 muito mais rpida que a anterior. O padro USB 1.0 permitia que 127 (cento e vinte
e sete) dispositivos fossem conectados ao mesmo tempo e operava a velocidades de 12
Mbit/s. Porm, na prtica, a velocidade mxima no poderia ultrapassar 8,5 Mbit/s, nem
mesmo sobre as melhores condies. Com a verso 2.0 do padro USB a velocidade
mudou bastante e hoje se trabalha na velocidade de 480 Mbit/s, porm, a tecnologia USB
3.0 (xHCI) promete ser 10 (dez) vezes mais rpida que o USB 2.0.
34 Tpico 101: Arquitetura do Sistema
Para quem ainda no sabe, o padro USB foi desenvolvido em 1994, em conjunto
com a Compac, Intel, NEC e Microsoft, e tinha os seguintes objetivos: a) facilidade
de uso, b) PCs baseados em telefonia devem ser possveis e previstos, e c) portas de
expanso, assim voc no fca limitado ao nmero fsico de portas do computador.
Para ver como foi reconhecido seus dispositivos USB, use o comando:
# dmesg | grep usb | uniq
usbcor e: r egi st er ed new i nt er f ace dr i ver usbf s
usbcor e: r egi st er ed new i nt er f ace dr i ver hub
usbcor e: r egi st er ed new devi ce dr i ver usb
usb usb1: New USB devi ce f ound, i dVendor =1d6b, i dPr oduct =0001
usb usb1: New USB devi ce st r i ngs: Mf r =3, Pr oduct =2, Ser i al Number =1
usb usb1: Pr oduct : OHCI Host Cont r ol l er
usb usb1: Manuf act ur er : Li nux 2. 6. 31. 5- 127. f c12. i 686. PAE ohci _hcd
usb usb1: Ser i al Number : 0000: 00: 01. 2
usb usb1: conf i gur at i on #1 chosen f r om1 choi ce
usb usb2: New USB devi ce f ound, i dVendor =1d6b, i dPr oduct =0001
usb usb2: New USB devi ce st r i ngs: Mf r =3, Pr oduct =2, Ser i al Number =1
usb usb2: Pr oduct : OHCI Host Cont r ol l er
usb usb2: Manuf act ur er : Li nux 2. 6. 31. 5- 127. f c12. i 686. PAE ohci _hcd
usb usb2: Ser i al Number : 0000: 00: 01. 3
usb usb2: conf i gur at i on #1 chosen f r om1 choi ce
usbcor e: r egi st er ed new i nt er f ace dr i ver hi ddev
usbcor e: r egi st er ed new i nt er f ace dr i ver usbhi d
usbhi d: v2. 6: USB HI D cor e dr i ver
usb 1- 1: new l ow speed USB devi ce usi ng ohci _hcd and addr ess 2
usb 1- 1: New USB devi ce f ound, i dVendor =046d, i dPr oduct =c016
usb 1- 1: New USB devi ce st r i ngs: Mf r =1, Pr oduct =2, Ser i al Number =0
usb 1- 1: Pr oduct : Opt i cal USB Mouse
usb 1- 1: Manuf act ur er : Logi t ech
usb 1- 1: conf i gur at i on #1 chosen f r om1 choi ce
i nput : Logi t ech Opt i cal USB Mouse as / devi ces/ pci 0000: 00/ 0000: 00: 01. 2/ usb1/ 1-
1/ 1- 1: 1. 0/ i nput / i nput 2
gener i c- usb 0003: 046D: C016. 0001: i nput , hi dr aw0: USB HI D v1. 10 Mouse [ Logi t ech
Opt i cal USB Mouse] on usb- 0000: 00: 01. 2- 1/ i nput 0
SELi nux: i ni t i al i zed ( dev usbf s, t ype usbf s) , uses genf s_cont ext s
( . . . )
Agora foi anexada uma cmera digital e executado novamente o comando, e no fnal
da listagem j est registrado o reconhecimento desse hardware. Acompanhe:
# dmesg | grep usb | uniq
( . . . )
usbcor e: r egi st er ed new i nt er f ace dr i ver hi ddev
usbcor e: r egi st er ed new i nt er f ace dr i ver usbhi d
usbhi d: v2. 6: USB HI D cor e dr i ver
usb 1- 6: new hi gh speed USB devi ce usi ng ehci _hcd and addr ess 6
usb 4- 2: new f ul l speed USB devi ce usi ng uhci _hcd and addr ess 2
usb 4- 2: not r unni ng at t op speed; connect t o a hi gh speed hub
usb 4- 2: New USB devi ce f ound, i dVendor =054c, i dPr oduct =0010
usb 4- 2: New USB devi ce st r i ngs: Mf r =1, Pr oduct =2, Ser i al Number =0
usb 4- 2: Pr oduct : Sony DSC
usb 4- 2: Manuf act ur er : Sony
usb 4- 2: conf i gur at i on #1 chosen f r om1 choi ce
usbcor e: r egi st er ed new i nt er f ace dr i ver usb- st or age
usb- st or age: devi ce f ound at 2
usb- st or age: wai t i ng f or devi ce t o set t l e bef or e scanni ng
usb- st or age: devi ce scan compl et e
Tpico 101.1: Identifcao e confgurao de hardware 35
Agora identifcamos esse hardware atravs do comando l susb que semelhante
ao l spci . Esse comando l sub possui alguns parmetros de pesquisa:
# lsusb
# l susb
Bus 001 Devi ce 001: I D 1d6b: 0002 Li nux Foundat i on 2. 0 r oot hub
Bus 004 Devi ce 002: I D 054c: 0010 Sony Cor p. DSC- S30/ S70/ S75/ F505V/ F505/ FD92/ W1
Cyber shot / Mavi ca Di gi t al Camer a
Bus 004 Devi ce 001: I D 1d6b: 0001 Li nux Foundat i on 1. 1 r oot hub
Bus 003 Devi ce 001: I D 1d6b: 0001 Li nux Foundat i on 1. 1 r oot hub
Bus 002 Devi ce 001: I D 1d6b: 0001 Li nux Foundat i on 1. 1 r oot hub
Para listar informaes mais detalhadas sobre um dispositivo USB, nesse caso
uma mquina digital da Sony anexada como mass storage (comportamento como
pendrive), poderemos usar o comando l susb - s bus: num- v, assim:
# lsusb -s 002.002 -v
Bus 004 Devi ce 002: I D 054c: 0010 Sony Cor p. DSC- S30/ S70/ S75/ F505V/ F505/ FD92/ W1
Cyber shot / Mavi ca Di gi t al Camer a
Devi ce Descr i pt or :
bLengt h 18
bDescr i pt or Type 1
bcdUSB 2. 00
bDevi ceCl ass 0 ( Def i ned at I nt er f ace l evel )
bDevi ceSubCl ass 0
bDevi cePr ot ocol 0
bMaxPacket Si ze0 64
i dVendor 0x054c Sony Cor p.
i dPr oduct 0x0010 DSC- S30/ S70/ S75/ F505V/ F505/ FD92/ W1 Cyber shot / Mavi ca
Di gi t al Camer a
bcdDevi ce 6. 00
i Manuf act ur er 1 Sony
i Pr oduct 2 Sony DSC
( . . . )
O comando l s - F / pr oc/ bus/ usb/ lista os dispositivos conectados ao sistema,
e nesse diretrio podem ser vistos dois arquivos (devices e drivers). Esses arquivos
contm informaes sobre os dispositivos conectados ao sistema. Experimente
usar o comando cat / pr oc/ bus/ usb/ devi ces ou cat / pr oc/ bus/ usb/
dr i ver s para fazer uma anlise.
# ls -F /proc/bus/usb/
001/ 002/ 003/ 004/ devi ces
Veja como podemos identifcar o hardware da mquina digital. No arquivo devices
estaro presentes todos os dispositivos USB abertos no sistema:
# cat /proc/bus/usb/devices
( . . . )
T: Bus=04 Lev=01 Pr nt =01 Por t =01 Cnt =01 Dev#= 2 Spd=12 MxCh= 0
D: Ver = 2. 00 Cl s=00( >i f c ) Sub=00 Pr ot =00 MxPS=64 #Cf gs= 1
P: Vendor=054c ProdID=0010 Rev= 6.00
S: Manufacturer=Sony
S: Product=Sony DSC
C: * #I f s= 1 Cf g#= 1 At r =c0 MxPwr = 2mA
I : * I f #= 0 Al t = 0 #EPs= 3 Cl s=08( st or . ) Sub=f f Pr ot =01 Dr i ver =usb- st or age
36 Tpico 101: Arquitetura do Sistema
E: Ad=01( O) At r =02( Bul k) MxPS= 64 I vl =0ms
E: Ad=82( I ) At r =02( Bul k) MxPS= 64 I vl =0ms
E: Ad=83( I ) At r =03( I nt . ) MxPS= 8 I vl =255ms
( . . . )
DICA: O diretrio /proc/bus/usb vai apresentar as entradas numeradas (001, 002, 003
...) para cada dispositivo USB no sistema. Assim, para listar o contedo do dispositivo 1,
usamos o comando l s / mnt / usb- st or age/ devi ce- 0/ , por exemplo. A maioria das
distribuies est montada nos dispositivos USB no diretrio /media.
A arquitetura dos mdulos USB
Embora ainda no seja exigido como conhecimento obrigatrio diretamente nos
exames LPI, extremamente importante que saibamos como que o funcionamento
da arquitetura dos mdulos USB, os quais so simples de se entender.
Os principais mdulos USB so:
HID (hid.o) Human Interface Device: Dispositivo para interface humana;
Input Core (input.o): Dispositivos para entradas somente USB;
keyboard (usbkbd.o): Mdulo para teclado;
Mouse (usbmouse.o): Mdulo para mouse;
Joystick (joydev.o): Mdulo para joystick;
Impressora (printer.o): Mdulo para impressora;
Armazenamento (usb-storage.o): Mdulo para dispositivos de armazenamento
como pendrive, foppy, mquina digital, mp3 e etc.
Os mdulos no sistema Linux tm o sufxo .o ou .ko e podem estar em diversos
locais de seu sistema. Geralmente esto em /lib/modules, alguns esto em /sys/
module, e outros esto em /usr/lib etc. Mas os mdulos que nos interessam fcam
em /lib/modules/2.6.29.4-167.fc11.i686.PAE/kernel/drivers/usb/, sendo 2.6.29,
nesse caso, o kernel do sistema. Para as impressoras USB, quando o mdulo
printer.o for carregado, em /dev/usb/lp0 vai ter a respectiva entrada para ela.
Para uma lista completa dos mdulos USB em seu sistema, use o comando fnd,
mas lembre-se que o seu sistema pode ter outros mdulos. Se retirarmos | fmt -w
80, teremos a listagem de um mdulo por linha.
# find /lib/modules/ -iname *usb* -exec basename {} \; | fmt -w 80
usb snd- usb- cai aq. ko snd- usb- l i b. ko snd- usb- usx2y. ko snd- usb- us122l . ko
snd- usb- audi o. ko i 2400m- usb. ko at 76c50x- usb. ko p54usb. ko usb8xxx. ko
ar 9170usb. ko r t 2x00usb. ko r t 73usb. ko r t 2500usb. ko r t 2800usb. ko
l i ber t as_t f _usb. ko i r da- usb. ko usb pl usb. ko usbnet . ko pcwd_usb. ko bf usb. ko
bt usb. ko hf csusb. ko usb_gi gaset . ko i 1480- df u- usb. ko i 2c- t i ny- usb. ko
at 76_usb at 76_usb. ko usbt ouchscr een. ko l i r c_i gor pl ugusb. ko l i r c_mceusb. ko
l i r c_t t usbi r . ko t t usb- budget dvb- t t usb- budget . ko b2c2- f l excop- usb. ko smsusb. ko
dvb- usb dvb- usb- dw2102. ko dvb- usb- gp8psk. ko dvb- usb- m920x. ko dvb- usb- ce6230. ko
dvb- usb- di gi t v. ko dvb- usb- au6610. ko dvb- usb- di busb- common. ko dvb- usb- a800. ko
dvb- usb. ko dvb- usb- vp7045. ko dvb- usb- di b0700. ko dvb- usb- vp702x. ko
dvb- usb- dt v5100. ko dvb- usb- gl 861. ko dvb- usb- ci ner gyT2. ko dvb- usb- umt - 010. ko
dvb- usb- t t usb2. ko dvb- usb- af 9015. ko dvb- usb- di busb- mc. ko dvb- usb- dt t 200u. ko
dvb- usb- oper a. ko dvb- usb- anysee. ko dvb- usb- af 9005. ko dvb- usb- cxusb. ko
dvb- usb- di busb- mb. ko dvb- usb- af 9005- r emot e. ko dvb- usb- nova- t - usb2. ko t t usb- dec
( . . . )
Tpico 101.1: Identifcao e confgurao de hardware 37
Aqui tivemos uma listagem de mais de setenta mdulos para dispositivos USB.
Esses mdulos so os mdulos modernos por apresentarem o sufxo .ko no nome
do arquivo, porm, em kernel 2.2 o sufxo ser .o. O carregamento dinmico
dos mdulos se d quando inserimos dispositivos USB, nesse ponto dois sistemas
estaro disponveis dependendo da verso do kernel em uso:
hot pl ug: USB, PCMCI A e Fi r eWi r e( i eee1394) ;
usbmgr : Ger enci ament o USB apenas par a esses di sposi t i vos. Pr esent e em ker nel
2. 2.
Tipos de drivers e chipset USB
Atualmente h dois tipos ofciais de drivers e um terceiro que compatvel com os
outros dois. Esses drivers so mdulos que podemos carregar no kernel do sistema
devido s duas especifcaes de controladores USB.
usb-ohci.o: o OHCI Open Host Controller Interface (Compaq), que usado
pela Nvidia.
usb-uhci.o: o UHCI Universal Host Controller Interface (Intel) que
padronizado, porm, simples em hardware, mas complexo em software.
Tambm usado nos chipset VIA.
usb-ehci.o: compatvel com os demais. Esse o USB 2.0
Para saber quais mdulos para os tipos de USB foram reconhecidos pelo kernel:
# dmesg | grep hci | uniq | nl
1 ehci _hcd: USB 2. 0 Enhanced Host Cont r ol l er ( EHCI ) Dr i ver
2 ohci _hcd: USB 1. 1 Open Host Cont r ol l er ( OHCI ) Dr i ver
3 ohci _hcd 0000: 00: 01. 2: f ound PCI I NT D - > I RQ 5
4 ohci _hcd 0000: 00: 01. 2: shar i ng I RQ 5 wi t h 0000: 00: 01. 3
5 ohci _hcd 0000: 00: 01. 2: OHCI Host Cont r ol l er
6 ohci _hcd 0000: 00: 01. 2: new USB bus r egi st er ed, assi gned bus number 1
7 ohci _hcd 0000: 00: 01. 2: i r q 5, i o mem0xdf f d0000
8 usb usb1: Manuf act ur er : Li nux 2. 6. 31. 5- 127. f c12. i 686. PAE ohci _hcd
9 ohci _hcd 0000: 00: 01. 3: f ound PCI I NT D - > I RQ 5
10 ohci _hcd 0000: 00: 01. 3: shar i ng I RQ 5 wi t h 0000: 00: 01. 2
11 ohci _hcd 0000: 00: 01. 3: OHCI Host Cont r ol l er
12 ohci _hcd 0000: 00: 01. 3: new USB bus r egi st er ed, assi gned bus number 2
13 ohci _hcd 0000: 00: 01. 3: i r q 5, i o mem0xdf f e0000
14 usb usb2: Manuf act ur er : Li nux 2. 6. 31. 5- 127. f c12. i 686. PAE ohci _hcd
15 uhci _hcd: USB Uni ver sal Host Cont r ol l er I nt er f ace dr i ver
16 usb 1- 1: new l ow speed USB devi ce usi ng ohci _hcd and addr ess 2
Para esse padro USB, seu sistema vai apresentar os seguintes mdulos: ohci.o,
uhci.o e ehci-hcd.o. Para sabermos quais desses mdulos seu sistema est usando
simples:
# lspci -v | grep -i usb
00: 01. 2 USB Cont r ol l er : Si l i con I nt egr at ed Syst ems [ Si S] USB 1. 1 Cont r ol l er ( r ev
07) ( pr og- i f 10 [ OHCI ] )
Subsyst em: Si l i con I nt egr at ed Syst ems [ Si S] USB 1. 1 Cont r ol l er
00: 01. 3 USB Cont r ol l er : Si l i con I nt egr at ed Syst ems [ Si S] USB 1. 1 Cont r ol l er ( r ev
07) ( pr og- i f 10 [ OHCI ] )
Subsyst em: Si l i con I nt egr at ed Syst ems [ Si S] Onboar d USB Cont r ol l er )
38 Tpico 101: Arquitetura do Sistema
Tabela 101.1.8: Quadro dos fabricantes com modelo USB.
OHCI (USB 1.0) UHCI (USB 1.1) EHCI (USB 2.0)
Compac Intel Intel
ALI VIA VIA
NEC --- NEC
Opti Chipset --- Phillips
O padro USB 2.0 (EHCI) tem suporte a partir do kernel 2.4.19, mas no kernel
2.6 que esse suporte est bem completo e melhorado como, por exemplo, alta
velocidade de transferncia. Mas o seu hardware deve ser USB 2.0 para que essa
sincronia seja completa. Para verifcar se seu hardware tem algum suporte a USB
2.0, use o comando l spci - v | gr ep HCI .
Arquivos ligados aos mdulos (ehci, ohci e uhci) fcam nesse caminho:
# ls -F /sys/bus/pci/drivers/ | grep hci
ahci /
ehci _hcd/
ohci _hcd/
uhci _hcd/
Depois da montagem do sistema de arquivos propriamente dita, baseada no
contedo do diretrio /proc/bus/usb, os mdulos usb-ohci ou usb-uhci so
carregados, e cada diretrio numerado (001, 002, 003 etc) equivale a montagem de
um dispositivo USB. E dentro desses diretrios h o respectivo arquivo numrico
no formato binrio.
O sistema Linux usa o arquivo /etc/conf.modules ou o /etc/modules.conf ou, ainda
no caso de um sistema no muito antigo, o /etc/modprobe.conf. Esse arquivo
tem a fnalidade de guardar os mdulos que sero carregados pelo sistema. Ele
consultado pelos programas modpr obe e depmod. Aqui j percebemos que o
sistema est usando OHCI.
# cat /etc/modprobe.conf | grep -i usb
al i as usbdevf s usbcor e
al i as usb ohci - hcd
Os mdulos (drivers) no sistema Linux so arquivos que tem o sufxo .o ou .ko.
Veja esse exemplo:
# find /lib/modules/2.6.31.5-127.fc12.i686.PAE/ -iname "*.ko" -print | grep
audio
/ l i b/ modul es/ 2. 6. 31. 5- 127. f c12. i 686. PAE/ ker nel / sound/ pcmci a/ pdaudi ocf / snd-
pdaudi ocf . ko
/ l i b/ modul es/ 2. 6. 31. 5- 127. f c12. i 686. PAE/ ker nel / sound/ usb/ snd- usb- audi o. ko
/ l i b/ modul es/ 2. 6. 31. 5- 127. f c12. i 686. PAE/ ker nel / sound/ pci / echoaudi o/ snd-
l ayl a20. ko
/ l i b/ modul es/ 2. 6. 31. 5- 127. f c12. i 686. PAE/ ker nel / sound/ pci / echoaudi o/ snd- mona. ko
/ l i b/ modul es/ 2. 6. 31. 5- 127. f c12. i 686. PAE/ ker nel / sound/ pci / echoaudi o/ snd- mi a. ko
/ l i b/ modul es/ 2. 6. 31. 5- 127. f c12. i 686. PAE/ ker nel / sound/ pci / echoaudi o/ snd- i ndi go.
ko
Tpico 101.1: Identifcao e confgurao de hardware 39
/ l i b/ modul es/ 2. 6. 31. 5- 127. f c12. i 686. PAE/ ker nel / sound/ pci / echoaudi o/ snd-
dar l a24. ko
/ l i b/ modul es/ 2. 6. 31. 5- 127. f c12. i 686. PAE/ ker nel / sound/ pci / echoaudi o/ snd-
dar l a20. ko
/ l i b/ modul es/ 2. 6. 31. 5- 127. f c12. i 686. PAE/ ker nel / sound/ pci / echoaudi o/ snd- echo3g.
ko
/ l i b/ modul es/ 2. 6. 31. 5- 127. f c12. i 686. PAE/ ker nel / sound/ pci / echoaudi o/ snd-
i ndi goi o. ko
/ l i b/ modul es/ 2. 6. 31. 5- 127. f c12. i 686. PAE/ ker nel / sound/ pci / echoaudi o/ snd-
i ndi goi ox. ko
( . . . )
Como o padro USB tornou-se muito popular, veja os mdulos para USB
encontrados nos sistemas Linux:
mousedev: Mouse USB e keybdev: Teclado USB;
usb-storage: CD-ROM, HD, ZIP drive, e/ou pen-drives e mquinas fotogrfcas
digitais;
audio: Placas de som USB e joydev: Joystick USB.
Os mdulos ativos para dispositivos USB fcam no arquivo /etc/modules.conf, mas
dependendo da distribuio pode haver uma pequena mudana no nome desse
arquivo, como /etc/modprobe.conf, ou at mesmo uma nova lgica de organizao
de arquivos de mdulos. Portanto, fque atento.
A seguir, veja o exemplo de um arquivo desses com mdulos USB para alguns
dispositivos. Esse arquivo est presente em distribuies mais antigas:
# cat /etc/modules.conf
( . . . )
al i as usb uhci
post - i nst al l uhci modpr obe pr i nt er
post - i nst al l pr i nt er modpr obe j oydev
post - i nst al l j oydev modpr obe hi d
Montagem de dispositivos USB
Como a grande maioria dos dispositivos USB reconhecida automaticamente
no sistema Linux, basta espet-los em uma porta USB que a montagem ser
automtica e ser criado um cone na rea de trabalho do usurio representando
aquele dispositivo. At aqui tudo bem, mas nem sempre assim. E se, por algum
motivo, o dispositivo no for montado automaticamente? E se o objetivo for fazer
um acesso ao dispositivo via shell script? Pois , tem horas que interessante a
montagem automtica, e tem horas que no.
Mas, como proceder? Simples. Entenda que os discos podem ser IDE ou SCSI/
SATA. Sendo assim, para os discos IDE temos a nomenclatura hda, hdb, hdc etc
e para os discos SCSI temos a nomenclatura sda, sdb, sdc etc. E sabendo disso, as
distribuies tratam os dispositivos USB que armazenam dados como um segundo
disco, e as distribuies mais modernas reservam sdb ou sdc para os dispositivos
USB. Ento, se h apenas um disco hda ou das, o dispositivo USB ser reconhecido
como sdb1, mas preciso uma verifcao para ter mais certeza, pois pequenas
mudanas podem ocorrer.
40 Tpico 101: Arquitetura do Sistema
Primeiramente uma pesquisa, e descobrimos que o disco sda tem trs parties:
# dmesg | grep sda
sd 0: 0: 0: 0: [ sda] 156250000 512- byt e har dwar e sect or s: ( 80. 0 GB/ 74. 5 Gi B)
( . . . )
sda: sda1 sda2 sda3
sd 0: 0: 0: 0: [ sda] At t ached SCSI di sk
EXT3 FS on sda2, i nt er nal j our nal
Seguindo essa linha de pensamento, descobrimos que o dispositivo USB foi
reconhecido como sdb1. Esse o procedimento correto para todos os dispositivos
USB, caso eles no sejam detectados automaticamente em modo grfco. E pelo
modo texto usamos essa ideia:
# dmesg | grep sdb
sd 2: 0: 0: 0: [ sdb] 4014080 512- byt e har dwar e sect or s: ( 2. 05 GB/ 1. 91 Gi B)
( . . . )
sd 2: 0: 0: 0: [ sdb] Assumi ng dr i ve cache: wr i t e t hr ough
sdb: sdb1
sd 2: 0: 0: 0: [ sdb] At t ached SCSI r emovabl e di sk
O objetivo de podermos acessar esse dispositivo e sabermos que o nosso disco
principal do tipo sda e que o disco secundrio sdb foi reconhecido. O grande
macete voc entender que esses dispositivos usam armazenamento ou servem
para isso. O padro do sistema de arquivos deles adotado FAT (Windows) ou
VFAT (Linux).
Assim, em nosso exemplo, pela nossa anlise sabemos que sdb1 ser usado para
acessar a mquina digital a qual, nesse caso, possui memria para armazenamento
e funciona como disco. Ento criaremos no diretrio /media um diretrio para esse
dispositivo:
# mkdir /media/sony
E agora as respectivas montagens dos dispositivos (lembrando que eles no esto
montados). Aps isso, o usurio poder gravar seus arquivos normalmente. O
sdb1 foi usado porque esse dispositivo foi reconhecido assim. Proceda de forma
semelhante para outros dispositivos:
# mount -t vfat /dev/sdb1 /media/sony
Agora s usar o dispositivo, mas lembre-se que, se no for mais usar o dispositivo,
ter que desmont-lo, e para isso no poder estar dentro dele. Para desmontar
esses dispositivos use os comandos a seguir:
# umount /media/sony
Tpico 101.1: Identifcao e confgurao de hardware 41
RESUMOS IMPORTANTES PARA O EXAME LPIC1 - 117-102:
Conhecimento chave:
Ativar/desativar perifricos integrados ao sistema.
Configurao do sistema para inicializar sem perifricos externos, como teclados
Diferenciar os vrios tipos de mdias de armazenamento.
Conhecer o identificador (ID) de hardware correto para os diversos tipos de
dispositivos
Conceituar os termos coldplug e hotplug.
Identificar os recursos de hardware de um dispositivo qualquer.
Uso de ferramentas de informao de hardware como lspci, lsdev, lsusb, hwinfo e
afins.
Conhecer ferramentas de manipulao de dispositivos USB.
Conceituar os termos sysfs, udev, hald, dbus e afins.
Os seguintes itens so uma listagem parcial dos arquivos usados, termos e
utilitrios:
/sys, /proc, /dev, modprobe.
lsmod, lspci, lsusb.

Você também pode gostar