Laden...

Mainboard auslesen in C#, wie?

Erstellt von WhiteTiger vor 18 Jahren Letzter Beitrag vor 18 Jahren 5.914 Views
W
WhiteTiger Themenstarter:in
29 Beiträge seit 2004
vor 18 Jahren
Mainboard auslesen in C#, wie?

Guten Abend

Das könnte eine nicht leichte Frage werden, egal vielleicht kann ja einer helfen.

Bin gelernter Elektroniker und arbeite schon länger mit C#. Würde mich als Anfänger bezeichnen der schon etwas Ahnung hat von C#.

So, mein Vorhaben u.a. ist es das Mainboard auszulesen (Temperatur der CPU, Spannungen usw.) wie das MBM (MotherBoardMonitor) macht. Tja wie komme ich an den Monitoring-Chip/Messwerte ran???
Ich möchte jetzt nicht auf ein bestimmtes Mainboard raus z.B. EPOX 8k3a+ (ist meines, Infos zu dem Board zum testen nehme ich gerne an) oder einen bestimmten Monitoring-Chip wie Winbond xxx !!!!!!

Die Software sollte mit "allen Boards" funktionieren (ok, alle dürfte etwas übertrieben sein --> bin Perfektionist --> es sollte aber schon mit vielen Boards gehen --> will die Software mal zum freien download anbieten --> möchte keine "Scheiße" anbieten.

Fakt ist das ich NULL Ahnung habe wie ich vor gehen soll! Div. Register im Bios auslesen?? Wie geht das ??? Oder sonst was??? Mal ein Tipp in die richtige Richtung wäre Sinnvoll!

P.S. Englische Sites haben mir wenig Wert, mein Englisch ist absolut schei.e!!

Wenn hier nur mal ein User ne Richtung in die ich gehen soll vorgibt, bin ich schon dankbar!!!!

Vielen vielen Dank @ all

Edit: Shit vergessen --> grad von Party gekommen --> Alcohohl!!

Wichtig ist mir CPU-Temperatur und speziell AMD (na ja Intel...)!
Bei AMD gibt es ja interne Temperaturmessung und externe per CPU-Sockel! Ich bräuchte interne Temp, da externe Messung eh vergessen kannst.

Bin ehrlich --> wie schaut es da mit den neuen Prozessoren A64/Mainboards aus --> meine Erfahrungen beziehen sich auf Sockel A --> da hat ja schon jeder Hersteller angezeigt was er für richtig hält --> meines Wissens ist das Epox 8k3a+ ein Board unter wenigen die, die interne Temp anzeigen.

4.221 Beiträge seit 2005
vor 18 Jahren

Boardsuche "WMI"

Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...

W
WhiteTiger Themenstarter:in
29 Beiträge seit 2004
vor 18 Jahren

Danke

Was ist "WMI"????

4.221 Beiträge seit 2005
vor 18 Jahren

Original von WhiteTiger
Danke

Was ist "WMI"????

Der Suchbegriff für Dein Problem 😉

Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...

B
198 Beiträge seit 2005
vor 18 Jahren

Wo wir gerade dabei sind, über welchen Namespace binde ich WMI in ein Programm ein?

W
WhiteTiger Themenstarter:in
29 Beiträge seit 2004
vor 18 Jahren

Abend

Wollte doch das Thema nochmal aufgreifen, in der Hoffnung das mir doch noch ein User etwas helfen kann --> das Thema gibt es ja hier häufiger d.h Interesse der User.

Mein Board (Epox 8k3a+) liefert die Messwerte --> MBM, Epox-Tool, EVEREST usw. lesen die Daten sauber aus!!!!!!!!!!!!!!!!!!!!

Zum Thema WMI --> das kann man mal total vergessen!!!!!!!!!!!!!!!!!!!!!!!!

Warum:

  1. alle Versuche per WMI an die CPU-Temperatur zukommen hier im Forum und im I-Net sind im Sand verlaufen.

  2. Nach 2 Nächten Suche mit mehreren WMI-Browsern konnte ich jeden Scheiß auslesen --> außer CPU-Temperatur.

  3. Das Tutorial mit "Win32_TemperatureProbe" von MSDN bringt auch nix --> schätze das geht nur mit div. Boards.

  4. alle Zugriffsrechte auf WMI unter XP Pro gesperrt --> die oben genannte Software funktioniert weiter, obwohl ich mit den WMI-Browsern nix mehr auslesen kann.

Das heißt doch --> die oben genannten Tools arbeiten NICHT mit WMI, oder!!!

Nach lange Suche im Netz war klar --> ich muss den SM-Bus (System-Management-Bus) auslesen!!! Nur wie????

Habe mir die ganze letzte Nacht um die Ohren geschlagen, ohne Erfolg!
Geht das über das auslesen der I/O Ports, dll`s, Treiber oder was weiss ich??
Fakt ist auch das der Monitoring-Chip ne große Rolle spielt!

Sorry mir raucht der Kopf etwas, alles etwas festgefahren und noch dazu nicht der Profi in C#.

Für alle Infos herzlichen Dank @ all!!!!!!!!!!!!!!

A
57 Beiträge seit 2005
vor 18 Jahren

Erste Möglichkeit
Die Werte müssen direkt vom BIOS/CMOS ausgelesen werden. Es muss irgendwo unter Windows ein API dafür geben.

Andere Möglichkeit:
Es gibt dafür keine frei verfürgbaren DLL's und jeder Hersteller kocht sein eigenes Süppchen. Du musst also irgendwie die Einstiegspunkte der DLL's von so einem Programm (Mainboard Monitor) auslesen.

Das dürfte ein großes Problem sein.

Und verlässliche Werte sind es auch nicht. Erstens ist die Genauigkeit der Dioden nur mittelmäßig und zweitens ist die Position meistens schlecht gewählt. Anders sieht das bei Dioden aus, die direkt in die CPU integriert sind. Dürfte bei allen neuen CPU's der fall sein.

Das ganze läuft unter dem Begriff : "Hardware Sensor Readout"

W
WhiteTiger Themenstarter:in
29 Beiträge seit 2004
vor 18 Jahren

@ Altstetter

möchte dich nicht angreifen, um gottes Willen!
Meine Info`s aus dem Netz sind aber, das heute das Bios nach dem Start von Windows keine große Rolle mehr spielt.

Wie gesagt --> alles was ich gefunden habe deutet darauf hin, das die Leute auf den SM-Bus zugreifen.

Auch MBM greift auf den SM-Bus zu und nicht auf das Bios.Leider hat ja Alex van Kaam (MBM Entwickler) seine Arbeit eingestellt.

Ah ja, mein Epox liest die interne Temp des XP aus und noch dazu läßt sich diese Temp in MBM und anderen Tools anzeigen --> d.h. super Board zum testen.
Was Intel CPU´s betrifft --> da sollte meine Software erst keinen Support leisten!!!!

A
57 Beiträge seit 2005
vor 18 Jahren

hi
kein problem fühl mich ganz bestimmt nicht angegriffen.

Du sprichst vom HAL (Hardware Abstraction Layer)

das bedeutet aber noch lange nicht, das du nicht gezielt auf hardware und systemsoftware zugreifen kannst. Kenn halt nicht die genauen möglichkeiten, denk aber das es irgendwie in diese richtung laufen sollte.

Und es muss irgendein API dafür geben. Wie machen es denn sonst die anderen ???

W
WhiteTiger Themenstarter:in
29 Beiträge seit 2004
vor 18 Jahren

@ Altstetter

nur so, du (das DU nehme ich mir mal raus) heißt genauso wie mein Hausarzt --> finde ich witzig!!

Du sprichst vom HAL (Hardware Abstraction Layer) ah, was ist das???

Habe echt null plan wie ich auf den Bus zugreifen soll!!!

A
57 Beiträge seit 2005
vor 18 Jahren

mit dem "DU" hey man, das ist doch sowieso kein problem oder sind wir etwa geschäftspartner ??

zu der HAL (Hardware Abstraktions Schicht):

Die Kombination aus HAL und Kernel bildet die (ich sgags mal einfach so) Zwischenschicht zwischen Hardware und Software. So gibt es z.B. für Uniprozessor PC's eine andere Kombination von Beiden als bei Multiprozessorsystemen. Das ganze wurde deshalb so gemacht, damit alle Hardwareplattformen (es gibt z.B. auch noch Power Pc oder Alpha) von Windows auf die selbe weise angesprochen werden können obwohl die Hardwarearchitekturen grundverschieden sind. Ist so gesehen wie ein Treiber auf unterster ebene.

zum SMBus:

http://www.smbus.org/
http://www.telos.info/smbus/

und besonders dieses hier:
http://www.mcc-us.com/102-SDKW-VC-DS.htm