Commit Graph
401 Commits
Author SHA1 Message Date
Damien Guard 42ae6f9220 Add smbios mainboard serial to report (#103) 2019-07-15 11:46:48 +02:00
Damien Guard afb897ae7a SMBIOS - Support cores and threads > 254 (#102) 2019-07-15 11:45:54 +02:00
Aqua Computer 1402176289 Bugfixes and new Mainboards (#96)
Bug: Reduced exceptions during cpu core init
Bug: GetSensorValuesFromSettings, Sensors.cs reduced number of exceptions
Bug: HTTP Server Null Reference Exception on StopHTTPListener
Bug: in some cases 64 bit process on a 32Bit system detected

Intel CPUs:
Max Temperature Sensor from all Cores
Average temperature from all core sensors
dist to tjmax sensor for each core

AMD:
support new cpus
bugfix power sensors

Mainboards:
Asrock:
AB350 PRO4
AB350M PRO4
AB350M
Fatal1ty AB350 Gaming K4
AB350M HDV
Phantom Gaming 6
A320M-HDV
Asrock Z77 Pro4-M

Asus:
ASUS ROG ZENITH EXTREME (X399)
Z170-A

Gigabyte:
GIGABYTE X399 AOURUS GAMING7
2019-07-09 13:13:36 +02:00
Nick Babcock 297bbff5cf Prefer load nvml from standard search order (#97)
Currently it is assumed that `nvml.dll` is located in

```
%ProgramW6432%\NVIDIA Corporation\NVSMI\nvml.dll
```

Not everyone has it installed there. Those that have the nvidia drivers
installed through windows updates will have it in in
`%WINDIR%\system32\nvml.dll` and won't have anything under the "NVSMI"
directory.

Instead of hard coding `%WINDIR%\system32\nvml.dll` as a search
location, we can load whatever `nvml.dll` appears first in the search
order:

```csharp
LoadLibrary("nvml.dll")
```

From [Standard Search Order for Desktop
Applications](https://docs.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-search-order#standard-search-order-for-desktop-applications):

> 1. The directory from which the application loaded.
> 1. The system directory. Use the GetSystemDirectory function to get the path of this directory.
> 1. The 16-bit system directory. There is no function that obtains the path of this directory, but it is searched.
> 1. The Windows directory. Use the GetWindowsDirectory function to get the path of this directory.
> 1. The current directory.
> 1. The directories that are listed in the PATH environment variable. Note that this does not include the per-application path specified by the App Paths registry key. The App Paths key is not used when computing the DLL search path.

`%WINDIR%\system32` is the system directory and thus `nvml.dll` is loaded.

This will also allow those interested to override the `nvml.dll` by
placing their own in the current directory as LibreHM without effecting
a system installation.

Only if there is no `nvml.dll` in the search space does LibreHM fallback
to searching program files. This may technically be a breaking change
for those that have `nvml.dll` in both the search space (like
`%WINDIR%\system32\nvml.dll`) and `%ProgramW6432%\NVIDIA
Corporation\NVSMI\nvml.dll` and those files differ. I don't suspect this
to be a common occurrence.

If this is expected to be a common occurrence I can switch the logic such
that program files is checked before the standard search space, though
this would make it so one couldn't override the program files
`nvml.dll`.

Tested it and works great so far!
2019-07-09 12:59:10 +02:00
MoshiMoshi0 713fd3071b Cleanup warnings (#94)
* (CS3005) Remove unused duplicate property differing only in case

* (CS3001, CS3003, CS3005) Make OpenHardwareMonitorLib not CLS compliant

* (NU5125) licenseUrl will be deprecated

* (CS0618) SecurityAction.RequestMinimum is obsolete

* "Migrated rules for Aga.Controls.ruleset" is missing
2019-06-06 11:26:22 +02:00
MmAaXx500 e0ad20819b Fix 'PInvokeStackImbalance' in NVAPI.cs (#88) 2019-05-10 21:36:59 +02:00
Campbell 98969ebc3e Added basic Nvidia NVML library support and power usage sensor (#60)
* Added basic Nvidia NVML library support and power usage sensor

* Added basic Nvidia NVML library support and power usage sensor

* Added Initialised check

* Made NvmlDevice internal

* Code formatting

* Move NvmlDevice and NvmlReturn to separate files

* Move code from NvidiaNVMLGPU class to NvidiaGPU class

* Replace call to SetDllDirectory with LoadLibrary/FreeLibrary and code formatting changes

* Made native methods private

* Fixed p/invoke definitions, removed unnecessary try/catch blocks. Code style cleanup
2019-01-27 10:34:04 +01:00
Antoine Reversat 556d62917c Add missing variable (#84) 2019-01-21 21:52:54 +01:00
Antoine Reversat 040d6f8222 Add support for IT8688E chip and various motherboards (#83)
* Add IT8688E chip type

* Add Z390 M Gaming motherboard type

* Add proper voltage and temperatures for Z390 M Gaming

* Add support for Z390 Aorus Ultra and Z390 UD
2019-01-18 16:34:55 +01:00
devcompl 5a075e67f6 Add ability to set sensor values time window (#81) 2019-01-18 13:55:26 +01:00
Tomasz Dylewski 1c585770ef Added support for Nuvoton NCT6797D (#80)
Thanks to @MIFCOM-TD
2019-01-15 20:23:21 +01:00
Nick Babcock 963dd27247 Rework NIC / Network Reporting (#75)
* Rework NIC / Network Reporting

* Switch to monotonic timer for calculating time deltas between reports. Relying on `DateTime` to calculate time deltas is dangerous as it would be susceptible to phenomena such as a user changing their time or leap seconds. The Stopwatch class allows us to get a monotonic timer if it exists.
* Interface statistics reset on wake. Previously this would cause nonsensical negative values to be reported. The fix is to reset the internal state when the interface statistics have been reset.
* Previously, interface hardware already seen when scanned would be re-registered causing zeros to be reported, so the fix is to keep track of what NICs have already been registered
* Corollary, old interfaces were not closed when removed.
* Document the code and constants used (eg: "800" is not indicative of converting bytes to bits and a ratio to a percentage). Hopefully it is much clearer.

Thanks to @nickbabcock
2019-01-13 12:40:03 +01:00
Michal 2bc12a363f Removal of ValueTuple reference. (#78)
It turned out that usage of ValueTuple can be avoided if the code gets simplified (or rather turned into series of LINQ queries).
2019-01-11 14:40:35 +01:00
Tomasz Dylewski e41c76c8c0 Added support for Nuvoton NCT6798D (#79) 2019-01-11 14:27:17 +01:00
Nick Babcock 4ae6141b31 Performance improvements when NIC Enabled (#67)
Thanks to @nickbabcock
2018-11-19 16:33:05 +01:00
Ondrej Čerman cbe1642816 Intel SSD Airflow temperature support (#65) 2018-11-05 15:36:11 +01:00
Nick Babcock 2a760ad98f Fix NIC refresh logic when disabled (#58) 2018-10-30 14:45:53 +01:00
Michal 5d89cdc43d Cleanup around base collection types. (#59)
* Hardware in IGroup is now IEnumerable. No point to call ToArray each time.

* Use ValueTuple insead of custom pair.

* ListSet -> HashSet

* Ring Collection -> List

* ReadOnlyArray -> ReadOnlyList
2018-10-30 14:44:41 +01:00
Corey Shuman 9900f5c0de added support for asus rog maximus apex motherboard (#61)
Thanks @coreyshuman
2018-10-30 14:19:49 +01:00
zsolt3991 07d2d9d8a0 Added AsRock B85M-DGS Support for Voltage sensors (#54) 2018-08-27 18:22:48 +02:00
LORDofDOOM 4ce099c5bf Add Network (NIC) support (updated) (#52)
* [Core] Add Network (NIC) support - All credits to XiaofengdiZhu (https://github.com/XiaofengdiZhu/openhardwaremonitor/commits/EditeByXiaofengdizhu)

* [Core] NIC: Rename InternetSpeed to Throughput, drop non physical devices (like loopback), fix alltime stats for adapter
2018-08-26 10:51:09 +02:00
Fabian f6d3338cda Bugfix - abandoned ISABus mutex deadlock (#51) 2018-08-20 13:46:19 +02:00
Aqua Computer 4652be058c Bugfix (#48)
* Fixed 2 Bugs.
1. Mutex permissions: Global\\Access_ISABUS.HTP.Method, to allow other software access
2. when the driver is not in open the close function is not disposing the mutex

* Support for AMD Zen 2600(x), 2700(x)
Support undocumented temperature offset flag.

* Sync Git1

* AMD Zen 2600(x) + 2700(x) Temperatures

* Bugfix: temperature in AMD17H processors
2018-07-09 09:49:29 +02:00
Aqua Computer e272d1a774 AMD 2600(x) and 2700(x) support (#46)
* Support for AMD Zen 2600(x), 2700(x)
* Support undocumented temperature offset flag.
2018-07-03 13:37:05 +02:00
Phyxion 2a4641e933 Pr/40 (#45)
* Added basic Aquastream Hardware Support using HidLibrary from mikeobrien (https://github.com/mikeobrien/HidLibrary)

* * Using hidlibrary from Nuget and fixing ProductName.
* Added missing string Format for Gadget.
* Changed variable names to follow style.
* Added new newlines. Make AquacomputerGroup public accessible.
* Added aquacomputer Icon after they allowed me to use it ;-)

* Corrected spelling
Corrected Variable names

* Removed External/HidLibrary

* Aquastream

- Remove Debug.

* A

- Clean up remains.
2018-06-30 15:03:50 +02:00
Phyxion 47e04a43d2 Pr/43 (#44)
* Fixed 2 Bugs.
1. Mutex permissions: Global\\Access_ISABUS.HTP.Method, to allow other software access
2. when the driver is not in open the close function is not disposing the mutex

* Misc

- Misc.
2018-06-30 14:55:30 +02:00
Aeronaut 3460ec7fb2 Added support for NCT6792D, tested on MSI X99S Gaming 7 (#38) 2018-05-10 18:56:45 +02:00
Phyxion 66e69c4c25 Pr/30 (#32)
* Unified operating system type detection

* Revert "Unified operating system type detection"

This reverts commit 3edf0edfceaca259e041e23b9930d78531366fd5.

* Introduced OperatingSystem.IsLinux instead of constant check on Os version.

* Misc
2018-02-10 14:01:52 +01:00
Phyxion 98ebfcbf80 Merge branch 'master' into pr/21 2018-01-27 13:40:33 +01:00
Phyxion 10e4975c6d Update IntelCPU.cs
Fixes #25.
2017-12-29 21:50:28 +01:00
Phyxion bcca19de50 Merge branch 'master' of https://github.com/LibreHardwareMonitor/LibreHardwareMonitor 2017-12-29 13:24:46 +01:00
Phyxion 2cc137f1b2 Z270 PC MATE support
Credits to @martynsmall
2017-12-29 13:24:43 +01:00
Phyxion 95cfbdc275 Merge pull request #24 from jesterret/master
Added support for Fintek F71878AD (vendorId 0x1106)

Credits to @jesterret.
2017-12-29 12:26:21 +01:00
Phyxion ce8be3f30d Merge branch 'pr/23' 2017-12-29 12:18:31 +01:00
Doug Johnson 2916380122 Add support for Coffee Lake 2017-12-21 18:42:31 -07:00
jesterret 51fe254140 Added support for Fintek F71878AD (vendorId 0x1106) 2017-12-01 01:41:53 +01:00
Phyxion 60e1604672 Several types to public to allow additional library usage. 2017-11-20 15:44:44 +01:00
LORDofDOOM 5fae26e854 [Core] Wrong line -> Fix 2017-11-14 00:09:35 +01:00
LORDofDOOM ba6e3bf253 [Core] netstandard support, drop PInvokeDelegateFactory and replace with direct dll calls in ADL.cs, NVAPI.cs, FTD2XX.cs, create project and solution file for netstandard, add compiler option in KernelDriver.cs and Ring0.cs - These options are not required for library mode. netstandard is not default for library - If compiled as usual anything works as in previous versions 2017-11-13 23:20:14 +01:00
LORDofDOOM bd952c9839 [Core] Add support for PRIME X370-PRO -> All credits goes to azuisleet (https://github.com/azuisleet/openhardwaremonitor/tree/IT8665E) 2017-11-13 06:45:48 +01:00
sebastian-dev bbb1ddfb0c SoC Voltage is Optional 2017-11-04 14:59:56 +01:00
sebastian-dev d6322373f5 *.ActivateSensor moved to constructor, AMD register definitions changed to private 2017-11-04 14:51:22 +01:00
aquacomputer 4a157b3332 Refactoring + Naming 2017-11-03 10:45:33 +01:00
aquacomputer 5927e69c8a Code Style 2017-11-02 14:07:10 +01:00
aquacomputer cb4cfbfe53 Code Style 2017-11-02 14:05:36 +01:00
aquacomputer 97c15952db AMD Ryzen 7, Threadripper and EPIC CPU implementation.
CPU Temperatures, Voltages, Power, Clocks.
2017-11-02 09:51:37 +01:00
Marcus Tillmanns 8b7e55c445 Adding support for Fan control on IT8260E 2017-09-16 16:51:14 +02:00
Phyxion 027f355b75 Merge branch 'pr/7' 2017-08-08 14:32:13 +02:00
Phyxion 9c5d1ed4c3 P8P67 REV 3.1 support 2017-08-07 16:17:59 +02:00
Phyxion 94d306fbe0 Merge branch 'pr/6' 2017-08-07 10:05:31 +02:00