Hi David, Thank you for sharing your experience. It's indeed hard to get lmsensors running without knowing the exact chipset. There are some hints on the lm-sensors site and I mostly do a lot of googling to find details about a specific mainboard, but it's not easy. Hats of that you got the perl script working.
About modules dependancies, the modules.dep file in the kernel tarball has all dependancies listed. Eric >Hi everyone, > >I've just upgraded from Bering-uClibc 2.4.2 to 3.0-beta1 with no >problems. Many thanks to everyone involved in the development of this >new version. > >For a while now I've been thinking of experimenting with the lm-sensors >packages for LEAF Bering-uClibc. I like to monitor the bandwidth and CPU >usage of my firewall (I use SNMP queries from a separate machine running >Cacti, which is based on RRDtool) and extending this monitoring to >include the additional data from lm-sensors seemed like a nice idea. > >I've previously been put off because I didn't think the machine I used >as a firewall had any monitoring chips (it's an ancient 100MHz Pentium >1) and because I knew the sensors-detect script which takes most of the >hard work out of configuring lm-sensors was written in Perl, which >wasn't available for Bering-uClibc. However, I recently got a new(er) >machine and I spotted that there's a MicroPerl (uperl.lrp) package in >testing for Bering-uClibc 3.0, so I thought I'd give it a go. Here's a >summary of how I got on in case other people need some clues in order to >get started. This is far from being a comprehensive HOWTO document but >somebody might find it useful. > >If you happen to know what monitoring chip(s) are installed on your >motherboard, or if you can temporarily run a bigger Linux distribution >on the firewall hardware and run sensors-detect using that it will make >life a lot easier, but I didn't / couldn't. Note that with all of the >packages required for this it's necessary to have a larger than normal >root disk - i.e. "syst_size" in leaf.cfg needs to be increased to >something like 12M. > >With the two packages "libsens.lrp" and "sensors.lrp" installed but no >further configuration performed, running the command "sensors" gives an >error: > # sensors > Can't access procfs/sysfs file > Unable to find i2c bus information; > For 2.6 kernels, make sure you have mounted sysfs and libsensors > was compiled with sysfs support! > For older kernels, make sure you have done 'modprobe i2c-proc'! > >Fair enough; we have an "older" kernel (2.4) so: > # insmod i2c-proc > insmod: i2c-proc.o: no module by that name found > >That's because the additional kernel modules need copying >into /lib/modules. I'm going to skip the details of how I fixed this >since it's pretty common to have to load additional kernel modules for >Bering-uClibc and the process is documented elsewhere. Suffice to say >that the necessary files are in the Bering-uClibc_modules_2.4.33.tar.gz >archive, in directory 2.4.33/kernel/drivers/i2c and the busses/ and >chips/ sub-directories. Initially I didn't know which ones I wanted so I >just copied everything, removing the busses/ and chips/ directory levels >and putting all the files into /lib/modules. > > # insmod i2c-proc > insmod: unresolved symbol i2c_check_functionality > insmod: unresolved symbol i2c_smbus_xfer > insmod: unresolved symbol i2c_check_addr > insmod: unresolved symbol i2c_adapter_id > >It turns out there's a module of core functions for the i2c bus which >contains these unresolved symbols: > # insmod i2c-core > # insmod i2c-proc > # sensors > No sensors found! > >I have experience of installing and configuring lm-sensors on other >Linux platforms. Basically you run the sensors-detect utility, do what >it tells you to do, check and if necessary modify the configuration file >and then run the sensors command to report the data. The problem for >Bering-uClibc is that sensors-detect is a Perl script, so we need that >script and also a Perl interpreter. > >I copied over revision "1.393 $ ($Date: 2005/08/30 18:51:18 $)" of the >sensors-detect script from another Linux machine (it's just a single >file) and installed the Bering-uClibc 3.0 uperl.lrp package. This >package is just a "bare" Perl interpreter with none of the add-on >modules that normally come with a Perl installation - and the script >needs a few of these. I managed to get away with copying just the >following Perl module files from my other Linux machine into >directory /usr/local/lib/perl5/5.9 on the firewall: > Carp.pm > Exporter.pm > constant.pm > strict.pm > subs.pm > use.pm > warnings.pm > warnings/register.pm > >Then I started hacking out all the bits of code that I couldn't get >working by just copying a few files... > Commented out "use Fcntl;" on line 32 > Commented out "use POSIX;" on line 33 > Replaced "O_RDWR" on line 1916 with "0" (zero) > >That was enough to get the script running, and it detected the I2C bus >on my machine as an "Intel 82371AB PIIX4 ACPI" which needed the >"i2c-piix4" driver module. The script tries to bring in this module with >"modprobe", which isn't available under Bering-uClibc, so I quit out of >the script (^C) and tried to install the module manually: > # insmod i2c-piix4 > insmod: unresolved symbol is_unsafe_smbus > >This unresolved symbol comes from dmi_scan.o, so: > # insmod dmi_scan > # insmod i2c-piix4 > >Running the sensors-detect script again, it spots that the kernel module >for the I2C bus adapter is installed and gets further, but reports that >kernel module i2c-dev needs to be installed: > # insmod i2c-dev > >Running sensors-detect again it gets further still but stops when it >fails to find the "i2cdetect" program. I initially thought this would be >another Perl script but no, it's an executable compiled from C source >code. Fortunately the comments in sensors-detect indicate that >i2cdetect basically just returns the output from >"cat /proc/bus/i2c" (for a 2.4 kernel) so a workaround is to replace the >two occurrences of "i2cdetect -l |" in sensors-detect with >"/proc/bus/i2c". > >Running sensors-detect again it uses the output from /proc/bus/i2c to >report e.g. "Next adapter: SMBus PIIX4 adapter at fc00" but attempting >to scan this hits another Perl error: "ioctl is not implemented...". I >failed to work out how to fix this properly so just ended up commenting >out the two ioctl lines that were causing errors, at which point the >script went ahead and scanned the bus and returned a long list of >candidate sensor chips and their driver modules. In my case this was >quite a list (8 in all) but after trying each of the kernel modules in >turn one of them (lm92) did eventually work and the "sensors" command >returned information on the CPU temperature. > >Finally knowing the kernel modules required for the bus (i2c-piix4) and >sensor chip (lm92) for my motherboard, I was able to remove all the >redundant modules from /lib/modules and place the few required entries >into /etc/modules. In my case these are: > i2c-core > i2c-dev > i2c-proc > dmi_scan > i2c-piix4 > lm92 > >The "sensors" command is now consistently returning data like: > lm92-i2c-0-4c > Adapter: SMBus PIIX4 adapter at fc00 > CPU Temp: +67.9375 C (high = +255.9375 C, > low = +5.9375 C, crit = +1.9375 C, > hyst = +1.9375 C) ALARMS (HIGH) > >I'm not at all convinced that the values reported here are correct so I >think some calibration is required (via "compute" statements >in /etc/sensors.conf) but at least the commands seem to be working. I >still need to do the calibration, and I still need to work out how to >return the data using SNMP, but it feels like I'm most of the way there. > >davidMbrooke > > >------------------------------------------------------------------------- >Using Tomcat but need to do more? Need to support web services, security? >Get stuff done quickly with pre-integrated technology to make your job easier >Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo >http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 >------------------------------------------------------------------------ >leaf-user mailing list: leaf-user@lists.sourceforge.net >https://lists.sourceforge.net/lists/listinfo/leaf-user >Support Request -- http://leaf-project.org/ ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ------------------------------------------------------------------------ leaf-user mailing list: leaf-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/leaf-user Support Request -- http://leaf-project.org/