# lm_sensors failing to load driver

## BdON

I'm using kernel 2.6.20-rc5 and lm_sensors-2.10.1 on a Asus P5B-E mobo with an Intel C2D E6300.  Firstly, here's the output of sensors-detect: 

```
Driver `eeprom' (should be inserted):

  Detects correctly:

  * Bus `SMBus I801 adapter at 0400'

    Busdriver `i2c-i801', I2C address 0x50

    Chip `eeprom' (confidence: 6)

  EEPROMs are *NOT* sensors! They are data storage chips commonly

  found on memory modules (SPD), in monitors (EDID), or in some

  laptops, for example.

Driver `w83627ehf' (should be inserted):

  Detects correctly:

  * ISA bus address 0x0290 (Busdriver `i2c-isa')

    Chip `Winbond W83627DHG Super IO Sensors' (confidence: 9)

I will now generate the commands needed to load the required modules.

Just press ENTER to continue:

If you want to load the modules at startup, generate a config file

below and make sure lm_sensors gets started at boot time; e.g

$ rc-update add lm_sensors default

To make the sensors modules behave correctly, add these lines to

/etc/modules.d/lm_sensors and run modules-update:

#----cut here----

# I2C module options

alias char-major-89 i2c-dev

#----cut here----

If you have some drivers built into your kernel, the list above will

contain too many modules. Skip the appropriate ones! You really

should try these commands right now to make sure everything is

working properly. Monitoring programs won't work until the needed

modules are loaded.

To load everything that is needed, execute the commands below...

#----cut here----

# I2C adapter drivers

modprobe i2c-i801

# Chip drivers

modprobe eeprom

modprobe w83627ehf

# sleep 2 # optional

/usr/bin/sensors -s # recommended

#----end cut here----

Do you want to overwrite /etc/conf.d/lm_sensors? Enter s to specify other file name?

  (yes/NO/s): y

```

This is just the ending.  I added alias char-major-89 i2c-dev to /etc/modules.d/lm_sensors and modprobe the 3 drivers listed.  i2c-i801 and eeprom work fine, but my problem occurs: 

```
BdONsPC bdon # modprobe w83627ehf

FATAL: Error inserting w83627ehf (/lib/modules/2.6.20-rc5/kernel/drivers/hwmon/w83627ehf.ko): No such device
```

The file is there, loaded as a module in my kernel.  Here are some other relevant things :

```
BdONsPC bdon # /etc/init.d/lm_sensors start

 * Loading lm_sensors modules...

 *   Loading i2c-i801 ...                                                [ ok ]

 *   Loading eeprom ...                                                  [ ok ]

 *   Loading w83627ehf ...                                               [ !! ]

 * Initializing sensors ...                                              [ ok ]

```

```
BdONsPC bdon # /usr/bin/sensors -s

BdONsPC bdon #    
```

```
# Generated by sensors-detect on Wed Feb 14 00:19:56 2007

# Load modules at startup

LOADMODULES=yes

# Initialize sensors at startup

INITSENSORS=yes

MODULE_0=i2c-i801

MODULE_1=eeprom

MODULE_2=w83627ehf

```

```
BdONsPC bdon # lsmod

Module                  Size  Used by

eeprom                  8784  0

i2c_i801               10132  0

lm78                   20436  0

hwmon_vid               4800  1 lm78

i2c_isa                 7040  1 lm78

nvidia               5426324  12

atl1                   32784  0

```

     the lm78 driver displays info when I run sensors, but it seems to only have my MOBO temp and not core temps, which I'm looking for.  Something I noticed as odd - through searching guides and topics and specifically here: 

http://www.lm-sensors.org/wiki/Devices under the Sensors Chip Drivers section, down to Intel Core 2 says that the required driver is called coretemp.  I patched my kernel and it modularized, but lm_sensors doesn't seem to want it.  I have recompiled my kernel like 7 times today so I ran 

```
make clean

make && make modules modules_install install
```

Unfortunately the MBM site is down and I cannot check which sensors my mobo has (With lm_sensors version 2.10.0 it didn't recognize that I needed the w83627ehf driver, I don't know what that means).  I am still a n00b, but I have an idea that maybe I don't need the w83627ehf driver, which is why it says device not found, but I need the coretemp driver.  I can load the driver and add it to /etc/conf.d/lm_sensors, but it does not have an entry in /etc/sensors.conf, wouldn't that cause a problem?  

```
BdONsPC bdon # sensors

lm78-isa-0290

Adapter: ISA adapter

VCore 1:   +2.29 V  (min =  +2.85 V, max =  +3.15 V)

VCore 2:   +3.71 V  (min =  +2.85 V, max =  +3.15 V)

+3.3V:     +3.23 V  (min =  +3.14 V, max =  +3.47 V)

+5V:       +5.40 V  (min =  +4.76 V, max =  +5.24 V)

+12V:      +7.24 V  (min = +11.37 V, max = +12.59 V)

-12V:     -10.90 V  (min = -12.63 V, max = -11.40 V)

-5V:       -2.65 V  (min =  -5.25 V, max =  -4.74 V)

fan1:        0 RPM  (min = 11065 RPM, div = 2)

fan2:     1864 RPM  (min = 3154 RPM, div = 4)

fan3:     2667 RPM  (min = 4192 RPM, div = 2)

temp:      +42.0 C  (high =  +106 C, hyst =   +10 C)

vid:       +3.00 V

coretemp-isa-0000

Adapter: ISA adapter

coretemp-isa-0001

Adapter: ISA adapter

```

It somewhat works in lm_sensors, but no info.

Sorry for the long post, I've been trying everything

----------

## BdON

Does anyone have any comments/suggestions?  Something even to just point me in the right direction.

----------

## dch24

Hi there, BdON. As you say you are new to lm_sensors, I'll give you a couple of options.

Option one is to not worry about the w83627ehf driver for right now. Probably not what you're looking for. But it's not likely your motherboard will fry.

Option two is to upgrade to lm_sensors-2.10.2. If I recall, it's still masked, but I think it will help you with one thing -- the lm78 is not the driver you're looking for.

Let me give you some more information. The w83627ehf driver is the correct driver for you. But support for the newest w83627dhg will come with the 2.6.21-rc1 kernel. (Jean, the maintainer of lm_sensors, just pushed up the w83627dhg patch today.) You don't have to download and install 2.6.21-rc1, but you won't get w83627dhg support until you update your w83627ehf driver, and it'll be at least a month before 2.6.21 is available in portage.

You can update the file /usr/src/linux/drivers/hwmon/w83627ehf.c by following the instructions on the lm_sensors mailing list:

http://lists.lm-sensors.org/pipermail/lm-sensors/2007-February/018830.html

Option three is to subscribe to the lm_sensors mailing list. It would take more time, but if you ask your question there, they'll probably help you out.

Hope that helps! - dch24

----------

## BdON

Well thanks for clearing things up.  So what's with the coretemp driver then?  

You are correct and lm_sensors-2.10.2 is still masked.  If I patch the w83627ehf driver, will it work in lm_sensors-2.10.1 or do I need to wait for 2.10.2?  

Are you saying the patched(or similar and working in my situation) w83627ehf driver will be available in the 2.6.21-rc1 kernel if I can wait?  

I'm a little unsure if what you're saying is that I can patch that driver and get it working now, or I need to wait for either lm_sensors-2.10.2 or kernel 2.6.21-rc1.  I could wait, it's just I am trying to overclock this set-up and I wanted to stay away from windows as much as possible, I'd like to monitor and test in gentoo.

----------

## dch24

I don't mind answering these, so let's see, starting with this one...

 *BdON wrote:*   

> Well thanks for clearing things up.  So what's with the coretemp driver then?

 

The coretemp driver is still pretty new. (It's not even officially in the kernel tree...) Once the module is loaded, you can "bypass" sensors and verify that it is reading the correct values at the driver level. If sensors isn't displaying it correctly and we can't figure it out (obviously, I've never used coretemp myself, so let's try and figure it out) -- after that, we can contact the lm_sensors mailing list and they'll certainly either point out our error or work on a bugfix. Just in case it isn't obvious already, I'm the developer over at lm_sensors who works on w83627ehf right now...but this may not require bugging them. It may just be a gentoo thing. The coretemp driver should work like the k8temp driver: this shows sensors output, and this shows how to read directly from the driver using the sysfs.

 *BdON wrote:*   

> You are correct and lm_sensors-2.10.2 is still masked.  If I patch the w83627ehf driver, will it work in lm_sensors-2.10.1 or do I need to wait for 2.10.2?

 

Yes, once you patch the w83627ehf driver, go ahead and emerge lm_sensors-2.10.2. I think it has a better sensors.conf example to get you started with the 627dhg. I know it's not a huge change from 2.10.1, not enough to be a headache for you.

 *BdON wrote:*   

> Are you saying the patched(or similar and working in my situation) w83627ehf driver will be available in the 2.6.21-rc1 kernel if I can wait?

 

Yup. Jean asked Linus to grab the patches for the 2.6.21-rc1 kernel just today.

 *BdON wrote:*   

> I'm a little unsure if what you're saying is that I can patch that driver and get it working now, or I need to wait for either lm_sensors-2.10.2 or kernel 2.6.21-rc1.

 

If you patch your driver now, you'll have a custom kernel that is outside the main tree. So let's say you download 2.6.20 (it's officially released now) and apply the patch. You'll have 627dhg support, and a custom kernel build. When 2.6.21-rc1 comes out, download it and don't apply the patch. At that point, you'll be back on the "main" kernel. Since the patch (only 54 lines or so) has been out for two months now and we've had six or seven testers OK it, it's not going to kill your kernel or anything.

I suggest you use lm_sensors-2.10.2 because that makes things easy for me. As far as I know, the only advantage for you to upgrade to 2.10.2 is sensors.conf.

 *BdON wrote:*   

> I could wait, it's just I am trying to overclock this set-up and I wanted to stay away from windows as much as possible, I'd like to monitor and test in gentoo.

 

Ah... now I get it. OCing will require you to look at all the data from your 627dhg chip, so you'll want support right away. I think you should patch your 2.6.20-rc5 (it will work on any kernel >= 2.6.18 ) and rebuild it with 627dhg support.

Let me know if coretemp loads OK, and if sensors displays the temperatures. That's step two, I guess.

----------

## BdON

I think I understand what you're saying about coretemp, maybe I don't but I'll assume I do.  I load coretemp by adding it to /etc/conf.d/lm_sensors and then run /etc/init.d/lm_sensors start.  Everything looks right, in reference to coretemp.  

```
BdONsPC bdon # /etc/init.d/lm_sensors start

 * Loading lm_sensors modules...

 *   Loading i2c-i801 ...                                                [ ok ]

 *   Loading coretemp ...                                                [ ok ]

 *   Loading eeprom ...                                                  [ ok ]

 *   Loading w83627ehf ...                                               [ !! ]

 * Initializing sensors ...                                              [ ok ]

```

But sensors doesn't seem to display any data from coretemp.   

```
BdONsPC bdon # sensors

lm78-isa-0290

Adapter: ISA adapter

VCore 1:   +2.75 V  (min =  +0.00 V, max =  +3.49 V)

VCore 2:   +3.71 V  (min =  +3.23 V, max =  +1.98 V)

+3.3V:     +3.23 V  (min =  +1.47 V, max =  +1.23 V)

+5V:       +5.40 V  (min =  +2.39 V, max =  +0.78 V)

+12V:     +10.82 V  (min =  +2.37 V, max =  +0.43 V)

-12V:     -10.96 V  (min =  -2.89 V, max =  -4.90 V)

-5V:       -4.19 V  (min =  -3.23 V, max =  -4.43 V)

fan1:        0 RPM  (min = 11065 RPM, div = 2)

fan2:     1804 RPM  (min = 3154 RPM, div = 4)

fan3:     2657 RPM  (min = 5232 RPM, div = 2)

temp:      +39.0 C  (high =  +106 C, hyst =   +10 C)

vid:       +3.00 V

[b]coretemp-isa-0000

Adapter: ISA adapter

coretemp-isa-0001

Adapter: ISA adapter[/b]

```

What makes me believe something isn't right is that lm78 isn't displaying any core temps, that temp seems consistent with my mobo temp.  (I just turned on my computer a few min ago)   

I did patch my kernel with the patch for the w83627ehf driver, and now I get a different error.  

```
BdONsPC bdon # modprobe w83627ehf

FATAL: Error inserting w83627ehf (/lib/modules/2.6.20-rc5/kernel/drivers/hwmon/w83627ehf.ko): Device or resource busy

```

I could not update lm_sensors to 2.10.2 because it is masked (-amd64) and I am on amd64, I can, however, replace the sensors.conf file from the new package with mine if that helps.

I couldn't figure out how to read the temps directly from the driver, unless I install gkrellm I think, but this is whats in my /sys/class/hwmon 

```
BdONsPC etc # ls /sys/class/hwmon/

hwmon0  hwmon1  hwmon2

BdONsPC etc # ls /sys/class/hwmon/hwmon0/device/

alarms      fan2_div      in0_input  in2_max    in4_min    name

bus         fan2_input    in0_max    in2_min    in5_input  power

cpu0_vid    fan2_min      in0_min    in3_input  in5_max    subsystem

driver      fan3_div      in1_input  in3_max    in5_min    temp1_input

fan1_div    fan3_input    in1_max    in3_min    in6_input  temp1_max

fan1_input  fan3_min      in1_min    in4_input  in6_max    temp1_max_hyst

fan1_min    hwmon:hwmon0  in2_input  in4_max    in6_min    uevent

```

 if that helps.

----------

## dch24

 *Quote:*   

> But sensors doesn't seem to display any data from coretemp.

 

Right. I think sensors doesn't have coretemp support yet, beyond the basic module loading. You'll need to read the temp data directly (using gkrellm, for instance).

 *Quote:*   

> I did patch my kernel with the patch for the w83627ehf driver, and now I get a different error.

 

You can't have lm78 and w83627ehf loaded at the same time. I think this is the problem. The lm78 driver incorrectly assumes your w83627dhg is an lm78. There was even a bug in sensors-detect that mis-identified the w83627dhg as an lm78. If the w83627ehf driver loads, you don't have an lm78.

----------

## BdON

OK, I see now.  See I thought the lm78 and w83627dhg were different chips at different locations.  So I removed lm78 from loading at startup and replaced it with w83627ehf and it worked.  No readings in sensors though.  

```
bdon@BdONsPC ~ $ sensors

w83627dhg-isa-0290

Adapter: ISA adapter

```

  I removed coretemp from loading with lm_sensors and I also replaced my /etc/sensors.conf with the one I got from the lm_sensors-2.10.2 package from the lm_sensors webpage, with the same results as above.  Will I need gkrellm to eventually read my CPU temps?

----------

## BdON

I think I found the temps and everything I was looking for at /sys/devices/platform/i2c-9191/9191-0290/

```
BdONsPC bdon # cat /sys/devices/platform/i2c-9191/9191-0290/temp2_input

42500

```

that divided by 100 seems about right.  temp1_input seemed like my mobo and temp3_input as AUX.  Fan speeds seem correct also.  How do I get this info available to lm_sensors and/or conky?

----------

## dch24

9191-0290 is the w83627ehf driver (look at the "name" file). Can you find the coretemp? Something along these lines: http://lists.jutley.org/pipermail/gkrellm/2007-January/000233.html

I think you'll need to edit /etc/sensors.conf. You're not seeing any output, and that means the necessary lines aren't in sensors.conf. It won't give you coretemp data, but you should be able to get w83627dhg data.

----------

## BdON

hmm...I was having trouble then I remembered I removed coretemp from being autoloaded.  Found it after that though. coretemp.{0,1}/name both have a value of "coretemp" 

```
BdONsPC devices # find . -wholename *coretemp*

./platform/coretemp.1

./platform/coretemp.1/hwmon:hwmon2

./platform/coretemp.1/temp1_crit

./platform/coretemp.1/temp1_input

./platform/coretemp.1/temp1_crit_alarm

./platform/coretemp.1/temp1_label

./platform/coretemp.1/name

./platform/coretemp.1/driver

./platform/coretemp.1/bus

./platform/coretemp.1/subsystem

./platform/coretemp.1/modalias

./platform/coretemp.1/power

./platform/coretemp.1/power/wakeup

./platform/coretemp.1/uevent

./platform/coretemp.0

./platform/coretemp.0/hwmon:hwmon1

./platform/coretemp.0/temp1_crit

./platform/coretemp.0/temp1_input

./platform/coretemp.0/temp1_crit_alarm

./platform/coretemp.0/temp1_label

./platform/coretemp.0/name

./platform/coretemp.0/driver

./platform/coretemp.0/bus

./platform/coretemp.0/subsystem

./platform/coretemp.0/modalias

./platform/coretemp.0/power

./platform/coretemp.0/power/wakeup

./platform/coretemp.0/uevent

```

My /etc/sensors.conf file is still identical to the one provided with lm_sensors-2.10.2 so how should I edit it?  

So just for my future understanding, 9191-0290 is the driver for the w83627dhg chip and it's named w83627ehf?  Is coretemp.0 and coretemp.1 just different drivers for the w83627dhg chip?    :Question: 

----------

## dch24

 *Quote:*   

> So just for my future understanding, 9191-0290 is the driver for the w83627dhg chip and it's named w83627ehf?

 

Yes. If you type the following:

```
cat /sys/devices/platform/coretemp.0/name
```

You should get the driver name (coretemp).

If you type the following:

```
cat /sys/devices/platform/i2c-9191/9191-0290/name
```

You should get the driver name (w83627ehf)

 *Quote:*   

> Is coretemp.0 and coretemp.1 just different drivers for the w83627dhg chip?

 

No. The coretemp driver reads the digital temp sensor right in the core 2 duo chip. No w83627dhg chip is needed. The w83627ehf driver reads the w83627dhg chip, which connects to the analog temp sensor pins coming out of the core 2 duo chip. The digital temp sensor of each core is placed on the surface of the die and it responds very quickly to the load on the chip. In other words, you'll see the output of coretemp rise quickly when the chip goes from idle to fully loaded. The analog temp sensors are buried in the die somewhere, and they take a while to heat up. So the output of sensors will eventually catch up to the output of coretemp. They won't be exactly the same, because you have multiple sensors in the chip.

 *Quote:*   

> My /etc/sensors.conf file is still identical to the one provided with lm_sensors-2.10.2 so how should I edit it?

 

man sensors.conf

 *Quote:*   

> cat /sys/devices/platform/i2c-9191/9191-0290/temp2_input
> 
> 42500
> 
> that divided by 100 seems about right.

 

Well, divide it by 1000, but otherwise, yes, you're right.

----------

## BdON

Thanks for all of the help.  I've managed to get conky working decently.  I will attempt to edit sensors.conf when I get some time

----------

## dch24

Cool. I'll try and let you know when coretemp support is added to lm-sensors. Should I post to this thread or PM you?

----------

## BdON

It doesn't matter, I have this thread marked to notify me of replies

----------

## tkhobbes

 *BdON wrote:*   

> Thanks for all of the help.  I've managed to get conky working decently.  I will attempt to edit sensors.conf when I get some time

 

Hi there, I have a similar problem - I want conky to display core temparature and fan speed. I also have a P5B-E; now as the thread here goes on for some posts, could you just summarize what you did in order to get the temperatures into conky (including stuff like .conkyrc)?

I promise in return to write something like a P5B-E howto on the Gentoo-Wiki (there might be other important stuff about this motherboard to notice, as the atl1 driver and the JMicron controller...)  :Smile: 

That would be really, really, really great!   :Cool: 

----------

## BdON

Ok, hopefully I don't forget anything.  I am currently using kernel 2-6.20.3 but I have used it successfully on 2.6.20 also.  I added the patches found http://www.lm-sensors.org/wiki/Devices for coretemp.  It seems the patches might be a little different, but I am sure they are the same.  The patches I had were called add-coretem-driver.patch coretemp-add-documentation.patch and hwmon-w83627ehf-add-w83627dhg-support.patch in case you needed that.  This is my HW monitoring section of my .config file 

```
# Hardware Monitoring support

#

CONFIG_HWMON=y

# CONFIG_HWMON_VID is not set

# CONFIG_SENSORS_ABITUGURU is not set

# CONFIG_SENSORS_ADM1021 is not set

# CONFIG_SENSORS_ADM1025 is not set

# CONFIG_SENSORS_ADM1026 is not set

# CONFIG_SENSORS_ADM1031 is not set

# CONFIG_SENSORS_ADM9240 is not set

# CONFIG_SENSORS_K8TEMP is not set

# CONFIG_SENSORS_ASB100 is not set

# CONFIG_SENSORS_ATXP1 is not set

CONFIG_SENSORS_CORETEMP=m

# CONFIG_SENSORS_DS1621 is not set

# CONFIG_SENSORS_F71805F is not set

# CONFIG_SENSORS_FSCHER is not set

# CONFIG_SENSORS_FSCPOS is not set

# CONFIG_SENSORS_GL518SM is not set

# CONFIG_SENSORS_GL520SM is not set

# CONFIG_SENSORS_IT87 is not set

# CONFIG_SENSORS_LM63 is not set

# CONFIG_SENSORS_LM75 is not set

# CONFIG_SENSORS_LM77 is not set

# CONFIG_SENSORS_LM78 is not set

# CONFIG_SENSORS_LM80 is not set

# CONFIG_SENSORS_LM83 is not set

# CONFIG_SENSORS_LM85 is not set

# CONFIG_SENSORS_LM87 is not set

# CONFIG_SENSORS_LM90 is not set

# CONFIG_SENSORS_LM92 is not set

# CONFIG_SENSORS_MAX1619 is not set

# CONFIG_SENSORS_PC87360 is not set

# CONFIG_SENSORS_PC87427 is not set

# CONFIG_SENSORS_SIS5595 is not set

# CONFIG_SENSORS_SMSC47M1 is not set

# CONFIG_SENSORS_SMSC47M192 is not set

CONFIG_SENSORS_SMSC47B397=m

# CONFIG_SENSORS_VIA686A is not set

# CONFIG_SENSORS_VT1211 is not set

# CONFIG_SENSORS_VT8231 is not set

# CONFIG_SENSORS_W83781D is not set

# CONFIG_SENSORS_W83791D is not set

# CONFIG_SENSORS_W83792D is not set

# CONFIG_SENSORS_W83793 is not set

# CONFIG_SENSORS_W83L785TS is not set

# CONFIG_SENSORS_W83627HF is not set

CONFIG_SENSORS_W83627EHF=m

# CONFIG_SENSORS_HDAPS is not set

# CONFIG_HWMON_DEBUG_CHIP is not set

#

```

 After the new kernel was compiled and lm_sensors was installed, run sensors-detect.  It will let you know which drivers you need to add to /etc/modules.autoload.d/kernel-2.6.  This should get the sensors working.  

Now for conky.  This is a copy of my .conkyrc 

```
background yes

use_xft yes

xftfont Trebuchet MS:size=8

#xftfont Terminus:size=8

#xftfont Arial-7

xftalpha 0.8

#font -*-terminus-*-*-*-*-*-*-*-*-*-*-*-*

#font -*-xos4-*-*-*-*-*-*-*-*-*-*-*-*

#font -*-aqui-*-*-*-*-*-*-*-*-*-*-*-*

#font -*-arial-*-*-*-*-*-*-*-*-*-*-*-*

#font -*-courier-*-*-*-*-12-*-*-*-*-*-*-*

#mpd_host 192.168.150.2

#mpd_port 6600

update_interval 1.0

total_run_times 0

own_window no

own_window_transparent yes

double_buffer yes

minimum_size 280 5

draw_shades no

draw_outline no

draw_borders no

stippled_borders 3

border_margin 5

border_width 6

default_color #524940

default_shade_color black

default_outline_color white

alignment top_left

maximum_width 200

gap_x 12

gap_y 216

no_buffers yes

uppercase no

cpu_avg_samples 2

net_avg_samples 2

override_utf8_locale no

use_spacer no

# stuff after 'TEXT' will be formatted on screen

#${color #791411}Weather ${color #410A03}${hr 3}

#${color #524940}  ${execi 3600 /usr/share/conky-weather/weather.sh}

TEXT

${color #8B1203}System ${color #F3F3F3} ${hr 2}

${color #F3F3F3} $nodename   linux-$kernel${alignr}${time %T}

${color #F3F3F3} Uptime:${color #8B1203} $uptime ${color #F3F3F3}- Load:${color #8B1203} $loadavg

${color #F3F3F3} CPU 1:${color #8B1203} ${freq_g 1} ${color #F3F3F3}  Maximum:${color #8B1203} ${freq_g 1}

${color #F3F3F3} CPU 2:${color #8B1203} ${freq_g 2} ${color #F3F3F3}  Maximum:${color #8B1203} ${freq_g 2}

${color #F3F3F3} CPU 1: ${color #8B1203}${cpu cpu1}%  ${cpugraph cpu1 27,140 F3F3F3 8B1203}

${color #F3F3F3} CPU 2: ${color #8B1203}${cpu cpu2}%  ${cpugraph cpu2 27,140 F3F3F3 8B1203}

${color #F3F3F3} RAM:    ${alignc}${color #8B1203} $mem/$memmax - $memperc% ${color #F3F3F3}${membar}

${color #F3F3F3} Swap:            ${alignc} ${color #8B1203} $swap/$swapmax - $swapperc% ${color #F3F3F3}${swapbar}

${color #F3F3F3} Processes:${color #8B1203} $processes  ${color #F3F3F3}Running:${color #8B1203} $running_processes

${color #8B1203}Processes ${color #F3F3F3}${hr 2}

  ${color #F3F3F3}NAME           ${alignr 4} PID      CPU%     MEM%

  ${color #8B1203}${top name 1} ${alignr 4} ${top pid 1}   ${top cpu 1}    ${top mem 1}

  ${color #8B1203}${top name 2} ${alignr 4} ${top pid 2}   ${top cpu 2}    ${top mem 2}

  ${color #8B1203}${top name 3} ${alignr 4} ${top pid 3}   ${top cpu 3}    ${top mem 3}

  ${color #8B1203}${top name 4} ${alignr 4} ${top pid 4}   ${top cpu 4}    ${top mem 4}

${color #8B1203}Memory ${color #F3F3F3}${hr 2}

  ${color #F3F3F3}NAME            ${alignr 4}  PID      CPU%     MEM%

  ${color #8B1203}${top_mem name 1} ${alignr 4} ${top_mem pid 1}   ${top_mem cpu 1}    ${top_mem mem 1}

  ${color #8B1203}${top_mem name 2} ${alignr 4} ${top_mem pid 2}   ${top_mem cpu 2}    ${top_mem mem 2}

  ${color #8B1203}${top_mem name 3} ${alignr 4} ${top_mem pid 3}   ${top_mem cpu 3}    ${top_mem mem 3}

  ${color #8B1203}${top_mem name 4} ${alignr 4} ${top_mem pid 4}   ${top_mem cpu 4}    ${top_mem mem 4}

${color #8B1203}Filesystems ${color #F3F3F3}${hr 2}

  ${color #F3F3F3}root:${color #8B1203}       ${fs_free_perc /}%  $fs_free  ${color #F3F3F3}${fs_bar 6 /}$color

  ${color #F3F3F3}usr:${color #8B1203}         ${fs_free_perc /usr}%  ${fs_free /usr}  ${color #F3F3F3}${fs_bar 6 /usr}$color

${color #8B1203}Networking (${addr eth0}) ${color #F3F3F3}${hr 2}

 ${color #8B1203} Up: ${upspeed eth0} k/s ${alignr}Down: ${downspeed eth0} k/s

${color #8B1203}Monitors ${color #F3F3F3}${hr 2}

${color #F3F3F3}    CPU1     CPU2      MOBO   FAN1   FAN2  FAN3

${color #8B1203}    ${execi 5 coretemp.sh 1}C     ${execi 5 coretemp.sh 2}C    ${i2c 9191-0290 temp 1}C   ${i2c 9191-0290 fan 1}   ${i2c 9191-0290 fan 2}   ${i2c 9191-0290 fan 3}

```

Notice those lines near the end for the cpu temps.  They have the ${execi ...} code.  I made a script file in my search path that looks like this.  

```
#! /bin/sh

# Script for conky to read from coretemp sensors

CPU1RAW=`cat /sys/bus/platform/devices/coretemp.0/temp1_input`

CPU1=$(($CPU1RAW / 1000))

CPU1DEC=$(($CPU1RAW % 1000))

CPU2RAW=`cat /sys/bus/platform/devices/coretemp.1/temp1_input`

CPU2=$(($CPU2RAW / 1000))

CPU2DEC=$(($CPU2RAW % 1000))

case $1 in

  1)

  echo "$CPU1.$CPU1DEC" ;;

  2)

  echo "$CPU2.$CPU2DEC" ;;

  *)

  echo "Core 1: $CPU1.$CPU1DEC"

  echo "Core 2: $CPU2.$CPU2DEC";;

esac

```

  I am not taking credit for the shell script, I saw someone else's and modified it a little.  It works though.  Ask if you have any questions.  Great if you could add this and anything else to the wiki.

----------

## tkhobbes

I have gentoo-sources-2.6.20-r6. When I add the patch, configure as given and then "make" (after a "make clean"), I get this:

```
  BUILD   arch/i386/boot/bzImage

Root device is (8, 6)

Boot sector 512 bytes.

Setup is 6646 bytes.

System is 2009 kB

Kernel: arch/i386/boot/bzImage is ready  (#2)

  Building modules, stage 2.

  MODPOST 8 modules

WARNING: "rdmsr_safe_on_cpu" [drivers/hwmon/coretemp.ko] undefined!

WARNING: "rdmsr_on_cpu" [drivers/hwmon/coretemp.ko] undefined!

make[1]: *** [__modpost] Error 1

make: *** [modules] Error 2

```

I don't think this is good.....

EDIT: The promised wiki-entry has started: http://www.gentoo-wiki.com/Asus_P5B-E is its place (it's still under construction...)

----------

## BdON

I couldn't find the patches I used again.  So I uploaded them so you can try them.  http://mypage.siu.edu/bdon/add-coretemp-driver.patch

http://mypage.siu.edu/bdon/coretemp-add-documentation.patch http://mypage.siu.edu/bdon/hwmon-w83627ehf-add-w83627dhg-support.patch

Give those a try

----------

## tkhobbes

Thanks man, it works!

Now, the only thing you have to tell me is what the numbers in your conkyrc just under FAN mean. rotations per minute?

And what I also don't know is how to influence the fans and therefore the CPU heating...... but I guess this is another topic...

BTW, I have added this to the wiki entry for the P5B-E...

----------

## BdON

Yeah, those are in rpm.  I believe fan3 is cpu fan and other 2 are case fans.  Check your /sys/bus/i2c/devices/9191-0290 folder, that has some sensor data.  the fans are fan1_input fan2_input fan3_input and I don't think fan4_input is used.  

Good to hear you wrote this up in the wiki.  You can link straight to those patches I linked to if you didn't already.  It's my webspace at school and I most likely won't be taking it off of there anytime soon.  I believe support for coretemp driver was going to be added to kernel 2.6.21 but I don't know for sure.

EDIT: I just checked out the wiki.  Lots of useful info I wish I had and I see you hosted the patches yourself.

----------

## tkhobbes

I have fan1 to fan5, but fan3 and fan4 do not return any data, while fan1, fan2 and fan5 are rotating... how can I find out which is which?

----------

## BdON

You're right, there are 5 fan inputs.  But for me, the only one with no value is 4.  I think there's the answer to which fan number is which somewhere on this board.  Try searching for w83627ehf or p5b.  Or you can go into your BIOS (delete button at startup) and get the fan speeds from there.  Then check the data of the fan inputs and see which one is similar to the cpu fan.  Works best if the system has already warmed up to a constant temp.  Unfortunately, I think fan 3 is the cpu fan, it's around 2600rpm while the others are at 1200-1800.  That's on my system anyways so it may be different on yours if different revision numbers or something.

----------

