Comments (5)
Yes I noticed this, and I think I will have to continue the development of a
driver
(or a replacement) as part of the Open Hardware Monitor project.
There are also a few issues about WinRing0 that should be fixed:
- Security: Either restrict the driver interface to one that is safe to be used
without administrator rights, or require administrator rights to access the
driver.
- Add higher-level commands to the driver interface to reduce the overhead for
common
read/write LPC operations.
Original comment by moel.mich
on 26 Apr 2010 at 6:02
- Changed title: Integration of WinRing0 into the project (or a replace with a new driver).
- Changed state: Accepted
- Added labels: Type-Enhancement
- Removed labels: Type-Defect
from open-hardware-monitor.
A new version 2.0.0 of WinRing0 has been released, but the only thing that is
still
supported by the driver is the reading of MSR (model-specific-registers). As
far as I
can understand the reason behind this, is to reduce the security problems of the
earlier version.
I see the security problem in earlier versions, but the version 2.0.0 is still
not
very useful for the Open Hardware Monitor project. We need access to PCI
devices to
read the temperature of AMD CPUs and some kind of port I/O to read the mainboard
super I/O chips.
Original comment by moel.mich
on 10 May 2010 at 7:59
from open-hardware-monitor.
Restricted the access to the driver by changing the ACL of the driver device
after starting it (revision r271). Once a new driver is written this should be
done in the driver when creating the device using IoCreateDeviceSecure
(http://www.microsoft.com/whdc/driver/security/drvsecure.mspx).
Original comment by moel.mich
on 1 Nov 2010 at 8:52
from open-hardware-monitor.
How privileged are the functions that OHM uses to access hardware sensors and
system information?
Would it be feasible to put (some) functionality into a system service?
Or is there, maybe, another way of accessing sensors?
If kernel mode is required, this poses several problems. Hardware modules would
have to be rewritten in C or C++ and an access model would be necessary to
avoid security issues. Also, a developer certificate must be obtained or they
driver would not be installable.
Sounds like a lot of work.
Original comment by [email protected]
on 6 Dec 2010 at 1:34
from open-hardware-monitor.
The Open Hardware Monitor needs MSR, I/O port and PCI register access (all
requiring kernel mode). Access to the CPU MSRs is required CPU clocks reading
and Intel core temperatures, I/O port access for the mainboard super I/O chips,
and PCI register access for AMD CPU temperature.
Accessing the SMART data of hard disks requires administrator rights, but no
additional driver so far.
All except the GPU monitoring code could be put into a system service. The
Windows session 0 isolation prevents any access to the GPU from a service,
neither NVAPI nor ADL can be accessed in session 0.
I have added the ISuperIO interface some time ago to keep an abstraction layer
in the code. So anything behind that interface could be moved into a kernel
driver if required (of course ISuperIO.ReadGPIO and ISuperIO.WriteGPIO
currently used only for some strange ASRock mainboards would have to be dropped
then). But at the moment I don't really see enough advantage in moving all
hardware accessing code into a kernel driver, as long as we still need admin
rights for other things (like SMART access).
To remove the admin rights requirement on the Open Hardware Monitor process one
would need to move all kernel mode stuff into the driver and all the SMART and
WMI code into a service. But because of the session 0 isolation problem, not
all monitoring code can be moved into a service, leaving things split up into 3
locations (driver, service, main process), which I find a bit ugly and
difficult to handle. Above all when we still want easy portability, and the
option to run the application without installing anything.
And yes, the code certificate is an additional obstacle, not really helping to
simplify things.
Original comment by moel.mich
on 6 Dec 2010 at 7:49
from open-hardware-monitor.
Related Issues (20)
- GPU/CPU Clockspeeds - Overclocking
- LM Sensors HOT 3
- Missing Fans / Readings for PWM Fans
- MSI z77ma-g45 (MS-7759) support
- Enhancement: absolute drive temperature instead of 'difference from 100' HOT 2
- Data transfer on snmp
- Fatal Exception when unchecked "Remote Web Server -> host" HOT 2
- Can't wake from standby/hibernation when ATI Mobility HD 2600 is monitored HOT 3
- Disk Active Time HOT 1
- Periodically losing all settings HOT 1
- Name of the RAID arrays corrupt
- IP Address Discovery Incorrect HOT 1
- Can't download source code. HOT 2
- Bug with HD4850 in Crossfire mode HOT 1
- Get data through WMI exception.(use wmic for linux)
- ASUS P8Z68-V/GEN3 w/ i5 2500k
- CPU core temperatures for AMD Vishera (FX-8350) are erroneous HOT 1
- ethernet blocked while using OpenHardwareMonitor HOT 1
- GPU RAM usage sensor
- Intel Core 2 Duo P8700 info not showing
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from open-hardware-monitor.