Tester für DSBBatmon gesucht

Das ist unellegant

Ja, ich bin damit auch nicht gerade zufrieden. Es stört mich auch, dass es, so wie es aussieht, keine verlässliche Methode gibt, festzustellen, ob kein Akku installiert ist oder ob einfach nur ein Hardware- oder Rechteproblem vorliegt.

Könntest Du nicht einfach ganz normal starten und auf devd-events bezüglich "neue batterie" oder so reagieren?

Das werde ich versuchen.
 
Du kannst mit sysctlbyname() nach hw.acpi.battery.units schauen, ob du etwas zurück bekommst und wenn ja wieviele Batterien da sind.
 
Du kannst mit sysctlbyname() nach hw.acpi.battery.units schauen, ob du etwas zurück bekommst und wenn ja wieviele Batterien da sind.

Das ist ne gute Möglichkeit. Ich finde es etwas ärgerlich, dass man über die ACPI-API keine aussagekräftigere Rückmeldung bekommt.
 
Ich habe mal das Livesystem von GhostBSD auf meinem Netbook gestarten, und mal ein paar Experimente gemacht. Dabei musste ich feststellen, dass Änderungen des Ladestands nicht von devd zurückgemeldet werden. Also zurück zum Polling. Zumindest kann ich den neuen Code jetzt dafür nutzen, um Indizien für das Hinzufügen und Entfernen des Akkus zu sammeln.
 
Mit der aktuell im master liegenden Version bekomme ich zur Zeit häufiger ein
Code:
 fish: Job 1, './dsbbatmon &' terminated by signal SIGBUS (Fehler: nicht ausgerichtete Adresse)
 
Die neuste Fassung ist bereit zum testen

Folgenden erwähnenswerten Änderungen wurden vorgenommen:
  • Der Code des devd-Branch und dem master-Branch wurden kombiniert.
  • Der Zustand des Akkus wird wieder per Polling ermittelt.
  • Sollte kein Akku beim Start vorhanden sein, wartet DSBBatmon, ohne das Trayicon anzuzeigen, auf ein devd-Ereignis, das auf einen Akku hinweist. Ergibt sich dann nach erneuter Abfrage von ACPI das Vorhandensein eines Akkus, wird das Trayicon angezeigt, mit all den damit verbundenen Funktionen.
  • Sollte zur Laufzeit der Akku entfernt werden, wird das Trayicon versteckt, und DSBBatmon verfährt so, wie im vorherigen Punkt.
  • Das Einstecken/Abziehen eins AC-Adapters wird jetzt sehr zeitnah, unabhängig vom Poll-Interval, erkannt.
Der Code befindet sich im merged-Branch.

Für die, die Git nicht benutzen:
Code:
% fetch https://github.com/mrclksr/dsbbatmon/archive/merged.zip && unzip merged.zip && cd dsbbatmon-merged && qmake && make
 
Mit der aktuell im master liegenden Version bekomme ich zur Zeit häufiger ein
Code:
fish: Job 1, './dsbbatmon &' terminated by signal SIGBUS (Fehler: nicht ausgerichtete Adresse)

Danke für die Rückmeldung, @Rakor !

Könntest Du bitte mal den oben erwähnten merged-Branch versuchen? Ich hoffe, dass sich damit auch das SIGBUS erledigt hat.
 
super, nun funktioniert er.
Wenn ich die Batterie entferne will er in suspend fahren und sagt -1% Discharging. Das ist evtl. nicht das erwartete Verhalten. Sonst macht es nen guten Eindruck.
 
Der letzte Kommentar von @Rakor hatte mich dazu bewogen, mir ein GhostBSD auf einem USB-Stick zu installieren, wodurch ich in der Lage war, selbst zu testen, und einen Verdacht zu überprüfen. Dadurch konnte ich jetzt etwas Ordnung in die Parameter-Sammlung bringen:

Die Variable hw.acpi.battery.units enthält die Anzahl der im System vorhandenen Akku-Slots, nicht jedoch die Anzahl der Akkus. D.h., der Wert bleib also unverändert, wenn der Akku entnommen oder eingesteckt wird. Auf einem Desktop-Computer ist die Variable somit undefiniert.

Wenn kein Akku installiert ist, wird der Wert der Akku-Kapazität auf -1 gesetzt, und der Wert der Variablen, die den Zustand des Akkus anzeigt, hat die ersten drei Bits, die jeweils für Laden, Entladen und Kritisch stehen, gesetzt.

Der merged-Branch und alle Änderungen sind jetzt im master-Branch. Folgende Änderungen wurden vorgenommen:
  • Das Vorhandensein, bzw. das Hinzufügen und Entfernen eines Akkus wird jetzt zuverlässig und zeitnah erkannt.
  • Wird DSBBatmon auf einem Desktop-Computer ausgeführt, wird auf stderr die Fehlermeldung „No battery slot installed.“ ausgegeben, und das Programm beendet.

Für jene, die Git nicht benutzen, können den aktuellen Code aus dem master-Branch wie folgt beziehen und bauen:
Code:
% fetch https://github.com/mrclksr/dsbbatmon/archive/master.zip && unzip master.zip && cd dsbbatmon-master && qmake && make

Sollte es nichts zu beanstanden geben, werde ich mich um dem Meta-Bereich des Projekts kümmern.
 
Ich habe jetzt die Committer auf der FreeBSD Ports-Mailingliste gebeten, meinen Patch für das Upgrade von DSBBatmon zu übernehmen. Besten Dank nochmals an alle, die mir mit ihren Tests, ihren Tipps und Rückmeldungen geholfen haben.

Ich würde mich freuen, wenn sich auch noch ein Paar Tester für den aktuellen Code von DSBMixer, DSBAutostart und DSBLogoutmgr finden.

Beste Grüße
Marcel
 
Kannst du evtl. was über die Programme sagen? Welche Vorteile haben sie?
Autostart und Logout ist mir z.B. nicht ganz klar. Autostart erledige ich normal direkt über die .xinitrc oder über die Sessionverwaltung des WM und Logout mach ich normal per shutdown oder eben Sessionverwaltung.

dank dir
 
Kannst du evtl. was über die Programme sagen? Welche Vorteile haben sie?
Autostart und Logout ist mir z.B. nicht ganz klar. Autostart erledige ich normal direkt über die .xinitrc oder über die Sessionverwaltung des WM und Logout mach ich normal per shutdown oder eben Sessionverwaltung.

dank dir


Hallo Rakor,

die Programme DSBAutostart und DSBLogoutmgr liefern nichts, das nicht per Kommandozeile und Editor bewerkstelligt werden könnte. Sie bieten lediglich etwas mehr Komfort, und erfüllen ihre Funktion im Gesamtkonzept.

Bei DSBAutostart muss man nur einen Eintrag in der ~/.xinitrc oder der Startdatei des WMs machen, und kann dann alles Weitere hinsichtlich der zu startenden Programme in der GUI vornehmen.

Die Funktion der Zeitschaltuhr bei DSBLogoutmgr nutze ich des Abends hin und wieder, wenn ich mir ein Hörbuch oder einen Podcast anhöre. Ich finde es so bequemer, als an der Konsole den entsprechenden Befehl einzutippen.
 
wird es vielleicht mal ein DSB-Netzwerk-Monitor-und-Einstell-Tool geben?
Dafür sehe ich nämlich noch echten Bedarf, weil sich das Einstellen und Wechseln der Netzwerke auf einem mobilen Endgerät in Richtung User und Desktop verschoben hat und nicht mehr sinnvoll eine Aufgabe von Root und während des Systemstarts ist.
 
wird es vielleicht mal ein DSB-Netzwerk-Monitor-und-Einstell-Tool geben?
Dafür sehe ich nämlich noch echten Bedarf, weil sich das Einstellen und Wechseln der Netzwerke auf einem mobilen Endgerät in Richtung User und Desktop verschoben hat und nicht mehr sinnvoll eine Aufgabe von Root und während des Systemstarts ist.

Ich habe in der Tat neulich darüber nachgedacht, ein Wlan-Einrichtungtool zu schreiben. Ich habe auch noch alten Code von Tools für die Einrichtung von PPPoE und Breitband-Mobilverbindungen im Archiv. Welche Funktionalität schwebt Dir denn vor?
 
Ich habe in der Tat neulich darüber nachgedacht, ein Wlan-Einrichtungtool zu schreiben. Ich habe auch noch alten Code von Tools für die Einrichtung von PPPoE und Breitband-Mobilverbindungen im Archiv. Welche Funktionalität schwebt Dir denn vor?
Da wäre ich auch für zu haben. Trayicon, das alle verfügbaren WLANs anzeigt und mit der Auswahl kann man sich verbinden (abfrage des Schlüssels). Beim Neustart sollte automatisch das letzte oder ein Favorit verbunden werden. Möglichkeit in versteckte Netze zu verbinden.
 
Hallo Marcel,

das wäre in der Tat klasse, es kann ja ganz schlicht gehalten werden und Basisfunktionen bekommen, wie sie @Rakor schon geschrieben hat, ähnlich wie etwa wicd bei Linux. Es muss ja kein Nachbau des Networkmanagers werden :D
 
Nachtrag: Es gibt ein Paket networkmgr (stammt vom GhostBSD-Projekt, ist aber auch im FreeBSD-Repo).
Das hat schon rudimentäre Funktionen, habe es gerade mal installiert und werde es weiter testen.
 

Anhänge

  • networkmgr.jpeg
    networkmgr.jpeg
    17 KB · Aufrufe: 191
Nachtrag 2: Ich glaube, mit networkmgr gibt es schon das, was hier gewünscht wurde. Anlegen einer leeren wpa_supplicant.conf und dann reboot. Im KDE war dann ein kleines Symbol, beim Linksklick wurde mir u.a. mein Huawei9 Hotspot angeboten, ein weiterer Klick fragte dann das Paßwort, und nach Eingabe hatte ich dann Internetverbindung (alles als User).
 
Zurück
Oben