From 669782831dc7e570b1c8f87cc940f371ed811d7f Mon Sep 17 00:00:00 2001 From: Jean Delvare Date: Fri, 8 Aug 2003 08:38:51 +0000 Subject: Solved laptop and IA-64 issues. New section for biosdecode and ownership. General update before the new release. --- README | 83 ++++++++++++++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 61 insertions(+), 22 deletions(-) (limited to 'README') diff --git a/README b/README index ab62607..da8aa2f 100644 --- a/README +++ b/README @@ -28,13 +28,15 @@ 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. -Three parameters can be set in the Makefile to make dmidecode work on -non-i386 systems. The first two (BIGENDIAN and TABLE_LITTLEENDIAN) 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. The third parameter +Four parameters can be set in the Makefile to make dmidecode work on +non-i386 systems. The first two (BIGENDIAN and ALIGNMENT_WORKAROND) 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. The third parameter (TABLE_LITTLEENDIAN) is there for debugging purposes only and shouldn't be -set by users. +set by users. And finally, the __IA64__ parameter should be set for +compilation on IA-64 systems. See the COMMON PROBLEMS section below for +more details about compilation on IA-64 systems. ** DOCUMENTATION ** @@ -42,6 +44,9 @@ set by users. There's no man page nor info page at this time. I don't know if there ever will be one. I don't really feel a need for it. +This program was first written for Linux, and has since be reported to work +on FreeBSD as well. + 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 @@ -58,23 +63,57 @@ below. MODEL SPECIFIC ISSUES -Dmidecode is known not to work on IBM T-series laptops nor on Fujitsu- -Siemens S-series laptops. This is due to the fact that the DMI table is at a -memory location we can't reach through /dev/mem. It's obviously to the kernel -developpers to fix the issue, and there's almost nothing we can do on -dmidecode's side. This problem was first reported by Werner Heuser from -Tuxmobil for Fujitsu-Siemens S-4582, by Pamela Huntley from IBM for IBM T23 -and T30 models, and was then confirmed by Joshua Goldenhar from Cisco for -IBM T30. +Dmidecode used not to work on IBM T-series laptops and 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 Smith Chad. See the IA-64 subsection below for +more details. I posted about this problem on the LKML but did not have +any answer. IA-64 -Dmidecode is known to have problems on IA-64 systems. The first reason for +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. This is mostly a -kernel issue and there's probably nothing we can do to fix it on dmidecode's -side. A second reason is that the method for locating the above-mentioned -table differs on IA-64 (compared to IA-32), so dmidecode is likely to miss -the table entry point. This is a complex issue that was reported by Glen -Foster and Smith Chad from HP. No solution has been found yet, but we hope to -get one someday. +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 IA-32), so dmidecode was likely to miss the table entry point. +This complex issue was reported by Glen Foster and Smith Chad from HP. We +have since been working on a solution, and dmidecode now supports IA-64 +systems. Smith Chad 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 add the requied code +to make it all work. So, in order to have dmidecode work on your IA-64 +system, you need three things: + - dmidecode version 2.2 or later; + - an ia64 patched kernel, using linux-2.4.21-ia64-030702.diff or any later + version; + - the -D__IA64__ compilation flag set in the Makefile. +Chad Smith tested dmidecode successfully on two different IA-64 systems. + +MMAP + +Note that mmap() is now used by default on all systems, since this seems to +solve a number of problems. If your system does not have the mmap() function, +edit the Makefile and unset USE_MMAP. + + +** MISCELLANEOUS TOOLS ** + +Two other tools come along with dmidecode: biosdecode and ownership. + +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 our project. -- cgit v1.2.1