EndeavorOS + Aquacomputer Octo + KDE System Monitor

dermatu

Captain
Registriert
Nov. 2011
Beiträge
3.687
Ich habe einen Aquacomputer Octo + high Flow LT in meinem Computer und habe mir ein Dashboard im KDE System Monitor erstellt, das einige der Sensoren des Aquacomputer Octo abbildet.

Im Moment habe ich eigentlich zwei Probleme, aber ich fange erstmal damit an:

Jedes Mal, wenn ich den Computer starte, bekommt der Octo einen neuen Gerätenamen oder neue Geräte ID.

Wenn ich den sensors Befehl im Terminal ausführe, erhalte ich diese Ausgabe:
1724869056886.png

Der Gerätename ist: octo-hid-3-b
Gestern war der Gerätename: octo-hid-3-9

Dies scheint sich nach fast jedem Neustart zu ändern und hat zur Folge, dass ich jedes Mal, wenn ich den KDE System Monitor starte, alle Elemente anpassen muss, da sich der Pfad oder Name zum Sensor geändert hat. Siehe Screenshot:
1724869120279.png


Ich habe versucht, das Problem im EndeavorOS Telegram-Kanal zu lösen, und Ringo32, einer der Admins dort, hat mich auf zwei Threads hingewiesen, die mich als neuen Linux-Benutzer ein wenig überfordern.

Ein Thread war dieser:
https://stackoverflow.com/questions/47563963/automatically-bind-a-device-to-a-specific-driver

Der andere war dieser:
https://wiki.archlinux.org/title/Lm_sensors#Persistent_device_names

Ich habe jetzt eine Datei namens octo.rules im Verzeichnis /etc/udev/rules.d/ erstellt.

Im Stackoverflow-Post wird Folgendes erwähnt:

Bash:
ACTION=="bind", KERNELS=="0005:<VENDOR_ID>:<PRODUCT_ID>.*", SUBSYSTEMS=="hid", DRIVERS=="hid-generic", \

Ich habe die Vendor-ID und Produkt-ID herausgefunden und auch den Treiber (/sys/bus/hid/drivers/aquacomputer_d5next/) dies entsprechend angepasst:

Bash:
ACTION=="bind", KERNELS=="0005:0c70:f011.*", SUBSYSTEMS=="hid", DRIVERS=="aquacomputer_d5next", \

Nun frage ich mich: Ist es überhaupt der richtige Befehl, um das zu erreichen, was ich eigentlich will? Ich denke, irgendwo muss ich das octo-hid-3-b von oben einfügen, aber ich habe keine Ahnung ob das überhaupt der richtige Weg ist.

Vielleicht zusätzliche Infos, die helfen könnten: Das ist das Gerät:

Bus 005 Device 005: ID 0c70:f011 MCT Elektronikladen OCTO
Ich kann alle Sensoren etc. unter /sys/class/hwmon/hwmon5/ finden.
Der Treiber ist: /sys/bus/hid/drivers/aquacomputer_d5next/

Wenn ihr weitere Informationen benötigt, lasst es mich wissen. Es wäre großartig, wenn mir jemand die Befehle zeigen könnte, die ich eingeben muss, damit der Octo immer bei octo-hid-3-b bleibt, damit ich nicht immer wieder den KDE System Monitor anpassen muss.

Während des Schreibens des Threads ist mir beim darüber nachdenken irgendwie klar geworden, dass das nicht der richtige Weg sein kann und dass der zweite Link wohl eher zum Ergebnis führt:
https://wiki.archlinux.org/title/Lm_sensors#Persistent_device_names

Aber wie ich die Beispielbefehle auf mein System übertrage... da bin ich etwas überfragt.
 
So? Wäre aber nur eine Vermutung ohne größeres Wissen über dieses Thema.

Code:
ACTION=="add", SUBSYSTEM=="hid", ATTRS{name}=="octo-hid", RUN+="/bin/sh -c 'ln -s /sys$devpath /dev/octo-hid'"
 
habs mal eingetragen und reboote. Wenn ich das richtig verstehe, wenn das klappt sollte ich unter /dev/ ein octo-hid sehen, richtig ?
Ergänzung ()

mh wie kann ich überprüfen ob das jetzt passt.
 
Zuletzt bearbeitet:
Naja, unter /dev/octo-hid solltest du nun einen symlink zum ständig wechselndem "echten" Gerät finden.
 
Ok, dann vermute ich mal dass das nicht geklappt hat. Denn ein Gerät mit dem Namen ist nicht da. Wie würde ich einen Symlink erkennen, an welcher Farbe ?
1724876542505.png

Können wir vielleicht mal die Syntax durchgehen, dass ich verstehe was der Befehl macht ?

ACTION=="add", SUBSYSTEM=="hid", ATTRS{name}=="octo-hid", RUN+="/bin/sh -c 'ln -s /sys$devpath /dev/octo-hid'"

Mir ist z.B. nicht klar wie in dem Befehl jetzt klar ist, das es um octo-hid-3-b geht Ich hätte da sowas wie einen Platzhalter wie * erwartet oder so.
Ergänzung ()

Ich belästige parallel noch chatgpt mit meinem problem. da hab ich jetzt den tipp bekommen:

1.​

Zuerst musst du die Eigenschaften des Geräts herausfinden, die stabil und eindeutig sind. Dazu kannst du den folgenden Befehl verwenden:

udevadm info --attribute-walk --path=/sys/class/hwmon/hwmonX

den output hab ich mal in die text datei gepackt. hilft dir das ?
Ergänzung ()

Hier mein Chat 😂

https://chatgpt.com/share/83570bd3-5b7a-4386-8bcb-194056080f58

Bitte nicht auslachen, danke
 

Anhänge

Zuletzt bearbeitet:
Also dann will ich mal versuchen das für dich auseinander zu klüseln.
(Bei Fehlern gern korrigieren).
dermatu schrieb:
ACTION=="add", SUBSYSTEM=="hid", ATTRS{name}=="octo-hid", RUN+="/bin/sh -c 'ln -s /sys$devpath /dev/octo-hid'"
Also "ACTION==add" sollte klar sein, du fügst halt was hinzu.
"SUBSYSTEM==" sagt halt um welchen Subsystem es geht, hier "hid" und dort um das Attribut "name".
Und hier fehlt IMO das Sternchen😉 es müsste also so lauten "ATTRS(name)=="octo-hid*", damit er alle Einträge die mit "octo.hid" beginnen und irgendeinen weitere Ergänzung hat erkennt.
Diese werden dann mit "ln -s /sys$devpath /dev/octo-hid" in einen Systemlink im Dev Ordner mit dem aktuellen Daten eingetragen.
So das du das Geräte dann immer mit "octo-hid" ansprechen kannst.

Ob das so geht, musst du ausprobieren.
(Nachdem du den Eintrag angepasst hast, und das System neu gestartet hast.😉)
 
  • Gefällt mir
Reaktionen: dermatu
Also erstmal vielen Dank für deine Mühe, das Werde ich nach der Arbeit mal machen.
Dieser Part hier ist mir noch nicht ganz klar.

/sys$devpath
Müsste da nicht ein / rein ?
 
Nein das ist richtig so, das ist der Hinweis das es sich bei dem danach folgenden um einen Systempfad handelt, das wird benötigt das er es als solchen definiert.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: dermatu
Also ich hab jetzt auch wieder diverse UDEV Regeln probiert:
Bash:
ACTION=="add", SUBSYSTEM=="hid", ATTRS{idVendor}=="0c70", ATTRS{idProduct}=="f011", RUN+="/bin/ln -sf /sys/bus/hid/devices/0003:0C70:F011.000B /dev/ac-octo"
#ACTION=="add", SUBSYSTEM=="hid", ATTRS{name}=="octo-hid*", RUN+="/bin/sh -c 'ln -s /sys$devpath /dev/octo-hid'"
#SUBSYSTEM=="hid", ATTRS{idVendor}=="0c70", ATTRS{idProduct}=="f011", SYMLINK+="ac-octo"
#ACTION=="add", SUBSYSTEM=="hid", ATTRS{idVendor}=="0c70", ATTRS{idProduct}=="f011", RUN+="/bin/ln -sf /sys/%p /dev/ac-octo"
#ACTION=="add", SUBSYSTEM=="hid", ATTRS{name}=="octo-hid*", RUN+="/bin/sh -c 'ln -s /sys$devpath /dev/octo-hid'"
#SUBSYSTEM=="hid", ATTRS{idVendor}=="0c70", ATTRS{idProduct}=="f011", SYMLINK+="ac-octo"
Hab die alten die ich ausprobiert habe auskommentiert. Gemäß open.ai führe ich nachdem ich die Regel geändert habe ein:
sudo udevadm control --reload-rules
und danach ein
sudo udevadm trigger /sys/bus/hid/devices/0003:0C70:F011.000B

Ich wähle jetzt gezielt das Gerät über /sys/bus/hid/devices/0003:0C70:F011.000B aus weil ich anhand Vendor und Device ID sicher weip, dass es der Octo ist.
Anonsten sehe ich den Octo nur noch unter /sys/class/hwmon/hwmon4 (gestern wars hwmon6, vorgestern5). Also den Pfad zu verwenden scheint auch nicht sinnvoll zu sein.

Dieses octo-hid-3-b bekomme ich eigentlich nur angezeigt wenn ich sensors eintippe bekomme das Gerät aber sonst nirgends angezeigt. Von daher muss ich mich von dem Namen wohl lösen ...

Der Befehl der hinter de UDEV Regel steht:
ln -sf /sys/bus/hid/devices/0003:0C70:F011.000B /dev/ac-octo
Der scheint auf jeden Fall zu funktionieren. Denn nachdem die Regel jetzt erneut nicht ging hab ich den einfach mal per Hand ausgeführt um zu schauen ob er überhaupt geht und ich hab jetzt tatsächlich auch 'nen Symlink in /dev/ namens ac-octo.

Aber: Auch wenn der Symlink jetzt da ist, kann der KDE System Monitor scheinbar gar nicht über den Symlink auf das Device zugreifen. Das Menü das mit die verschiedenen Sensoren zur Auswahl zeigt für den Octo da nicht auf außer über den octo-hid-3-b
1724941982537.png

Hat jemand noch eine Idee ?


Zusatzinfo:
1724942421196.png
 
OK, wenn der Systemlink jetzt da ist, und du trotzdem keinen Zugriff auf die Daten hast, kann ich leider auch nicht mehr helfen.
Habe selber keine Wasserkühlung.
Mal im Forum zur Hardware nachfragen, oder in dem der Distro.
 
Zurück
Oben