Verificando o hardware e outros. Foi feito especificamente para computadores com mais de 1 GB de memória. Estou treinando shell script e quero melhorá-lo, está com poucas variáveis e pode não funcionar em todas as distros.
Manual: para executar é assim:
$ sudo bash /diretorio/teste_hardware
Changelog:
Versão original publicado em: 26/10/2010
Versão 2 escrito em: dom 18 abr 2021
* Mudança na shebang, agora caso o bash esteja em outro diretório além do "/bin/bash" ele sera encontrado automaticamente.
* Adicionado um cabeçalho.
* Remoção de vários "echo" desnecessários.
* Varias correções de bugs.
* Melhora nos comandos.
* Alguns comandos adicionados.
Changelog: Esse script testa itens de hardware, do sistema operacional, bateria, memória e outros itens. Basta salvar o arquivo sh, dar um "chmod +x" no mesmo e depois executá-lo digitando ./nome_do_arquivo.sh. Uma vez terminado um arquivo txt será criado na mesma pasta onde o arquivo foi salvo/executado, basta abri-lo para ver as informações coletadas.
Melhorias feitas na versão 3:
# Versão 3 escrito em: dom 14 abr 2024
# * Correção na informação da bateria.
# * Agora é detectado automaticamente se é root no dmidecode e se não for apenas emite um aviso e continua execução.
# * Correção de bug na verificação de memória simplificando com o "free -m".
# * Simplificação na detecção de armazenamento.
# * Agora foi adicionado mais detecção sobre a GPU e suas APIs.
# * Adicionado novo recurso de detecção de quando o sistema operacional foi instalado.
# * Adicionado novo recurso de detecção dos monitores.
# * Adicionado suporte a argumentos.
# * Adicionado suporte a verificação do sistema operacional por meio do /etc/os-release.
# * Reestruturação do código para deixar o código mais limpo.
# * Seguido as sugestões do msoliver.
[1] Comentário enviado por albfneto em 26/10/2010 - 17:46h
vou testar seu script em sabayon e gentoo. depois retorno os resulfados.
Resultados. A parte referente a Bateria, não funciona, mas é esperado,pq são desktops que tenho e não notes...
o comando dmidecode, só se for executado como root, ou seja se eu executar o script todo como root.
o espaço de disco e a quantidade de memória, não estão sendo registradas numéricamente
O resto etá funcioando sim.
Sugestões, se quiser, fazer pausas para ele executar um pouco mais lento,e / ou fazer outra versão, uma versão para executar cada teste, apertando uma tecla por ex. com saida no proprio terminal.
Abaixo, este é o conteúdo do arquivo log, após rodar em sabayon linux, 32 bits, em um semprom:
Linux fcfrp62 2.6.28-sabayon #1 SMP Tue Mar 24 11:01:52 UTC 2009 i686 AMD Sempron(tm) 2800+ AuthenticAMD GNU/Linux
Informações sobre capacidade da bateria:
===== Resultado do LSPCI ====
00:00.0 Host bridge: Silicon Integrated Systems [SiS] 741/741GX/M741 Host (rev 03)
00:01.0 PCI bridge: Silicon Integrated Systems [SiS] SiS AGP Port (virtual PCI-to-PCI bridge)
00:02.0 ISA bridge: Silicon Integrated Systems [SiS] SiS963 [MuTIOL Media IO] (rev 25)
00:02.1 SMBus: Silicon Integrated Systems [SiS] SiS961/2 SMBus Controller
00:02.5 IDE interface: Silicon Integrated Systems [SiS] 5513 [IDE]
00:02.7 Multimedia audio controller: Silicon Integrated Systems [SiS] AC'97 Sound Controller (rev a0)
00:03.0 USB Controller: Silicon Integrated Systems [SiS] USB 1.1 Controller (rev 0f)
00:03.1 USB Controller: Silicon Integrated Systems [SiS] USB 1.1 Controller (rev 0f)
00:03.2 USB Controller: Silicon Integrated Systems [SiS] USB 2.0 Controller
00:04.0 Ethernet controller: Silicon Integrated Systems [SiS] SiS900 PCI Fast Ethernet (rev 91)
00:1f.0 VGA compatible controller: Silicon Integrated Systems [SiS] 661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter
01:00.0 VGA compatible controller: nVidia Corporation NV34 [GeForce FX 5500] (rev a1)
===== Resultado do LSUSB ====
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 03f0:8204 Hewlett-Packard Printing Support
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
[5] Comentário enviado por removido em 29/10/2010 - 18:17h
Aline, ótimo script, fiz umas alterações caso lhe interesse.
Como dito pelo Alberto Neto, há a necessidade de rodar o dmidecode como root, então deixei assim:
#Verificando o dmidecode
echo "" >> $HOME/Desktop/log_do_teste.txt
echo "dmidecode:" >> $HOME/Desktop/log_do_teste.txt
echo "" >> $HOME/Desktop/log_do_teste.txt
sudo dmidecode | grep -i product >> $HOME/Desktop/log_do_teste.txt
echo "" >> $HOME/Desktop/log_do_teste.txt
sudo dmidecode --type memory >> $HOME/Desktop/log_do_teste.txt ### Nesse caso é muito detalhado, não sei se é do seu interesse.
Product Name: System Product Name
Product Name: M2N68-AM SE2
# dmidecode 2.9
SMBIOS 2.5 present.
Handle 0x0008, DMI type 5, 20 bytes
Memory Controller Information
Error Detecting Method: 64-bit ECC
Error Correcting Capabilities:
None
Supported Interleave: One-way Interleave
Current Interleave: One-way Interleave
Maximum Memory Module Size: 2048 MB
Maximum Total Memory Size: 4096 MB
Supported Speeds:
70 ns
60 ns
Supported Memory Types:
DIMM
SDRAM
Memory Module Voltage: 3.3 V
Associated Memory Slots: 2
0x0009
0x000A
Enabled Error Correcting Capabilities:
None
Handle 0x0009, DMI type 6, 12 bytes
Memory Module Information
Socket Designation: DIMM0
Bank Connections: 0 1
Current Speed: 30 ns
Type: DIMM
Installed Size: 2048 MB (Double-bank Connection)
Enabled Size: 2048 MB (Double-bank Connection)
Error Status: OK
Handle 0x000A, DMI type 6, 12 bytes
Memory Module Information
Socket Designation: DIMM1
Bank Connections: 2 3
Current Speed: 30 ns
Type: DIMM
Installed Size: 2048 MB (Double-bank Connection)
Enabled Size: 2048 MB (Double-bank Connection)
Error Status: OK
Handle 0x0026, DMI type 16, 15 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: None
Maximum Capacity: 4 GB
Error Information Handle: Not Provided
Number Of Devices: 2
Handle 0x0028, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0026
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 2048 MB
Form Factor: DIMM
Set: None
Locator: DIMM0
Bank Locator: BANK0
Type: DDR2
Type Detail: Synchronous
Speed: 667 MHz (1.5 ns)
Manufacturer: Manufacturer0
Serial Number: SerNum0
Asset Tag: AssetTagNum0
Part Number: PartNum0
Handle 0x002A, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0026
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 2048 MB
Form Factor: DIMM
Set: None
Locator: DIMM1
Bank Locator: BANK1
Type: DDR2
Type Detail: Synchronous
Speed: 667 MHz (1.5 ns)
Manufacturer: Manufacturer1
Serial Number: SerNum1
Asset Tag: AssetTagNum1
Part Number: PartNum1
Modelo do Processador:
model name : AMD Athlon(tm) II X4 630 Processor
model name : AMD Athlon(tm) II X4 630 Processor
model name : AMD Athlon(tm) II X4 630 Processor
model name : AMD Athlon(tm) II X4 630 Processor
Bus 002 Device 003: ID 10d6:1101 Actions Semiconductor Co., Ltd D-Wave 2GB MP4 Player / AK1025 MP3/MP4 Player
Bus 002 Device 002: ID 03f0:4c11 Hewlett-Packard PSC 1500 series
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 004: ID 19d2:0031 ONDA Communication S.p.A. ZTE MF636
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
--- FIM ---
Um abraço e parabéns pelo seu aniversário e por suas contribuições.
[7] Comentário enviado por msoliver em 06/05/2021 - 01:53h
Aguamole,
Tem erro na quantidade de memória....
echo "$(free -m | grep 'Mem' | cut -d" " -f10) MiB"
--------------------------------------------------------------
# Usando o dmidecode para obter informação da MOBO
echo "
Placa mãe....."
dmidecode -t1, refere- se ao "system", 'mainboard' é t2
----------------------------------------------------------------------
Case tudo com um grep:
dmidecode -t 1 | grep 'SMBIOS'; dmidecode -t 1 | grep 'Manufacturer:'; dmidecode -t 1 | grep 'Product Name:'
--------------------------------------------------------------
Bateria, simplifique....
grep -i 'design capacity' </proc/acpi/battery/BAT0/info
grep -i 'last full' </proc/acpi/battery/BAT0/info
rep -i 'model number' </proc/acpi/battery/BAT0/info
=> inxi -B <=
Kernel....
Kernel $(uname -s) $(uname -r).......
uname -sr tem o mesmo efeito.........
Rsrsrsrsrsrs
EOF!
______________________________________________________________________
Att.: Marcelo Oliver
______________________________________________________________________