On Sun, 06 Jan 2008 20:29:36 +0000, Antonio RAGO wrote: > raven:~# strace sensors > (...) > getdents(3, /* 3 entries */, 4096) = 52 > lstat64("/sys/class/hwmon/hwmon0", {st_mode=S_IFDIR|0755, st_size=0, > ...}) = 0 > getdents(3, /* 0 entries */, 4096) = 0 > close(3) = 0 > lstat64("/sys/class/hwmon/hwmon0/device", {st_mode=S_IFLNK|0777, > st_size=0, ...}) = 0 > readlink("/sys/class/hwmon/hwmon0/device", > "../../../devices/platform/smsc47m1.2048", 256) = 39 > lstat64("/sys/devices/platform/smsc47m1.2048", {st_mode=S_IFDIR|0755, > st_size=0, ...}) = 0 > lstat64("/sys/devices/platform/smsc47m1.2048/bus", > {st_mode=S_IFLNK|0777, st_size=0, ...}) = 0 > readlink("/sys/devices/platform/smsc47m1.2048/bus", > "../../../bus/platform", 256) = 21 > lstat64("/sys/devices/platform/smsc47m1.2048/driver", > {st_mode=S_IFLNK|0777, st_size=0, ...}) = 0 > readlink("/sys/devices/platform/smsc47m1.2048/driver", > "../../../bus/platform/drivers/smsc47m1", 256) = 38 > lstat64("/sys/devices/platform/smsc47m1.2048/subsystem", > {st_mode=S_IFLNK|0777, st_size=0, ...}) = 0 > readlink("/sys/devices/platform/smsc47m1.2048/subsystem", > "../../../bus/platform", 256) = 21 > lstat64("/sys/devices/platform/smsc47m1.2048/name", > {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0 > stat64("/sys/devices/platform/smsc47m1.2048/name", > {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0 > open("/sys/devices/platform/smsc47m1.2048/name", O_RDONLY) = 3 > read(3, "smsc47m2\n", 4096) = 9 > close(3) = 0 > open("/sys/devices/platform/smsc47m1.2048", > O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|0x80000) = 3 > fstat64(3, {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0 > fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 > getdents(3, /* 15 entries */, 4096) = 292 > lstat64("/sys/devices/platform/smsc47m1.2048/hwmon:hwmon0", > {st_mode=S_IFLNK|0777, st_size=0, ...}) = 0 > lstat64("/sys/devices/platform/smsc47m1.2048/name", > {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0 > lstat64("/sys/devices/platform/smsc47m1.2048/alarms", > {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0 > stat64("/sys/devices/platform/smsc47m1.2048/alarms", > {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0 > open("/sys/devices/platform/smsc47m1.2048/alarms", O_RDONLY) = 4 > read(4, "1\n", 4096) = 2 > close(4) = 0 > lstat64("/sys/devices/platform/smsc47m1.2048/pwm2_enable", > {st_mode=S_IFREG|0644, st_size=4096, ...}) = 0 > stat64("/sys/devices/platform/smsc47m1.2048/pwm2_enable", > {st_mode=S_IFREG|0644, st_size=4096, ...}) = 0 > open("/sys/devices/platform/smsc47m1.2048/pwm2_enable", O_RDONLY) = 4 > read(4, "1\n", 4096) = 2 > close(4) = 0 > lstat64("/sys/devices/platform/smsc47m1.2048/pwm2", > {st_mode=S_IFREG|0644, st_size=4096, ...}) = 0 > stat64("/sys/devices/platform/smsc47m1.2048/pwm2", > {st_mode=S_IFREG|0644, st_size=4096, ...}) = 0 > open("/sys/devices/platform/smsc47m1.2048/pwm2", O_RDONLY) = 4 > read(4, "32\n", 4096) = 3 > close(4) = 0 > lstat64("/sys/devices/platform/smsc47m1.2048/pwm1_enable", > {st_mode=S_IFREG|0644, st_size=4096, ...}) = 0 > stat64("/sys/devices/platform/smsc47m1.2048/pwm1_enable", > {st_mode=S_IFREG|0644, st_size=4096, ...}) = 0 > open("/sys/devices/platform/smsc47m1.2048/pwm1_enable", O_RDONLY) = 4 > read(4, "1\n", 4096) = 2 > close(4) = 0 > lstat64("/sys/devices/platform/smsc47m1.2048/pwm1", > {st_mode=S_IFREG|0644, st_size=4096, ...}) = 0 > stat64("/sys/devices/platform/smsc47m1.2048/pwm1", > {st_mode=S_IFREG|0644, st_size=4096, ...}) = 0 > open("/sys/devices/platform/smsc47m1.2048/pwm1", O_RDONLY) = 4 > read(4, "32\n", 4096) = 3 > close(4) = 0 > lstat64("/sys/devices/platform/smsc47m1.2048/driver", > {st_mode=S_IFLNK|0777, st_size=0, ...}) = 0 > lstat64("/sys/devices/platform/smsc47m1.2048/bus", > {st_mode=S_IFLNK|0777, st_size=0, ...}) = 0 > lstat64("/sys/devices/platform/smsc47m1.2048/subsystem", > {st_mode=S_IFLNK|0777, st_size=0, ...}) = 0 > lstat64("/sys/devices/platform/smsc47m1.2048/modalias", > {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0 > stat64("/sys/devices/platform/smsc47m1.2048/modalias", > {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0 > open("/sys/devices/platform/smsc47m1.2048/modalias", O_RDONLY) = 4 > read(4, "smsc47m1\n", 4096) = 9 > close(4) = 0 > lstat64("/sys/devices/platform/smsc47m1.2048/power", > {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0 > lstat64("/sys/devices/platform/smsc47m1.2048/uevent", > {st_mode=S_IFREG|0644, st_size=4096, ...}) = 0 > stat64("/sys/devices/platform/smsc47m1.2048/uevent", > {st_mode=S_IFREG|0644, st_size=4096, ...}) = 0 > open("/sys/devices/platform/smsc47m1.2048/uevent", O_RDONLY) = 4 > read(4, "", 4096) = 0 > close(4) = 0 OK, this is your hardware monitoring chip. The "problem" is that the driver only created fan speed _control_ files (pwm*) and no speed _monitoring_ files (fan*). This is why libsensors doesn't recognize it. The SMSC LPC47M292 features can be individually disabled (the pins can be used for alternate functions). It seems that this is the case for you. If you can rebuild the smsc47m1 driver with CONFIG_HWMON_DEBUG_CHIP=y it should tell you about disabled features. It is possible that there is a bug in the driver. After all I only added LPC47M292 support recently, it did not get much testing yet. If you send me a dump of your chip (use isadump -f 2048 128) I can double-check. But it could also be that your system is not wired for fan speed monitoring. Do you have any reason to believe that it is? Is it documented by the manufacturer? Does your BIOS display fan speed values? As long as you don't get fan speed monitoring to work, I suggest that you don't play with the fan speed control features (if they are wired at all...) Changing the fan speeds with no way to validate these changes sounds a bit dangerous. -- Jean Delvare