A small "generic" problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



You are correct that writing a program using libsensors requires
that you compile-in support for each chip.

What may work best is a software layer on top of libsensors which
does what you are proposing.

I'll add your proposal to our TODO list.

Even without libsensors the names in /proc are not completely consistent.
We now have a standard (in doc/developers/proc) which we are trying to follow.
it87 doesn't follow that standard in a few areas.

If we ever find a chip that has current and humidity sensors
we will certainly add them.

thanks
mds


Mr E_T wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> At the moment a programmer wishing to use the lm_sensors package needs to know
> what chips are supported and needs to add all those chips into his package.
> 
> If you were to add a field or function to your structures to the effect of
> sensor-function a programmer could use the package a lot more simply.
> 
> For values you could do something like -
> 
> enum sensor-type { volt, fan, temp, volt_min, volt_max, fan_div, fan_min,
> temp_over, temp_hyst }
> 
> and I wouldn't mind betting that at some point in the future somebody decides
> to put in sensors for amperage and humidity.
> 
> Anyway with this field you would not need to know what sensors belong to what
> chip.
> 
> It seems that at the moment a /etc/sensors.conf file needs to have "default
> labels" in it for all the user programs to work and if your chip is "none
> standard" then your users have no idea of what is actually hapening.
> 
> I brought this problem up because my mortarboard (elite k7s5a) uses a sis735
> driven by i2c-sis645 and does not give standard values (according to how I read
> your docs).
> 
> After a lot of rebooting and comparing to my bios values i got a sensor dump of
> this
> 
> eeprom-i2c-0-50
> Adapter: SMBus SiS645 adapter at 0x0c00
> Algorithm: Non-I2C SMBus adapter
> Memory type:            SDRAM DIMM SPD
> Memory size (MB):       256
> 
> it87-isa-0290
> Adapter: ISA adapter
> Algorithm: ISA algorithm
> VCore:     +1.50 V  (min =  +1.42 V, max =  +1.56 V)
> Vcc 2.5V:  +2.48 V  (min =  +2.40 V, max =  +2.60 V)
> Vcc 3.3V:  +3.29 V  (min =  +3.13 V, max =  +3.45 V)
> Vcc 5V:    +4.99 V  (min =  +4.72 V, max =  +5.24 V)
> +12V:     +12.16 V  (min = +11.36 V, max = +12.60 V)
> Stdby 3V:  +3.44 V  (min =  +3.10 V, max =  +3.48 V)
> - -12V:     -11.00 V  (min = -13.21 V, max = -10.90 V)
> Stdby 5V:  +5.04 V  (min =  +4.72 V, max =  +5.24 V)
> VBat:      +3.05 V
> CPU fan:  4440 RPM  (min = 2657 RPM, div = 2)
> SYS fan:     0 RPM  (min =    0 RPM, div = 2)
> Sys Temp:    +33C  (min =  +25C, max =  +45C)
> CPU Temp:    +45C  (min =  +25C, max =  +45C)
> 
> and my sensors.conf file looks like -
> 
> #Sensors for the k7s5a mainboard
> #
> # by D.H.McKay <troll at logi.net.au>
> #
> # taken from various parts of the orig sensors.conf
> #
> bus "i2c-0" "SMBus SiS645 adapter at 0x0c00" "Non-I2C SMBus adapter"
> 
> #chip "it87-isa-0290"
> chip "it87-*"
> 
> # The values below have been tested on a Asus K7S5A motherboard
> 
>     label in0 "VCore"
>     label in1 "Vcc 2.5V"
>     label in2 "Vcc 3.3V"
>     label in3 "Vcc 5V"
>     label in4 "+12V"
>     label in5 "Stdby 3V"
>     label in6 "-12V"
>     label in7 "Stdby 5V"
>     label in8 "VBat"
> 
>     set in0_min 1.5 * 0.95
>     set in0_max 1.5 * 1.05
>     set in1_min 2.4
>     set in1_max 2.6
>     set in2_min 3.3 * 0.95
>     set in2_max 3.3 * 1.05
>     set in3_min 5.0 * 0.95
>     set in3_max 5.0 * 1.05
>     set in4_min 12 * 0.95
>     set in4_max 12 * 1.05
>     set in5_min 3.3 * 0.94
>     set in5_max 3.3 * 1.06
>     set in6_max -12 * 0.90
>     set in6_min -12 * 1.10
>     set in7_min 5 * 0.95
>     set in7_max 5 * 1.05
>     #the chip does not support in8 min/max
> 
>     # vid is not monitored
>     # and is not supported by driver at this time
>     ignore  vid
> 
>     compute in3 ((6.8/10)+1)*@ ,  @/((6.8/10)+1)
>     compute in4 ((30/10) +1)*@  , @/((30/10) +1)
>     compute in6 (1+232/56)*@ - 4.096*232/56, (@ + 4.096*232/56)/(1+232/56)
>     compute in7 ((6.8/10)+1)*@ ,  @/((6.8/10)+1)
> 
> # Temperature
> #
> # Important - if your temperature readings are completely whacky
> # you probably need to change the sensor type. This must be done
> # with 'modprobe it87 temp_type=0xXX', you can't fix it in this file.
> # See ../doc/chips/it87 for details and valid 'XX' values!!!
> #
> # I use temp_type=0x38 (all thermistors)
> #
>     label temp3       "CPU Temp"
>     set   temp3_over  45
>     set   temp3_hyst  25
>     label temp2       "Sys Temp"
>     set   temp2_over  45
>     set   temp2_hyst  25
>     ignore temp1
> 
> # Fans
>     label fan1 "CPU fan"
>     set fan1_min 2000
>     label fan2 "SYS fan"
>     set fan2_min 0
>     ignore fan3
> 
> 
> And an lsmod produces -
> 
> i2c-dev             4420   0  (autoclean) (unused)
> it87                7560   0
> eeprom              3728   0
> i2c-proc            6896   0  [it87 eeprom]
> i2c-isa             1196   0  (unused)
> i2c-sis645          4688   0  (unused)
> i2c-core           15408   0  [i2c-dev it87 eeprom i2c-proc i2c-isa i2c-sis645]
> 
> - -- 
> regs MR E_T
> _______________________
> \                      \
>   \   OOHH I hate TYPOS  \
>     \                      \
>       ~~~~~~~~~~~~~~~~~~~~~~~
> 
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.2.1 (GNU/Linux)
> 
> iD8DBQE+KUMxPBbX35pvTSgRAkmHAJ0ae/FeHOFqO/Y8ah9GXMScqCD2ygCeLiSb
> m0BlTbStRFPnjuL8nrWT6G8=
> =wurf
> -----END PGP SIGNATURE-----
> 



[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux