Como extrair informações sobre as portas USB no Linux

O GNU/Linux tem várias opções de comandos para obter as mais variadas e detalhadas informações sobre o seu hardware.
Estes comandos e funções são importantes em várias situações, inclusive para montar scripts de instalação que se adaptem às especifidades do hardware.
Neste texto, procuro responder também uma questão que me foi feita, tempos atrás, sobre como determinar a potência em miliamperes das portas USB de um notebook ou como determinar o consumo atual de um dispositivo.
Para responder a esta e outras questões, listei uma série de comandos que você pode dar no terminal para obter dados sobre as portas USB.
Obviamente, há várias outras formas eficientes para obter tais informações no Linux. Estas são apenas algumas.
Se você tem preferência por algum outro método, sinta-se à vontade para explicá-lo na seção de comentários.

O comando lsusb

O primeiro comando que vamos abordar é um que foi feito para resolver este problema.
Ele pode oferecer mais informações se for executado com privilégios administrativos.
Na sua forma básica, ele oferece informações sobre as portas e sobre os firmwares dos dispositivos conectados.


lsusb 

Bus 004 Device 003: ID 8087:07da Intel Corp. 
Bus 004 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 003: ID 2232:1035  
Bus 003 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Para obter uma riqueza maior de detalhes, use a opção ‘-v’ ou ‘–verbose’:


sudo lsusb --verbose

Use o comando grep para filtrar as informações a um determinado dispositivo.
No exemplo abaixo, segue as informações referentes ao dongle USB do teclado/mouse:


sudo lsusb --verbose | grep -i Dell

Bus 001 Device 003: ID 413c:2501 Dell Computer Corp. 
  idVendor           0x413c Dell Computer Corp.
  iManufacturer           1 Dell
  iProduct                2 Dell KM632 Wireless Keyboard and Mouse

Se você conectar um smartphone ao USB, pode usar o mesmo artifício para encontrar informações sobre ele:


sudo lsusb --verbose | grep -i moto

Bus 001 Device 005: ID 22b8:2e83 Motorola PCS 
  idVendor           0x22b8 Motorola PCS
  iManufacturer           1 motorola
  iProduct                2 MotoG3

Note, no exemplo acima, a primeira linha traz informações sobre o Bus e o número do Device. Veja como exibir informações completas sobre este dispositivo especificamente:


sudo lsusb -v -s 001:005

Bus 001 Device 005: ID 22b8:2e83 Motorola PCS 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x22b8 Motorola PCS
  idProduct          0x2e83 
  bcdDevice           ff.ff
  iManufacturer           1 motorola
  iProduct                2 MotoG3
  iSerial                 3 0016903665
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           39
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass         6 Imaging
      bInterfaceSubClass      1 Still Image Capture
      bInterfaceProtocol      1 Picture Transfer Protocol (PIMA 15470)
      iInterface              5 PTP
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x001c  1x 28 bytes
        bInterval               6
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0000
  (Bus Powered)

Note que, na linha 26, em destaque na listagem acima, encontra-se a informação sobre a capacidade máxima de energização desta porta USB: 500mA.

Como determinar o consumo de energia de um dispositivo USB com o comando lsusb

Uma outra forma de responder especificamente a esta questão é filtrar os resultados do comando com o egrep (o grep também pode ser usado).
Veja um exemplo:


sudo lsusb -v | egrep "^Bus|MaxPower"

### repare no consumo (em miliamperes) dos 3 dispositivos conectados ao meu notebook: HD externo, smartphone Samsung Galaxy ACE II e um dongle para teclado e mouse.
Bus 004 Device 003: ID 8087:07da Intel Corp. 
    MaxPower                0mA
Bus 004 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
    MaxPower                0mA
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    MaxPower                0mA
Bus 003 Device 003: ID 2232:1035  
    MaxPower              500mA
Bus 003 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
    MaxPower                0mA
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    MaxPower                0mA
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    MaxPower                0mA
Bus 001 Device 034: ID 152d:2509 JMicron Technology Corp. / JMicron USA Technology Corp. JMS539 SuperSpeed SATA II 3.0G Bridge
    MaxPower                2mA
Bus 001 Device 036: ID 04e8:6860 Samsung Electronics Co., Ltd GT-I9100 Phone [Galaxy S II], GT-I9300 Phone [Galaxy S III], GT-P7500 [Galaxy Tab 10.1]
    MaxPower              500mA
Bus 001 Device 028: ID 413c:2501 Dell Computer Corp. 
    MaxPower              100mA
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    MaxPower                0mA

O comando usb-devices

Você pode usar o comando usb-devices, combinado ao grep, para obter informações mais compactas sobre o dispositivo Motorola (no meu caso):


usb-devices | grep -A 5 -i motorola

### Como você pode ver, esta é uma forma de obter fácil o número de série de um smartphone:

S:  Manufacturer=motorola
S:  Product=MotoG3
S:  SerialNumber=0016903665
C:  #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=00 Driver=(none)

Como obter informações com o usbview

O aplicativo gráfico usbview fornece as informações sobre as portas USB e os dispositivos conectados, organizadas em árvore.
Pode ser uma opção interessante para quem não se dá muito bem com a linha de comando. Veja a figura.
Informações sobre o motorola moto g3

Monitoramento das portas USB

O comando udevadm pode ser usado para manter um monitoramento constante das portas USB no seu sistema.
Sempre que houver uma ocorrência, ela será mostrada na tela.


udevadm monitor path /dev/usb/hiddev0

### No exemplo, abaixo, a saída do udevadm ao conectar um drive USB:

KERNEL[13527.084590] add      /devices/pci0000:00/0000:00:14.0/usb1/1-4 (usb)
KERNEL[13527.084830] add      /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0 (usb)
KERNEL[13527.085322] add      /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0/host7 (scsi)
KERNEL[13527.085411] add      /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0/host7/scsi_host/host7 (scsi_host)
UDEV  [13527.089506] add      /devices/pci0000:00/0000:00:14.0/usb1/1-4 (usb)
UDEV  [13527.095055] add      /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0 (usb)
UDEV  [13527.098276] add      /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0/host7 (scsi)
UDEV  [13527.098351] add      /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0/host7/scsi_host/host7 (scsi_host)

...

O udev é o gerenciamento dinâmico de dispositivos do Linux.
Ele supre os softwares do sistema com informações sobre eventos, cuida das permissões dos nós dos dispositivos e pode criar symlinks adicionais ao diretório /dev.
(Manual do udev)

udev – Linux dynamic device management
O daemon do udev, o systemd-udevd.service, recebe os uevents dos dispositivos diretamente do kernel, a cada vez que um é adicionado ou removido no sistema, ou quando seu estado se altera.

O comando dmesg

Por último e não menos importante, o comando dmesg também pode ser usado para buscar informações sobre as portas e dispositivos USB no seu sistema:


dmesg | grep USB

Como sempre, se você souber o que estão procurando, o uso do comando grep ajuda a filtrar as informações, para obter apenas o que te interessa.
Divirta-se!

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Comandos Linux que ajudam a determinar se o sistema é 32 ou 64 bits

É possível determinar a arquitetura do seu sistema com 2 ou 3 cliques na tela, dependendo da versão do desktop gráfico que você estiver usando.
Neste artigo, vou mostrar como obter esta informação na linha de comando. O motivo disto é que esta informação poderá ser aplicada em qualquer sistema Linux, independente da sua versão ou tipo de ambiente gráfico que estiver sendo usado.

Intel Pentium M 1.4 Ghz Banias Core
Clique para detalhes.

Alguns destes comandos, podem ser aplicados, até mesmo, em um emulador de terminal de um celular ou tablet Android.

Saber extrair informações sobre a arquitetura do sistema é muito útil no momento de instalar ou compilar um novo software que vem empacotado para diversas arquiteturas — 32 bits, arm, 64 bits etc.

Saiba como verificar se o seu dispositivo Android é 32 ou 64 bit.

Como usar o comando uname para saber se o sistema é 32 bits ou 64 bits

A saída do comando UNAME varia intensamente de acordo com a arquitetura e a plataforma de hardware/software usada.
Uma das formas mais eficientes de usar o comando uname é em conjunto com o comando grep.
Se você usar o parâmetro -a, o uname irá exibir todas as informações que tiver sobre a máquina. Veja um exemplo:


uname -a

Linux VoYag3r 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:12 UTC 2014 i686 i686 i686 GNU/Linux

No exemplo, acima, vê-se uma saída típica de uma máquina 32 bits (note a string i686):
Abaixo, segue um exemplo do resultado do comando uname -a, em uma máquina de arquitetura 64 bits.

Linux caddy.stratOS.com 2.6.9-5.0.5.EL #1 SMP Tue Jul 15 03:55:02 UTC 2014 ia64 ia64 ia64 GNU/Linux

A string ia64 — abreviatura para Intel Architecture 64 – indica que o processador é 64 bits.
Você também pode reduzir a quantidade de informações, para obter apenas a arquitetura da máquina, assim:


uname -m

i686

Use o conteúdo do /proc/cpuinfo

Há várias informações úteis sobre a sua CPU, neste arquivo.
Determinar a arquitetura da sua máquina, a partir do /proc/cpuinfo pode exigir um pouco mais de conhecimento.
Use o comando grep para filtrar as informações — neste momento, só interessa o que se encontra no item flags da saída do comando. Veja:


cat /proc/cpuinfo | grep flags

Procure na sua listagem o flag lm — abreviatura para longmode. Este item indica suporte a 64 bits.

cpuinfo informações sobre a arquitetura do pc no linux
Clique para ver detalhes.

Use o comando file para descobrir a arquitetura

Determine o tipo de arquivo do init, assim:


file -e elf /sbin/init | grep -i bit

A primeira linha, do resultado do comando, tende a mostrar se a sua máquina é 32 ou 64 bits.
A figura, abaixo, mostra um exemplo da saída do comando.

Captura de tela da saída do comando file
Clique para ver detalhes.

Use o comando arch

O comando arch retorna a mesma saída de dados e informações que o uname -m.
Esta é, talvez, a maneira mais direta de obter informações sobre a arquitetura do seu sistema. Veja:


arch

ia64

Use o lshw

Este método pode apresentar resultados bem interessantes, mas tem alguns pontos chatos negativos:

  • A grande quantidade de informações, disponibilizada pelo comando lshw, pode levar à desinformação, em vez de te fornecer dados mais precisos
  • Por exibir um fluxo muito grande de informações e inquirir cada peça do seu hardware, o comando é lento
  • Precisa ser executado com privilégios administrativos ou a listagem pode ficar incompleta — uma vez que os usuários comuns não têm acesso às informações e aos recursos de todos os dispositivos do sistema

Ainda assim, eu te encorajo a fazer alguns testes, para ver qual deles lhe retorna resultados mais relevantes.
Para aumentar a velocidade da listagem, direcione o resultado para um arquivo texto, assim:


sudo lshw > lshw.txt

Em seguida filtre as informações do arquivo lshw.txt, com o comando grep. Veja um exemplo:


cat lshw.txt | grep -A 5 "logicalcpu"

 *-logicalcpu:0
             descrição: CPU lógico
             ID físico: 0.1
             largura: 32 bits
             capacidades: logical
*-logicalcpu:1
             descrição: CPU lógico
             ID físico: 0.2
             largura: 32 bits
             capacidades: logical[/plain]

ou assim:


sudo lshw -class processor

*-cpu                   
       product: Intel(R) Core(TM) i5-2537M CPU @ 1.40GHz
       vendor: Intel Corp.
       physical id: 1
       bus info: cpu@0
       size: 1548MHz
       capacity: 2300MHz
       width: 64 bits
       capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp x86-64 constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer xsave avx lahf_lm ida arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid xsaveopt cpufreq[/plain]

É preciso ser cuidadoso com a interpretação do comando lshw por que, mesmo em sistemas 32 bits, é possível ter vários componentes 64 bits (e vice-versa), como placas PCI etc.

Use o getconf

A função do getconf é inquirir sobre as variáveis do sistema. Uma destas variáveis é a LONG_BIT, que dá informações precisas sobre a arquitetura do seu sistema.
Observe:


getconf LONG_BIT

64

Conclusão

O objetivo do artigo é, além de apresentar uma solução para um problema comum a muitos usuários, mostrar alguns comandos Linux e como podem ser úteis ao caso.
Espero que você tenha se divertido tanto quanto eu e, se quiser, compartilhe o artigo com seus amigos nas redes sociais.
Se você prefere usar outras formas para detectar a arquitetura do seu sistema, fique à vontade para escrever nos comentários — assim, você pode ser útil a outros leitores.

LEIA MAIS

Como verificar e consertar seu sistema de arquivos no Ubuntu

O sistema de arquivos do seu HD pode ter problemas, pelas mais variadas razões. Este artigo é sobre como checar e, se houver erros, corrigi-los, com o comando fsck.
Uma situação típica, em que podem ocorrer, não somente perda de dados, mas danos ao seu sistema de arquivos é a situação de falta de energia.
Você reinicia o sistema e ele pára, pedindo para que você faça o reparo manualmente do seu sistema de arquivos.

Como usar o fsck para reparar o sistema de arquivos

O fsck (file system consistency check — verificação da consistência do sistema de arquivos) é um programa usada para encontrar erros no sistema de arquivos e corrigi-los.
Enquanto ferramenta de manutenção da integridade dos seus dados, é bom usá-la com frequência – especialmente em caso de o seu sistema ser desligado de forma irregular.
Para usar o fsck, em um ambiente seguro, tal como vou descrever aqui, você precisará ter privilégios administrativos.
O comando pode ser executado, como root, sozinho:

fsck

Nestas condições, ele irá perscrutar todas as partições descritas em /etc/fstab.
O modo certo de usar o fsck, contudo, é no Runlevel 1, o modo monousuário. Neste runlevel, o seu PC pode se tornar indisponível para o ambiente gráfico – é o equivalente ao modo de segurança no Windows.
Para reiniciar o sistema no runlevel 1, execute o seguinte comando:

init 1

em, seguida, desmonte a partição em que o fsck será executado.
Se quiser obter uma lista das partições que se encontram montadas e onde estão montadas no seu sistema, use o comando:

cat /etc/mtab

ou para saber exatamente onde está montada a sua partição /home:

cat /etc/mtab | grep home
/dev/sda3 /home ext3 rw 0 0

(vou usar a partição /dev/sda3, neste exemplo):

umount /dev/sda3

ou pelo seu nome:

umount /home

Agora execute o fsck:

fsck /dev/sda3

Se preferir não ter que responder a todas as perguntas feitas pelo fsck, use o modo -y. Assim, o fsck executará a verificação e aplicará as correções necessárias, sem te importunar com questões técnicas:

fsck -y /dev/sda3

Se houver arquivos danificados e estes forem recuperados pelo fsck, ele os guardará no diretório /home/lost+found
Ao terminar o processo, você pode reiniciar o computador ou apenas montar de volta a partição desmontada:

mount /home

E volte ao runlevel multiusuário:

init 2

Simples, assim.

LEIA TAMBÉM

Como obter informações do hardware no Linux, com o dmidecode

Vou mostrar como usar o dmidecode – um dos comandos Linux que permitem ver maiores detalhes do seu equipamento. Por estar na categoria de detecção de hardware, é muito útil no suporte técnico e dentro de scripts de instalação.
Por ter uma saída um tanto extensa, pode ser bom combiná-lo com outros comandos, como o less ou o grep.

Outro detalhe importante sobre ele é que – uma vez que ele faz a leitura de arquivos sensíveis, cujo acesso é privilegiado. Portanto, é necessário ser administrador do sistema (superusuário) para usar.

Onde baixar o dmidecode

Quem usa Windows ou Mac, pode fazer o download aqui. Usuários do Linux, provavelmente já o têm instalado em seus sistemas.

As informações obtidas com o dmidecode são confiáveis?

Quem me acompanha neste site, sabe que gosto de passar um pouco mais de teoria para os leitores leitor, no sentido de melhorar a compreensão geral do assunto.

Se preferir, contudo, sinta-se livre para pular as partes cujo conteúdo você já conheça e vá direto ao conteúdo prático, um pouco mais embaixo.

Em um de seus artigos, Joe Barr chama a atenção pro fato de que o dmidecode exibe as informações que obtém do BIOS, em um relatório — mas é o BIOS que, frequentemente não é confiável ao oferecer informações sobre o sistema. Em outras palavras, O BIOS mente sobre o seu hardware. No caso relatado, o BIOS informava falsamente a presença de suporte ao APM (Advanced Power Management ou Gestão Avançada de Energia) em uma máquina, o que impedia a inicialização de uma das versões do Red Hat Linux. Se estiver curioso, o problema foi solucionado quando o usuário desligou as opções APM — neste caso, o Linux segue em frente, usando os próprios recursos de gestão.

A página da Debian, onde são dados detalhes do pacote dmidecode, há um alerta para a pouca confiabilidade dos dados DMI ou SMBIOS.

Então, só para ficar claro: não é o dmidecode que tem problemas.
São os dados oriundos do seu BIOS que podem não ser verídicos. O programa só repassa a informação que recebeu de lá.

Usos comuns do dmidecode

Um dos usos é verificar informações como a capacidade máxima de memória suportada pelo sistema. Há, pelo menos, 43 tipos de DMIs sobre os quais o programa pode apresentar informações.
As opções mais comuns são:

  • --type ou -t — exibe informações sobre um dos tipos de DMI
  • --string ou -s — restringe as informações exibidas a uma determinada string

Para obter informações básicas sobre o BIOS, digite o comando:


sudo dmidecode --type 0

# dmidecode 2.12
SMBIOS 2.4 present.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
    Vendor: INSYDE
    Version: IA-M10.1D
    Release Date: 04/18/2008
    ROM Size: 1024 kB
    Characteristics:
        PCI is supported
        BIOS is upgradeable
        BIOS shadowing is allowed
        Boot from CD is supported
        Selectable boot is supported
        BIOS ROM is socketed
        EDD is supported
        ACPI is supported
        USB legacy is supported
        Targeted content distribution is supported

Dentro deste mesmo exemplo, caso você queira obter apenas os dados referentes ao fabricante, use o seguinte comando:


sudo dmidecode -s bios-vendor

INSYDE

Para obter informações sobre o processador:


sudo dmidecode -t 4 | grep -i version

Version: Intel(R) Atom(TM) CPU N270   @ 1.60GHz

Você pode obter muito mais informações do BIOS sobre o processador se usar o comando assim:


sudo dmidecode -t processor

Enfim, use o manual do comando para obter maiores informações sobre o seu uso: ‘man dmidecode’.

Espero ter contribuído com dados úteis para você. Lembre-se que a melhor forma de agradecer é compartilhar a informação com seus amigos. Divirta-se!

LEIA MAIS

Use o dmidecode para saber a capacidade máxima de memória suportada pelo seu hardware

Como obter informações sobre tipo e quantidade de memória presente em um computador?
O dmidecode pode responder a estas perguntas e a outras — como a quantidade máxima de memória possível, atualmente, no seu hardware, ou a quantidade de slots presentes (vazios e ocupados) etc.

Pretende aumentar a capacidade de memória do laptop? Então estas informações são necessárias — e este utilitário o dispensa de ter que passar pelo complicado processo de abrir o equipamento para obtê-las.

Pilha de pentes de memória RAM

O dmidecode ajuda a determinar a velocidade e o tipo de memória presente no seu sistema. Assim, você já chega ao vendedor com a informação exata do que vai precisar.

O dmidecode não vem com o Windows, mas dá para fazer download dele (inclusive para outros sistemas operacionais) no site oficial.

Como usar o dmidecode

Por ler arquivos sensíveis do sistema, o dmidecode precisa ser executado com privilégios de administrador (no Linux).

O comando que segue mostra a quantidade máxima de memória suportada e o número de slots disponíveis para encaixar pentes de memória RAM, no seu sistema, entre outras coisas.
Observe as duas linhas em destaque:


sudo dmidecode -t 16

# dmidecode 2.12
SMBIOS 2.4 present.

Handle 0x0015, 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

As linhas destacadas mostram a capacidade máxima (maximum capacity) e o número de slots disponíveis (number of devices).

Fazendo uso do comando grep, você pode reduzir a quantidade de informação ao que é essencial – o que pode ser útil, se você estiver inserindo o dmidecode em um script:


sudo dmidecode -t 16 | grep Maximum

    Maximum Capacity: 4 GB

Opções de memórias RAM

Mais informação da memória do seu sistema com o dmidecode

Consultando o manual – man dmidecode – é possível aprender mais sobre como inquirir o sistema.

Veja como obter a quantidade atual de memória presente no hardware, o tipo e o clock dos pentes de memória (em destaque):


sudo dmidecode -t 17

# dmidecode 2.12
SMBIOS 2.4 present.

Handle 0x0017, DMI type 17, 27 bytes
Memory Device
    Array Handle: 0x0015
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 2048 MB
    Form Factor: DIMM
    Set: None
    Locator: J2
    Bank Locator: CHAN A DIMM 0
    Type: DDR2
    Type Detail: Synchronous
    Speed: 533 MHz
    Manufacturer: 0x7F94000000000000
    Serial Number: 0xB0AB0300
    Asset Tag: Unknown
    Part Number: 0x53473536343536384647384E574B46535152

O manual descreve os tipos 5, 6, 16 e 17 como tipos de informação acerca da memória.

  • 5memory controller ou controlador de memória.
  • 6memory module ou módulo de memória.
  • 16physcial memory array ou array físico de memória.
  • 17memory device ou dispositivo de memória.

Você pode inquirir o sistema sobre qualquer uma destas informações ou sobre todas de uma vez. Veja:


sudo dmidecode --type 5,6,16,17

A opção ‘–type’ equivale à ‘-t’, como já foi visto.

É possível citar expressamente o nome do dispositivo em vez do número, caso você ache mais fácil memorizar palavras:


sudo dmidecode --type memory

Experimente e me diga o que achou! 😉

LEIA MAIS:

Saiba mais sobre o comando dmidecode
O comando grep, em exemplos práticos.