Re: X11 Instability with AMD 760/768, Intel i810/i815 chipsets

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

 



On Sun, 2002-08-11 at 15:39, HoytDuff wrote:
> I was never able to get lm_sensors working except in Mandrake 8.2. Even then 
> it reported cpu temps of 78 deg C, yet cpu's were only warm to the touch; 
> cpuburn could run forever without lockups. No lockups when running console 
> only. 
> 
> I have improved airflow, added fans, --> still frequent Linux OS lockups until 
> kernel recompile.

Have you reseated the heatsink/fan on the cpus? thats was the big
benifit for me...i would also suggest running with the case off and see
if that makes a difference.  What you might do is run the system in
linux for say half and hour to an hour...or as long as you an safely run
without getting a lockup...then quickly reboot to get to the bios
hardware monitoring scren and see what the temps say.

Getting lm_sensors to work on my tiger mobo was umm...interesting.
The lm_sensors website had several bugreports that were particularly
helpful.  First i had to compile some c code to run to initialize both
the hardware monitoring chips...then i have to change some defualt
lm_sensor settings to get the temps to appear correctly.  Attached to
this email you find files you might need to get this working.  

1) 2460_init.c
	I got this from a lm_sensors bugreport..this will let you 	initialize
both hardware monitoring sensors
2) rc.lm:
	this is the init script i run to setup the lm_sensors with the 	correct
temperature resistor settings, to get the temp 
	calculation correct.  You might need to edit this for your system.

The general steps you need to follow to get lm_sensors working: 
1) install the latest release of lm_sensors from the lm_sensors website
I know the redhat 7.3 lm_sensors doesnt have the tyan mobo specialized
hacks..
2) compile up the 2460_init.c code into an executable.  for the 2460
mobo, which has 2 different monitoring sensors..you either have to run
the init executable or you have to go to the bios hardware monitoring
page before you boot into linux so you can initialize both
sensors..Otherwise you only see one.  I think the 2466 board has the
same requirment.
3) run the rc.lm initscript which will run the 2460_init executable you
compiled load the modules you need and then change the resistor settings
to get the tempatures correct.


I strongly suggest you read through the S2460 S2466 mobos related bugs
on the lm_sensors website to get an idea of why I have to do these
steps.  The tyan boards are really wacky and use 2 hardware monitoring
chips.  I dont think all the sensors channels on both chips are fully
understood yet, but with the correct resistor settings you can get the
cpu temps out of sensor w83782d-i2c-0-2d  temp1 is cpu1 and temp2 is
cpu0.

At the height of my overheating problem I saw a 10C difference in temps
between the 2 cpus.  Reaseating the cpu heatsink/fan on one of the cpus
helped..but i dont think i did it as well as i could.  I've double
checked my lm_sensor readings once things got up to temp by quickly
dropping to the bios hardware monitoring page.  A good idication of
overheating would be to run with and without the case while monitoring
the temps in the bios monitor page.  Boot to bios, let the temps come up
and stabilize with the case on (half and hour or  so) if the cpus are
more than 2 or 3 C different...you have a problem, probably poor
cpu/heatsink thermal contact.  take the case off come back 10 or 15
minutes later...if the temps have dropped more than 2 or 3 C..then you
have an overheating problem, probably due to airflow.


Man i thought this was a video problem as well...but as soon as I took
the case off I havent had a problem.  And once i got lm_sensors
working...it was obviously an overheat problem....I've been going back
and forth with pogolinux about this for a couple of months.  I think
they are going to send me an extra case side panel I can drill out to
add an extra case fan to get some directed airflow close to the cpu. 
Its hot humid days that really are the problem.  I'm sure i wont have to
worry about in a month or so once the dog days or summer are over.  

-jef
/* Code to initialize Tyan Tiger MP S2460 motherboard
 * hardware sensing using lm_sensors.
 *
 * See: http://www2.lm-sensors.nu/~lm78/readticket.cgi?ticket=861
 *
 * John Choi 4/11/2002
 *
 * Compiled with: gcc -O2 -fomit-frame-pointer -W -Wall -o init init.c
 * Need to run as root before inserting the lm_sensors/i2c modules. (I think.)
 *
 * WARNING! Run at your own risk! 

 */

#include <stdio.h>
#include <sys/io.h>

#define PORT1 0x2E
#define PORT2 0x0c05

int main(void) {

        if (iopl(3)) {perror("iopl error"); exit(1);}
/*
        if (ioperm(PORT1, 2, 1)) {perror("ioperm open error 1"); exit(1);}
        if (ioperm(PORT2, 2, 1)) {perror("ioperm open error 2"); exit(1);}
*/

/* Open Super I/O Reg for Config mode */
        outb(0x87, PORT1);
        outb(0x87, PORT1);

/* Select Logic Dev 0B (HW Monitor) */
        outb(0x07, PORT1);
        outb(0x0b, PORT1+1);

/* Set I/O port address to C00h */
        outb(0x60, PORT1);
        outb(0x0c, PORT1+1);
        outb(0x61, PORT1);
        outb(0x00, PORT1+1);

/* Activate the Super I/O HW monitoring */
        outb(0x30, PORT1);
        outb(0x01, PORT1+1);

/* Set the Super I/O chip SMBUS slave address */
        outb(0x48, PORT2);
        outb(0x2c, PORT2+1);

/* Set the GP21/22 (Pin 91/92) to SMBUS clock/data */
        outb(0x2b, PORT1);
        outb(0x00, PORT1+1);
        outb(0x0a, PORT1);

        if (iopl(0)) {perror("iopl error"); exit(1);}

/*
        if (ioperm(PORT1, 2, 0)) {perror("ioperm close error 1"); exit(1);}
        if (ioperm(PORT2, 2, 0)) {perror("ioperm close error 2"); exit(1);}
*/
        return 0;
}

#!/bin/sh
/root/S2460_init/2460_init
#----cut here----
# I2C adapter drivers
/sbin/modprobe i2c-amd756
# I2C chip drivers
/sbin/modprobe w83781d init=0 force_subclients=0,0x2c,0x4a,0x4b
/sbin/modprobe eeprom
#----cut here----

echo 2 > /proc/sys/dev/sensors/w83782d-i2c-0-2d/sensor1
echo 2 > /proc/sys/dev/sensors/w83782d-i2c-0-2d/sensor2
echo 2 > /proc/sys/dev/sensors/w83782d-i2c-0-2d/sensor3

echo 2 > /proc/sys/dev/sensors/w83627hf-i2c-0-2c/sensor1
echo 2 > /proc/sys/dev/sensors/w83627hf-i2c-0-2c/sensor2
echo 2 > /proc/sys/dev/sensors/w83627hf-i2c-0-2c/sensor3

echo 4 > /proc/sys/dev/sensors/w83627hf-i2c-0-2c/fan_div
echo 4 > /proc/sys/dev/sensors/w83782d-i2c-0-2d/fan_div


[Index of Archives]     [Kernel]     [Red General Discussion]     [Red Hat Install]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux