Alle Beiträge von Steve

QNAP NAS zu einem Virtualisierungserver Upgraden

Da man heute die Service Orientierte Architektur (SOA), Virtualisierung, Docker und Co. ein Thema ist (und ich den Überblick verliere was auf welchem Raspi läuft .. 😀 ) habe ich die Chance genutzt und das Thecus NAS für das es keine Updates mehr gibt durch ein potenteres zu ersetzen welches auch Virtualisierung unterstützt.

Die Wahl fiel auf ein QNAP TVS- 871U-RP weil es viel Platz für Festplatten und integrierter Virtualisierungsoberfläche warb und nicht zu letzt im Angebot war.  Nach ersten Startschwierigkeiten (Einschicken weil die Flash Disk mit dem Betriebssystem defekt war) konnte es los gehen. 

Die Oberfläche zum Managen von virtuellen Maschinen auf KVM Basis und LXC so wie Docker Conatainern ist wirklich komfortabel. Und so war nach dem Aufsetzen eines VM mit Windows 7  und Ubuntu so wie einem Docker mit GitLab das Gerät mit seinem i3-4150 3.5 GHz Prozessor und 4GB RAM an Limit.

Nach etwas Recherche im Netz habe ich mehrere Quellen gefunden die erfolgreich das Mainboard mit einem i7-4790S bestückt haben.
Also habe ich gleich einen i7 und 16GB RAM geordert und weil die mitgelieferten AVC Lüfter zwar bis gefühlt Windstärke 12 erzeugen, dass aber bei einem Lärmpegel eines startenden Jets, bin ich nach langer Suche auf leise 70mm Lüfter gestoßen die in Gehäuse passen.  Die Super Silent Fan 7 von AAB Cooling scheinen die einzigen leisen 70mm Lüfter auf dem Markt zu sein. 
Leider sind sie nicht PWM geregelt aber immerhin liefern sie 29 m³/h und das bei 17.5db(A).

Der i3-4150 Prozessor (54W TDP) hatte einen passiven Kühler.  Obwohl der i7-4790S (65W TDP) nur 9 Watt mehr verbraucht stieg die Betriebstemperatur deutlich über 50°C an. 

Die Herausforderung ist einen flachen CPU Kühler zu finden der in 2 HE passt.  be quiet! bietet hier den Shadow Rock LP. Flach, leise, perfekt(fast). Was wir nicht bedacht hatten ist der Abstand zwischen Mainboard und Gehäuseboden. So war der der Silent Wing 2 Lüfter 3 mm zu hoch um den Deckel wieder zu schließen und 1 cm zu hoch um einen guten Luftstrom du gewährleisten. 

Beim Test ohne Lüfter wurde die CPU im Leerlauf wieder über 50°C warm. Also waren wir nicht weiter als zuvor.

Die Lösung liegt wie immer nicht weit. Kurzerhand haben wir den Lüfter einer Nvidia 1080 TI, die zuvor auf Wasserkühlung umgebaut wurde, auf den Shadow Rock LP geschraubt.  Und wir hatten eine Leerlauftemperatur von ~40°C bei erträglicher Lautstärke. 

ESP32 mit PoE für unter 10€

Der ESP32 ist ein Multitalent WLAN, Bluetooth und auch Ethernet, wenn er nun aber schon ein Kabel für die Verbindung braucht wieso dann nicht auch gleich den Strom darüber übertragen?

Am 11.11. war ich mal wieder etwas shoppen und bin dabei über PoE Module für Netzwerkkameras gestolpert, welche für 2€ angeboten wurden. Diese sind zwar für 12V Verbraucher konzipiert das ist aber nichts was sich nicht mit einem Step-down Wandler in den Griff bekommen lassen würde. Nach dem dann alles da war um einen ESP32 mit den Netzwerk zu verbinden:

  • ESP32 Dev Board Board (ca 4€)
  • Waveshare LAN8720 Modul (ca 2€)
  • PoE Platine (PDA-1.4) (ca 2€)
  • Step-down Modul

Habe ich mir die verbauten Komponenten auf dem PoE Modul etwas genauer angeschaut und festgestellt, dass die Ausgangsspannung über einen MP2494 Buck Konverter erzeugt wird. Dem Datenblatt war zu entnehmen, dass dieser ein breiten Spannungsbereich abdecken kann und dieser nur von einem Spannungsteiler und der gewählten Spule abhängt.

Auszug aus dem Datenblatt

Der Widerstand R2 war schnell identifiziert und durch einen mit 57.1 kOhm ersetzt.

Spannungteiler R1 301 kOhm (rechts) und R2 21,5kOhm (links)

Und siehe da es liegen 5V am Ausgang an.

Nun musste nur noch das PoE Modul zwischen das Ethernetkabel und das LAN8720 Modul. Dankenswerter weise hat der Verkäufer gleich passende Anschlusskabel für die Anschlüsse des PoE Moduls beigelegt.

Die RJ45 Buchse des Waveshare Boards hat die Überträgerspulen bereits integriert und muss durch eine einfache ohne Überträger ersetzt werden, da diese auf dem PoE Board ist ( H1102NL – unten links im Bild). 

Die Belegung der Pins ist auf der Unterseite des Boards aufgedruckt. L1 und L2 sind die Status LEDs an der Buchse. Das Waveshare Board schält diese gegen Masse, so dass ich die Anoden der LEDs mit einem Vorwiderstand an den Pin +12 (jetzt natürlich +5) verbunden habe. 

Mit ein bisschen Fummelei waren alle Kabel dran und es konnte zum Test übergegangen werden. Dafür habe ich einfach das modifizierte Waveshare Board an ein Testboard gesteckt, dass ich bereits da hatte. Die Verdrahtung zwischen dem ESP32 und dem LAN8720 findet ihr im Blog von Frank Sautter. Achtung es gibt verschiedene Ausführungen des ESP32 Boards. Deshalb immer die Pinbelegung prüfen.

„Hallo Welt“ und auch die IP Adresse wurde per DHCP bezogen. Je nach dem welcher Strom von der Schaltung benötigt wird empfiehlt es sich noch größere Speicherkondensatoren zu verwenden oder einfach noch einen in die Versorgungsleitung zu hängen. 

Raspberry Pi 3B+ mit externer WLAN Antenne

Der neue RPI3+ hat nun eine neue Antenne die direkt aus den Kupferschichten der Platine besteht. Eine clevere und günstige Lösung, leider aber nicht immer ausreichend.

Die Antenne befindet sich direkt oben Links neben dem Himbeere IC und ist in die Platine eingelassen.

Aber glücklicherweise gibt es noch einen Testpunkt an dem man die Antenne abgreifen kann.

Leider ist dieser nicht all zu groß ausgefallen. Deshalb wird das ganze eine Puzzle. Zunächst benötigen wir Kontaktflächen für die Anschlussbuchse. Die man sich mit einem Skalpell oder einem ähnlich feinen Instrument frei kratzen muss.

Darauf wird nun die U.FL Buchse möglichst voll flächig verlötet um einen stabilen Sitz zu gewährleisten und nicht bei ersten Abstecken die Buchse wieder abzureißen.

Der schwierigste Teil der OP ist es nun eine Lötfahne vom RF Pin auf die freie Stelle der Leiterbahn zu bekommen. Nach 3 – 4 Versuchen sah das ganzen dann bei mir so aus. Wer hat kann auch etwas sehr feinen Draht nehmen um diese Verbindung herzustellen.

Nach dem man mit dem Multimeter nun die Verbindung getestet hat kann man die PCB Antenne durch einen Schnitt hinter der Lötstelle abtrennen um Störungen zu vermeiden.

Ist man soweit gekommen bleibt nur noch das Anstrecken eines unserer Antennen Kits 😉 und dem Einbau steht nichts mehr im Wege.

Update Yota3 zu Yota3+

Nach langem warten ist es nun so weit. Es gibt eine Möglichkeit das Yota3 zu einem Yota3+ zu flashen.

Nach längerer Zeit ist es nun den Users von xda developers gelungen die Yota3+ Firmware auf ein Yota3 zu flashen. Hier sind die notwendigen Schritte dokumentiert.

Achtung: Dies ist nur eine Zusammenstellung der notwendigen Schritte. Es wird keine Haftung für Fehlschläge, die Richtigkeit und die Qualität der erwähnten Tools und Dateien übernommen.

Zunächst ist eine Backup aller Daten zu empfehlen. Ein Tool das sehr flexibel ist und Backups auf SD-Karte, in die Cloud oder auf den eigenen Rechner erlaubt ist JSBackup.

Um Unfälle beim Flashen beheben zu können empfiehlt es sich den NVM Speicher des Telefons(hier ist die IMEI etc. des Telefons gespeichert) zu sichern. Dafür brauch man ein gerootetes Telefon.

Rooten

Die benötigten Dateien finden sich im folgenden Forumsbeitrag. Zunächst müssen folgende Einstellungen am Yota3 gesetzt werden:

Passwort setzen (Pin alleine reicht nicht aus)
Settings > Security > Screen lock > Password

Developer Modus aktivieren:
Settings > About Yota.. > 7 mal auf Buildnummer tippen
Settings / Advanced Settings / Developer Options / OEM unlock Option aktivieren

USB Debugging
Settings > Advanced Settings / Developer Options / USB Debugging aktivieren

new9008-0112.zip aus dem Forumsbeitrag (wichtig ist, dass die Firmware Version eures Telefons) herunterladen und entpacken. Anschließend die Datei boot.img auf das Telefon kopieren.

Dann den Magisk Manager herunterladen und installieren.

Nun den Magisk Manager öffnen und Install anwählen. Bei der Frage welche Methode verwendet werden soll Patch Boot Image File auswählen und den Pfad zu boot.img angeben. Das resultierende patched_boot.img wieder vom Yota3 auf den PC übertragen.

Die aktuellen Android Tools installieren.

In den Fastboot-Modus wechseln:

sudo adb reboot fastboot
sudo fastboot devices

Hier sollte nun die Id eures Yota3 erscheinen. Falls das nicht funktioniert müsst ihr das Yota3 ausschalten. Den Lautstärke + Knopf drücken und halten und danach den Power Knopf drücken.

sudo fastboot flash boot patched_boot.img

Nach dem das Telefon neugestartet hat könnt ihr den Magisk Manager öffnen und es sollten 2 grüne Haken zusehen sein. Das Telefon ist gerootet.

Für die nächsten Schritte benötigt man leider ein natives Windows, denn das die Übertragung von Daten über virtuelle serielle Schnittstellen schlägt oft fehl.

Backup

Die benötigten Tools finden sich in diesem Forumsbeitrag. Um das Telefon in den richtigen Modus zu bringen folgendes ausführen:

adb shell
su 
setprop sys.usb.config diag,adb

Nun die passenden Treiber für den Serial Port installieren (Qualcomm HS-USB Diagnostic 9091)

Anschließend das QPST Tool installieren und öffnen.
Wenn der Port noch nicht automatisch erkannt wurde diesen unter dem Reiter Ports hinzufügen. Nun sollten unter das Yota3 gefunden werden. Wenn No Phone erscheint ist der Treiber nicht richtig installiert.

Nun unter Start Clients -> Software Download wählen.
Im Reiter Backup unter Port das Yota3 auswählen und einen Dateinamen für das Backup festlegen.

Dann mit Start das Backup durchführen. Der Vorgang kann einige Minuten dauern.

Damit ist das Backup fertig.

Flashen

Die benötigten Dateien finden sich in diesem Forumsbeitrag. 
Das Yota3 in den edl-Modus bringen:

adb reboot edl 

oder
Das Yota3 ausschalten und Lautstärke + Lautstärke – halten und den Power Knopf drücken.

new9008-0112.zip herunterladen und entpacken. Wichtig ist das keine Leerzeichen im Pfad enthalten sind (z.b. C:\9008).

Dann das Programm QFil starten und im Menü Download Configuration > FireHose Configuration > Reset after Download wählen.

Build Type auf Flat setzen und über Browse die entpackte mbn-Datei auswählen.

Unter Load XML zunächst beide XML Dateien im Verzeichnis auswählen und im nächsten Dialog die patch0.xml.

Bei Select Port das Yota3 auswählen.

Das Yota3 über die Tastenkombination erneut in den edl-Modus bringen und innerhalb von 10 Sek. auf Download klicken. Der Vorgang dauert eine Weile.
Am Ende sollte im Statusfeld Success erscheinen.

Wenn es nicht klappt einfach erneut versuchen, das Timing ist etwas tricky. Glücklicherweise ist der edl-Mode Download unbrickbar.

Nun unter Load XML nur die Rawprogram0.xml anwählen und im nächsten Dialog wieder die patch0.xml und wieder das Yota3 mit der Tastenkombination in den edl-Mode bringen und innerhalb von 10 Sek. auf Download klicken.

Danach Startet euer Yota3+ neu. Wenn die Meldung Decryption unsuccessful erscheit auf Reset Phone klicken. Danach startet der normale Einrichtungsassistent von Android.

Es werden auch 2 OTA Updates gefunden im Forum wird aber aktuell empfohlen diese noch nicht zu installieren, da diese wohl noch Buggy sind.

Restore

Falls etwas schief lief und eure IMEI fehlt könnt ihr euer Yota3+ mit Hilfe von Magisk Manager und dem boot.img aus dem new9008-0112.zip Download wieder wie oben beschreiben rooten und mit QPST euer Backup zurück spielen.

Ubuntu 18.10 auf dem Thinkpad P52 installieren

Leider ließ sich Ubuntu 18.10 nicht out-of-the-box auf dem P52 installieren.
Deshalb fasse ich hier die Schritte für euch zusammen:

GUI friert ein

Im BIOS muss man auf Descrte Graphiccard stellen, sonst bekommt man nach der Installation beim Login nur einen schwarzen Bildschirm (ACHTUNG BIOS FIRMWARE 1.16 BRICKED MIT DIESER EINSTELLUNG)

Nach der Installation sind leider keine NVIDIA Treiber installiert, auch wenn man das Häkchen für Proprietäre Treiber gesetzt hat.
Deshalb vor dem Login mit ALT + STRG + F4 die Console öffnen und 
die Treiber installieren:

$ sudo ubuntu-drivers autoinstall

Touchpad

Das Touchpad funktioniert nicht (Touchscreen lustiger weise schon)
Man das Touchpad noch wie folgt konfigurieren.

$ sudo nano /etc/systemd/system/touchpad.service

[Unit]
Description=Fix configuration of Elantech Touchpad on TP P52

[Service]
ExecStart=sh -c 'echo -n "elantech" > /sys/bus/serio/devices/serio1/protocol'
Type=oneshot
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
$ sudo systemctl daemon-reload
$ sudo systemctl enable touchpad.service
$ sudo systemctl start touchpad.service

Smartcard Reader

Smartcard Reader installieren:

$ sudo apt-get install libusb-dev libusb++-0.1-4c2 libccid pcscd libpcsclite1 libpcsclite-dev

Hintergrundbeleuchtung

Die Hintergrundbeleuchtung lässt sich unter Ubuntu 18.10 mit Nvidia 410 nicht ändern. Bisher keine Lösung sondern nur ein Workaround ist xbacklight mit dem man über die Konsole die Helligkeit in Prozent setzen kann:

$ sudo apt install xbacklight
$ xbacklight -set 50 

Docking Station

Docking Station wird nicht verbunden. Das Problem ist, dass diese noch nicht autorisiert ist und erst akzeptiert werden muss:

$ sudo apt install thunderbolt-tools
$ tbtadm devices 
0-3 Lenovo ThinkPad Thunderbolt 3 Dock non-authorized not in ACL
$ sudo tbtadm approve 0-3
Authorizing "/sys/bus/thunderbolt/devices/0-3"
Added to ACL
Authorized

500W Labornetzteil für ~ 60€

Will man Projekte mit höherem Stromverbrauch testen oder größere LiPo Akkus laden braucht man schon mal ein Netzteil das mehr leistet als die 0815 Geräte der Elektronikversender, sollte aber auch nicht das Budget sprengen 

Im Internet kursieren immer wieder Videos und Artikel über die DC/DC DPS Modul von RDTech. Das hat uns neugierig gemacht und da wir sowieso Bedarf an einem neuen Netzteil hatten gleich 2 bestellt.

Unsere Shoppingliste:
2x DPS 5005USB (50V 5A mit USB-Anschluss)
1x Schaltnetzteil 48V 10A
1x USB Hub Platine

Hardware

Um das ganze zu Verstauen haben wir einen defekten „PA“ Verstärker entkernt. Leider war der Ringkerntrafo sehr viel schwächer als es die Aufschrift hätte vermuten lassen. Zum Vorschein kam 2x 24V x 2A womit klar ist, dass die 600 der Aufschrift nichts mit der tatsächlichen Leistung zu tun haben. 

Nachdem wir alles ausgeweidet haben ist nur noch der Einschalter und die Kaltgerätebuchse, sowie die Lautsprecher Terminals auf der Rückseite übrig, da sich diese auch sehr gut für den Anschluss von Kabeln an unserem Netzteil eignen.

Nun haben wir in der Front platz für die beiden Module geschaffen. Die Gitter sind mit zwei Plexiglasplatten hinterlegt, die wir kurzer Hand mit dem Lasercutter bearbeitet haben. 

Die Gitter wurden mit einem Multitool ausgeschnitten. Und schon passen die Module schön in die Front. In der Rückseite haben wir ein Loch für die USB-B Buchse des USB Hubs gebohrt. Um diese zu befestigen wurde ein 3D gedruckter Halter verwendet.

Nun fehlt noch die Verkabelung des Netzteils mit den Modulen und die USB Verbindungen.

Da die Module eine ordentliche Wärmeentwicklung aufweisen haben wir noch ein Lüfter zur besseren Abführung der Temperatur angebracht. Um die Geräuschbildung zu reduzieren wurde dieser mit Federn aufgehangen. Die Stromversorgung wurde über ein Steckernetzteil realisiert bei dem der Euro-Stecker abgesägt und zwei Leitungen angelötet wurde.

Jetzt kann der erste Test kommen:

Alles läuft. Also Deckel drauf und fertig ist das Netzteil.

Software

Ein Schaltnetzteil ist ja ganz nett aber natürlich will man es auch über den PC auslesen und steuern können. 

RD Tech liefert einen Software dafür mit die auf LabView basiert. Diese kann hier herunter geladen werden. Die Installation ist leider über 200MB groß und ist nur für Windows. 

Etwas suchen hat aber einige interessante Seiten zu Tage gefördert:

Johan Kanflo beschreibt in seinem Blog den Aufbau der Module und hat eine alternative Firmware namens OpenDPS dafür geschrieben, welche per ESP8266 auch per WLAN kommunizieren kann und bietet auch eine in Python geschriebene CLI um diese fernzusteuern.

sigrok ein Tool zum aufzeichnen von Signalverläufen aus verschiedenen Quellen wie z.B. dem BeagleLogic bietet auch eine Unterstützung für verschiedene Module von RDTech.

DPS5005_pyGUI hat uns besonders gut gefallen, da diese bereits eine  Laderegelung für verschiedene Akkutypen mit bringt. Per Konfigurationsdatei lässt sich dies auch für andere Modultypen einfach anpassen. Da die Anwendung auf Python und QT basiert kann sie unter Windows Linux und Mac verwendet werden.