it87: Found IT8712F chip at 0x290, revision 7
it87: in3 is VCC (+5V)
it87: in7 is VCCH (+5V Stand-By)
ACPI: I/O resource it87 [0x295-0x296] conflicts with ACPI region IP__
[0x295-0x296]
ACPI: Device needs an ACPI driver
FATAL: Error inserting it87
(/lib/modules/2.6.31/kernel/drivers/hwmon/it87.ko): Device or resource
busy
when trying to load it87 module. On previous kernels the module worked
fine. I tried grepping for IP__ in acpi dump and found this:
OperationRegion (IP, SystemIO, 0x0295, 0x02)
Field (IP, ByteAcc, NoLock, Preserve)
{
INDX, 8,
DAT0, 8
}
I have also discovered that dsdt contains description of what is
connected to each it87 input. Maybe it has also some code to access
the chip? In /proc/acpi I can read only one temperature, while the
chip measures three temperatures, fan speeds and voltages. This is
desktop pc with ASUS A8N1-E maniboard, athlon64 and nforce4 chipset.
Thanks for your time.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majo...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
> Hello,
> with recent upgrade to 2.6.31 I get
>
> it87: Found IT8712F chip at 0x290, revision 7
> it87: in3 is VCC (+5V)
> it87: in7 is VCCH (+5V Stand-By)
> ACPI: I/O resource it87 [0x295-0x296] conflicts with ACPI region IP__
> [0x295-0x296]
> ACPI: Device needs an ACPI driver
> FATAL: Error inserting it87
> (/lib/modules/2.6.31/kernel/drivers/hwmon/it87.ko): Device or resource
> busy
Not a bug, see http://bugzilla.kernel.org/show_bug.cgi?id=13967
Add acpi_enforce_resources=lax to your kernel boot options.
-h
Try the asus_atk0110 driver, it handles the ACPI hwmon interface on
Asus motherboards. If it does not work then please send a dump of your
DSDT (/sys/firmware/acpi/tables/DSDT).
Luca
Works great, thank you very much.
Please define "doesn't work well". asus_atk0110 should handle that
board. In case of troubles enable CONFIG_HWMON_DEBUG_CHIP, load
asus_atk0110 and post the content of the kernel log.
Thanks Luca.
>Luca
>--
>To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>the body of a message to majo...@vger.kernel.org
>More majordomo info at http://vger.kernel.org/majordomo-info.html
>Please read the FAQ at http://www.tux.org/lkml/
>
--
Cheers, Gene
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
The NRA is offering FREE Associate memberships to anyone who wants them.
<https://www.nrahq.org/nrabonus/accept-membership.asp>
Friction is a drag.
You probably need to upgrade the lm-sensors package. Version 3.1.1 has
support for ACPI devices.
Too old.
> I also note that while asus_atk0110 is loaded, it has no link count in an
> lsmod output. This has little or nothing to do with the lm_sensors version,
> when the kernel itself (2.6.31 final) doesn't get any real data. Or can it?
Usage count is zero because nothing is using the driver ;-) As the
dmesg shows the driver is loaded and has correctly identified the
sensors.
> I've stumbled around is the /sys/fs tree looking for data, but wasn't able to
> do anything but get stuck in a re-entrant loop, that is a bowl of spaghetti,
> well stirred.
You'll find the relevant sysfs entries under /sys/class/hwmon/
lm_sensors-3.0.2-1.fc10.i386
lm_sensors-sensord-3.0.2-1.fc10.i386
I also note that while asus_atk0110 is loaded, it has no link count in an
lsmod output. This has little or nothing to do with the lm_sensors version,
when the kernel itself (2.6.31 final) doesn't get any real data. Or can it?
From dmesg on rmmod then modprobe of asus_atk0110:
[52610.470618] ATK0110 ATK0110:00: removing...
[52622.799018] ATK0110 ATK0110:00: adding...
[52622.799047] ATK0110 ATK0110:00: board ID = M2N-SLI
[52622.799051] ATK0110 ATK0110:00: Using old hwmon interface
[52622.799126] ATK0110 ATK0110:00: voltage: 0x6020000 Vcore Voltage
[850-1600] enabled
[52622.799131] ATK0110 ATK0110:00: voltage: 0x6020001 +3.3 Voltage
[3000-3600] enabled
[52622.799136] ATK0110 ATK0110:00: voltage: 0x6020002 +5.0 Voltage
[4500-5500] enabled
[52622.799140] ATK0110 ATK0110:00: voltage: 0x6020003 +12.0 Voltage
[11200-13200] enabled
[52622.799186] ATK0110 ATK0110:00: temperature: 0x6030000 CPU Temperature
[900-1250] enabled
[52622.799190] ATK0110 ATK0110:00: temperature: 0x6030001 MB Temperature
[450-900] enabled
[52622.799251] ATK0110 ATK0110:00: fan: 0x6040000 CPU FAN Speed [0-1800]
enabled
[52622.799255] ATK0110 ATK0110:00: fan: 0x6040001 CHASSIS FAN Speed [0-1800]
enabled
[52622.799259] ATK0110 ATK0110:00: fan: 0x6040002 POWER FAN Speed [0-1800]
enabled
[52622.799263] ATK0110 ATK0110:00: fan: 0x6040021 CHASSIS4 FAN FAN Speed
[0-1800] enabled
[52622.799267] ATK0110 ATK0110:00: fan: 0x6040022 CHASSIS2 FAN FAN Speed
[0-1800] enabled
[52622.799271] ATK0110 ATK0110:00: fan: 0x6040023 CHASSIS3 FAN FAN Speed
[0-1800] enabled
[52622.799274] ATK0110 ATK0110:00: registering hwmon device
[52622.799937] ATK0110 ATK0110:00: populating sysfs directory
I've stumbled around is the /sys/fs tree looking for data, but wasn't able to
do anything but get stuck in a re-entrant loop, that is a bowl of spaghetti,
well stirred. You can get back out, but each suspect link just puts you one
level deeper in the tree and no real data is ever offered even when 10+
levels deep in that linkage loop.
I'll go bugzilla the F10 lm_sensors packages.
--
Cheers, Gene
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
The NRA is offering FREE Associate memberships to anyone who wants them.
<https://www.nrahq.org/nrabonus/accept-membership.asp>
I'd like some JUNK FOOD ... and then I want to be ALONE --
try acpi_enforce_resources=lax kernel command-line parameter.
/mjt
That certainly allows the it87 driver to load and function. I was more interested in seeing if the
motherboard was able to be supported in the asus driver, but whatever works.
Cheers :)
Regards,
Brad
--
Dolphins are so intelligent that within a few weeks they can
train Americans to stand at the edge of the pool and throw them
fish.
That's good ;-) The driver is quiet when everything is ok. You should
see the corresponding entries under /sys/class/hwmon/hwmonN; upgrade
lm-sensor package to version 3.1.1, older versions do not support ACPI
devices.
> Motherboard is an Asus M2N32-WS. DSDT attached.
From a quick glance it should work. If it doesn't enable
CONFIG_HWMON_DEBUG_CHIP.
Well, I just tried it here and it works here too, on 3 different
asus motherboards. But asus_atk0110 is far less useful than the
it87 variant. Yes atk0110 shows correct labels for various sensors,
but for one there's no way to control fan speeds using it, at least
not currently, -- something which is done by it87 easily.
Well, one more difference is that atk0110 also shows vcore, which
at least looks real instead of fake 1.55V as shown by it87.
But anyway, loading the driver just to get correct labels and
vcore seems a bit overkill...
/mjt
Actually lm-sensors version 3.1.0 did already support ACPI devices. But
there's no reason to not upgrade to 3.1.1.
--
Jean Delvare
The main reason for using atk0110 is correctness: the resources are
claimed by ACPI, it might not be safe to touch them (for the same
reason two drivers are not allowed to map e.g. the same PCI BAR).
On newer boards the risk of collision is pretty high, since the hwmon
chip is used by an EC that works in background... on other boards the
risk is much lower since the hwmon chip doesn't seem to be probed
actively.
Anyway, as user you can override this decision with
"acpi_enforce_resources=lax", but _I_ wouldn't recommend it.
Luca
If there's a choice between "does not work but correct" and
"incorrect but works", i'd prefer the latter, and I'd say any
sane person agrees.
I spent quite some time choosing a motherboard that is able
to control fan speeds. Now if know that it does that "incorrectly".
So I should either throw it away because one of the most
important criterias (ability to control noise level) does
not satisfy me anymore, or use it the "wrong" way as I did
for whole last year. Ditto for 4 other asus motherboards
that have exactly the same problem.
Yes I know about acpi_enforce_resources.
Ok. Now a pure technical question, finally. Is there a
way to made asus_atk0110 to be able to *set* fan speeds
too, in a way as it's done by it87?
Because that's mostly the only issue with this driver,
and for me at least it's a show-stopper.
Thanks!
/mjt
Most Asus mobos have Q-FAN settings in the BIOS screen; you can use
automatic management to let the hardware control the fan, the driver
does not interfere with that (and if it does then it's a bug).
> Ok. Now a pure technical question, finally. Is there a
> way to made asus_atk0110 to be able to *set* fan speeds
> too, in a way as it's done by it87?
In term of Q-FAN profiles: yes, but I still haven't managed to make it
work (the interface is there though).
Luca
I know the Q-Fan works. But I wanted exactly the ability to control
it from software (a-la fanspeed). Here, due to the way my machine
is built, the fan isn't needed most of the time (there's a large
air duct inside that covers large CPU heatsink, hdd, northbridge
heatsink and the PSU, that gets use of natural airflow), but it's
used when the temperature grows. So that most of the time, the
system is 100% quiet, and only when I run something that uses much
power it starts heating slowly, until a fan gets turned on. That
to say, the built-in q-fan profile isn't sufficient ;) And yes,
I'm such a crazy fan-noise-hater, and all the components of this
system are choosen to satisfy this my craziness, including many
parts that I made myself (airduct, noise-dampering matherials
inside the case, fan mounting and placement and so on).
>> Ok. Now a pure technical question, finally. Is there a
>> way to made asus_atk0110 to be able to *set* fan speeds
>> too, in a way as it's done by it87?
>
> In term of Q-FAN profiles: yes, but I still haven't managed to make it
> work (the interface is there though).
Oh, so it's basically boils down to Silent/Optimal/Normal choices
as in the BIOS settings, right? I mean, still no pwm_* controls
as it87 offers?..
Thanks!
/mjt
Probably not. But feel free to bother Asus about it. If they don't
provide the level of control you want, they should know about it, and
make it better in future products. Or even in current products through
BIOS upgrades.
--
Jean Delvare
It works fine on your system but it _doesn't_ work in the general case.
If you build a kernel with it87 and use acpi_enforce_resources=lax, it
will cause a 15 second boot delay on certain models of EeePC. There
may be worse consequences on other machines, but that's bad enough.
So this doesn't depend on sanity, it's simply a matter of whether
you're interested enough to test "acpi_enforce_resources=lax" on your
system and identify any failures. Most people aren't that interested.
For the rest, there's always the option. (Which should probably set
a TAINT flag if it doesn't already).
Thanks
Alan
It's motherboard specific. On some model with w83627ehf it's possible
to activate thermal cruise control (with a given target temperature).
I've never seen direct pwm or dc control; it's theoretically doable
with a custom DSDT ;-)
Luca