Broken Things
Inhaltsverzeichnis
[Verbergen]Broken Things
Dinge, die einfach unglaublich kaputt sind...
Raspberry Pi Zero W(H)
Welcher Teufel hat den Raspberry Pi Zero konstruiert und mit einem Wifi ausgestattet, das insbesondere mit gängigen UniFi Wifi AP's nur so grottig funktioniert, dass ich meinen Raspberry zerschlagen habe?
Die Kombination Raspberry Pi Zero W mit UniFi-Wifis geht gar nicht:
- Der Raspberry hat so wenig Anschlüsse, dass man eigentlich nur per Wifi drauf zugreifen kann
- Wifi ist aber nicht zu gebrauchen, weil es die Verbindung immer nur für wenige Sekunden erlaubt, dann aber für mehr als 30(!) Sekunden nicht ansprechbar ist.
==> Ich hab alles mögliche probiert, Wifi-Power-Save-Settings deaktiviert.
Ich hab nun eine Lösung gefunden: Nehmt einen Hammer und zerkloppt diese Teile, die euch nutzlos Lebenzeit fressen.
In der c't habe ich einen Hinweis gefunden, vielleicht liegt es auch nur am Schreibschutz des Root-Filesystems. Als ich die Befehle allerdings eingeben wollte, gab es wieder Verbindungsabbrüche - so stark, dass es sogar "broken pipe" gab. Das gab dann "broken raspi"... Solltet ihr es wirklich schaffen, einen Raspberry Pi Zero W so in ein UniFi-Wifi zu bringen, dass die SSH-Verbindung wirklich ständig ohne Lags funktioniert, gebt doch bitte mal Rückmeldung, was dazu nötig war.
c't Anleitung (bin nicht soweit gekommen ["broken pipe" -hammer-> "broken raspberry"], ich vermute aber mal, dass auch das nichts bringt bei UniFi Wifi's):
sudo su mount -o remount,rw echo "post-up" iw wlan0 set power_save off" >> /etc/network/interfaces mount -o remount,ro reboot
Freenove WS2812 Lib for ESP32
Ich muss auch vor dieser Bibliothek ausdrücklich warnen, so sehr ich eigentlich für freie Software bin. Aber diese Bibliothek wurde vermutlich von jemandem erstellt, der RMT auf dem ESP32 nicht wirklich verstanden hat. Das Ergebniss sind Schrot-Angriffe auf den Speicher im ESP - plötzlich gehen ganz andere Sachen nicht mehr vernünftig - bei mir zeigte die "Face"-Lib ein Matschauge. Wer diese Bibliothek einbindet riskiert das Speicherbereiche, auf die diese Lib eigentlich gar nicht zugreifen sollte, verändert werden. Das ganze Projekt wird plötzlich instabil oder verhält sich komisch, nur weil man ein WS2812 (aka Neopixel) nutzen wollte. Hint: Nehmt besser die Adafruit-Neopixel Lib - derart krasse Qualitätsverfehlungen hab ich damit noch nicht erlebt.
ESP32 + ETH
Man aktiviert den Watchdog, sichert damit alle möglichen Tasks, wenn der WD anspringt gibt es einen Reset - u.a. wenn der Ping zum Router nicht mehr geht. Wie es der ESP32 schafft trotzdem reproduzierbar einzufrieren und trotz Watchdog keinen Reset zu machen, ist mir ein Rätsel. Man baut zum ESP32 via LAN eine TCP-Verbindung auf (egal ob Telnet, Monitor oder Websocket), versetzt dann den Client in einen Sleep-Zustand (Laptop Klappe zu oder Handy Display aus) --> ESP32 friert ein. Watchdog hilft nicht. Arduino Core 3.2.x bringt auch keine Besserung. Ich weiß nicht was das los ist - wie ist das überhaupt möglich das Watchdogs nicht greifen? Ich werde mich wieder um externe Hardware-Watchdogs betrieben an Ports bemühen müssen, die den ESP32 einen Hardware-Reset geben. Das ist sowas von 1990'er...
PlatformIO
Eigentlich eine tolle Sache. Bis die Leute dahinter wohl zu gierig geworden sind und still und leise den Support eingestellt haben für vieles was derzeit "hip" ist. Updates für ESP32? Fehlanzeige! Updates für RP2040? Fehlanzeige! Wenn ihr euch wundert, warum Dinge nicht gescheit funktionieren, die eigentlich gefixt sein sollten, schmeißt Plattform-IO wieder runter, ersetzt es durch PIOArduino oder steigt auf die Systeme der Hersteller um.