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.
Consulte as indicações no final deste documetno, menu sobre hardware e página principal.
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
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
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 - 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
Listar dispositivos USB, modo verbose -v
, resultado expandido.
lsusb -v
Resultado resumido, execute lsusb sem paramentro
lsusb
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
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
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
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
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.
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
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.
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 - 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
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)
Monitorar temperatura da CPU e outras informações, instale e utilize os pacotes:
lmsensors, lm_sensors, ksensors.
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
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