Örks – nach dem letzten Neustart hatte einer meiner Mailserver etwas Schluckauf an den Tag gelegt: Mails wurden nicht mehr angenommen, im Log zeigte sich policyd-weight als Verursacher:
warning: child: err: Undefined subroutine &main::dn_expand called at /usr/libexec/postfix/policyd-weight line 3591, ...
Ursache ist offenbar ein veralteter Aufruf der Library Net::DNS dieses Perl-Monsters. Ein passender Patch ist bei Debian zu finden, mit 3 geänderten Zeilen ist der Fehler erledigt und die Software wieder lauffähig.
+++ policyd-weight
72 -use Net::DNS::Packet qw(dn_expand);
3591 - my ($dn, $offset) = dn_expand(\$qb, 0);
3591 + my ($decoded, $offset) = decode Net::DNS::DomainName(\$qb);
3592 + my $dn = $decoded->name;
Die Festivalsaison steht mal wieder vor der Tür und ich brauche wie üblich passende Akkus. Leider haben sich die FM6316-Powerbank-ICs nicht gerade als Zuverlässig rausgestellt. Mit einer neuen Variante der TP4056-Modulen(ca. 0,60€), welche neben dem Laden auch den Zellschutz übernehmen, sowie einem LM2577-Step-Up-Modul lässt sich schnell mit anderen Teilen aus der Restekiste eine neue Powerbank improvisieren, welche hoffentlich weniger Probleme bereitet.
Banggood bietet auf ihrer Webseite für knapp 10€ einen Bausatz an, welcher als gute Basis für den Eigenbau eines Labornetzteils dienen kann. Bis zu 30V und 3A kann die Schaltung – je nach Aufbau – verkraften und somit die meisten Schaltungen auf dem heimischen Basteltisch versorgen. Durch den linearen Aufbau hat der Ausgang hierbei vergleichsweise geringes Rauschen, ist also auch für empfindliche Schaltungen geeignet.
Für ein funktionierendes Endgerät muss neben dem Bausatz noch ein 24V-Trafo (~20€) sowie einen Kühlkörper (Restekiste – z.B. alter CPU-Kühler) beschafft werden. Weitere Bauteile wie Gehäuse, Anschlussbuchsen, präzisere Potentiometer oder Anzeigen richten sich nach den eigenen Anforderungen.
Der Bausatz wurde mir von Banggood für dieses Video zur Verfügung gestellt, in diesem Video bauen wir den Bausatz zusammen und schauen uns die Funktion der Schaltung an (21:55). Im nächsten Video zum Thema werde ich noch den Kühlkörper anbringen, ein passendes Gehäuse bauen und nach Einbau eines passenden Trafos einige Messungen durchführen.
Auf der Modelleisenbahnanlage eines Bekannten streikt die Steuerung eines Bahnübergangs. Mit Servos und 555-Timern möchte ich für Ersatz sorgen.
Die Originalsteuerung nutzt ein zeitgesteuertes Latch um die kurzen Impulse der Schienensensoren in eine zeitkonstante Aktivierung des Motors umzusetzen. Dieser beherrbergt die eigentliche „Intelligenz“: Als AC-Motor ist an sich kein Richtungswechsel möglich, über Endanschläge und eine komplizierte Mechanik im nachgeschalteten Getriebe wird jedoch genau dies nachgebildet und das Fahren der Schranken so ermöglicht.
Leider ist das Konstrukt sehr fehleranfällig und hat zwischenzeitlich den gesamten Dienst eingestellt. Zwar ließe sich das Problem reparieren, an der Zuverlässigkeit würde sich jedoch nichts ändern. Meine Idee zum Thema: Modellbau-Servos sollten deutlich zuverlässiger funktionieren. Da es wie schon erwähnt nicht meine eigene Anlage ist versuche ich auf µCs zu verzichten und stattdessen mit etwas diskreteren Bauteilen wie z.B. dem 555-Timer einen Flip-Flop sowie den PWM-Generator für die Motorsteuerung aufzubauen.
In der letzten BitBastelei war ein LED-Panel zu sehen. Da ich nicht vor hatte den beiliegenden Treiber zu verwenden habe ich mich auf dessen Aufbau, nicht die realen Werte, beschränkt. Schauen wir mal, wie Effizient der original-Treiber ist und ob die LED flackert.
Wer ein System verwalten will benötigt ein passendes Administrationspasswort. Dumm, wenn das System von nicht mehr erreichbaren Dritten eingerichtet wurde und keine brauchbare Dokumentation existiert. So geschehen bei einem System mit Microsoft SQL Server, zu welchem kein sa-Passwort vorlag und die Windows-Zugänge offenbar gesperrt wurden.
Falls es nicht ohnehin klar ist: All diese Schritte solltet ihr natürlich nur an Systemen durchführen, welche euch gehören bzw. in nur nach (schriftlicher) Absprache mit dem Besitzer. Wer sich an fremden Systemen vergeht bekommt Probleme mit der jeweiligen Staatsanwaltschaft und/oder dem zuständigen Admin und die möchtet ihr beide nicht kennen lernen ;).
Erster Anlaufpunkt: Windows-Logins. Üblicherweise sollten lokale Windows-Administratoren immer Administrationszugang zum SQL-Server haben. Hierzu einfach als lokaler Admin anmelden und im SQL Management Studio (oder der jeweils anderen Managementsoftware) die Windows-Authentifizierung nutzen. Bild: https://www.adlerweb.info/blog/wp-content/uploads/2016/05/sql1-300×226.png
Hat der vorherige Admin die Windows-Zugänge herausoperiert muss man etwas tiefer eingreifen:
Stoppt alle Dienste und beendet alle Clients, welche den Datenbankserver nutzen
Doppelklick auf den Dienst SQL Server (nicht Agent oder Browser) um die Einstellungen zu öffnen
Unter „Erweitert“ findet sich der Punkt „Startparameter“. Diesen durch Doppelklick editierbar machen. Am Anfang der Zeile „-m;“ einfügen Bild: https://www.adlerweb.info/blog/wp-content/uploads/2016/05/sqlfix-300×62.png Hintergrund: Mit -m wird der Server in den „single user maintenance mode“ geschaltet. Hierbei können Windows-Admins eine Verbindung zum Server aufbauen, es ist jedoch nur eine Sitzung zulässig. Sollte sich also ein anderes Programm verbinden ist kein Zugriff zur Verwaltung mehr möglich.
Einstellungsfenster schließen und nur den SQL Server-Dienst wieder Starten
Eine Eingabeaufforderung/cmd mit Administrationsrechten starten und per sqlcmd mit dem Server verbinden. Da der Server-Browser gestoppt ist müssen die Serverdaten manuell angegeben werden:
sqlcmd -E -S tcp:localhost\INSTANZNAME
Nun erstellen wir uns einen entsprechenden Zugang zum Server. Ich verwende den lokalen Systemadministrator, es ist jedoch auch möglich andere Nutzer, auch z.B. aus einer Domäne, so hinzuzufügen
create login [SERVERNAME\Administrator] from windows;
EXEC sp_addsrvrolemember 'SERVERNAME\Administrator','sysadmin';
GO;
Sollte der Befehl ohne Fehlermeldungen abschließen ist der Nutzer eingerichtet. Das sqlcmd-Fenster kann geschlossen werden
Um den Wartungsmodus abzuschalten stoppen wir im Sql Server Configuration Manager den Serverdienst, gehen wieder wie zuvor in die Eigenschaften und entfernen das „-m;“ wieder aus den Startparametern
Zuletzt werden alle zuvor aktiven SQL-Serverdienste wieder gestartet. Da an den bestehenden Logins keine Änderung vorgenommen wurde sollten Clients und Dienste unverändert wieder funktionieren. Zusätzlich sollte der angegebene Nutzer nun über Windows-Authentifizierung volle Administrationsrechte auf den Server besitzen.
Getestet mit 2008R3, sollte aber auch mit allen anderen zwischen 2005 und 2016 funktionieren.
Wieder mal Zeit für eine Erleuchtung: Für einen Raum war ich auf der Suche nach Deckenlampen in LED-Technik, welche sich auch mit 12V betreiben lassen. Fertige Systeme konnte ich nicht finden, der Händler YL LED Lighting Factory war jedoch in der Lage mir vor dem Kauf alle nötigen Daten für einen Umbau zu liefern. Das bestellte Modell ist mit 9W ausgezeichnet, gibt ein kaltweißes Licht (6000K) ab und soll einen hohen CRI besitzen – für ca. 7,50€ incl. passendem 230V-Treiber ist sie zudem vergleichsweise günstig.
Licht ist nicht gleich Licht – viele Lichtquellen haben einen gewissen Farbstich, welcher die Farbwahrnehmung verändert, oder beleuchten Farben nicht gleichmäßig. Als Ideallicht wird meist die Sonne herangezogen. Glühlampen zeigen Farben eher rötlich, sind jedoch auch sehr gleichmäßig was die Beleuchtungsstärke angeht. Deutlich schlechteres Licht haben viele Energiesparlampen, deren Quecksilber sorgt nur in kleinen Farbstreifen für gute Beleuchtung – Farben, welche dazwischen liegen sind nur schwer zu erkennen. Meist erscheint alles eher Grün-Blau und Farben sehen verwaschen aus. Weiße LEDs bestehen gängigerweise aus einer blauen Grundfarbe, welche durch eine Phosphorschicht auf den restlichen Bereich verteilt wird. Gerade bei günstigen Lampen ist jedoch der blaue Grundton noch gut erkennbar. Da Rot hier meist nur dürftig abgegeben wird erscheinen alle Farben eher bläulich. Der CRI gibt an wie gleichmäßig die Beleuchtung der einzelnen Farben im vergleich zum Sonnenlicht erfolgt.
Wie bereits bei CRI beschrieben haben einige Lichtquellen einen „Farbstich“, dieser wird mit der Farbtemperatur in Grad Kelvin angegeben. Für das Auge erscheinen höhere Farbtemperaturen heller, aber auch steril und wenig einladend. Geringere Werte erscheien bei gleicher Lichtleistung dunkler, wirken dafür gemütlich. Die Sonne liegt tagsüber bei etwa 5500K, Glühlampen und Warmweiße LEDs liegen bei eher roten 3000K. Kaltweiße LEDs driften mit 6500K eher ins Bläuliche ab.
Das LED-Panel ist als klassische „Side-Fire-LED“ aufgebaut: An den Rändern befindet sich ein LED-Streifen mit handelsüblichen SMD-LEDs. In der Mitte sorgt ein spezielles Plastik dafür das Licht möglichst gleichmäßig in Richtung Vorderseite zu reflektieren. Eine Diffusionsschicht aus milchigem Acrylglas sorgt zuem dafür, dass auch eine Abstrahlung zu den Seiten erfolgt und die Lampe nicht wie ein Richtstrahler erscheint.
Zur Verbindung der Stromversorgung steht ein 5.5×2.1er Hohlstecker zur Verfügung, welcher durch einen Drehmechanismus vor versehentlichem Auseinanderziehen geschützt wird. Die Ansteuerung erfolgt mit 300mA, die Spannung pendelt sich im Betrieb bei etwa 28V ein. Nach einer Stunde Betrieb auf dem Schreibtisch lag die Temperatur stabil bei ca. 18°C über der Umgebungstemperatur.
Taken with A0001, Android 6.0.1
Taken with A0001, Android 6.0.1
Die Lichtausbeute erscheint mir optisch etwas über der einer 60W-Glühlampe zu liegen, die Farbwiedergabe erscheint, wie von 6000K zu erwarten, leicht bläulich, jedoch soweit akzeptabel.
Das nötige Loch zum Deckeneinbau ist mit 13.5×13.5cm vorzusehen, incl. Rahmen erreicht das Modul knapp unter 15x15cm und ist incl. Federn und Kabeldurchführungen ca. 2.5cm tief.
Aufbau des Treibers
Der beiliegende Treiber zur Verbindung des LED-Panels mit dem normalen Stromnetz stellt laut Angabe einen Konstantstromtreiber mit 300mA für 8-18W LEDs dar. Die weiterhin erwähnte Ausgangsspannung ist mit 60-90V angegeben, liegt bei diesem 9W-Modell jedoch bei etwa 30V. Wie stark sich diese Diskrepanz auf das Flachern am Wechselstromnetz auswirkt habe ich nicht getestet. Er ist vom Stromnetz nicht isoliert ausgeführt, hierdurch kann das Berühren der vermeintlich harmlosen Ausgangskabel ggf. schmerzhafte Folgen haben. Da die Ausgangsbuchsen mit einem breiten Plastikrand umgeben und normalerweise in der Decke angebracht sind, sollte dies im Normalbetrieb kein Problem darstellen – wer auf Nummer sicher gehen will sollte jedoch die Nutzung eines anderen Treibers in Erwägung ziehen.
Um das Panel an 12V zu betreiben sollte ein Schaltregler (Step-Up, Boost) mit Konstantstromfunktion zur Verfügung stehen. Leider sind diese Module nur schwer fertig zu finden, sodass man eine passende Schaltung vermutlich selbst bauen muss (Video folgt). Für Testzwecke kann auch ein eher verbreitetes Boost-Modul mit Konstantspannung verwendet werden, dies wird auf ca. 28V eingestellt. Die LED wird hierbei leicht unter der Maximalleistung betrieben, was optisch jedoch nur schwer zu unterscheiden ist. Da hierbei keine automatische Nachregelung erfolgt können Abweichungen durch Temperatur oder LED-Störungen das Panel ggf. zerstören, daher ist ein Konstantstromtreiber immer vorzuziehen.
Ugh. Schon wieder. Das Rattern in der Ecke hat meist eine recht konstante Ursache: Die CPU meines Laptops läuft auf 100% und sorgt für ordentliche Lüfterdrehzahlen. Gehen wir mal auf Ursachensuche:
Bei CPU-Last ist erster Anlaufpunkt natürlich top/htop. In meinem Fall aber leider nicht sehr Hilfreich: Xorg sei der Verursacher. Weites Feld. Aus meiner Erfahrung geht dann der Blick erst mal auf die laufenden Programme. Nicht selten hat sich auf einer geöffneten Webseite eine Flash-Werbung, ein HTML5-Video oder sonstige zappelnde Dinge mit Nervfaktor versteckt und bringen das Rendering in Gang. Leider konnte ich dieses mal nichts finden. Auch der interne Taskmanager von Google Chrome zeigt – anders als in solchen Fällen üblich – keine auffällig hohen Lasten. Um sicher zu gehen halte ich per SIGSTOP alle UI-Programme kurz an – keine Änderung. Es ist also mit hoher Wahrscheinlichkeit keine Grafikausgabe, welche die Probleme auslöst.
Zurück zum Start. Wir wissen, dass Xorg die Last bringt, allerdings vermutlich nicht im Grafikbereich. Schauen wir uns top nochmal genauer an. Die Browser sind noch in SIGSTOP und entsprechend verschwunden. Hinter XOrg macht sich nun dbus breit. Dbus? Kurze Lastspitzen OK, aber Dauerlast? Ein Blick mit dbus-monitor bringt eine Wall-of-log zum Vorschein:
…und das in Endlosschleife. Uhm, ja. mailto? Das sind üblicherweise Links in Webseiten oder Dokumenten um E-Mails zu versenden. Stimmt, ich hatte vor einigen Stunden auf einer Webseite einen Mail-Link angeklickt. Ohne Reaktion.
Offenbar hat sich die DE an eben diesem Maillink festgefressen. „Der angegebene Ort wird nicht unterstützt“. Kein Wunder, denn in den „Standardprogrammen“ ist für E-Mails nichts hinterlegt. Anstatt das Ganze aber einfach als Fehlschlag einzuordnen und abzubrechen wird die Aktion in Endlossschleife ständig wiederholt. Da auch Xorg an Dbus hängt (und offenbar nicht sonderlich effizient auf dessen Events reagiert) geht auch dieser in die Knie. Da ich auf die Schnelle keine Möglichkeit fand das dbus-event rauszuwerfen musste ein Dummy-Mailprogramm hinhalten. Event geht rein, Returncode kommt, Dbus gibt Ruhe. Warum nicht gleich so?
Wieder mal eine Runde „Serverzeugs“: Windows Server 2012 R2 kann über „Failoverclustering“ eine Hochverfügbarkeit bereitstellen. Hierzu müssen alle Clusterknoten auf einen gemeinsamen Speicher direkt zugreifen können. Kommt eine Virtualisierungsinfrastruktur wie VMWare hinzu muss man etwas basteln um eine stabile Funktion zu erreichen.
Volldampf voraus? Irgendwo in den tiefen, dunklen Gängen fand sich eine Modelldampfmaschiene des Typs Wilesco D12. Solche Modelle wurden erstmals wohl in den 70ern Hergestellt, das gefundene Modell dürfte allerdings eher aus den 80ern stammen. Von wann auch immer: Das Modell steht schon etwas, also schauen wir mal, ob wir es wecken können.