File: README

package info (click to toggle)
dmidecode 2.9-1.2
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 324 kB
  • ctags: 313
  • sloc: ansic: 4,833; makefile: 130; sh: 22
file content (146 lines) | stat: -rw-r--r-- 6,602 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
** INTRODUCTION **

Dmidecode reports information about your system's hardware as described in
your system BIOS according to the SMBIOS/DMI standard. This information
typically includes system manufacturer, model name, serial number, BIOS
version, asset tag as well as a lot of other details of varying level of
interest and reliability depending on the manufacturer. This will often
include usage status for the CPU sockets, expansion slots (e.g. AGP, PCI,
ISA) and memory module slots, and the list of I/O ports (e.g. serial,
parallel, USB).

Part of the dmidecode code can be found in the Linux kernel, where DMI data
is used to enable or disable specific portions of code depending on the
specific hardware. Thus, one use of dmidecode is for kernel developers to
detect system "signatures" and add them to the kernel source code when
needed.

Beware that DMI data have proven to be too unreliable to be blindly trusted.
Dmidecode does not scan your hardware, it only reports what the BIOS told it
to.


** INSTALLATION **

The home web page for dmidecode is hosted on Savannah:
  http://www.nongnu.org/dmidecode/
You will find the latest version (including CVS) there, as well as fresh news
and other interesting material, such as a list of related projects and
articles.

This program was first written for Linux, and has since been reported to work
on FreeBSD, NetBSD, OpenBSD, BeOS and Cygwin as well.

There's no configure script, so simply run "make" to build dmidecode, and
"make install" to install it. You also can use "make uninstall" to remove
all the files you installed. By default, files are installed in /usr/local
but you can change this behavior by editing the Makefile file and setting
prefix to wherever you want. You may change the C compiler and the
compilation flags as well.

Optionally, you can run "make strip" prior to "make install" if you want
smaller binaries. However, be aware that this will prevent any further
attempt to debug the programs.

Two parameters can be set in the Makefile file to make dmidecode work on
non-i386 systems. They should be used if your system uses the big endian
byte ordering (Motorola) or doesn't support unaligned memory accesses,
respectively. For example, compiling for a SPARC processor would require
both. Compiling for an IA64 processor requires the memory alignment
workaround, and it is enabled automatically.


** DOCUMENTATION **

Each tool has a manual page, found in the "man" subdirectory. Manual pages
are installed by "make install". See these manual pages for command line
interface details and tool specific information.

For an history of the changes made to dmidecode, see the CHANGELOG file.

If you need help, your best chances are to visit the web page (see the
INSTALLATION section above) or to get in touch with the developers directly.
Have a look at the AUTHORS file and contact one of the maintainers.

If you want to help with the development of dmidecode, please consider
joining the dmidecode-devel discussion list:
  http://lists.nongnu.org/mailman/listinfo/dmidecode-devel


** COMMON PROBLEMS **

MODEL SPECIFIC ISSUES

Dmidecode used not to work on IBM T-series laptops nor on Fujitsu-Siemens
S-series laptops under Linux. This was due to the fact that the DMI table
is at a memory location we couldn't seem to reach through /dev/mem. Although
I believe this reveals a problem in the Linux kernel, which should be fixed,
a workaround was found by Chad Smith, and we are using it for now. See the
IA-64 subsection below for more details. I posted about this problem on the
LKML but never received any answer. Since then, the list of affected systems
was extended to IBM X-series laptops and xSeries x445 servers.

IA-64

Dmidecode used to have problems on IA-64 systems. The first reason for
this is that dmidecode accesses the DMI table through /dev/mem, and reading
this file on an IA-64 system sometimes leads to a crash. A second reason is
that the method for locating the above-mentioned table differs on IA-64
(compared to x86), so dmidecode was likely to miss the table entry point.
This complex issue was reported by Glen Foster and Chad Smith from HP. We
have since been working on a solution, and dmidecode now supports IA-64
systems. Chad Smith noticed that, for some obscure reason, accessing the
/dev/mem file using mmap() instead of read() would work. Then, he wrote a
patch to export the DMI table address from the internal EFI table to /proc,
so dmidecode doesn't have to scan /dev/mem for it anymore. This patch was
since integrated into the main ia64 patch. Finally, I added the required
code to make it all work. So, in order to have dmidecode work on your IA-64
system, you need two things:
 - dmidecode version 2.2 or later;
 - an ia64 patched 2.4 kernel, using linux-2.4.21-ia64-030702.diff or any
   later version, or a 2.6 kernel.
Chad Smith tested dmidecode successfully on two different IA-64 systems, and
success has been reported by other users too. Non-Linux systems are not
supported.

MMAP

Note that mmap() is now used by default wherever possible, since this seems
to solve a number of problems. This default behavior can be changed in
config.h. Just to make sure this is clear, mmap() is not used for performance
reasons but to increase the number of systems on which dmidecode can be
successfully run. See the IA-64 subsection above for details.

CYGWIN

Dmidecode was reported to work under Cygwin. It seems that /dev/mem doesn't
work properly before version 1.5.10 though, so you will need to use at least
this version.


** MISCELLANEOUS TOOLS **

Three other tools come along with dmidecode: biosdecode, ownership and
vpddecode. These tools are only useful on systems with a BIOS, so they
are not built on IA-64 by default.

BIOSDECODE

This one prints all BIOS related information it can find in /dev/mem.
It used to be part of dmidecode itself, but as dmidecode was growing,
we felt that the non-DMI part had to be moved to a separate tool.

OWNERSHIP

This tool was written on a request by Luc Van de Velde for use with Novell
tools in his company. It retrieves the "ownership tag" that can be set on
most Compaq computers. Since it uses the same mechanisms dmidecode and
biosdecode use, and could be of some use for other people as well, we
decided to make it part of the project.

VPDDECODE

This tool prints the contents of the "vital product data" structure as
found in most IBM and Lenovo computers. It used to have a lookup table
for the machine name, but it was unreliable and hard to maintain so it
was ultimately dropped. It has a command line interface.