summaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
authornima <nima@abc39116-655e-4be6-ad55-d661dc543056>2008-06-30 12:08:58 +0000
committernima <nima@abc39116-655e-4be6-ad55-d661dc543056>2008-06-30 12:08:58 +0000
commite7d6d472c21aa80c28be01c0d6dcbfd250d57a25 (patch)
tree04d9d76a9a48f183f4cdf1c922a8e33555e77da1 /README
downloadpython-dmidecode-e7d6d472c21aa80c28be01c0d6dcbfd250d57a25.tar.gz
python-dmidecode-e7d6d472c21aa80c28be01c0d6dcbfd250d57a25.tar.xz
python-dmidecode-e7d6d472c21aa80c28be01c0d6dcbfd250d57a25.zip
First commit to SVN.
git-svn-id: svn://svn.autonomy.net.au/python-dmidecode@1 abc39116-655e-4be6-ad55-d661dc543056
Diffstat (limited to 'README')
-rw-r--r--README146
1 files changed, 146 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..521fab9
--- /dev/null
+++ b/README
@@ -0,0 +1,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.