flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
b1528932 14 Oct 2010, 14:05
how do i read cpu temperature, fan speed, etc?
|
|||
![]() |
|
revolution 14 Oct 2010, 14:28
b1528932 wrote: how do i read cpu temperature, fan speed, etc? |
|||
![]() |
|
edemko 14 Oct 2010, 16:34
download everest
http://www.lavalys.com/support/downloads |
|||
![]() |
|
b1528932 14 Oct 2010, 16:41
if im asking on asm forum, how obvious is that im not interested in programs?
do you have some more info about super io? |
|||
![]() |
|
LocoDelAssembly 14 Oct 2010, 17:42
You'll probably have some luck by looking at lm-sensors sources. In some cases the specs are public, for instance this is the one my motherboard has: http://www.winbond-usa.com/products/winbond_products/pdfs/PCIC/W83627THFd.pdf
What I didn't find info about when I was trying to write an alarm to know when the chipset fan get stuck, was how to coordinate access to the chip. It is clear that I had to perform in/out operation on ports with 290h base, but how to make sure no other program is not operating the chip at the same time? The fan became useless so I've pulled it out, and used 80mm fan extracted from a defunct PSU in front of the chipset so my interest ceased since then ![]() |
|||
![]() |
|
DJ Mauretto 14 Oct 2010, 19:14
To Loco
![]() Code: MOV DX,295H ; INDEX Base Address + 5 @@: IN AL,DX ; Read status Device TEST AL,80H ; bit 7 = 1 ? ( Device Busy ? ) JS @B I wrote a tool to detect Super I/O but it has a very limited database ( Device Support )anyway this chpset are supported: Code: ;--------- ; WINBOND ;--------- W83627HF W83627HG W83627HF/HG W83627F W83627G W83627F/G W83627THF W83627THG W83627THF/HG W83627SF W83637HF W83637HG W83637HF/HG W83697F W83697HF W83697SF W83697UF/UG W83627DH W83L517D/D-F W83627EHF/EHG W83627EF/EG W83627UHG ;--------- ; ITE ;--------- IT8510E/TE/G IT8511E/TE/G IT8700F IT8702F IT8705F/AF IT8710F IT8711F IT8712F IT8761E ;--------- ; SMSC ;--------- LPC47M172 LPC47B27x LPC47B37x LPC47U33x LPC47B34X LPC47S42x LPC47M10x/LPC47M112/LPC47M13x LPC47M14x LPC47M15x/LPC47M192 LPC47M182 Search the datasheet of this device and write your tool... ![]() _________________ Nil Volentibus Arduum ![]() |
|||
![]() |
|
LocoDelAssembly 14 Oct 2010, 19:58
DJ Mauretto, sure that simple? Still, although somewhat unluckily, two threads may successfully detected the not-busy condition and attempt to start an operation on the device.
Probably none of the free and commercial tools out there cares about this anyway and access the device freely though... (Do you happen to have some reversing done of any of the tools showing how is this done? ![]() Thanks for the code anyway. |
|||
![]() |
|
revolution 15 Oct 2010, 00:05
LocoDelAssembly: This is why we have driver models. So that multi-threading OSes can make sure the access is properly partitioned and coordinated. The "proper" way would be to find the driver that is designated to handle that device and use driver control functions to do the work.
|
|||
![]() |
|
LocoDelAssembly 15 Oct 2010, 00:23
And of course I've considered that and not such a thing exists... You could see that in SpeedFan for instance, which use a driver to get access to the hardware, but in no way it expects an installed device-specific driver to query the sensor data.
|
|||
![]() |
|
revolution 15 Oct 2010, 00:34
If there is no driver for it then it is probably being controlled by SMM. In which case you have no way of coordinating it, you just have to hope for the best.
|
|||
![]() |
|
DJ Mauretto 15 Oct 2010, 12:10
Sorry but I never think in terms of operating systems,
I like hardware and system programming, but independent of the various operating systems, if you want to experiment with the hardware there is only a platform, Real Mode or DOS, or a mini operating system written by you ![]() If you like experimenting with the hardware in an operating system must follow the procedures set by your operating system, very boring .. _________________ Nil Volentibus Arduum ![]() |
|||
![]() |
|
bitRAKE 16 Oct 2010, 01:39
In most cases ACPI needs to be told the OS is to manage devices connected to thermal management (if it can be controlled). Otherwise BIOS assumes a legacy system which will not interfere - SMM is setup to protect hardware by BIOS. DOS doesn't mean full hardware access on my machines - have to preempt BIOS for that.
![]() |
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.