LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Mandriva (https://www.linuxquestions.org/questions/mandriva-30/)
-   -   lm_sensors: How Do I Get It Working? (https://www.linuxquestions.org/questions/mandriva-30/lm_sensors-how-do-i-get-it-working-240781/)

RavenLX 10-09-2004 08:59 PM

lm_sensors: How Do I Get It Working?
 
I'm trying to get lm_sensors to work. I installed Mandrake 10 official and did a package update as well. Then installed (from CD-ROM) lm_sensors and the libraries available. I'm using Kernel 2.6.3-7mdk, gkrellm, KDE 3.2, and have an A-Bit IS-10 motherboard with Intel 865GE chipset and Intel 2GHz P4 CPU. I want to be able to tap into the CPU temperature and display it in GKrellm.

Now, I am reading in the forums and see that maybe I should uninstall the lm_sensors that I installed from CD and compile from the lm_sensors site (they just updated the package I see). But, I can't find any mention of my motherboard's chipset in the supported drivers and chips areas. Or am I looking in the wrong place?

So, I have some questions:

1. Does anyone know if the Intel 865GE chipset is supported (or the A-Bit IS-10 motherboard)?
2. What are the steps to install from source? Normal ./configure, make, make install? Anything else I need to know? Does it matter what directory the sources are in?
3. How do you get GKrellm to NOT be on top of all your windows?

Thanks for any help...

mdg 10-10-2004 02:39 AM

Your chipset isn't listed on the lm_sensors site, but that doesn't necessarily mean that it won't work. Follow these steps to get it going:

1. Configure the kernel as per lm_sensors page

2. Download the lm_sensors source that matches your kernel (same page as above, a bit further down). For 2.6.3 kernel, you'll need lm_sensors-2.8.5 or later. Download here

3. Unpack the tar file, cd to the created directory and type "make user", su to root and then type "make user_install". If all went well, lm_sensors is installed.

4. In a terminal, run "sensors-detect", the program that, strangely enough, detects your sensors. Answer all the questions, don't skip any. It's generally OK to answer default for all questions (press Enter)

5. At the end of the program, there are some chunks of code to copy to various locations. Follow the given instructions.

6. Reboot

7. Configure gkrellm to show the sensors you want.

There's an option in the gkrellm configure menu (General - Properties) to set gkrellm on top or below other windows.

If you run into problems, post again

opjose 10-10-2004 06:59 AM

Bleh!

Mandrake already has everything properly set up for LM sensors.

Downloading and compiling the posted versions is going to "break" things, which is silly.

Too many people are coming to Mandrake from other distros and then erroneously telling the neophyts to "recompile" the kernel.

This is SENSELESS in Mandrake as ALL kernel modules are already precompiled.


Instead of doing this configure the packagemanager sources then

urpmi lm_sensors

as he indicated then as root type in

sensors-detect

and follow the directions reading what it says VERY carefully.

Pay particular attention to what it finds and what modules are needed.

Make the appropriate entries as indicated the MANUALLY modprobe the modules it asks for to see if they are available.

In some cases you'll get asked to add entries to /etc/modules.conf for which there are NO kernel modules (YET!). In this case you are SOL.

Anyway, once you have things configured, reboot.

Then from a prompt type

service lm_sensors start

and finally

sensors

to see if you get valid output.

That's it!

RavenLX 10-10-2004 08:55 AM

mdg - that IS a lot to go through. I don't have the time right now so I'll have to look into it another time.

opjose - I tried your suggestion and gkrellm's temperature options are still disabled. Here's what the final 'sensors' command gave:

[tika@localhost tika]$ su
Password:
[root@localhost tika]# service lm_sensors start
Loading sensors modules:
Starting sensord:
[root@localhost tika]# sensors
eeprom-i2c-0-51
Adapter: SMBus I801 adapter at 0500
Memory type: DDR SDRAM DIMM
Memory size (MB): 256

eeprom-i2c-0-50
Adapter: SMBus I801 adapter at 0500
Memory type: DDR SDRAM DIMM
Memory size (MB): 256

That's it. Here's what the sensors-detect found:

Driver `eeprom' (should be inserted):
Detects correctly:
* Bus `SMBus I801 adapter at 0500' (Algorithm unavailable)
Busdriver `i2c-i801', I2C address 0x50
Chip `SPD EEPROM' (confidence: 8)
* Bus `SMBus I801 adapter at 0500' (Algorithm unavailable)
Busdriver `i2c-i801', I2C address 0x51
Chip `SPD EEPROM' (confidence: 8)

Driver `w83781d' (may not be inserted):
Misdetects:
* ISA bus address 0x0290 (Busdriver `i2c-isa')
Chip `Winbond W83627HF' (confidence: 8)

Driver `w83627hf' (should be inserted):
Detects correctly:
* ISA bus address 0x0290 (Busdriver `i2c-isa')
Chip `Winbond W83627HF Super IO Sensors' (confidence: 9)

It also told me to insert things:

#----cut here----
# I2C module options
alias char-major-89 i2c-dev
#----cut here----

To load everything that is needed, add this to some /etc/rc* file:

#----cut here----
# I2C adapter drivers
modprobe i2c-i801
modprobe i2c-isa
# I2C chip drivers
modprobe eeprom
modprobe w83627hf
# sleep 2 # optional
/usr/local/bin/sensors -s # recommended
#----cut here----

So the first clip went to modules.conf and the second into rc.local (since it says in the file you can load your stuff from there).

The second thing it told to add, said "some" rc file. It would have been helpful to add WHICH rc file! And, I left off the #sleep 2 #optional and the line directly below it. I was afraid the computer would sound an alarm and shut down immediately like it does in the Motherboard Monitor in Windows on one of the temp sensors (the 2nd one I think it is), which isn't really a probable/readable sensor but an high-temp trigger alarm, apparently. So I didn't want to push my luck. :)

BTW, when I did the urpmi lm_sensors at first, it said everything was already installed.

So I'm stumped.

And I STILL can't figure out how to get gkrellm to not be on top of all my windows. :(

What to do next would be appreciated... thanks. I have to work tomorrow so I won't be able to get back to this until the weekend, if it involves too much tweaking.

RavenLX 10-10-2004 09:53 AM

Well, good news about gkrellm - I figured out how to keep it from being on top of all windows. For those who wonder the same, right click, Configuration, General, Properties Tab, "Set below other windows of the same type" checked.

Now it stays on the Desktop and not over top what I'm doing. :)

estatik 10-10-2004 12:30 PM

I'll try to help you the best way I can. I had a tough time getting lm_sensors to detect/work the first time on my box, and even when I got it running, I still had to "tweak" some settings to get it show the correct values.

Ok, so we'll start over and try to get lm_sensors working.

I'm sure you have the three packages installed for lm_sensors to work, but double-check:
Code:

$ rpm -qa | grep lm_sensors liblm_sensors3 librrdtool0
As root:
Code:

# sensors-detect
Go though and answer all the questions with "YES" to the following:

1) We can start with probing for (PCI) I2C or SMBus
adapters. You do not need any special privileges for this.
Do you want to probe now? (YES/no): YES

(You should get a print of a driver 'i2c-x'. Write this down somewhere.)

2) To continue, we need module `i2c-dev' to be loaded.
If it is built-in into your kernel, you can safely skip this.
i2c-dev is not loaded. Do you want to load it now?
(YES/no): YES

3) Next adapter: SMBus I801 adapter at 0500
Do you want to scan it? (YES/no/selectively): YES

4) Do you want to scan the ISA bus? (YES/no): YES

5) Do you want to scan for Super I/O sensors? (YES/no):YES

6) Do you want to scan for secondary Super I/O sensors?
(YES/no): YES

7) [ENTER]

8) I will now generate the commands needed to load the I2C
modules. Sometimes, a chip is available both through the
ISA bus and an I2C bus. ISA bus access is faster, but
you need to load an additional driver module for it. If you
have the choice, do you want to use the ISA bus or the
I2C/SMBus (ISA/smbus)? I2C/SMBus

9) Open up another terminal and as root:
Code:

# modprobe i2c-dev
Code:

# modprobe i2c-i801
Code:

# modprobe i2c-isa
Code:

# modprobe eeprom
Code:

# modprobe w83627hf
and make sure that the modules are loaded (if a module doesn't load, you know by getting an error).

10) Do you want to generate /etc/sysconfig/lm_sensors?
(YES/no): YES

11) In the second terminal, add the following lines to /etc/modules.conf:

# I2C module options
alias char-major-89 i2c-dev

12) Again add the following lines to /etc/rc.d/rc.modules:

# I2C adapter drivers
modprobe i2c-i801
modprobe i2c-isa
# I2C chip drivers
modprobe eeprom
modprobe w83627hf
# sleep 2 # optional
# /usr/bin/sensors -s # recommended

*Note that I have commented and changed the last line from /usr/local/bin/sensors -s.... to /usr/bin/local. You might find that leaving the line uncommented will work for you, but it wouldn't for me. And the reason why I deleted the "local" dir is, when I rebooted, I would get an error about sensors not found (or something like that...it's been a while;) , but if you take a look where sensors is located, it's in /usr/bin/ and not in /usr/local/bin/.)

13) Now, when you're asked to copy prog /init/lm_sensors.init to /etc/rc.d/init.d/lm_sensors for initialization @ boot time, you can disregard that since you have already done it in step 12.

If you need to make any adjustments, edit /etc/sensors.conf before you make adjustments in gkrellm.

RavenLX 10-10-2004 01:39 PM

estatik - I followed your instructions up to step 9 and I got this:

[root@localhost tika]# modprobe i2c-dev
[root@localhost tika]# modprobe i2c-i801
[root@localhost tika]# modprobe i2c-isa
[root@localhost tika]# modprobe eeprom
[root@localhost tika]# modprobe w83627hf
FATAL: Module w83627hf not found.

Ok, so here's what I do:

[root@localhost tika]# locate w83627hf
/usr/share/doc/lm_sensors-2.8.4/doc/chips/w83627hf
/usr/src/linux-2.6.3-16mdk/drivers/char/watchdog/w83627hf_wdt.c
/lib/modules/2.6.3-7mdk/kernel/drivers/char/watchdog/w83627hf_wdt.ko.gz

So I have no w93627hf.o anywhere on the system, apparently. Could someone tell me how to compile just ONE module and set it up, and load it? Then I think I'd have better luck getting on with the rest of these instructions. :)

I hope I'm going in the right direction...?

mdg 10-10-2004 02:34 PM

Quote:

Originally posted by opjose
Bleh!

Mandrake already has everything properly set up for LM sensors.

Downloading and compiling the posted versions is going to "break" things, which is silly.

Too many people are coming to Mandrake from other distros and then erroneously telling the neophyts to "recompile" the kernel.

This is SENSELESS in Mandrake as ALL kernel modules are already precompiled.



opjose: The question was how to install lm_sensors from source and that was what I answered.

I'm sure if you think about it, you'll agree that it's better to check if the kernel is set up properly in the beginning, rather than backtracking looking for what went wrong later. Some people have been known to make changes to their stock kernel and the original configuration might have changed. Obviously if all kernel modules are already precompiled as you stated,
there won't be a need to recompile the kernel, but it would be "SENSELESS" not to check.



FuzzieDice: look in the config file for your kernel (/usr/src/linux-2.6.3-7mdk) and check in the
hardware sensors section if W83627HF is enabled or not. You might also try modprobing the w83781d driver and see if it makes a difference.


edit: added answer to FuzzieDice

RavenLX 10-10-2004 03:40 PM

ok, modprobing w83781d didn't give an error. There's no kernel config file in the source directory.

modprobing w83627hf always says that the module isn't found.

estatik 10-10-2004 05:34 PM

Hmm...that's strange.

"Driver `w83781d' (may not be inserted):
Misdetects:
* ISA bus address 0x0290 (Busdriver `i2c-isa')
Chip `Winbond W83627HF' (confidence: 8)

Driver `w83627hf' (should be inserted):
Detects correctly:
* ISA bus address 0x0290 (Busdriver `i2c-isa')
Chip `Winbond W83627HF Super IO Sensors' (confidence: 9)"

I, also, had a similar output to the one above, with the drivers being different ('w83697hf' (may not be inserted) / 'w83627hf' (should be inserted).

AFAIK, my mobo uses the w83697hf driver but, modprobing it gives me the fatal: module not found error. But modprobing w83627hf, doesn't complain.

Why not go ahead and modprobe w83781d instead of w83627hf and complete the setup and run # sensors -s to see if it indeed loads the module. Oh, you might want to reboot after setup. YES, I SAID THE "R" WORD!

Here's some info on the w83781d driver.

Other than that, if you still can't get it working, then either A) Your mobo/bios doesn't have the correct parameters for lm_sensors to function (btw, is you mobo based on the Intel i810 chip? I have one, that will not work period, even when I force the chip drivers to load), or B) You can try forcing the chip driver(s) to load. Look at bottom of page.

EDIT: "[root@localhost tika]# locate w83627hf
/usr/share/doc/lm_sensors-2.8.4/doc/chips/w83627hf
/usr/src/linux-2.6.3-16mdk/drivers/char/watchdog/w83627hf_wdt.c
/lib/modules/2.6.3-7mdk/kernel/drivers/char/watchdog/w83627hf_wdt.ko.gz"

I believe that if you look under /usr/src/linux-2.6.x-x/drivers/i2c/chips, you'll should find w83627hf.c.

And under /lib/modules/2.6.x-x/kernel/drivers/i2c/chips, you'll should find w83627hf.ko.gz and/or w83781d.ko.gz. Don't know if that helps, but...

opjose 10-10-2004 07:55 PM

FuzzyDice

before getting sidetracked with all of the other suggestions, post the output of

sensors

to see what information is currently available with the existing setup.

Also remember that not all of the modules which lm_sensors says it may need, are available "YET".

That is, the author put in places wherein he stated that you'll need to add xyz module, yet when you check the status of these modules either you must use a compatible module OR there is no work being done on the one you may require.

Finally the trick with getting GKRELLM to work is to look at the output of sensors.

Then adjust what gkrellm displays.

Often what it may want for temp2 for instance may actually be temp3 under sensors, etc. so until this is properly adjusted you either see nothing or an erroneous value.

RavenLX 10-10-2004 08:12 PM

output of 'sensors'

eeprom-i2c-0-51
Adapter: SMBus I801 adapter at 0500
Memory type: DDR SDRAM DIMM
Memory size (MB): 256

eeprom-i2c-0-50
Adapter: SMBus I801 adapter at 0500
Memory type: DDR SDRAM DIMM
Memory size (MB): 256

Darn, yeah. i801. :( Or so it says, but the box the mobo came in (I wrote down the info from it before using it to ship another mobo back to my friend who sent this one to me - brand new), the box said it was an Intel 865GE chipset. In fact, the abit site says "Chipset: Intel 865G / ICH5" (http://www.abit-usa.com/products/mb/...es=1&model=137) so I don't even know why it's reading "i801". I also have the manual to the mobo too.

Well, hey, it's getting late so I'm off to get some sleep. I'll check in here tomorrow after work and see what else can be done. I'll try these other suggestions as well then.

RavenLX 10-10-2004 08:23 PM

Ok, I "R-worded" ;) into Windows and I'm seeing that the LPC Interface Controller, PCI Bridge and the SMBus Controller are "Intel (R) 82801EB" The processors to the AGP and I/O are 82865G's. So this in fact verifies I have an i801 in here.

Couldn't tell much from the Motherboard Monitor other than I *do* have a Winbond, obviously.

I hope estatik isn't right but afraid s/he is - that I might not be able to get gkrellm working due to lack of support for my chipset in Linux.

I would need a 'w82801eb' module but I don't know if one is made yet or not?
If no, who would I approach about helping them make one. I'm not a 31173 coder or anything but maybe if they relay some incantations for me to try from my system I could give them enough info to build a driver?

Anyone??

opjose 10-10-2004 09:45 PM

Eh, you should have no trouble with the 801 chipset.

It's working fine on one of my boxes.

modprobe i2c-i801

and make sure that the i2c drivers are detected and loaded.

Rerun sensors, etc.

You may want to also re-run sensors-detect and choose the i2c bus.

estatik 10-10-2004 09:53 PM

My mistake. After re-reading your original post, I realized that you have an Intel 865GE chipset, not an Intel i810...big difference there.

Ok, so what happens when you (as root) type 'sensors' in a terminal? Do you get any values for your sensors?

Another thing that I just thought of, since the w83627hf driver gives you an error (did you check to see if it's indeed under the directories in my last post?), then in /etc/rc.d/rc.modules, change the line:

modprobe w83627hf

to:

modprobe w83781d

do a 'modprobe w83781d' as root, do the "R" and see if that works.


I also found this in one of the docs:

W8378* PROBLEMS
-----------------
Known problems:
- Some chips are misidentified.
This is caused by the chip having the wrong WCHIPID register
value, so there is no fix. The workaround is to use the
force_CHIP parameter.
(modprobe w83781d force_CHIP=BUS,0x2d where CHIP is the chip name
and BUS is your i2c bus number -
cat /proc/bus/i2c to see a list of bus numbers)


I'm guessing that this will be the last resort, but seeing that you have the determination, I'm rooting for you to get this to work.


All times are GMT -5. The time now is 01:22 PM.