I like to play around with new software and recently found Superkaramba. I was able to get Superkaramba installed
using urpmi, but the fan speed and temperatures wouldn’t work. What I found is that most of the Karamba themes uses
software called lm_sensors to provide that information to Karamba.
Most of the time when I am installing software, whether with urpmi or from source, I rarely understand more than
50% of what I am doing. Half the time I hit enter and just hope it works. Such was the case with sensors. After installation
I typed sensors. No sensors were found. Hmmmm. Fortunately the author provides some instruction that appears on the screen
after the urpmi install is complete, but it’s still quite vague. Well, below are my inputs and all the steps I took
to get it up and running. I must say that some of the words used don’t engender great confidence in hitting that enter
key. Those words are bold. My comments are in parenthesis.
[root@localhost dad]# urpmi sensor
no package named sensor
The following packages contain sensor:
gnome-sensors-applet
gsensors
ksensors
liblm_sensors3
liblm_sensors3-devel
liblm_sensors3-static-devel
lm_sensors
xfce-sensors-plugin
[root@localhost dad]# cd /usr/bin
[root@localhost bin]# ls sen*
sendfax* sendpage*
[root@localhost bin]# urpmi ksensors
To satisfy dependencies, the following 3 packages are going to be installed (2 MB):
ksensors-0.7.3-1mdk.i586
librrdtool0-1.0.49-3mdk.i586
lm_sensors-2.9.0-4.1.102mdk.i586
Is this OK? (Y/n) y
Please insert the medium named "Installation DVD " on device [/dev/hdc] Press Enter when ready...
http://ftp.belnet.be/packages/mandrakelinux/official/updates/LE2005/main_updates/./lm_sensors-2.9.0-4.1.102mdk.i586.rpm
installing lm_sensors-2.9.0-4.1.102mdk.i586.rpm
librrdtool0-1.0.49-3mdk.i586.rpm ksensors-0.7.3-1mdk.i586.rpm from /var/cache/urpmi/rpms Preparing...
#############################################
1/3: librrdtool0
#############################################
2/3: lm_sensors
#############################################
3/3: ksensors
#############################################
----------------------------------------------------------------------
More information on package lm_sensors-2.9.0-4.1.102mdk.i586
* To use this package, you'll have to launch "sensors-detect" as root, and ask few questions.
No need to modify startup files as shown
at the end, all will be done.
* Special note for via686a and i2c-viapro : if you don't see the values, you probably have a PCI conflict.
It will be corrected in next kernel. Change the /etc/sysconfig/lm_sensors
to use i2c-isa + via686a
(or i2c-viapro + another sensor)
----------------------------------------------------------------------
[root@localhost bin]# urpmi i2c
no package named i2c
The following packages contain i2c:
mpi2cc
mpi2cxx
[root@localhost bin]# sensors-detect
This program will help you determine which I2C/SMBus modules you need to
load to use lm_sensors most effectively. You need to have i2c (see above urpmi
query) and lm_sensors installed before running this program.
Also, you need to be `root', or at least have access to the /dev/i2c-* files, for most things.
If you have patched your kernel and have some drivers built in, you can safely answer NO if asked to load some
modules. In this case, things may seem a bit confusing, but they will still work.
It is generally safe and recommended to accept the default answers to all questions, unless you know what you're
doing.
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): y
Probing for PCI bus adapters...
Use driver `i2c-i801' for device 00:1f.3: Intel 82801EB ICH5 Probe succesfully concluded.
We will now try to load each adapter module in turn.
Load `i2c-i801' (say NO if built into your kernel)? (YES/no):
Module loaded succesfully.
If you have undetectable or unsupported adapters, you can have them scanned by manually loading the modules before
running this script.
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):
Module loaded succesfully.
We are now going to do the adapter probings. Some adapters may hang halfway through; we can't really help that.
Also, some chips will be double detected; we choose the one with the highest
confidence value in that case.
If you found that the adapter hung after probing a certain address,
you can specify that address to remain unprobed. That often includes address 0x69 (clock chip).
Next adapter: SMBus I801 adapter at 0500 Do you want to scan it? (YES/no/selectively):
Client found at address 0x08
Client found at address 0x2e
Probing for `Myson MTP008'... Failed!
Probing for `National Semiconductor LM78'... Failed!
Probing for `National Semiconductor LM78-J'... Failed!
Probing for `National Semiconductor LM79'... Failed!
Probing for `National Semiconductor LM80'... Failed!
Probing for `National Semiconductor LM85 or LM96000'... Failed!
Probing for `Analog Devices ADM1027, ADT7460 or ADT7463'... Failed!
Probing for `SMSC EMC6D100 or EMC6D101'... Failed!
Probing for `Analog Devices ADT7467'... Failed!
Probing for `National Semiconductor LM87'... Failed!
Probing for `National Semiconductor LM93'... Failed!
Probing for `Winbond W83781D'... Failed!
Probing for `Winbond W83782D'... Failed!
Probing for `Winbond W83791D'... Failed!
Probing for `Winbond W83792D'... Failed!
(Now I’m getting nervous!)
Probing for `Winbond W83791SD'... Failed!
Probing for `Winbond W83627HF'... Failed!
Probing for `Asus AS99127F (rev.1)'... Failed!
Probing for `Asus AS99127F (rev.2)'... Failed!
Probing for `Asus ASB100 Bach'... Failed!
Probing for `Winbond W83L785TS-S'... Failed!
Probing for `Analog Devices ADM9240'... Failed!
Probing for `Dallas Semiconductor DS1780'... Failed!
Probing for `National Semiconductor LM81'... Failed!
Probing for `Analog Devices ADM1026'... Failed!
Probing for `Analog Devices ADM1025'... Failed!
Probing for `Analog Devices ADM1024'... Failed!
Probing for `Analog Devices ADM1029'... Failed!
Probing for `Analog Devices ADM1030'... Failed!
Probing for `Analog Devices ADM1031'... Failed!
Probing for `Analog Devices ADM1022'... Failed!
Probing for `Texas Instruments THMC50'... Failed!
Probing for `Analog Devices ADM1028'... Failed!
Probing for `ITE IT8705F / IT8712F / SiS 950'... Failed!
Client found at address 0x44
Probing for `Maxim MAX6633/MAX6634/MAX6635'... Failed!
Client found at address 0x50
Probing for `SPD EEPROM'... Success!
(confidence 8, driver `eeprom')
Probing for `DDC monitor'... Failed!
Probing for `Maxim MAX6900'... Failed!
Client found at address 0x69
Some chips are also accessible through the ISA bus. ISA probes are typically a bit more dangerous, as we have to
write to I/O ports to do this. This is usually safe though.
Do you want to scan the ISA bus? (YES/no):
Probing for `National Semiconductor LM78'
Trying address 0x0290... Failed!
Probing for `National Semiconductor LM78-J'
Trying address 0x0290... Failed!
Probing for `National Semiconductor LM79'
Trying address 0x0290... Failed!
Probing for `Winbond W83781D'
Trying address 0x0290... Failed!
Probing for `Winbond W83782D'
Trying address 0x0290... Failed!
Probing for `Winbond W83627HF'
Trying address 0x0290... Success!
(confidence 8, driver `w83781d')
Probing for `Winbond W83697HF'
Trying address 0x0290... Failed!
Probing for `Silicon Integrated Systems SIS5595'
Trying general detect... Failed!
Probing for `VIA Technologies VT82C686 Integrated Sensors'
Trying general detect... Failed!
Probing for `VIA Technologies VT8231 Integrated Sensors'
Trying general detect... Failed!
Probing for `ITE IT8705F / IT8712F / SiS 950'
Trying address 0x0290... Failed!
Probing for `IPMI BMC KCS'
Trying address 0x0ca0... Failed!
Probing for `IPMI BMC SMIC'
Trying address 0x0ca8... Failed!
(I’m thinking it will never work now.)
Some Super I/O chips may also contain sensors. Super I/O probes are typically a bit more dangerous, as we have
to write to I/O ports to do this. This is usually safe though.
Do you want to scan for Super I/O sensors? (YES/no):
Probing for `ITE 8702F Super IO Sensors'
Failed! (skipping family)
Probing for `Nat. Semi. PC87351 Super IO Fan Sensors'
Failed! (skipping family)
Probing for `SMSC 47B27x Super IO Fan Sensors'
Failed! (skipping family)
Probing for `VT1211 Super IO Sensors'
Failed! (0x52)
Probing for `Winbond W83627HF Super IO Sensors'
Success... found at address 0x0290
Probing for `Winbond W83627THF Super IO Sensors'
Failed! (0x52)
Probing for `Winbond W83637HF Super IO Sensors'
Failed! (0x52)
Probing for `Winbond W83697HF Super IO Sensors'
Failed! (0x52)
Probing for `Winbond W83697SF/UF Super IO PWM'
Failed! (0x52)
Probing for `Winbond W83L517D Super IO'
Failed! (0x52)
Do you want to scan for secondary Super I/O sensors? (YES/no):
Probing for `ITE 8702F Super IO Sensors'
Failed! (skipping family)
Probing for `Nat. Semi. PC87351 Super IO Fan Sensors'
Failed! (skipping family)
Probing for `SMSC 47B27x Super IO Fan Sensors'
Failed! (skipping family)
Probing for `VT1211 Super IO Sensors'
Failed! (skipping family)
(That’s a lot of failures I wasn’t expecting.)
Now follows a summary of the probes I have just done.
Just press ENTER to continue:
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)
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 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)? (Not knowing what to
do I just closed my eyes and hit enter.)
To make the sensors modules behave correctly, add these lines to
/etc/modules.conf: (I guess this what he said don’t worry about in
the beginning.)
#----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: (I didn’t
do this)
#----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----
WARNING! If you have some things built into your kernel, the list above
will contain too many modules. Skip the appropriate ones! (How do I know?) You
really should try these commands right now to make sure everything is working properly.
Monitoring programs won't work until it's done.
Do you want to generate /etc/sysconfig/lm_sensors? (YES/no): (I guess????)
Copy prog/init/lm_sensors.init to /etc/rc.d/init.d/lm_sensors for initialization at boot time. (I didn’t do this either. He said I didn’t need to modify startup files.
At this point I don’t know what I have done.)
[root@localhost
bin]#
In another window as user:
[dad@localhost bin]$ sensors -s
No sensors found! (Uh Oh)
[dad@localhost bin]$ su
Password:
[root@localhost bin]# modprobe i2c-i801
[root@localhost bin]# sensors -s
No sensors found!
(I try to load some of the modules
[root@localhost bin]# modprobe i2c-isa
[root@localhost bin]# sensors -s
No sensors found!
[root@localhost bin]# modprobe eeprom
[root@localhost bin]# sensors –s (Well, at least I didn’t get
‘no sensors found’)
[root@localhost bin]# sensors (I tried to enter just ‘sensors’;
not knowing why)
eeprom-i2c-0-50
Adapter: SMBus I801 adapter at 0500
Memory type:
DDR SDRAM DIMM
Memory size (MB): 512
[root@localhost bin]# modprobe w83627hf
[root@localhost bin]# sensors
w83627hf-isa-0290
Adapter: ISA adapter
VCore 1: +1.49 V (min = +0.00 V, max =
+4.08 V)
VCore 2: +2.61 V (min = +0.00 V, max =
+4.08 V)
+3.3V: +3.30 V (min = +2.82 V, max =
+3.79 V)
+5V: +5.00 V (min =
+0.11 V, max = +0.00 V)
ALARM
+12V: +11.92 V (min = +0.00 V, max =
+0.00 V) ALARM
-12V: -7.01 V (min = -9.65 V, max =
-4.30 V)
-5V: -3.69 V (min = -4.29 V, max = -1.28 V)
V5SB: +5.40 V (min = +0.05 V, max =
+0.11 V) ALARM
VBat: +3.30 V (min = +0.00 V, max =
+0.06 V) ALARM
fan1: 2636 RPM
(min = 166 RPM, div = 32)
fan2: 5273 RPM
(min = 166 RPM, div = 32)
fan3: 0 RPM (min = 332 RPM, div = 16)
ALARM
temp1: +35°C (high = -120°C, hyst =
+0°C) sensor =
thermistor ALARM
temp2: +45.0°C
(high = +85°C, hyst =
+80°C) sensor = diode
temp3: +40.5°C
(high = +85°C, hyst =
+80°C) sensor =
thermistor
vid: +0.000 V
(VRM Version 9.0)
alarms:
beep_enable:
Sound alarm disabled
eeprom-i2c-0-50
Adapter: SMBus I801 adapter at 0500
Memory type:
DDR SDRAM DIMM
Memory size (MB): 512
That did it as you
can see above. On reboot it also worked and so did all the temps and fans in karamba themes. I guess the reason why it can’t
be more automated is there are so many different distros out there; not the same as when a software has to deal with only
one predictable operating system like Windows. That’s the price of freedom. Being free is more difficult than living
in a cage. Now to get the karamba email to work.