Identificar hardware e perifericos.

Atualizado em: 23/07/2006



Sobre este documento

Comandos e dicas para identificar hardware e perifericos.

Os comandos e dicas podem não atender as suas necessidades, não ser compatível com sua instalação, use como referencia, tente adaptar ao seu ambiente.

Neste site (FAQ) os arquivos ou diretórios tem o nome associado ao comando, pacote ou serviço do Linux, iniciam com indicação de sites ou tutoriais relacionados ao assunto, quando possivel minhas anotações e linhas de comando que utilizo para copiar e colar, as mensagens novas são acrescentadas no final do arquivo, alguns arquivos são divididos para diminuir o tamanho, consulte também a continuação deles, alguns assuntos tem direretório especifico.

Procure pelo FAQ correspondente ao hardware que deseja configurar, alguns exemplos.

Placa de video.
http://www.zago.eti.br/video.txt

Placa de som.
http://www.zago.eti.br/som.txt

teclado
http://www.zago.eti.br/teclado.txt

Modem discado.
http://www.zago.eti.br/modem/A-menu-modem.html

Consulte as indicações no final deste documetno, menu sobre hardware e página principal.

log do boot - hardware detectado no boot

dmesg

O hardware detectado no boot fica regristrado no arquivo dmesg, a seguir alguns exemplos de comando e filtros.

Exibir todo o log do dmesg, execute dmesg sem parametro algum.

dmesg

Com para por páginas.

dmesg | less

Refinar a pesquisa com grep, exibir somente resultados que contenha hd.

dmesg | grep hd

Em maquinas com devices SCSI, procure por sd

Procurar pela placa de rede (eth)

dmesg | grep -i eth

kernel e CPU

uname

retorna versão do kernel, e outros dados, CPU, versão..., exemplo.

SUSE10 x86_64

  suse64:~ # uname -a
  Linux suse64 2.6.13-15-default #1 Tue Sep 13 14:56:15 UTC 2005 x86_64 x86_64 x86_64 GNU/Linux

SUSE 10 i386

  linux:~ # uname -a
  Linux linux 2.6.13-15-default #1 Tue Sep 13 14:56:15 UTC 2005 i686 athlon i386 GNU/Linux

manual, ver as opções possíveis

man uname

identificar hardware

Algumas distribuições tem ferramentas em ambiente gráfico muito fácil de usar, como exemplos.

SUSE - use o yast em modo texto ou ambiente gráfico. Execute yast e procure pelas opções de hardware, yast é um excelente configurador de hardware e serve também como fonte de informação.

lspci

lspci

lspci - list all PCI devices

execute lspci sem parametro algum

lspci

Aumentar o detalhamento, use o modo verbose, acrescente -v ou -vv

lspci -vv

lspci -v

/sbin/lspci -vv

Filro com grep.

lspci -vv | grep -i audio lspci | grep VGA

Página do manual, man lspci

USB - lsusb

Listar dispositivos USB, modo verbose -v, resultado expandido.

lsusb -v

Resultado resumido, execute lsusb sem paramentro

lsusb

FAQ e dicas sobre USB.
http://www.zago.eti.br/usb.txt

modulos do kernel - modinfo - lsmod

modinfo

modinfo -- program to show information about a Linux Kernel module

Ajuda nas páginas do manual:

  man modinfo
  modinfo --help
  info modinfo

modinfo é instalado pelo pacote

  modutils em kernel da serie 2.4 
  module-init-tools em kernel da serie 2.6
  
  apt-cache search module-init-tools
  module-init-tools - Utilitários para módulos do kernel
  modutils - Utilitários para módulos - kernel 2.4

Conforme a versão do kernel a lista dos modulos fica no arquivo

/etc/modules.conf

ou

/etc/modprobe.conf

Veja também os modulos listado com o comando lsmod, na linha de comando execute sem parametro algum.

lsmod

O comando lsmod lista os modulos, mais informações sobre o modulo, execute modinfo mais o nome do modulo que deseja mais informações, alguns exemplos de comandos:

modinfo 8139too Placa de rede 8139too

modinfo via-rhine Placa de rede via-rhine

modinfo snd-via82xx Placa de som da via 82xx

Veja mais sobre modulos no FAQ:
http://www.zago.eti.br/modulos.txt

resolução do monitor

xdpyinfo informa a resolução do monitor, use o grep para refinar a pesquisa ou execute sem parametro algum:

xdpyinfo

  [zago@faqcl10 zago]$ xdpyinfo | grep dots
    resolution:    75x75 dots per inch

FAQ e mais dicas sobre monitor.
http://www.zago.eti.br/video.txt

pesquisar em /proc

Grande parte da informação sobre o hardware está no /proc use o cat para visualizar estas informações.

cat /proc/pci listar dispoisitvos pci

cat /proc/interrupts irq interruupções.

cat /proc/ioports portas de i/o entradas e saidas

cat /proc/meminfo informações sobre a memoria.

cat /proc/cpuinfo informações sobre a CPU.

ou entre no /proc e com "ls" veja o quem disponivel para consulta

Veja os resultados com more, quando o resultado não cabe na tela, o comando more exibe uma tela por vez, cada toque na barra de espaço pula pra proxima tela, basta trocar o cat nos exemplos acima por more:

more /proc/pci

Algumas dicas para identificar o modelo da MOBO (placa-mãe)

Execute como root esta linha de comando:

cat /proc/acpi/fadt

Segue alguns resultados deste comando no CL10:

  ASUS A7V266-MX retorna:
  FACPô/KM266 AWRDACPI1.0BAWRDÿÀ0ÿ        /@¡ @@ @Z}~2¥ÿÀ0ÿ@@ @
  
  Biostar M7VIG retorna:
  FACPô6BIOSTAAWRDACPI1.0BAWRDÿÀ0ÿ        /@¡ @ð@ @eé}~2¥ÿÀ0ÿ@ð@ @

Testei também em outras distribuições e o resultado é semelhante.

O resultado não parece muito satisfatorio, fiz algumas pesquisas no google com partes dos resultados acima e não localizei nada que identificasse o modelo da placa, talvez exista alguma tabela, caso voce tenha algo, algum link, materia, tabela ou qualquer ajuda sobre isto, por favor, envie pro FAQ, a comunidade agradece. zagolinux@uol.com.br

partições do HD e mknod

fdisk

man fdisk

Veja o que o man informa:

         -l     Lista  a  tabela  de  partições  para  os seguintes dispositivos
                /dev/hd[a-d], /dev/sd[a-h], /dev/ed[a-d], e sai.

Listar todas as partições.

fdisk -l

FAQ e mais indicações sobre partições do HD
http://www.zago.eti.br/particao.txt
http://www.zago.eti.br/hd.txt

mknod

mknod - cria arquivos especiais de bloco ou caracteres

Normalmente o instalador cria os devices, normalmente não precisa se preocupar com isto, o proprio instalador faz a verificação e configuração do hardware, tudo de forma transparente e sem intervenção do usuário. Por acidente podem ser removidos, dependendo do perfil de instalação e selecão de pacotes pode ocorrer algum problema, falta deste pacote, falha em detectar o dispositivo ou outra falha qualquer que não crie os devices corretos.

O que importa é que pra acessar um dispositivo, seja pra monta-lo, ler ou gravar, sempre precisa ter um device, alguns exemplos de device:

Observe os 3 exemplos abaixo, o floppy é acessado diretamente em /dev/fd0, o CDROM tem um link simbolico /dev/cdrom apontando para /dev/hdc

  [root@cl10 root]# ls -la /dev/fd0
  brw-rw----  1 zago floppy 2, 0 1999-12-02 14:33 /dev/fd0
  
  [root@cl10 root]# ls -la /dev/cdrom
  lrwxrwxrwx  1 root root 8 2005-04-17 15:56 /dev/cdrom -> /dev/hdc
  
  [root@cl10 root]# ls -la /dev/hdc
  brw-rw----  1 zago cdrom 22, 0 1998-05-05 17:32 /dev/hdc

Pra criar o device do floppy (/dev/fd0), execute:

mknod /dev/fd0 b 2 0

Mais informações sobre mknod

     man mknod
     mknod --help
     info mknod

mknod vem no pacote coreutils.

hdparm - informações do HD

Resultado no SUSE 10.1

hdparm -i /dev/hda

  /dev/hda:
  
   Model=ST340014A, FwRev=3.06, SerialNo=5JX12L2B
   Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
   RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
   BuffType=unknown, BuffSize=2048kB, MaxMultSect=16, MultSect=16
   CurCHS=65535/1/63, CurSects=4128705, LBA=yes, LBAsects=78165360
   IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}
   PIO modes:  pio0 pio1 pio2 pio3 pio4
   DMA modes:  mdma0 mdma1 mdma2
   UDMA modes: udma0 udma1 *udma2 udma3 udma4 udma5
   AdvancedPM=no WriteCache=enabled
   Drive conforms to: ATA/ATAPI-6 T13 1410D revision 2:  ATA/ATAPI-1 ATA/ATAPI-2 ATA/ATAPI-3 
   ATA/ATAPI-4 ATA/ATAPI-5 ATA/ATAPI-6
  
   * signifies the current active mode

FAQ e mais dicas sobre hdparm
http://www.zago.eti.br/hdparm.txt
http://www.zago.eti.br/hdparm-apostila.txt

cat - auxiliando no diagnostico

Uso do comando cat pra auxiliar no diagnostico.

Mouse

Falha de funcionamento do mouse pode ocorrer por varios motivos, além de defeitos no mouse pode estar desabilitado na BIOS, driver (protocolo) errado e outros problemas, para testar comunicação com o mouse, como root no konsole execute:

cat /dev/psaux

Movimente o mouse, se sair carecteres estranhos na tela é sinal que tem comunicaçao com o mouse e o problema está na configuração, se não sair nada na tela é sinal que não tem comunicação com mouse.

Para encerrar o teste pressione CTRL+C.

Porta serial

usando o cat para testar porta serial,

Use um cabo para ligar as duas portas entre si, ligar uma na outra, quem tem dois micros pode ligar uma serial na serial do outro micro.

como root em um konsole execute.

cat < /dev/ttyS0

No outro konsole ou outro micro exeute diversas vezes.

echo qualquercoisateclevariasletrassdfgçlkjaçlk > /dev/ttyS0

Tente descobrir o device ou vai trocando na tentativa de erro e acerto.

O que for enviando pelo echo deve aparecer no outro konsole.

Este teste vale também para no-breaks ligados na porta serial

como root no konsole, execute cat < /dev/ttyS0

Informe o device onde está conectado o no-break, desligue e ligue o no-break que deve aparecer caracteres no konsole.

Claro que para fazer este teste o micro não pode estar ligado no no-break que vai desligar e ligar.

BIOS - CMOS

Informações e dados da BIOS, instale e procure mais informações sobre o pacote dmidecode

  [root@faqcl10 root]# apt-cache search dmidecode
  dmidecode - Ferramenta para leitura das tabelas DMI, útil para suporte.
  
    man dmidecode
  dmidecode - DMI table decoder
  
  [root@faqcl10 root]# rpm -qif /usr/sbin/demidecode
  erro: arquivo /usr/sbin/demidecode: Arquivo ou diretório não encontrado
  [root@faqcl10 root]# rpm -qif /usr/sbin/dmidecode
  Name        : dmidecode                    Relocations: (not relocatable)
  ---corta---
  Summary     : Ferramenta para leitura das tabelas DMI, útil para suporte.
  Description :
  Ferramenta para leitura das tabelas DMI, útil para suporte. Com ela
  é possível obter informações como:
  - Fabricante e versão da BIOS
  - Fabricante e versão da Placa Mãe
  - Bancos de memória utilizados e seus tipos, etc

hwinfo

hwinfo - obter informações do harware.

Instale o pacote hwinfo.

Resultado da pesquisa no CL10

    apt-cache search hwinfo
  hwinfo-devel - Arquivos de desenvolvimento para libhd (deteção de hardware)
  hwinfo - Utilitários e biblioteca para detecção de hardware

Identificar o monitor e freqüências, como root no terminal digite:

hwinfo --monitor

Veja o resultado de hwinfo --help

  hwinfo --help
  Usage: hwinfo [options]
  Probe for hardware.
    --short        just a short listing
    --log logfile  write info to logfile
    --debug level  set debuglevel
    --dump-db n    dump hardware data base, 0: external, 1: internal
    --hw_item      probe for hw_item
    hw_item is one of:
      cdrom, floppy, disk, network, gfxcard, framebuffer, monitor, camera,
      mouse, joystick, keyboard, chipcard, sound, isdn, modem, storage-ctrl,
      netcard, printer, tv, dvb, scanner, braille, sys, bios, cpu, partition,
      usb-ctrl, usb, pci, isapnp, ide, scsi, bridge, hub, memory, smp,
      all, reallyall
  
    Note: debug info is shown only in the log file. (If you specify a
    log file the debug level is implicitly set to a reasonable value.)

Alguns exemplos de comando e finalidade, execute hwinfo mais o item de hardware listado no resultado no help (hw_item is one of:), exemplo para obter mais informações do HD.

hwinfo --disk

lshw

Procure no seu gerenciador de pacotes por lshw

lshw (resultados no CL10 snapshot)

apt-cache search lshw

lshw - Um utilitário que provê informações detalhadas sobre o hardware.

Gerar página em HTML com informações da maquina, execute:

lshw -html > lshw-p4.html

Este comando gera no diretório local o arquivo lshw-p4.html que pode ser dado qualquer nome a ele, copiar para outra maquina ou abrir local com konqueror ou seu navegador preferido.

Veja o resultado deste comando em um P4, MOBO MSI modelo MS -7008 ver : 1.

http://www.zago.eti.br/hard/lshw-p4.html

    rpm -qif /usr/sbin/lshw
  Name        : lshw                         Relocations: (not relocatable)
  Version     : A.01.05                           Vendor: Conectiva
    ---corta---
  Description :
  lshw (HardWare LiSter) é um utilitário que provém informações detalhadas
  sobre o hardware da máquina. Pode reportar a configuração exata da
  memória, versão do firmware, configuração da placa-mãe, versão do CPU e
  velocidade, cache, velocidade do bus, etc. em sistemas x86 que possuem
  DMI e em alguns PowerPC (funciona no PowerMac G4).
  
  A informação pode ser reportada em texto puro, XML ou HTML.
  
  Atualmente suporta: DMI (apenas x86), OpenFirmware device tree (PowerPC
  only), PCI/AGP, ISA PnP (x86), CPUID (x86), IDE/ATA/ATAPI, PCMCIA
  (somente testado em x86) e SCSI.

Exemplos de comando e help.

lshw --help

lshw -short

SUSE 10.1 - Resultado da pesquisa via smart

smart search lshw lshw - HardWare LiSter lshw-debuginfo - Debug information for package lshw lshw-gui - HardWare LiSter (GUI Frontend)

temperatura e termometro

Monitorar temperatura da CPU e outras informações, instale e utilize os pacotes:

lmsensors, lm_sensors, ksensors.

GKrellM is a single process stack of system monitors which supports applying themes to match its appearance to your window manager, Gtk, or any other theme.
http://web.wt.net/~billw/gkrellm/gkrellm.html

veja também FAQ:
http://www.zago.eti.br/hard/ksensors.txt
Medir temperatura ambiente via circuito ligado na porta serial
Temperature control with Linux
http://www.linuxnetmag.com/en/issue8/m8temperature1.html

Termometro USB Go! temp - tutorial e imagens.
http://lug.oregonstate.edu/wiki/index.cgi?WriteAKernelDriver
http://www.vernier.com/go/gotemp.html

kudzu - detectar e configurar hardware

Conheço esta ferramenta no CL10 e Debian, não encontrei em outras distro, pode estar com outro nome que ainda não identifiquei.

kudzu vem no CL10, excelente ferramenta para detectar e configurar hardware, principalmente quando troca ou instala novo hardware, instale o pacote kudzu.

Sempre que instalar novo hardware, execute kudzu, como root na linha de comando execute kudzu sem parametro algum.

kudzu

  apt-cache search kudzu
  kudzu-devel - Biblioteca de desenvolvimento para o Kudzu
  kudzu - Detector automático de dispositivos
  kudzu-i18n-es - Dados de internacionalizaçao e locales para a língua es
  kudzu-i18n-pt_BR - Dados de internacionalizaçao e locales para a língua pt_BR
  python-kudzu - Biblioteca python de desenvolvimento para o Kudzu

Página do manual.

kudzu --help

man kudzu

kudzu - detects and configures new and/or changed hardware on a system

Mais dicas sobre kudzu
http://www.zago.eti.br/hard/kudzu.txt

sites, pacotes e tutoriais sobre informação do hardware

Cacti
Graficos do hardware na rede, informações gerais sobre o hardware conectado na rede....
http://www.cacti.net/
Compatibilidade e dicas sobre hardware
http://lhd.zdnet.com/
http://lhd.datapower.com/

Comparativos e testes de desempenho
http://www.tomshardware.com/
Mini distro especifica para testes de hardware.
http://www.stresslinux.org/
Linux System Diagnostics (LSD)
Welcome to the Linux System Diagnostics homepage. LSD is an OpenSource package of diagnostics utilities for Linux. Please note that development on the package has just started, and the package only supports the PC (Intel) architecture.
http://ldiag.sourceforge.net/

Dicas sobre pesquisas no Google.

Procurar por driver ou tutorial, procure incluir a identificação do hardware mais o nome da sua distro.

Inventário de hardware

  inventory ~linux
  inventory site:freshmeat.net

Indicações

Página principal sobre hardware
http://www.zago.eti.br/hard/A-menu-hard.html

Página principal deste site (FAQ)
http://www.zago.eti.br/menu.html