[lm-sensors] Call for 2.10.5

Hans de Goede j.w.r.degoede at hhs.nl
Sun Oct 7 14:08:46 CEST 2007


Jean Delvare wrote:
> Hi all,
> 
> lm-sensors 2.10.4 is 3 months old now, so we should think about
> releasing 2.10.5. There are no big changes, as expected in a stable
> branch, but a good load of bugfixes. Proposed schedule:
> 
> * October 10th: SVN freeze
> * October 11th-14th: testing
> * October 15th: release
> 

<ugh> thats awefully short notice. I would really like to add support for the 
new FSC driver, and fix things so that they will work with both the old and the 
new drivers, but I don't think I'll get around to doing that before the 10th.

Any chance we could slip a couple of days if I don't get around to doing this 
before the 10th?

---

While I'm talking about the FSC, currently the temp code for both the fscpos 
and the fscher looks like this:

   if (!sensors_get_label_and_valid(*name,SENSORS_FSCPOS_TEMP1,&label,&valid) &&
       !sensors_get_feature(*name,SENSORS_FSCPOS_TEMP1,&temp) &&
       !sensors_get_feature(*name,SENSORS_FSCPOS_TEMP1_STATE,&state)) {
     if (valid) {
       print_label(label,10);
         if((int) state & 0x01)
           printf("\t%+6.2f C\n", temp);
         else
           printf("\tfailed\n");
     }
   } else
     printf("ERROR: Can't get TEMP1 data!\n");
   free(label);

Notice the SENSORS_FSCPOS_TEMP1_STATE, which is a sysfs attr file containing a 
copy of the status register, the new driver doesn't have this. It has a 
tempX_fault instead and adds a tempX_alarm.

So I'm thinking to just go the common denominater way here and only read and 
display the temp (thus displaying something like 0 or 255 for not connected 
sensors), does this sound ok?

---

For fans it reads:
   if (!sensors_get_label_and_valid(*name,SENSORS_FSCPOS_FAN1,&label,&valid) &&
       !sensors_get_feature(*name,SENSORS_FSCPOS_FAN1,&fan) &&
       !sensors_get_feature(*name,SENSORS_FSCPOS_FAN1_STATE,&state)) {
     if (valid) {
       print_label(label,10);
         if((int) state & 0x04)
           printf("\tfaulty\n");
         else
           printf("\t%6.0f RPM\n", fan);
     }
   } else
     printf("ERROR: Can't get FAN1 data!\n");
   free(label);

Again using a raw dump of the status register and dead wrong actually as 0x04 
is not a fault bit but an alarm bit (rather major difference if you ask me). 
Again I'm thinking to just go the common denominater way here and only read and 
display the rpms (displaying 0 for a not connected fan) does this sound ok?

---

For the fscscy the temp code looks like this:
   if (!sensors_get_label_and_valid(*name,SENSORS_FSCSCY_TEMP1,&label,&valid) &&
       !sensors_get_feature(*name,SENSORS_FSCSCY_TEMP1,&temp) &&
       !sensors_get_feature(*name,SENSORS_FSCSCY_TEMP1_LIM,&templim) &&
       !sensors_get_feature(*name,SENSORS_FSCSCY_TEMP1_MIN,&tempmin) &&
       !sensors_get_feature(*name,SENSORS_FSCSCY_TEMP1_MAX,&tempmax) &&
       !sensors_get_feature(*name,SENSORS_FSCSCY_TEMP1_STATE,&state)) {
     if (valid) {
       print_label(label,10);
         if((int) state & 0x01)
           printf("\t%+6.2f C (Min = %+6.2f C, Max = %+6.2f C, Lim = %+6.2f C)\n
                 temp,tempmin,tempmax,templim);
         else
           printf("\tfailed\n");
     }
   } else
     printf("ERROR: Can't get TEMP1 data!\n");
   free(label);

Again using a raw dump of the status register, and even worse using software 
maintained min and max values, which are not limits, but the lowest / highest 
value measured since the driver was loaded <ugh>.

Proposed solution once again: display only the temp and no other info, it would 
be nice to preserve the display of the limit, but thats called temp#_lim, where 
as in the new driver it is called temp#_max, which in the old driver was not a 
limit as described above, so just displaying only the temp seems for the best.

---

Alternatively I could test for the readability of SENSORS_FSC***_TEMP1_STATE 
and switch between the code for the old driver and new to be written code for 
the new driver, that might be better as it will also reduce the chance of 
regressions.

Any input much appreciated.

Regards,

Hans




More information about the lm-sensors mailing list