Support DB Entry 1770

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> ----- Original Message ----- 
> From: "Jean Delvare" <khali at linux-fr.org>
> To: "Leif W" <warp-9.9 at usa.net>
> Cc: <sensors at Stimpy.netroedge.com>
> Sent: Sunday, September 12, 2004 04:31
> Subject: Re: Support DB Entry 1770
>
> regiesters belong to a so-called "auto-increment" range. This
basically
> means that reading any register in this range will automatically
> increase the address pointer, those value we are reading from I/O
> address 0x295.
>
> I think I am now starting to understand what's going on. Something
else
> is trying to access the chip at the very moment we are, most probably
> the BIOS. Why it does, I don't know. I thought that Asus started to
> implement such silly behaviors only recently, but it seems not. The
> SMBus locks you were experiencing speak for themselves.

:-\  Ahh well, I always thought they did a pretty good job in other
regards.  Fabrication of the boards was always nice, not sloppy looking
like some other boards at the time.  This particular board supports
everything from early Pentiums up to the AMD K6-III+/450, and can even
overclock it to 600 MHz as I did.  It supports CPU Core voltages from
2.0 up to 3.5, and documented as well, rare for the day.

> So, first of all, I have to tell you know that you should expect
> problems if you go on with using the w83781d driver on your system. It
> is likely that from times to times some readings will be completely
> wrong (BIOS reads interfering with yours). You could also experiment
> random reboots/halts (your reads interfering with the BIOSes).

Another thing happened last night: the system started "chirping".  Not
full beeps, variable intervals, variable durations but not long enough
to make a recognizable "beep" sound, about the same volume and tone
though, except the volume was sometimes less due to very short beep
duration.  The beeps were of very short duration, and I hadn't noticed
them for some time (due to other noises in the area like TV and music).
The beeps seemed to coincide with application execution when I did a
controlled shutdown today.

When I first started hearing them I thought I was imagining something.
Probably similar to those gag devices you buy at a joke store and put in
concealed locations in someone else's home or workplace, preferably with
an concealed video camera and microphone, and watch them slowly start to
go insane and tear the place apart looking for the noise.  :-)

I was trying to sleep so I power-cycled the system immediately and it
went away.  I didn't bother to see if unloading the driver would stop
the chirps.  I suspected that the hardware was in some funky state and
might not fix itself, and was too inpatient to test.  I'll try it today.
.. As I suspected, the module is unloaded, and the chirping continues.
:D  Rebooting clears it, so at least power cycling is not required.

> Why the sensors-detect script doesn't seem to be affected is above me.
> It didn't fail to detect the chip once, did it?

I've run it several times in a row, from immediately after a reboot and
a module load, to after a both successful and failed module loads and
then sensors attempt.  Never failed to detect it.

I've got a suggestion for "sensors-detect".  Command-line options for
the specific tests to perform or skip would be cool, so I could run one
command line.  Otherwise, I've got to use an input file with my
prompt-answers, run a command to take the file as input, run another
command to dump STDOUT and STDERR to a file, and run another command to
read the output file.  For example this is what I'd use for this
testing:

sensors-detect --pci-no --isa-yes --superio-no --summary-yes --commands-
no

> > Actually, the data "appears" to be read correctly but temp2 is not
> > correct.  Also an ALARM where there should be none (in3).  A result
of
> > forcing?
>
> This is just a guess, but the problem with temp2 could be caused by
the
> BIOS concurent accesses.
>
> The ALARM bits stay up until read, so you can usually see them once
> after the cause has disappeared. This is by chip design. If it does
not
> disappear after one more read, then there is something wrong (possibly
> the BIOS breaking things when reading in our back again.

At first in0-in3 have ALARMs, after subsequent read in0-in2 ALARMs go
away, but in3 remains.

> You may want to check in the BIOS setup screen if there is some option
> to disable "active hardware monitoring" or whatever they called that.
> You may also want to upgrade BIOSes and see if it helps.

The BIOS is the latest and final official beta available for this
mainboard (1105 Beta 005), required for proper AMD K6-plus
identification in the BIOS and reportedly for full utilization of the
AMD K6-plus cache.  The only way to go is put an older, slower processor
in the board, downgrade the BIOS, and see what happens.  Everything else
works.  So I'll probably have to skip any sanity checks with sensors if
I can't get this to work.

The closest thing to "active hardware monitoring" is in the "POWER
MANAGEMENT SETUP" menu.  Fan, thermal and voltage monitoring within the
BIOS can be ignored, but ignoring does not help.  :-(

Under the "CHIPSET FEATURES SETUP" there are two settings related to the
ISA bus: "Passive Release" and "Delayed Transaction"; both are enabled
(manual quoted below).  In the mainboard manual, it says "The onboard
hardware monitor uses the address 290H-297H so legacy ISA cards must not
use this address or else conflicts will occur."  It says this twice in
different locations, so it must be important.  I'm going to try
disabling each and then both of these settings, if necessary I'll double
check my ISA cards and then remove all of them and see if the problems
go away.

"Passive Release (Enabled)
This is a mechanism that allows concurrency of CPU-to-ISA cycles.  When
this feature is enabled, it will be possible to re-arbitrate the PCI bus
and allow the CPU to access PCI even when the M1543C has been granted
the ISA bus.

Delayed Transaction (Disabled)
If Enabled, this frees the PCI Bus during CPU accessing of 8-bit ISA
cards that normally consume about 50-60 PCI Clocks without PCI delayed
transaction.  If PCI Bus Masters cannot use the PCI Bus, leave this on
the default setting of Disabled for some ISA cards that are not PCI 2.1
compliant."

Disabling "Delayed Transaction" seems to fix the problems.  in3 has no
persistent ALARM, temp2 is read correctly, temp2_over and temp2_hyst are
connect, no chirping.  The cost is a performance hit of 50-60 PCI clocks
during ISA access (sensors, maybe modem and sound card).  Funny they
don't clearly state that enabling "Delayed Transaction" will break ISA
access to the "Health Monitoring".  "sensors" and "sensord" appear to
work fine.  No force or force_w83781d required.  I'm going to take the
latest patch and apply it the kernel, and enable my ACPI and then ISA
PnP one by one, then both.

The only odd looking thing at this point is the "registering" annd
"Detect" lines.  It reports "0-0290", but should it be 9191-0290?

<SHELL>

<defiant> [2004-09-12 at 13:41:07] ~ -> modprobe w83781d

==> /var/log/syslog <==
Sep 12 13:41:13 defiant kernel: i2c-core: driver w83781d registered.
Sep 12 13:41:13 defiant kernel: i2c_adapter i2c-0: found normal isa
entry for adapter 9191, addr 0290
Sep 12 13:41:13 defiant kernel: i2c_adapter i2c-0: client [w83781d]
registered to adapter
Sep 12 13:41:13 defiant kernel: registering 0-0290
Sep 12 13:41:13 defiant kernel: w83781d 0-0290: Detect OK

</SHELL>

Bottom line: Unless you use ISA only and disable the "Delayed
Transaction" as described above, both the I2C (SMBus) and ISA busses are
broken, making the sensor chip unusable.

Leif





[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux