viernes, 25 de febrero de 2011

Información de Hardware con dmidecode Ubuntu

En los sistemas GNU/Linux existe una herramienta bastante útil a la hora de obtener información de nuestro hardware, se llama dmidecode.
Dmidecode nos permite ver la información de hardware de nuestra computadora de acuerdo al estándar SMBIOS/DMI. Esta información típicamente incluye fabricante, nombre del modelo, número de serie, versión del BIOS y más detalles. A menudo incluirá el estado de uso de los sockets del CPU, slots de expansión (AGP, PCI, ISA), slots de los módulos de memoria, y la lista de los puertos I/O ( serial, parallel, USB).

La especificación System Management BIOS(SMBIOS) define estructuras de datos y métodos de acceso en un BIOS permitiendo al usuario o a una aplicación almacenar y recuperar datos específicos de una computadora.
DMI(Desktop Management Interface) expone los datos del sistema incluyendo los datos de SMBIOS.

La información proporcionada por el DMI es usada para desactivar ciertas porciones de código del kernel dependiendo de tal o cuál hardware. Así, los desarrolladores del kernel usan dmidecode para detectar firmas o signatures de sistema y agregarlos a código fuente del kernel cuando es necesitado.

Dmidecode no escanea el hardware, sólo muestra lo que el BIOS le reporta.

Esta excelente herramienta fue desarrollada al principio por Alan Cox . Actualmente es mantenido y desarrollado por Jean Delvare.

Además, dmidecode viene con tres herramientas adicionales:
biosdecode: muestra toda la información relacionada al Bios.
ownership: muestra el "ownership tag" de las computadoras Compaq.
vpddecode: muestra la información "vital product data" que puede ser encontrada en casi todas las computadoras IBM.

Recuperando información de Hardware con dmidecode


Los datos en el DMI se clasifican en tipos(types) y cada uno de ellos se identifica con un número.


The SMBIOS specification defines the following DMI types:

Type Information
────────────────────────────────────────
0 BIOS
1 System
2 Base Board
3 Chassis
4 Processor
5 Memory Controller
6 Memory Module
7 Cache
8 Port Connector
9 System Slots
10 On Board Devices
11 OEM Strings
12 System Configuration Options

13 BIOS Language
14 Group Associations
15 System Event Log
16 Physical Memory Array
17 Memory Device
18 32-bit Memory Error
19 Memory Array Mapped Address
20 Memory Device Mapped Address
21 Built-in Pointing Device
22 Portable Battery
23 System Reset
24 Hardware Security
25 System Power Controls
26 Voltage Probe
27 Cooling Device
28 Temperature Probe
29 Electrical Current Probe
30 Out-of-band Remote Access
31 Boot Integrity Services
32 System Boot
33 64-bit Memory Error
34 Management Device
35 Management Device Component
36 Management Device Threshold Data
37 Memory Channel
38 IPMI Device
39 Power Supply


También se puede usar palabras clave(keyword), cada palabra clave tiene sus equivalentes en número:



Keyword Types
──────────────────────────────
bios 0, 13
system 1, 12, 15, 23, 32
baseboard 2, 10
chassis 3
processor 4
memory 5, 6, 16, 17
cache 7
connector 8
slot 9


Para más información se puede recurrir a la documentación mediante el comando:

man dmidecode


Ahora sí, veamos cómo podemos obtener información de nuestro procesador; escribimos el comando:

sudo dmidecode --type processor

Es equivalente a:

sudo dmidecode -t 4


Información de la meoria RAM, slots ocupados, de cuánto cada slot, cuánto soporta:

sudo dmidecode --type memory

lo cual es equivalente a:

sudo dmidecode -t 5, 6, 16, 17

Como se puede apreciar es posible mostrar varios tipos a la vez, sólo hace falta separarlos por coma.
Si quisiéramos ser más específicos, por ejemplo saber sólo la capacidad de RAM que soporta la computadora:

sudo dmidecode -t 16

O el lenguaje soportado por nuestro BIOS:

sudo dmidecode -t 13


...Podemos probar con todos los tipos...

Cabe señalar que dmidecode esta disponible en los siguientes sistemas:
Linux i386, x86-64, ia64
FreeBSD i386, amd64
NetBSD i386, amd64
OpenBSD i386, amd64
BeOS i386
Cygwin i386
Solaris x86


Referencias:
http://www.nongnu.org/dmidecode/
http://julio-linux.esdebian.org/32607/herramienta-dmidecode

No hay comentarios:

Publicar un comentario