<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.9.0">Jekyll</generator><link href="https://blog.hypfer.de/feed.xml" rel="self" type="application/atom+xml" /><link href="https://blog.hypfer.de/" rel="alternate" type="text/html" /><updated>2021-07-29T10:32:56+00:00</updated><id>https://blog.hypfer.de/feed.xml</id><title type="html">blog.hypfer.de</title><subtitle>Blogging with 100% less risk of wordpress being exploited</subtitle><author><name>Sören Beye</name></author><entry><title type="html">Yamaha AVR Standby Fiepen beheben am Beispiel des Aventage RX-A1050</title><link href="https://blog.hypfer.de/2021/07/20/yamaha-avr-fiepen-beheben.html" rel="alternate" type="text/html" title="Yamaha AVR Standby Fiepen beheben am Beispiel des Aventage RX-A1050" /><published>2021-07-20T00:00:00+00:00</published><updated>2021-07-20T00:00:00+00:00</updated><id>https://blog.hypfer.de/2021/07/20/yamaha-avr-fiepen-beheben</id><content type="html" xml:base="https://blog.hypfer.de/2021/07/20/yamaha-avr-fiepen-beheben.html">&lt;figure&gt;
    &lt;img src=&quot;/assets/img/2021/avr.jpg&quot; /&gt;
    &lt;figcaption&gt;
        RX-A1050 mit Squeezebox und Canton CT 800
    &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;Ich bin großer Fan meiner Yamaha AV-Receiver. Insbesondere aber nicht ausschließlich auch aufgrund der tollen Netzwerkintegration,
welche die vollständige Steuerung über IP ermöglicht.&lt;/p&gt;

&lt;p&gt;Damit dies vernünftig funktioniert, muss das Gerät natürlich permanent am Strom- und IP-Netz hängen.
Sollte gerade bei dem Preis kein Problem sein würde man meinen.&lt;/p&gt;

&lt;h2 id=&quot;problemstellung&quot;&gt;Problemstellung&lt;/h2&gt;

&lt;p&gt;Leider gibt es da jedoch ein Problem: der AV-Receiver fiept im Standby. Dies auch nicht nur ein bisschen, sondern deutlich selbst
aus mehreren Metern Distanz wahrnehmbar.&lt;/p&gt;

&lt;p&gt;Dieses Problem scheint mich nicht alleine zu betreffen. Es gibt diverse weitere Google-results dazu.
Hier nur eine Auswahl:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.hifi-forum.de/viewthread-276-6228-48.html&quot; target=&quot;_blank&quot;&gt;http://www.hifi-forum.de/viewthread-276-6228-48.html&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.hifi-forum.de/viewthread-276-7854.html&quot; target=&quot;_blank&quot;&gt;http://www.hifi-forum.de/viewthread-276-7854.html&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.hifi-forum.de/viewthread-220-9068.html&quot; target=&quot;_blank&quot;&gt;http://www.hifi-forum.de/viewthread-220-9068.html&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.hifi-forum.de/viewthread-276-7720.html&quot; target=&quot;_blank&quot;&gt;http://www.hifi-forum.de/viewthread-276-7720.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Immer wieder wurde vorgeschlagen, doch irgendwelche Standby-features wie beispielsweise das Durchleiten des HDMI-Signals
ein- bzw. auszuschalten, um das Geräusch zu beheben, was teilweise auch zu verbesserungen führte.
In meinem Fall jedoch leider nicht.&lt;/p&gt;

&lt;p&gt;Nur zufällig fiel mir auf, dass das Standby-Fiepen bei meinem RX-A1050 dann verschwand, wenn ich einen kleinen Monitor
an dessen USB-Port anschloss.
Weitere Tests haben dann ergeben, dass das Fiepen lastabhängig ist.
In meinem Fall verändert sich bis 0.3A der Klang. Ab ~0.45A ist dann Stille.&lt;/p&gt;

&lt;p&gt;Damit ergeben die Vorschläge aus den Forenbeiträgen auch Sinn, denn diese Features zu verstellen verändert auch den Stromverbrauch.&lt;/p&gt;

&lt;p&gt;Ebenfalls fiel mir auf, dass mein RX-A2010 im Standby niemals fiept, mein RX-A1080 jedoch schon.&lt;/p&gt;

&lt;h2 id=&quot;erklärung&quot;&gt;Erklärung&lt;/h2&gt;

&lt;p&gt;Was geschieht hier also?
Die Antwort lautet &lt;a href=&quot;https://www.powersystemsdesign.com/articles/burst-mode-operation-a-double-edged-sword/31/14595&quot; target=&quot;_blank&quot;&gt;“Burst-Mode Operation”&lt;/a&gt;.
Nun fehlt mir doch sehr der Hintergrund im electrical engineering, weshalb ich den gelinkten Artikel hier nicht noch weiter
inhaltlich detailliert zusammenfassen kann.&lt;/p&gt;

&lt;p&gt;Ganz grundsätzlich braucht man aber nur zu wissen, dass zwecks Senkung des Standby-Stromverbrauchs sich das Netzteil intervallbasiert
abschaltet. Die Frequenz davon kann lastabhängig sein und insbesondere hörbare Artefakte erzeugen.&lt;/p&gt;

&lt;p&gt;Hörbare Artefakte wie eben ein Fiepen im Standby.&lt;/p&gt;

&lt;p&gt;Dies betrifft vermutlich keine älteren Geräte, da damals seitens des Gesetzgebers noch nicht so hohe Anforderungen an
den Standby-Stromverbrauch von Geräten existierten und dementsprechend kein Burst-Mode notwendig war.&lt;/p&gt;

&lt;h2 id=&quot;lösung&quot;&gt;Lösung&lt;/h2&gt;

&lt;p&gt;Um dies zu lösen braucht man also nur die Last so weit erhöhen, dass das Netzteil vom Burst-Mode in den Continuous-Mode wechselt.
Schon hat man angenehme und insbesondere schlafzimmertaugliche Stille.&lt;/p&gt;

&lt;p&gt;Meine persönliche Lösung für das Problem war es, drei 10W 3.6Ohm Widerstände mit Wärmeleitkleber an einen alten CPU Kühler aus einem
Server zu kleben, welcher noch so in der Parts-Kiste herumlag.&lt;/p&gt;

&lt;figure&gt;
    &lt;img src=&quot;/assets/img/2021/dummyload.jpg&quot; /&gt;
    &lt;figcaption&gt;
        Die fertige Dummy-Load mit Anschlusskabel und wunderschöner Zugentlastung
    &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;Bei den 5 - 5.6V (laut Board Beschriftung) die der AVR zur Verfügung steht, entsteht eine Last zwischen 0.46 und 0.51A und damit ein stilles Netzteil. 
Leider auch ein um 2-3W höherer Standby-Verbrauch, aber es ist eben alternativlos.&lt;/p&gt;

&lt;p&gt;Ein größeres Problem war dann noch der Anschluss dieser Dummy-Load, da bis auf den Front-USB-Port des Receivers meines Wissens nach
keinerlei Anschlüsse mit +5V nach draußen gelegt sind.&lt;/p&gt;

&lt;p&gt;Nachdem ich einen ungenutzten Header auf der Digitalplatine des RX-A1050 gefunden hatte, entschied ich mich dazu, den SMA
connector der W-Lan Antenne auszubauen und das dort entstandene Loch für die Kabeldurchführung zu nutzen.
Auf diese Weise waren keine permanenten Modifikationen sowohl am Gehäuse als auch an den PCBs vonnöten.&lt;/p&gt;

&lt;figure&gt;
    &lt;img src=&quot;/assets/img/2021/digitalplatine1.jpg&quot; /&gt;
    &lt;figcaption&gt;
        Der vormals ungenutzte Header nun mit custom 3-Pin JST-XH Kabel für die Dummy-Load
    &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;Um das ganze etwas schöner zu gestalten habe ich mich dazu entschieden, eine 3.5mm Audio Klinke in diesem Loch zu verbauen.
Dieses Format ist günstig, leicht zu bekommen und passte einwandfrei in die vorhandene Bohrung.&lt;/p&gt;

&lt;figure&gt;
    &lt;img src=&quot;/assets/img/2021/avr_mit_anschluss.jpg&quot; /&gt;
    &lt;figcaption&gt;
        Die fertig verbaute 3.5mm Klinke
    &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;An dieser Stell sei noch warnend erwähnt, dass insbesondere bei so einem teuren Gerät lieber 10-mal mehr als eigentlich nötig
gemessen werden sollte anstatt es nicht zu tun und deshalb entweder das Gerät, das Haus oder gar sich selbst zu zerstören.
Auch sollte auf die ausreichende Dimensionierung der genutzten Komponenten geachtet werden.&lt;/p&gt;

&lt;p&gt;Alles an diesem Build ist Overkill.&lt;br /&gt;
Sowohl der Querschnitt der Zuleitung zur Load als auch die Load selbst mit 3x 10W Widerstand und einem 65W+ CPU Kühler.
Gerade deshalb kann ich mir jedoch sehr sicher sein, dass es sich nicht spontan dazu entscheiden wird, in Flammen aufzugehen,
und dadurch meine Wohnung und ggf. auch meine Existenz zu löschen.&lt;/p&gt;

&lt;h2 id=&quot;fazit&quot;&gt;Fazit&lt;/h2&gt;

&lt;p&gt;Die gezeigte Lösung ist selbstverständlich nicht die einzige Möglichkeit um dieses Problem zu umgehen.
Sofern die Front des AVRs nicht sichtbar ist, könnte man sicherlich auch den USB-Port dafür nutzen und sich das Aufschrauben sparen.&lt;/p&gt;

&lt;p&gt;In meinem Setup musste es jedoch von vorne schön aussehen.&lt;br /&gt;
Ich bin der Ansicht, dass die gewählte Lösung tatsächlich sehr sauber geworden ist.&lt;/p&gt;

&lt;p&gt;Noch schöner wäre es natürlich, wenn man den Burst-Mode einfach in Software deaktivieren könnte.
Es ist jedoch nicht davon auszugehen, dass das jemals geschehen wird.&lt;/p&gt;</content><author><name>Hypfer</name></author><category term="posts" /><summary type="html">RX-A1050 mit Squeezebox und Canton CT 800</summary></entry><entry><title type="html">Blog Relaunch</title><link href="https://blog.hypfer.de/2021/07/11/blog-relaunch.html" rel="alternate" type="text/html" title="Blog Relaunch" /><published>2021-07-11T00:00:00+00:00</published><updated>2021-07-11T00:00:00+00:00</updated><id>https://blog.hypfer.de/2021/07/11/blog-relaunch</id><content type="html" xml:base="https://blog.hypfer.de/2021/07/11/blog-relaunch.html">&lt;p&gt;Nachdem ich über Jahre in konstanter Angst davor lebte, dass irgendjemand über Wordpress in mein Netzwerk eindringt,
bin ich nun zu Jekyll auf Github Pages migriert und habe in dem Zuge auch direkt ausgemistet.&lt;/p&gt;

&lt;p&gt;Statische Webseiten brauchen schließlich weder Aufmerksamkeit noch Security Patches.&lt;/p&gt;

&lt;p&gt;Theme, Struktur usw ist größtenteils copy-paste von &lt;a href=&quot;https://github.com/dzhavat/dzhavat.github.io&quot;&gt;https://github.com/dzhavat/dzhavat.github.io&lt;/a&gt;&lt;/p&gt;</content><author><name>Hypfer</name></author><category term="posts" /><summary type="html">Nachdem ich über Jahre in konstanter Angst davor lebte, dass irgendjemand über Wordpress in mein Netzwerk eindringt, bin ich nun zu Jekyll auf Github Pages migriert und habe in dem Zuge auch direkt ausgemistet.</summary></entry><entry><title type="html">Was kann der Bachmann USB Charger?</title><link href="https://blog.hypfer.de/2020/12/14/was-kann-der-bachmann-usb-charger.html" rel="alternate" type="text/html" title="Was kann der Bachmann USB Charger?" /><published>2020-12-14T18:17:00+00:00</published><updated>2020-12-14T18:17:00+00:00</updated><id>https://blog.hypfer.de/2020/12/14/was-kann-der-bachmann-usb-charger</id><content type="html" xml:base="https://blog.hypfer.de/2020/12/14/was-kann-der-bachmann-usb-charger.html">&lt;p&gt;Dieser Blogeintrag ist hauptsächlich dafür gedacht, bei Google gefunden zu werden.&lt;br /&gt;&lt;br /&gt;Ich habe mir eine Bachmann Desk 2 Steckerleiste(?) zur Montage am Schreibtisch gekauft. Dort fest verbaut ist ein Modul mit zwei USB A Buchsen.&lt;br /&gt;&lt;br /&gt;Das gleiche Modul gibt es auch zum Nachrüsten mit der Artikelnummer &lt;strong&gt;917.224&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Die brennende Frage bei eigentlichen allen USB Buchsen zum Laden von Endgeräten ist: Welche proprietären Schnellladeprotokolle kann es.&lt;/p&gt;

&lt;p&gt;Hier nun die Antwort:&lt;/p&gt;

&lt;figure&gt;&lt;img src=&quot;/assets/img/2020/bachmann_charger.png&quot; /&gt;&lt;/figure&gt;

&lt;p&gt;Apple. Sonst nichts&lt;/p&gt;

&lt;p&gt;Leider kein Quick Charge. Das hätte ich eigentlich bei einem &amp;gt; 30€ Produkt erwartet. Immerhin liefert es in der Tat bis 2.4A bei 5V&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;Laut Bachmann Webseite soll zumindest das Kombimodul &lt;strong&gt;917.227&lt;/strong&gt; aus 1x USB A und 1x USB C USB-PD und QC können.&lt;/p&gt;</content><author><name>Hypfer</name></author><category term="posts" /><summary type="html">Dieser Blogeintrag ist hauptsächlich dafür gedacht, bei Google gefunden zu werden.Ich habe mir eine Bachmann Desk 2 Steckerleiste(?) zur Montage am Schreibtisch gekauft. Dort fest verbaut ist ein Modul mit zwei USB A Buchsen.Das gleiche Modul gibt es auch zum Nachrüsten mit der Artikelnummer 917.224</summary></entry><entry><title type="html">Philips Hue: Alternative Netzteile ohne Fiepen und Garantieverlust</title><link href="https://blog.hypfer.de/2019/01/30/philips-hue-alternative-netzteile-ohne-fiepen-und-garantieverlust.html" rel="alternate" type="text/html" title="Philips Hue: Alternative Netzteile ohne Fiepen und Garantieverlust" /><published>2019-01-30T17:33:00+00:00</published><updated>2019-01-30T17:33:00+00:00</updated><id>https://blog.hypfer.de/2019/01/30/philips-hue-alternative-netzteile-ohne-fiepen-und-garantieverlust</id><content type="html" xml:base="https://blog.hypfer.de/2019/01/30/philips-hue-alternative-netzteile-ohne-fiepen-und-garantieverlust.html">&lt;p&gt;Nicht-Retrofit Hue Leuchten haben leider alle eine gemeinsame Krankheit: Sie fiepen.&lt;br /&gt;&lt;br /&gt;Warum? Weil das Netzteil völliger Müll ist. Philips tauscht zwar aus, aber die Austauschnetzteile sind ebenfalls Müll. Alle Originalnetzteile von Philips fiepen. Manche mehr, manche weniger. Jedoch niemals nie.&lt;br /&gt;&lt;br /&gt;Da die Zielgruppe das zwar doof findet, sich aber dennoch damit abspeisen lässt, war es betriebswirtschaftlich auf jeden Fall die richtige Entscheidung bei einem 170€ Produkt die paar Cent beim Netzteil einzusparen.&lt;br /&gt;&lt;br /&gt;Ich weigere mich jedoch sowas einfach zu akzeptieren und habe daher eine andere Lösung gefunden, die sowohl das Problem löst, als auch die Garantie behält.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Update:&lt;/strong&gt;&lt;br /&gt;Mittlerweile existiert eine weitaus schönere Lösung mittels eines custom Adapter PCBs.&lt;br /&gt;Zu finden ist sie hier: &lt;a rel=&quot;noreferrer noopener&quot; href=&quot;https://github.com/Hypfer/huesful-power-adaptor&quot; target=&quot;_blank&quot;&gt;https://github.com/Hypfer/huesful-power-adaptor&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Der Hersteller war besonders clever. Er hat nicht nur (statt der sonst üblichen 5.5x2.5mm) eine 6.5x3mm Buchse verbaut, nein, er hat sogar das Gender der Anschlüsse getauscht.&lt;br /&gt;Sprich an der Lampe ist ein Kabel mit einem Stecker, welches in das Netzteil mit Buchse führt.&lt;br /&gt;&lt;br /&gt;Damit haben sie natürlich alle Käufer ausgetrickst, denn selbst wenn er einen Adapter für dieses exotische Format finden sollte ist dieser nur von Male 5.5x2.1mm auf 6.5x3mm und nicht umgekehrt.&lt;br /&gt;&lt;br /&gt;Ich hätte wirklich kein Problem mit dieser Kundenbindung, wenn sie denn immerhin anständige Netzteile verkaufen würden. Tun sie aber nicht. Fiepen ist - egal wie viel Geld man auf das Problem wirft - alternativlos.&lt;/p&gt;

&lt;p&gt;Einzige Bezugsquelle für passende Buchsen mit diesem exotischen Format sind Mouser oder DigiKey. Beide mit $22 shipping für Bestellungen unter $50 Warenwert. Das ist natürlich keine Option.&lt;/p&gt;

&lt;p&gt;Einige Nutzer haben dann einfach die Schere in die Hand genommen und den Stecker abgeschnitten. Die freien Kabelenden kann man dann in ein normales 24v Netzteil einklemmen.&lt;br /&gt;Funktioniert zwar, die Garantie ist jedoch weg. Also ebenfalls keine Option für ein brandneues 170€ Produkt.&lt;/p&gt;

&lt;p&gt;Sehr wohl eine Option ist hingegen ein &lt;a href=&quot;https://www.amazon.de/gp/product/B07G29BJJ8/&quot;&gt;5.5x2.5mm Female to Female 50cm Kabel für 3.99€ von Amazon&lt;/a&gt;.&lt;/p&gt;

&lt;figure&gt;&lt;img src=&quot;/assets/img/2019/kabel1.png&quot; /&gt;&lt;figcaption&gt;Dieses hier z.B.&lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;Wie bekommt man jetzt 5.5mm auf 6mm?&lt;br /&gt;&lt;br /&gt;Richtig.&lt;br /&gt;Gewaltsam!&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/img/2019/gewalt.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Der ganze Eingriff ist eigentlich recht simpel:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Isolierung entfernen &lt;/li&gt;&lt;li&gt;Viermal gegenüberliegend 3mm tief in den Metallmantel einschneiden &lt;/li&gt;&lt;li&gt;Das Originalkabel hineindrücken &lt;/li&gt;&lt;/ul&gt;

&lt;figure&gt;&lt;img src=&quot;/assets/img/2019/kabel2.png&quot; /&gt;&lt;figcaption&gt;Die Isolierung&lt;/figcaption&gt;&lt;/figure&gt;

&lt;figure&gt;&lt;img src=&quot;/assets/img/2019/kabel3.png&quot; /&gt;&lt;figcaption&gt;Keine Isolierung + erste Schnitte&lt;/figcaption&gt;&lt;/figure&gt;

&lt;figure&gt;&lt;img src=&quot;/assets/img/2019/kabel4.png&quot; /&gt;&lt;figcaption&gt;Der präparierte Stecker nach Kontakt mit dem Originalkabel&lt;/figcaption&gt;&lt;/figure&gt;

&lt;figure&gt;&lt;img src=&quot;/assets/img/2019/kabel5.png&quot; /&gt;&lt;figcaption&gt;Das Endergebnis&lt;br /&gt;&lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;Dazu nun noch Schrumpfschlauch über die Kontaktstelle und schon kann man ein nicht fiependes 24V 1A Netzteil anschließen. &lt;a href=&quot;https://www.amazon.de/gp/product/B01GRYFCKK/&quot;&gt;Dieses z.B.&lt;/a&gt;&lt;/p&gt;

&lt;figure&gt;&lt;img src=&quot;/assets/img/2019/kabel6.png&quot; /&gt;&lt;figcaption&gt;Und so ist es VDE-konform. Ganz bestimmt sogar.&lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;Sofern es Probleme mit der Lampe geben sollte, löst man einfach den Schrumpfschlauch, entfernt das Adapterkabel und ab damit zum Hersteller. &lt;/p&gt;</content><author><name>Hypfer</name></author><category term="posts" /><summary type="html">Nicht-Retrofit Hue Leuchten haben leider alle eine gemeinsame Krankheit: Sie fiepen.Warum? Weil das Netzteil völliger Müll ist. Philips tauscht zwar aus, aber die Austauschnetzteile sind ebenfalls Müll. Alle Originalnetzteile von Philips fiepen. Manche mehr, manche weniger. Jedoch niemals nie.Da die Zielgruppe das zwar doof findet, sich aber dennoch damit abspeisen lässt, war es betriebswirtschaftlich auf jeden Fall die richtige Entscheidung bei einem 170€ Produkt die paar Cent beim Netzteil einzusparen.Ich weigere mich jedoch sowas einfach zu akzeptieren und habe daher eine andere Lösung gefunden, die sowohl das Problem löst, als auch die Garantie behält.Update:Mittlerweile existiert eine weitaus schönere Lösung mittels eines custom Adapter PCBs.Zu finden ist sie hier: https://github.com/Hypfer/huesful-power-adaptor</summary></entry><entry><title type="html">Home Assistant: net rpc shutdown in Docker</title><link href="https://blog.hypfer.de/2019/01/06/home-assistant-net-rpc-shutdown-in-docker.html" rel="alternate" type="text/html" title="Home Assistant: net rpc shutdown in Docker" /><published>2019-01-06T15:44:00+00:00</published><updated>2019-01-06T15:44:00+00:00</updated><id>https://blog.hypfer.de/2019/01/06/home-assistant-net-rpc-shutdown-in-docker</id><content type="html" xml:base="https://blog.hypfer.de/2019/01/06/home-assistant-net-rpc-shutdown-in-docker.html">&lt;p&gt;Die WoL Component von Home Assistant wäre nicht vollständig, wenn sie nicht auch dazu taugen würde den Rechner wieder auszuschalten.&lt;br /&gt;&lt;br /&gt;Für einen Windows host geht dies über das Netzwerk mittels &lt;code&gt;net rpc shutdown&lt;/code&gt;. Diese Binary ist Teil von samba-common-bin.&lt;br /&gt;samba-common-bin ist jedoch nicht Teil des offiziellen Docker-Images von Home assistant :-/&lt;br /&gt;&lt;br /&gt;Wie also das Problem lösen?&lt;/p&gt;

&lt;p&gt;Was ist die einfachste Möglichkeit eine Binary ohne weitere Abhängigkeiten zu bekommen? Richtig. Statisch kompilieren.&lt;br /&gt;&lt;br /&gt;Mehr als 2h später hatte ich dann auch eine pseudo-statische &lt;code&gt;net&lt;/code&gt; binary, welche ich innerhalb des Docker Images mittels mount verfügbar machen konnte.&lt;br /&gt;Shutdown funktioniert. Alles super. Schlafen.&lt;/p&gt;

&lt;p&gt;Am nächsten Morgen fiel mir dann auf, dass ich ja Docker nutze und das ganze doch eigentlich viel einfacher gehen müsste.&lt;br /&gt;&lt;br /&gt;Und in der Tat:&lt;br /&gt;Jo, geht viel einfacher.&lt;/p&gt;

&lt;!-- wp:quote --&gt;
&lt;blockquote class=&quot;wp-block-quote&quot;&gt;&lt;p&gt;FROM homeassistant/home-assistant:latest&lt;br /&gt;RUN apt-get update &amp;amp;&amp;amp; apt-get install -y samba-common-bin&lt;/p&gt;&lt;cite&gt;custom_homeassistant.dockerfile&lt;/cite&gt;&lt;/blockquote&gt;
&lt;!-- /wp:quote --&gt;

&lt;p&gt;Die &lt;code&gt;CMD&lt;/code&gt; Direktive (welche Home assistant startet), sowie auch alle weiteren &lt;code&gt;RUN&lt;/code&gt; Kommandos werden natürlich vom offiziellen Image vererbt.&lt;br /&gt;&lt;br /&gt;Hätte mir doch nur jemand früher gesagt, dass ich Docker nutze.&lt;/p&gt;

&lt;!-- wp:quote --&gt;
&lt;blockquote class=&quot;wp-block-quote&quot;&gt;&lt;p&gt;version: '2'&lt;br /&gt; services:&lt;br /&gt;     homeassistant:&lt;br /&gt;         build:&lt;br /&gt;           context: .&lt;br /&gt;           dockerfile: custom_homeassistant.dockerfile&lt;/p&gt;&lt;cite&gt;Bonus: docker_compose.yaml&lt;/cite&gt;&lt;/blockquote&gt;
&lt;!-- /wp:quote --&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><author><name>Hypfer</name></author><category term="posts" /><summary type="html">Die WoL Component von Home Assistant wäre nicht vollständig, wenn sie nicht auch dazu taugen würde den Rechner wieder auszuschalten.Für einen Windows host geht dies über das Netzwerk mittels net rpc shutdown. Diese Binary ist Teil von samba-common-bin.samba-common-bin ist jedoch nicht Teil des offiziellen Docker-Images von Home assistant :-/Wie also das Problem lösen?</summary></entry><entry><title type="html">Wie man einen Nello One nicht von der Cloud befreit</title><link href="https://blog.hypfer.de/2018/12/04/wie-man-ein-nello-one-nicht-von-der-cloud-befreit.html" rel="alternate" type="text/html" title="Wie man einen Nello One nicht von der Cloud befreit" /><published>2018-12-04T17:07:00+00:00</published><updated>2018-12-04T17:07:00+00:00</updated><id>https://blog.hypfer.de/2018/12/04/wie-man-ein-nello-one-nicht-von-der-cloud-befreit</id><content type="html" xml:base="https://blog.hypfer.de/2018/12/04/wie-man-ein-nello-one-nicht-von-der-cloud-befreit.html">&lt;p&gt;Beim Nello One handelt es sich um ein Ding, welches es ermöglichen soll die Haustür in einem Mehrfamilienhaus &quot;smart&quot; zu machen.&lt;br /&gt;Mittels einer Handyapp gibt es Informationen darüber wann geklingelt wird, sowie die Möglichkeit die Tür remote zu öffnen.&lt;br /&gt;&lt;br /&gt;Dazu bietet Nello noch einige Kooperationen mit Lieferdiensten und Paketdienstleistern um Lieferungen zu ermöglichen, obwohl niemand zuhause ist.&lt;/p&gt;

&lt;p&gt;Nette Sache. Wo ist der Haken?&lt;br /&gt;Die Cloud.&amp;nbsp;☁&lt;br /&gt;Das Ganze gibt es natürlich nur mit einem Account beim Hersteller. Eine Offlinenutzung ist nicht vorgesehen.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Disclaimer:&lt;br /&gt;&lt;/strong&gt;Dieser Artikel liegt schon etwas länger hier rum. Es kann also sein, dass die Informationen nicht mehr korrekt sind.&lt;/p&gt;

&lt;p&gt;Okay, es handelt sich um ein kleines Start-up. Die Zielgruppe des Produkts ist ohnehin beschränkt. Da jetzt auch noch die Möglichkeit der Offline-Nutzung einzubauen würde Resourcen benötigen die schlicht und ergreifend nicht vorhanden sind.&lt;br /&gt;Dazu sind die Nutzerdaten dieser Zielgruppe natürlich noch verdammt geil denn Zeug auf dem &quot;Smart&quot; steht verkauft sich wie geschnitten Brot. Da kann man gar nicht genug Datensätze zu haben.&lt;/p&gt;

&lt;!-- wp:heading --&gt;
&lt;h2&gt;Die Analyse&lt;/h2&gt;
&lt;!-- /wp:heading --&gt;

&lt;p&gt;Gut, dacht ich mir, bevor du das Ding orderst schaust du mal wie weit du kommst. Zunächst ein Blick in die AGB. Reverse Engineering wird dort nicht ausgeschlossen. 👍&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://www.charlesproxy.com/&quot;&gt;Charles Proxy&lt;/a&gt; gestartet, die App des Herstellers auf einem Android Handy mit Android 5 installiert und dann einfach mal mit der Konfiguration angefangen und das ganze mitgesnifft.&lt;br /&gt;&lt;br /&gt;Warum Android 5? Seit Android 6 oder 7 muss man die APK von Hand bearbeiten (oder &lt;a href=&quot;https://github.com/levyitay/AddSecurityExceptionAndroid&quot;&gt;dieses Skript&lt;/a&gt; nutzen) wenn man möchte, dass sie ein falsches CA Zertifikat akzeptiert.&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;Aus dem mitgesnifften Traffic dann eben mit Node/Express einen Mock Server mit HTTPS erstellt, fake CA Cert auf dem Handy installiert und schon war die echte App nutzbar um dem Nello One auch ohne Anlage eines Cloud-Accounts die W-Lan Zugangsdaten mitzuteilen.&lt;br /&gt;&lt;br /&gt;An diesem Punkt habe ich dann, in Erwartung, dass es so leicht bleiben würde, eines dieser Geräte geordert.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Was habe ich bisher herausgefunden?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Das Backend hört auf &lt;em&gt;api.nello.io&lt;/em&gt; und&amp;nbsp;&lt;em&gt;live-mqtt.nello.io&lt;/em&gt;. Dazu gibts noch eine mqtt Testumgebung unter &lt;em&gt;mqtt.nello.io&lt;/em&gt;&lt;/li&gt;&lt;li&gt;Die Api ist ein REST irgendwas auf Basis von Python/Flask hinter einem NGINX auf Ubuntu VMs bei AWS EC2.&amp;nbsp;&amp;nbsp;&lt;em&gt;AWS hat eigentlich auch selbst Loadbalancer. Warum der NGINX?&lt;/em&gt;&lt;/li&gt;&lt;li&gt;Die Kommunikation des Nello One mit dem Server des Herstellers erfolgt mittels MQTT ohne SSL auf dem default port 1883&lt;/li&gt;&lt;/ul&gt;

&lt;!-- wp:heading --&gt;
&lt;h2&gt;Das Backend&lt;/h2&gt;
&lt;!-- /wp:heading --&gt;

&lt;p&gt;Generell geben die Endpunkte von &lt;em&gt;api.nello.io&lt;/em&gt; anscheinend immer JSON zurück. Ich habe nur HTTP Statuscode 200 beobachten können.&lt;br /&gt;&lt;br /&gt;Innerhalb dieses JSON gibt es dann ein result object mit einer property namens &quot;status&quot;. Diese enthält bunt gemischt numerische HTTP Statuscodes wie z.B. 404 als &lt;em&gt;&lt;strong&gt;String&lt;/strong&gt;&lt;/em&gt; oder auch mal ganz andere Strings wie &quot;OK&quot;.&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;Für den Login gibt es den Endpunkt &lt;em&gt;/login&lt;/em&gt;. Gibt man dort inkorrekte Daten ein antwortet der Server wie folgt:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;{&lt;br /&gt;&amp;nbsp; &amp;nbsp; &quot;authentication&quot;: false,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &quot;result&quot;: {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;message&quot;: &quot;Username/Password problem.&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;status&quot;: &quot;OK&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Passt. Verrät einem Angreifer nicht was falsch war. So soll es sein...&lt;br /&gt;&lt;/p&gt;

&lt;!-- wp:heading {&quot;level&quot;:4} --&gt;
&lt;h4&gt;&lt;strong&gt;Sicherheitsbedenken&lt;/strong&gt;&lt;/h4&gt;
&lt;!-- /wp:heading --&gt;

&lt;p&gt;... wäre da nicht der &lt;em&gt;/check-email &lt;/em&gt;Endpunkt.&lt;br /&gt;&lt;br /&gt;Dieser existiert, um bei der Neuanlage eines Accounts zu prüfen, ob die Email bereits in der Datenbank existiert.&lt;br /&gt;Hier ein POST ohne Authentifizierung o.ä. aber dafür mit einer Email-Adresse an &lt;em&gt;/check-email&lt;/em&gt;:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;{&lt;br /&gt;&amp;nbsp; &amp;nbsp; &quot;has_password&quot;: true,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &quot;password_reset&quot;: false,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &quot;result&quot;: {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;message&quot;: &quot;User already exists&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;status&quot;: &quot;200&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; },&lt;br /&gt;&amp;nbsp; &amp;nbsp; &quot;user_exists&quot;: true,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &quot;user_id&quot;: &quot;64750b31-9f15-4f6f-b712-5ce4598abe01&quot;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Oh ein Datenleck. Sogar noch mit user_id frei Haus dazu.&lt;br /&gt;&lt;/p&gt;

&lt;!-- wp:heading {&quot;level&quot;:4} --&gt;
&lt;h4&gt;Weitere Erkenntnisse&lt;/h4&gt;
&lt;!-- /wp:heading --&gt;

&lt;p&gt;Grundsätzlich existiert keine Validierung der Emailadresse innerhalb der App und wohl auch nicht Serverseitig. &lt;br /&gt;Die Anlage eines Accounts mit der Emailadresse &quot;foobar&quot; führte zu einem Fehler bei der Anlage und gleichzeitig zu einem halb angelegten Account für den ein Login möglich war.&lt;br /&gt;&lt;br /&gt;Emailadressen, die auf @example.com enden lassen einen immerhin im Dialog in der App weiter vorankommen.&lt;br /&gt;Dazu scheint es generell derzeit an einigen Stellen in der App kein Handling von Timeouts zu geben. Die stürzt dann gerne mal ab.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Soweit zu der ersten Analyse ohne Gerät.&lt;/p&gt;

&lt;!-- wp:heading --&gt;
&lt;h2&gt;Das Gerät&lt;/h2&gt;
&lt;!-- /wp:heading --&gt;

&lt;p&gt;Irgendwann kam der Nello One dann auch mit der Post. Ausgepackt, eingebaut, konfiguriert.&lt;br /&gt;&lt;strong&gt;Hier die Erkenntnisse in Kurzfassung:&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Jedes Nello One scheint eine eindeutige ID zu haben. Diese steht nicht auf der Verpackung und dient als infix der zugehörigen mqtt topics.&lt;/li&gt;&lt;li&gt;Bei der ersten Verbindung zum W-Lan subscribed das Gerät zu allerhand Topics:&amp;nbsp;/nello_one/FFFFFF/{test,BE_ACK,tw,geo,door,BEn}/&lt;/li&gt;&lt;li&gt;Danach publisht es eine Nachricht mit irgendwelchem Base64 und QoS 1 auf das Topic /nello_one/FFFFFF/map.&lt;/li&gt;&lt;li&gt;Daraufhin publisht das nello Backend eine Nachricht mit irgendwelchem anderen Base64, trailing newline und QoS 1 auf das Topic /nello_one/FFFFFF/test&lt;/li&gt;&lt;li&gt;Wenn dies korrekt war beginnt die LED des Nello One zu blinken.&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;Nun folgt der weitere Einrichtungsdialog, welchen ich jedoch nicht ohne Cloud replizieren konnte, da für das gleiche Kommando bei jeder Wiederholung eine andere Kontrollnachricht auf das topic /nello_one/FFFFFF/BEn gepublished wurde.&lt;/p&gt;

&lt;p&gt;Ich nehme an, dass bei der ersten Registrierung irgendetwas ausgetauscht wird um Replay-Angriffe zu verhindern. Der mqtt Server ist schließlich öffentlich und anscheinend kann dort jeder ohne Authentifizierung Nachrichten publishen.&lt;/p&gt;

&lt;!-- wp:heading --&gt;
&lt;h2&gt;Die Kapitulation&lt;/h2&gt;
&lt;!-- /wp:heading --&gt;

&lt;p&gt;An dieser Stelle verlor ich dann aber auch das Interesse. Der Aufwand stand für mich leider in keinem Verhältnis zum Nutzen 🙁&lt;br /&gt;&lt;br /&gt;Vielleicht hat ja jemand anderes Lust sich das näher anzusehen.&lt;/p&gt;

&lt;!-- wp:heading {&quot;level&quot;:4} --&gt;
&lt;h4&gt;Weitere Gedanken&lt;/h4&gt;
&lt;!-- /wp:heading --&gt;

&lt;p&gt;Während meiner Recherche habe ich noch &lt;a href=&quot;https://diliulyssis.blogspot.de/2016/11/porting-nordic-mqtt-client-to-ipv4.html&quot;&gt;diesen Blogartikel&lt;/a&gt; gefunden in dem ein ehemaliger Mitarbeiter des Unternehmens irgendwelche Details aus der Entwicklung festgehalten hat. Der Artikel lässt vermuten, dass es sich bei der Hardware um einen&amp;nbsp;&lt;em&gt;Nordic nrf52 MCU&lt;/em&gt; mit einem&lt;em&gt;&amp;nbsp;Atmel winc1500 W-Lan uC&lt;/em&gt; handelt.&lt;/p&gt;</content><author><name>Hypfer</name></author><category term="posts" /><summary type="html">Beim Nello One handelt es sich um ein Ding, welches es ermöglichen soll die Haustür in einem Mehrfamilienhaus &quot;smart&quot; zu machen.Mittels einer Handyapp gibt es Informationen darüber wann geklingelt wird, sowie die Möglichkeit die Tür remote zu öffnen.Dazu bietet Nello noch einige Kooperationen mit Lieferdiensten und Paketdienstleistern um Lieferungen zu ermöglichen, obwohl niemand zuhause ist.</summary></entry><entry><title type="html">Der legale Weg zum Forza Horizon 4 Soundtrack</title><link href="https://blog.hypfer.de/2018/12/04/der-legale-weg-zum-forza-horizon-4-soundtrack.html" rel="alternate" type="text/html" title="Der legale Weg zum Forza Horizon 4 Soundtrack" /><published>2018-12-04T16:27:00+00:00</published><updated>2018-12-04T16:27:00+00:00</updated><id>https://blog.hypfer.de/2018/12/04/der-legale-weg-zum-forza-horizon-4-soundtrack</id><content type="html" xml:base="https://blog.hypfer.de/2018/12/04/der-legale-weg-zum-forza-horizon-4-soundtrack.html">&lt;p&gt;&lt;del&gt;Ich spiele gerne Rennspiele und fahre daher folgerichtig auch gerne Auto.&lt;/del&gt;&lt;br /&gt;Ich fahre gerne Auto und spiele daher folgerichtig auch gerne Rennspiele. &lt;br /&gt;Insbesondere die mit offener Spielwelt in der man endlos untermalt vom Soundtrack umherfahren kann. Forza Horizon 4 ist da so ein Kandidat&lt;br /&gt;&lt;br /&gt;Diese meditative Erfahrung möchte ich natürlich auch in die reale Welt übertragen. Leider gibt es den FH4 Soundtrack nicht online fürs Auto zu kaufen.&lt;br /&gt;Ich besitze aber die Demo :^)&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;Im Spiel läuft ja die Musik, also muss sie auch irgendwo auf meinem Computer sein. Ist sie auch. Tief versteckt und geschützt in D:\WindowsApps&lt;br /&gt;&lt;br /&gt;Microsoft versucht mit UWP alles in seiner Macht stehende um die Assets der Spiele zu schützen. Weder als TrustedInstaller noch über ein Live Linux war es mir möglich Dateien aus diesem Ordner zu kopieren.&lt;br /&gt;Wie es das tut ist mir nicht ganz klar. Irgendwas mit Filesystem level encryption.&lt;br /&gt;&lt;br /&gt;Ich muss es aber auch gar nicht wissen. Jemand anders hat sich damit bereits befasst und eine Lösung gefunden:&amp;nbsp;&lt;a href=&quot;https://github.com/Wunkolo/UWPDumper&quot;&gt;https://github.com/Wunkolo/UWPDumper&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Anstatt die ACLs auszuhebeln injected man einfach eigenen Code in die Anwendung, die die Assets sowieso lesen darf: Die FH4 Demo selbst.&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;Der Dumper tut genau das was der Name vermuten lässt: Er dumpt alle Assets an einen Ort der für normale Nutzer lesbar ist.&lt;br /&gt;&lt;br /&gt;Für den Soundtrack relevant sind hierbei nur eine Handvoll Files:&lt;br /&gt;&lt;em&gt;R1_Tracks.bank&lt;/em&gt; bis &lt;em&gt;R6_Tracks.bank&lt;/em&gt; und &lt;em&gt;RadioInfo_DE.xml&lt;/em&gt; für die Metainformationen.&lt;/p&gt;

&lt;p&gt;In diesen Dateien mit &lt;em&gt;.bank&lt;/em&gt; Dateiendung befinden sich sich Soundbanks im&amp;nbsp;&lt;em&gt;FMOD Sample Bank&lt;/em&gt; Format. Scheint wohl so eine Middleware/Library von einem Drittanbieter zu sein damit nicht jeder Spielentwickler das Rad neu erfinden muss wenn es um Audio Assets geht.&lt;br /&gt;Durch diese große Verbreitung wurde das Format natürlich schon lange reversed und Tools zum entpacken sind frei verfügbar.&lt;/p&gt;

&lt;p&gt;Um die &lt;em&gt;fsb Soundbank&lt;/em&gt; entpacken zu können muss man zunächst aber mittels des folgenden QuickBMS Skripts aus der .bank-Datei bekommen:&lt;/p&gt;

&lt;!-- wp:quote --&gt;
&lt;blockquote class=&quot;wp-block-quote&quot;&gt;&lt;p&gt;for OFFSET = 0&lt;br /&gt;goto OFFSET&lt;br /&gt;findloc OFFSET string &quot;FSB5&quot;&lt;br /&gt;goto OFFSET&lt;br /&gt;getdstring FSB_SIGN 4 # FSOUND_FSB_HEADER_FSB5 (fsb.h)&lt;br /&gt;get version long&lt;br /&gt;get numsamples long&lt;br /&gt;get shdrsize long&lt;br /&gt;get namesize long&lt;br /&gt;get datasize long&lt;br /&gt;xmath SIZE &quot;0x3c + shdrsize + namesize + datasize&quot;&lt;br /&gt;log &quot;&quot; OFFSET SIZE&lt;br /&gt;next OFFSET + SIZE&lt;/p&gt;&lt;cite&gt;Woher das Skript kommt ist für mich leider nicht so recht nachvollziehbar.&lt;br /&gt;Vermutlich ein Werk des Autors von QuickBMS.&lt;/cite&gt;&lt;/blockquote&gt;
&lt;!-- /wp:quote --&gt;

&lt;p&gt;Bei &lt;a href=&quot;https://aluigi.altervista.org/quickbms.htm&quot;&gt;QuickBMS&lt;/a&gt; scheint es sich um eine Art Baukasten für diverse RE Aufgaben mit unbekannten Dateitypen zu handeln.&lt;br /&gt;Kann man mal im Hinterkopf behalten und beizeiten näher betrachten. Scheint sehr nützlich und vor allem mächtig zu sein.&lt;/p&gt;

&lt;p&gt;Mit den &lt;em&gt;fsb Soundbanks&lt;/em&gt; braucht es dann nur noch eine&amp;nbsp;&lt;em&gt;fsb_aud_extr.exe&lt;/em&gt;, welche unter diesem Namen durch das Internet geistert, um am Ende einen Ordner voller .wav Dateien zu haben. Die Musik selbst liegt innerhalb der fsb als Vorbis mit knapp über 100kbps. 320k ist für MP3s aus diesen WAV-Dateien also nicht sonderlich zielführend.&lt;/p&gt;

&lt;p&gt;Nun folgt viel Fleißarbeit in der die nicht weiter mit Metainformationen versehenen WAV-Dateien den richtigen Titelnamen aus der&amp;nbsp;&lt;br /&gt;&lt;em&gt;RadioInfo_DE.xml&lt;/em&gt; zugeordnet bekommen müssen.&lt;br /&gt;&lt;br /&gt;~3h später hat man dann sein Ziel erreicht und kann den FH4 Soundtrack auch im echten Auto hören. Das ganze funktioniert übrigens genau so auch mit FH3.&lt;/p&gt;</content><author><name>Hypfer</name></author><category term="posts" /><summary type="html">Ich spiele gerne Rennspiele und fahre daher folgerichtig auch gerne Auto.Ich fahre gerne Auto und spiele daher folgerichtig auch gerne Rennspiele. Insbesondere die mit offener Spielwelt in der man endlos untermalt vom Soundtrack umherfahren kann. Forza Horizon 4 ist da so ein KandidatDiese meditative Erfahrung möchte ich natürlich auch in die reale Welt übertragen. Leider gibt es den FH4 Soundtrack nicht online fürs Auto zu kaufen.Ich besitze aber die Demo :^)</summary></entry></feed>