| 1 | M7101 - SMBus Support for ALi M15x3 based motherboards. |
|---|
| 2 | For Asus P4B motherboards, use the p4b_smbus module; |
|---|
| 3 | see the file README.p4b. |
|---|
| 4 | |
|---|
| 5 | -------------------------------------------------------- |
|---|
| 6 | Quick Start (2.4 kernels only): |
|---|
| 7 | |
|---|
| 8 | Verify that hotplug is enabled in your kernel (general setup) |
|---|
| 9 | and reconfigure/rebuild/reinstall kernel if not |
|---|
| 10 | "lspci" to verify that 7101 device is not present |
|---|
| 11 | "make" |
|---|
| 12 | (as root) "make install" |
|---|
| 13 | (as root) "insmod m7101" |
|---|
| 14 | "lspci" to verify that 7101 device is present |
|---|
| 15 | |
|---|
| 16 | -------------------------------------------------------- |
|---|
| 17 | -------------------------------------------------------- |
|---|
| 18 | |
|---|
| 19 | Version 0.2 for 2.4.0-testx kernels. |
|---|
| 20 | Mark D. Studebaker <mdsxyz123@yahoo.com> |
|---|
| 21 | |
|---|
| 22 | *** You must have 'Support for hot-pluggable devices' enabled |
|---|
| 23 | *** in your kernel (under 'general setup') for this module to work!! |
|---|
| 24 | |
|---|
| 25 | For 2.2 and early 2.3 kernels you must use version 0.1; |
|---|
| 26 | version 0.2 will not work. |
|---|
| 27 | Version 0.1 does not use the kernel hotplug facility. |
|---|
| 28 | Obtain version 0.1 here: |
|---|
| 29 | |
|---|
| 30 | README: http://www.netroedge.com/~lm78/misc/README-m7101.txt |
|---|
| 31 | source and README: http://www.netroedge.com/~lm78/misc/m7101-0.1.tar.gz |
|---|
| 32 | |
|---|
| 33 | |
|---|
| 34 | |
|---|
| 35 | -------------------------------------------------------- |
|---|
| 36 | Notes below for the 0.2 version, MDS. |
|---|
| 37 | -------------------------------------------------------- |
|---|
| 38 | Default I/O addresses are 0xe800 for SMBus and 0xec00 for ACPI. |
|---|
| 39 | |
|---|
| 40 | These can be changed at module insertion. |
|---|
| 41 | For example: |
|---|
| 42 | insmod m7101 smb_io=0x5000 acpi_io=0x4000 |
|---|
| 43 | |
|---|
| 44 | |
|---|
| 45 | -------------------------------------------------------- |
|---|
| 46 | Notes below from the 0.1 version, B. Kohl. |
|---|
| 47 | -------------------------------------------------------- |
|---|
| 48 | |
|---|
| 49 | This module was written to enable SMBus support on ALi M15x3 chipset based |
|---|
| 50 | motherboards. Although it was written for and tested on Gigabytes GA-5AX |
|---|
| 51 | it should work on any M15x3 chipset based board. |
|---|
| 52 | |
|---|
| 53 | Probably most people trying this software on a GA-5AX will be utterly |
|---|
| 54 | disappointed. We have seen no sensor chips on this board - only DIMMs |
|---|
| 55 | were connected to the SMBus. If you are trying to make lm_sensors read |
|---|
| 56 | temperature and voltage values you will be pretty lost. |
|---|
| 57 | |
|---|
| 58 | CAVEAT: To perform it's task this module needs to manipulate PCI-config |
|---|
| 59 | data and device structures on a very low level. This bears the risk of |
|---|
| 60 | causing havoc to your system in case anything goes wrong. Use this soft- |
|---|
| 61 | ware absolutely at your own risk. |
|---|
| 62 | |
|---|
| 63 | |
|---|
| 64 | Installation: |
|---|
| 65 | Untar the m7101.tgz file into an appropriate location and cd into the |
|---|
| 66 | m7101 subdirectory. Then type "make" to build the module file 'm7101.o'. |
|---|
| 67 | To insert it type |
|---|
| 68 | $ insmod m7101.o |
|---|
| 69 | as root. |
|---|
| 70 | |
|---|
| 71 | If everything goes well (no error messages) you will see a description like |
|---|
| 72 | the following when doing 'lspci -v': |
|---|
| 73 | |
|---|
| 74 | 00:03.0 Non-VGA unclassified device: Acer Laboratories Inc. [ALi] M7101 PMU |
|---|
| 75 | Flags: medium devsel |
|---|
| 76 | I/O ports at 4000 |
|---|
| 77 | I/O ports at 5000 |
|---|
| 78 | |
|---|
| 79 | and find an entry in the proc filesystem under /proc/bus/pci/00/03.0. |
|---|
| 80 | |
|---|
| 81 | |
|---|
| 82 | Removing the module removes the M7101 device from the proc file system |
|---|
| 83 | and switches the SMBus support off. |
|---|
| 84 | |
|---|
| 85 | The lm_sensors software now should be able to access devices on the |
|---|
| 86 | motherboard's SMBus through the M7101. |
|---|
| 87 | |
|---|
| 88 | Values for the ACPI-IO port (normally 0x4000) and the SMBus-IO port |
|---|
| 89 | (normally 0x5000) can be specified using the parameters acpi_io and |
|---|
| 90 | smbus_io respectively on the insmod command line. |
|---|
| 91 | The module defaults to ports 0xec00 and 0xe800. |
|---|
| 92 | |
|---|
| 93 | In case the module does not load you might want to switch on debugging |
|---|
| 94 | by uncommenting the second CFLAGS-line (with the -DM7101_DEBUG switch) |
|---|
| 95 | in the Makefile. |
|---|
| 96 | |
|---|
| 97 | This module was written to activate SMBus support. I don't know neither |
|---|
| 98 | have I tested wether it works with the software from the ACPI project. |
|---|
| 99 | |
|---|
| 100 | Note: Egcs compilers with versions below 2.95.2 do not compile properly. |
|---|
| 101 | Use either 2.95.2 or gcc 2.7.2.x. |
|---|
| 102 | |
|---|
| 103 | I have tested this module with 2.2 kernels up to version 2.2.14. |
|---|
| 104 | |
|---|
| 105 | |
|---|
| 106 | I wish to thank Frank Bauer for his help with this module. |
|---|
| 107 | |
|---|
| 108 | Burkhard Kohl (burkhard.kohl@gmx.de) |
|---|