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