DeskbarSensor 0.5.0 beta (2004.01.24)


© 2003-2004 by Christian Packmann <Christian.Packmann@gmx.de>


Table of Contents


About

DeskbarSensor is a Deskbar replicant for showing hardware sensor information, allowing easy supervision of your computers most vital health information.

For a list of supported chips and some compatible mainboards, see Requirements.


Recent Changes

0.5.0 beta (2004.01.24)
  • Popup window no longer appears if no sensor configured to show there.
  • Correction factor for fan speeds, from /8 to x8; useful for fans reporting more than the normal two ticks per revolution, or when there are other problems getting the correct RPMs.
  • Temperature sensors with .1°/.5°-precision can be displayed in simple format (xx°) in the Deskbar, to allow display of three temps without using too much space.
  • Driver updates:
    • Winbond W83781D added.
      There is a slight difference between the 781D and 782D which would result in fan RPMs being reported at 1/8th on the 781D when using the 782D driver.
      This driver is not fully tested, if there are problems, please provide bug reports with all readings from DeskbarSensor as well as the output from ISASensorScan.
    • VIA 82C686 (external) added.
      I've decided not to write my own 82C686 driver due to technical reasons, so I added a semi-driver which reads from the Via82C686 kernel driver in /dev/misc/Via686.
    • SiS 730 removed.
      This driver was buggy, and is completely superseded by the IT8705F driver.


Requirements


Installation

No installation necessary; just double-click on DeskbarSensor to launch it.

If you are upgrading from an earlier version, you will probably have to kill & restart Deskbar before the new version will be used (or simply reboot to make Deskbar use the new version).


Usage

Overview

DeskbarSensor lives in the Deskbars replicant tray, where it shows temperature readings. If you rest the pointer over its display, a popup window appears which displays additional sensor information. Press the right mouse button to access the popup menu, which gives configuration options and the ability to exit DeskbarSensor.

Types of sensor readings

  • Temperature
    These sensors measure the temperatures at various parts in your computer. Most sensor chips have two temperature inputs, with the first normally being used for case temperature, the other for the CPU. Exceptions are: the LM78, which can only monitor one temperature; and W83782D (and compatibles), which can measure three temperatures - these chips are often used on SMP mainboards, with the 3rd temperature input being used for the 2nd CPU.
  • Fan speed
    These sensors count the "ticks" reported by each fan every revolution, and calculate the rotation per minute. Most sensor chips have 2-3 of these sensors, but mainboards often don't have as many fan connectors as the sensor chip supports, so it's pretty normal that at least one of the fan sensors goes unused.

    There are two common problems with fan sensors:

    • Fans reporting more than the normal 2 ticks per revolution: these fan RPMs will be reported as much higher than they actually are. This problem can be corrected with the "Correction Factor" in the Settings menu, see below.
    • Very slow-turning fans often generate insufficient RPMs to be correctly measured by the sensor chips default configuration, they'll be shown as having "0 RPM".

Deskbar display

The display consists of the reading of one or two temperature sensors (in ° Celsius) - this depends on the capabilities of the currently selected chip driver. If any of the temperature sensors has the ability to measure steps of 0.5 °, the values are displayed accordingly.
The color of each temperature reading is dependent on the current value, with blue=OK, yellow=warning, red=dangerous.
The colors can be changed by dropping colors from various color pickers on DeskbarSensor; a popup menu lets you decide to which render state (Normal, Warning, Danger) you want to apply the dropped color.
You can adjust the displayed temperature sensors as well as the thresholds to switch between the different colors by mean of the Settings menu (see below).

Popup window

If you rest the mouse cursor over the Deskbar display, a popup window appears which shows information which doesn't fit in the Deskbar display. By default a 3rd temperature sensor is shown here, as well as all the fan RPMs.

Menu

With the right mouse button you can access a popup menu, which currently has these items:
  • Settings
    • Sensor Driver - select the used driver; see section Requirements for the capabilites of the different drivers. The driver determines how many temperature and fan sensors are available.
    • Bus Arbitration - toggles the use of chip access arbitration. This is an advanced feature - if you use several programs to read from the sensor chip at the same time, they can confuse one another while accessing the chip - setting this option should prevent such problems.
      There's no need to set this option it if you don't have several sensor-reading programs running.
    • Temperature (one submenu for each temperature sensor)
      • Position - select the location of the temperature sensor (Deskbar, Popup, Hidden).
      • Warn Threshold - the temperature at which the color switches from normal to warning (blue->yellow with default colors). Just choose a new temperature from the submenu.
        This menu offers fine granularity (1°-steps) only around the active value; values farther away are only selectable in 5°-steps. If you want to change from e.g. 40° to 62°, you'd have to open the menu, select 60°, open the menu again, and then select the target temperature of 62°. A bit awkward maybe, but I don't like menus with 40 entries...
      • Danger Threshold - the temperature at which the color switches from warning to danger (yellow->red with default colors). Works just as Warn Threshold.
      • Show 0.1° Precision in Deskbar - for temperature sensors which allow sub-degree precision, this enhanced precision can be turned off for Deskbar display to use less space.
        This menu option is only available when the temperature sensor supports enhanced precision.
    • Fan (one submenu for each fan sensor)
      • Position - select location of fan display (Popup, Hidden). Currently only useful for hiding unused fan sensors from Popup window.
      • Correction Factor - lets you select a multiplication factor for each fan reading, so that you can compensate values which are too low or high.
  • About - brings up an info requester about the program.
  • Quit - guess what. ;-)


Possible problems getting DeskbarSensor to work

Here are a few hints & tips you should try if you run into problems; if you can't solve the problem, contact me by BeBits talkback or via email. But be warned: I'm occasionally badly lagged in replying; don't worry if I don't reply quickly, eventually you'll get an answer.

Bugs


Future enhancements

Things planned for future versions (in order of priority): If you'd like to see features not mentioned here, please let me know via BeBits Talkback or email.

Acknowledgements

DeskbarSensor is partly based on Space 2.0, © 1999-2000 by Brian Matzon.
The BubbleHelper class used for the Fan speed popup is © 1998 by Marco Nelissen.

Thanks to:
DaaT, for providing encouragement & suggestions.
mmu_man, for constructive criticism, valuable coding tips, and documenting the ISA-access kernel calls.
Andrey Tavares da Silva and Ian Newham for betatesting new drivers.
BiPolar for his help in the creating ITE drivers.
procosm, zittergie, ljr, koki & zenja on BeBits for providing compatibility information and bug reports.

National Semiconductor, Winbond and IT for providing free downloads of their data sheets.
The guys from the Linux lm-sensors project for maintaining their excellent web-page, which enabled me to find those data sheets in the first place. ;)




Version History

0.5.0 beta (2004.01.24)
  • Popup window no longer appears if no sensor configured to show there.
  • Correction factor for fan speeds, from /8 to x8; useful for fans reporting more than the normal two ticks per revolution, or when there are other problems getting the correct RPMs.
  • Temperature sensors with .1°/.5°-precision can be displayed in simple format (xx°) in the Deskbar, to allow display of three temps without using too much space.
  • Driver updates:
    • Winbond W83781D added.
      There is a slight difference between the 781D and 782D which would result in fan RPMs being reported at 1/8th on the 781D when using the 782D driver.
      This driver is not fully tested, if there are problems, please provide bug reports with all readings from DeskbarSensor as well as the output from ISASensorScan.
    • VIA 82C686 (external) added.
      I've decided not to write my own 82C686 driver due to technical reasons, so I added a semi-driver which reads from the Via82C686 kernel driver in /dev/misc/Via686.
    • SiS 730 removed.
      This driver was buggy, and is completely superseded by the IT8705F driver.
0.4.0 beta (2004.01.20)
  • Finally: the beginning of a settings system. Access this with the new submenu "Settings". Currently you can:
    • select where/if each temperature is displayed (Deskbar/Popup/Hidden).
    • hide fan speed displays (useful if no fans are attached to a sensor input).
    • adjust the temperature thresholds to switch between the normal/warn/danger colors.
  • Popup display appears faster.
  • Bogus temperature values of 100°+ (due to unconnected sensors) will be displayed as 99.9° in the Deskbar, this should solve the rendering bugs of old versions. Of course you can now hide such misbehaving sensors anyway.
  • HWMonitorScan_W83697HF is replaced by ISASensorScan, which prints a raw hex dump of the sensor chips registers. This is useful for finding out if the sensor chip is visible in ISA address space at all, or if it is wrongly configured.
0.3.2 alpha (2003.10.14)
  • New IT8705F sensor module. Everybody using the SiS730 module, please try this - it should work better. Also supposed to work with IT8712F chips, as temperature and fan registers seem to be identical.
  • Bugfix: replicant will be properly resized after selection of another sensor module with different display width.
  • Bugfix: display won't flicker during updates any longer, this was especially noticeable under high loads.
  • Change: Bus arbitration is now off by default, as arbitration is only necessary when multiple programs access the sensor chip simultaneously, and few people will do that.
0.3.1 alpha (2003.10.06)
  • Bugfix: the chip access arbitration which was added in 0.3 was faulty, and would hang on chips which don't support arbitration.
    In 0.3.1 the read/write routines will timeout if arbitration is not supported, and print an appropriate message to stdout, which can be seen if Deskbar was started from the Terminal. This should be reported via GUI, but no time for that right now.
    Bus arbitration can be toggled with a new menu item; on all systems freezing with 0.3, this should enable proper operation.
0.3 alpha (2003.10.05)
  • Several internal refinements/fixes of latent bugs.
  • Bugfix: fan sensors without connected fan (or fans which are turning too slowly to be measured) are displayed with 0 instead of 2647 RPM. Fans turning too fast to be measured should read 99999 RPM; this will be replaced by something more informative later.
  • W83697HF sensor module: bugfix - inflated fan RPMs should be displayed correctly now. Also a 3rd fan is now supported.
  • Sensor reading routines rewritten to allow modules for different sensor chips.
  • New sensor modules: W83782D, LM78, LM87, SiS730.
  • The Deskbar view will try to adjust itself to the actual required width, which depends on the amount of temperature sensors and their precision.
    This feature is still buggy, Deskbar doesn't properly adjust its tray after the view changes size; just exit & restart DeskbarSensor after selecting the desired driver to correct this.
    Will fix as soon as possible.
0.2 alpha (2003.10.02)
  • Colors for the different rendering states (normal, warning, danger) can now be selected by dropping colors from your favorite color picker (tested with Colors! and ColorSelector).
  • Preset color for normal state changed to medium blue for better readability.
0.1 alpha (2003.09.30) Initial release