Benutzer:Wseifert/Spielwiese8: Unterschied zwischen den Versionen
Sbohn (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung Markierungen: Zurückgesetzt Visuelle Bearbeitung |
Sbohn (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung Markierungen: Manuelle Zurücksetzung Zurückgesetzt |
||
| Zeile 1: | Zeile 1: | ||
== Fortron TwinsPro SP900 DUAL Netzteil unter Linux auslesen == | == Fortron TwinsPro SP900 DUAL Netzteil unter Linux auslesen == | ||
[[Datei:TwinsPro900W.png|alternativtext=Fortron FSP Twins Pro 900W|mini|300x300px|Forton TwinsPro SP900 DUAL]] | [[Datei:TwinsPro900W.png|alternativtext=Fortron FSP Twins Pro 900W|mini|300x300px|Forton TwinsPro SP900 DUAL]] | ||
Das | Das Fortron TwinsPro SP900 Dual Netzteil bietet für den Einsatz unter Linux auf einem Server-Board keine native Möglichkeit, Daten über das Netzteil auszulesen. Mithilfe von Linux-eigenen Mitteln lassen sich die Daten aber dennoch auswerten. | ||
== Problemstellung == | == Problemstellung == | ||
| Zeile 9: | Zeile 9: | ||
Im folgenden soll daher mit bereits vorhandenen Werkzeugen in modernen Linux-Umgebungen das Auslesen der Daten ermöglicht werden: | Im folgenden soll daher mit bereits vorhandenen Werkzeugen in modernen Linux-Umgebungen das Auslesen der Daten ermöglicht werden: | ||
* Konfiguration mit Boardmitteln | * Konfiguration mit Boardmitteln konfigurieren | ||
* Das Netzteil anschließen und testen | * Das Netzteil anschließen und testen | ||
* im Kernelspace für Überwachungsfunktionen verfügbar machen | * im Kernelspace für Überwachungsfunktionen verfügbar machen | ||
* Fehlerfallprüfung | * Fehlerfallprüfung | ||
== | == Auslesen der Netzteilinformationen unter Linux eigenen Boardmitteln == | ||
Setting / Testumgebung:<syntaxhighlight lang="bash"> | |||
Linux custom-hw-image 5.15.0-97-generic #107-Ubuntu SMP Wed Feb 7 13:26:48 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux | Linux custom-hw-image 5.15.0-97-generic #107-Ubuntu SMP Wed Feb 7 13:26:48 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux | ||
| Zeile 24: | Zeile 21: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Um das Netzteil im System bekannt zu machen werden die I2C Tools benötigt:<syntaxhighlight> | |||
apt install i2c-tools lm-sensors | |||
</syntaxhighlight>Checken ob das Netzteil über die USB Schnittstelle an einem USB 2.0 Header angeschlossen ist.<syntaxhighlight lang="shell-session"> | |||
root@custom-hw-image:~# lsusb | |||
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub | Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub | ||
Bus 001 Device 003: ID 10c4:ea90 Silicon Labs CP2112 HID I2C Bridge | Bus 001 Device 003: ID 10c4:ea90 Silicon Labs CP2112 HID I2C Bridge | ||
Bus 001 Device 002: ID 046d:c31c Logitech, Inc. Keyboard K120 | Bus 001 Device 002: ID 046d:c31c Logitech, Inc. Keyboard K120 | ||
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub</syntaxhighlight> | Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub | ||
</syntaxhighlight>Hier wurde das Netzteil gefunden : ''Silicon Labs CP2112 HID I2C bridge'' | |||
Jetzt prüfen auf welchem Bus die Bridge über I2C eingebunden wurde: | |||
<syntaxhighlight lang="shell-session"> | <syntaxhighlight lang="shell-session"> | ||
| Zeile 52: | Zeile 47: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Hier wurde die SMBus Bridge auf BusNummer i2c-6 gefunden. | |||
Jetzt wird der I2C-Bus auf dieser Adresse ausgelesen:<syntaxhighlight lang="shell-session"> | |||
root@custom-hw-image:~# i2cdetect -y 6 | root@custom-hw-image:~# i2cdetect -y 6 | ||
| Zeile 70: | Zeile 65: | ||
70: | 70: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Hier werden beide Netzteile auf Addressen hex58 / hex 59 erkannt. | |||
Wir starten ein paar Checks:<syntaxhighlight lang="shell-session"> | |||
root@custom-hw-image:~# i2cget -y 6 0x58 0x99 i 8 | |||
0x09 0x46 0x53 0x50 0x2d 0x47 0x52 0x4f | |||
</syntaxhighlight>und lassen uns das umrechnen: <syntaxhighlight lang="shell-session"> | |||
root@custom-hw-image:~# printf "\x09\x46\x53\x50\x2d\x47\x52\x4f\n" | root@custom-hw-image:~# printf "\x09\x46\x53\x50\x2d\x47\x52\x4f\n" | ||
Version vom 29. April 2026, 10:41 Uhr
Fortron TwinsPro SP900 DUAL Netzteil unter Linux auslesen

Das Fortron TwinsPro SP900 Dual Netzteil bietet für den Einsatz unter Linux auf einem Server-Board keine native Möglichkeit, Daten über das Netzteil auszulesen. Mithilfe von Linux-eigenen Mitteln lassen sich die Daten aber dennoch auswerten.
Problemstellung
Fortron bietet ab Werk ausschließlich einen Windows-Port, um mittels der firmeneigenen proprietären Software FSP Guardian das Netzteil auszulesen.
Will man das Netzteil auf einem Server-Board unter einem Linux-Server-Betriebssystem betreiben, fehlen herstellerseitige Mittel für das Auslesen der Daten. Auch ein PMBus-Anschluss ist nicht vorhanden.
Im folgenden soll daher mit bereits vorhandenen Werkzeugen in modernen Linux-Umgebungen das Auslesen der Daten ermöglicht werden:
- Konfiguration mit Boardmitteln konfigurieren
- Das Netzteil anschließen und testen
- im Kernelspace für Überwachungsfunktionen verfügbar machen
- Fehlerfallprüfung
Auslesen der Netzteilinformationen unter Linux eigenen Boardmitteln
Setting / Testumgebung:
Linux custom-hw-image 5.15.0-97-generic #107-Ubuntu SMP Wed Feb 7 13:26:48 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Um das Netzteil im System bekannt zu machen werden die I2C Tools benötigt:
apt install i2c-tools lm-sensorsChecken ob das Netzteil über die USB Schnittstelle an einem USB 2.0 Header angeschlossen ist.
root@custom-hw-image:~# lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 10c4:ea90 Silicon Labs CP2112 HID I2C Bridge
Bus 001 Device 002: ID 046d:c31c Logitech, Inc. Keyboard K120
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Hier wurde das Netzteil gefunden : Silicon Labs CP2112 HID I2C bridge
Jetzt prüfen auf welchem Bus die Bridge über I2C eingebunden wurde:
root@custom-hw-image:~# i2cdetect -l
i2c-0 smbus SMBus I801 adapter at efa0 SMBus adapter
i2c-1 i2c Synopsys DesignWare I2C adapter I2C adapter
i2c-2 i2c Synopsys DesignWare I2C adapter I2C adapter
i2c-3 i2c Synopsys DesignWare I2C adapter I2C adapter
i2c-4 i2c Synopsys DesignWare I2C adapter I2C adapter
i2c-5 i2c Synopsys DesignWare I2C adapter I2C adapter
i2c-6 i2c CP2112 SMBus Bridge on hidraw2 I2C adapter
Hier wurde die SMBus Bridge auf BusNummer i2c-6 gefunden.
Jetzt wird der I2C-Bus auf dieser Adresse ausgelesen:
root@custom-hw-image:~# i2cdetect -y 6
Warning: Can't use SMBus Quick Write command, will skip some addresses
0 1 2 3 4 5 6 7 8 9 a b c d e f
00:
10:
20:
30: -- -- -- -- -- -- -- --
40:
50: 50 51 -- -- -- -- 56 -- 58 59 -- -- -- -- -- --
60:
70:
Hier werden beide Netzteile auf Addressen hex58 / hex 59 erkannt.
Wir starten ein paar Checks:
root@custom-hw-image:~# i2cget -y 6 0x58 0x99 i 8
0x09 0x46 0x53 0x50 0x2d 0x47 0x52 0x4f
und lassen uns das umrechnen:
root@custom-hw-image:~# printf "\x09\x46\x53\x50\x2d\x47\x52\x4f\n"
FSP-GRO
Hier wird der Herstellername ausgegeben.
root@custom-hw-image:~# i2cget -y 6 0x58 0x8B w
0x1879
Um diesen Wert für den Check umzurechnen :
HexWert 0x1879 = Dezimal: 6265
da nach Spezifikation linear gerechnet wird : 6265*2Exp9 = 6265 / 512 = 12.236V
Beide Netzteile im System anmelden und im Kernel Space verfügbar machen
root@custom-hw-image:~# echo pmbus 0x58 | sudo tee /sys/bus/i2c/devices/i2c-6/new_device
pmbus 0x58
root@custom-hw-image:~# echo pmbus 0x59 | sudo tee /sys/bus/i2c/devices/i2c-6/new_device
pmbus 0x59
Jetzt sind beide Netzteile unter Kontrolle des Kernels:
root@custom-hw-image:~# i2cdetect -y 6
Warning: Can't use SMBus Quick Write command, will skip some addresses
0 1 2 3 4 5 6 7 8 9 a b c d e f
00:
10:
20:
30: -- -- -- -- -- -- -- --
40:
50: 50 51 -- -- -- -- 56 -- UU UU -- -- -- -- -- --
60:
70:
Die Beiden Netzteile sind erst mal so für direkte Abfragen via I2C nicht erreichbar,
da diese nun komplett im KernelSpace eingebunden sind. (UU Upper Unit)
Jetzt können beide Netzteile vollständig mittels sensors ausgelesen werden
Fehlerfallprüfung Netzteile durchzuführen
Hier wird testweise eine 230V Schiene abgeklemmt, Kaltgerätestecker gezogen.
*Respektive mit Netzteil 2 den Test durchführen.
|
Autor: Wilfried Seifert Wilfried Seifert, tätig in der Abteilung Systems Engineering bei Thomas-Krenn, ist in seinem Arbeitsbereich für die System-/Prototypenentwicklung sowie Softwaredeployment / Rollout unterschiedlicher Architekturen zuständig. LPIC 3 zertifiziert, beschäftigt sich u.a. mit Aufbau / Programmierung Embedded (x64/ARM) Systemen.
|



