PC Reperatur leichtgemacht mit Zalman ZM-VE300

Seit ein paar Jahren nutze ich schon die VE-300 mit unterschiedlichsten Festplatten oder SSD.
Was soll denn nun so besonders sein an einem 2,5″ HDD USB Case? Tatsächlich handelt es sich um ein Schweizer Taschenmesser der IT für schnelle Problemlösungen und kann außerdem auch noch ganz normal Daten speichern und transportieren. Um Rechner zu reparieren, braucht man entweder ein optisches Laufwerk oder das entsprechende Abbild als ISO, welches man dann auf einen geeigneten zu bootenden Datenträger kopiert. Im Normalfall wird das sicher ein passender USB Stick sein, da man keine Lust hat, von DVD oder CD zu installieren. Jedes System ein eigener Stick ist die einfachste Methode. Die Verbesserung ist da schon ein Multi Bootstick, wo ein paar mehr Systeme Platz finden. Leider ist die Aktualisierung der einzelnen Systeme ein echter Zeitfresser. Als Lösung ist da das HDD Case von Zalman mit inegrierten virtuellen CDRom. Es ist also möglich, ein sich auf der Platte befindliches ISO direkt, bootbar und in seiner Filestruktur zu propagieren. Der Rechner denkt, er würde auf eine physisches CD Rom zugreifen. Da das System bis zu 32 ISO Files ansprechen kann, die man über ein Drehrad auswählen kann, ist es eine Kleinigkeit, alle passenden ISOs dabei zu haben.
Gerade bei Reperaturen, wo Betriebssysteme Probleme beim Starten haben, oder HDDs von Ungeziefer wie Malware oder Viren betroffen sind, ist das Booten von einem Readonly Betriebssystem eine geniale Lösung um das Problem zu beseitigen.

Festplatte, CD – oder beides ist schnell über ein Drehregler an der Seite anwählbar. USB 3.0 ist auch ausreichend schnell, wenn es der Rechner unterstützt. Leider ist das Case nicht mehr so einfach zu bekommen, da es schon ein paar Jahre auf dem Buckel hat. Ein Nachfolger ist, zumindest in der Produktbezeichnung, verfügbar. Alternativ ist das gleiche Gerät unter der Bezeichnung iODD 2531 zu finden. Etwas frickelig ist der JogDial bei der Auswahl der ISOS, aber man gewöhnt sich daran.



Mac Book Air 2011 a1370 SSD aktualisieren

Auch nach Jahren der intensiven Nutzung wurde es Zeit, einige Komponenten auf den aktuellen Stand zu bringen. Als erstes sollte es ein neuer Akku sein, da nach 8 Jahren die Leistung weit unter 70% gefallen ist und ein komplettes Aufladen kaum mehr möglich war.
Generell sind alle Arbeiten durch einen Laien leicht selbst zu erledigen, da zu dieser Zeit noch nicht so inflationär mit Kleber gearbeitet wurde.

1.) Der Akku
Im Prinzip sind es nur ein paar Schrauben für den Deckel und den Akku,also nichts spannendes. Erklärt wird es aber besser hier https://de.ifixit.com/Anleitung/MacBook+Air+11-Inch+Mid+2011+Akku+Austausch/6306
Ein passender Akku wäre https://amzn.to/2TjdBmz dieser. Vorteil: Es ist gleich das Werkzeug dabei, welches man auch gut für den SSD-Umbau nutzen könnte.

2.) SSD
Bei der SSD ist im Normalfall eine Samsung 128GB mSATA OEM Internal SSD MZ-CPA1280/0A1 verbaut.

Das Problem dabei ist, dass Apple einen eigenen Anschluss verwendet hat, sodass man keine SSD von der “Stange” einbauen kann. Dafür gibt es aber auch eine Lösung mittels Adapter. Wenn man ein paar Wochen warten kann, gibt es einen Passenden auch aus China.
Danach passt dann auch beispielsweise eine 500GB SSD von Crucial. Es gehen aber natürlich auch alternative Modelle, wenn diese den richtigen Anschluss (Bauform) haben und das richtige Protokoll sprechen. M.2, früher als Next Generation Form Factor (NGFF) bezeichnet, ist ein Anschluss, der aber unbedingt Key ID B besitzen muss. Nativ wird man das kaum bekommen, aber es geht natürlich auch KEY ID B+K, als Kombination. Als Protokoll wird SATA vorausgesetzt . Also auf keinen Fall einen Anschluss mSATA kaufen, das ist die kleine Variante von SATA Anschlüssen, die hier nichts zu suchen hat.


Geschwindigkeit:
Da wird mit dieser Kombination nicht viel mehr zu machen sein, aber es geht um den Speicherplatz. Getestet wurde mit hdparm wie hier beschrieben.

ssd tasuch
SSD Tausch Mac BOOk Air

Vergleich

 SSD MZ-CPA1280/0A1 

Crucial MX500 CT500MX500SSD4

Mit Cache
hdparm -tT /dev/sda

cached reads:= 4191 MB/sec
buffered reads:= 299 MB/sec

cached reads:= 4681 MB/sec
buffered reads:= 246 MB/sec

Ohne Cache
hdparm -tT –direct /dev/sda

cached reads:= 257 MB/sec
disc reads:= 261 MB/sec

cached reads:= 227 MB/sec
buffered reads:= 236 MB/sec

Ohne Cache
dd if=tempfile of=/dev/null bs=1M count=1024

239 MB/s

201 MB/s

dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync,notrunc

265 MB/s

226 MB/s

voller Puffer
dd if=tempfile of=/dev/null bs=1M count=1024

4,7 GB/s

4,9 GB/s

3.) Blickschutz
Gerade für die physische Sicherheit und den Datenschutz kann ich eine der besten Blickschutzfolien empfehlen. 3M GPFMA11 Blickschutzfilter Gold für Apple MacBook Air 29,6 cm (entspricht 11″) . Bisher hatte ich ein Modell aus China für ein Drittel des Geldes. Leider war diese kaum zu gebrauchen. Zum Testen hab ich die 3M mal geordert und bin absolut überrascht, wie groß der Unterschied sein kann. Beim normalen Arbeiten ist ein Unterschied zu “ohne” nicht zu merken. Für den Sitznachbar im Zug ist hingegen nichts mehr zu sehen. Keine Chance mehr für neugierige Mitreisende.

AVRISP MKII AVRDUDE unter Linux

      Keine Kommentare zu AVRISP MKII AVRDUDE unter Linux

Gerade unter Linux sind noch einige Dinge zu konfigurieren, bevor der AVRISP MKII auch gut  läuft. Da AVRDUDE fast von jeder IDE wie z.b. von platform.io genutzt wird, ist dies auch für andere Entwicklungsumgebungen hilfreich.

Als erstes wird eine Datei erstellt  /etc/udev/avrisp.rules

mit dem Inhalt
SUBSYSTEM!="usb", ACTION!="add", GOTO="avrisp_end"
# Atmel Corp. JTAG ICE mkII
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2103", MODE="660", GROUP="dialout"
# Atmel Corp. AVRISP mkII
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2104", MODE="660", GROUP="dialout"
# Atmel Corp. Dragon
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2107", MODE="660", GROUP="dialout"
LABEL="avrisp_end"

Nun wird noch ein symlink angelegt
cd /etc/udev/rules.d
sudo ln ../avrisp.rules 60-avrisp.rules

..noch prüfen, ob man auch in der dialout Gruppe ist.
groups

udev neu starten…
sudo service udev restart

USB Device einmal reconnecten und dann sollte alles funktionieren.

rdesktop Problem von Ubuntu auf Windows

      Keine Kommentare zu rdesktop Problem von Ubuntu auf Windows

Möchte man mit rdesktop auf einen Windows 10 Client zugreifen, wird man ganz gerne mit einer Fehlermeldung  “ERROR: CredSSP: Initialize failed, do you have correct kerberos tgt initialized ?” abgewiesen. Entweder man schaltet auf Serverseite (Windows) die “Authentifizierung auf Netzwerkebene” aus oder man passt sich mit anderen rdp-client an die neue sichere Welt an. Remmina: The GTK+ Remote Desktop Client wäre ein Alternative, aber mit Boardmitteln geht es natürlich auch.
sudo apt-get install freerdp2-x11
Gestartet wird dann mit einem validen Benutzer
xfreerdp /u:"username" /v:192.168.100.100:3389.

Zugriff auf USB-Geräte unter Ubuntu

      Keine Kommentare zu Zugriff auf USB-Geräte unter Ubuntu

Auch heute gibt es wieder einen kleinen Tipp für eine Situation, die sich nach einer Neuinstallation immer wieder ereignet. Per Default hat man als Nutzer keinen Zugriff auf bestimmte USB-Geräte. Dies wird dann gerne mit der Fehlermeldung : [Errno 13] Permission denied: angezeigt.
Die mögliche Lösung wäre, dass man sich selbst in die Gruppe dialout aufnimmt.

sudo usermod -a -G dialout $USER

 

Neues Jahr, neuer Müllkalender, *.ics Export am Beispiel von abfallplus

Jedes Jahr kurz vor Weihnachten beginnt die Suche nach einer *.ics Datei mit den Leerungen der Abfallwirtschaft, um die Termine in diverse Kalender oder digitale Assistenten zu importieren.
Seit diesem Jahr gibt es aber auf der Webseite des regionalen Anbieters nur noch einen schicken Kalender als PDF. Was soll man damit machen? Ausdrucken? Weiterhin bietet man mir an eine APP zum Installieren, um mit direktem Zugriff popup-Nachrichten aufs Gerät zu pushen. Auch nicht die Lösung! Wer will schon eine APP für ein paar Termine? Welchen Mehrwert soll diese App dem Nutzer geben? Viele regionale Betriebe nutzen den Service von abfallplus, deren Widget in die eigenen Webseiten eingebaut werden kann. Leider hat man wohl das Feature “export” als csv und ics vergessen zu aktivieren, obwohl es der Anbieter in seinem Portfolio anbietet. Sehr schade. Eine Anfrage per Mail wurde nicht beantwortet.

Glücklicherweise ist dies nur ausgeblendet und nicht ausgebaut. Am Beispiel von Chrome werde ich die generelle Vorgehensweise erklären, wie der Export dennoch funktioniert.

1.) Webseite des örtlichen Betriebes öffnen (muss abfallplus nutzen)

Dort kann man für sich die persönlichen Einstellungen tätigen, um sich ein schönes pdf zu generieren.

2.) Bevor man nun aber “Datei exportieren” drückt, öffnet man im Chrome mit F12 den Entwicklermodus und sucht mit STRG+F nach “_pdf” in den Elementen.


Nun findet man genau die Stelle und ändert mit einem Rechtsklick -> edit attribute

{'action':'https://api.abfallplus.de/?key=8b676a84.......&amp;modus=d6c5855a62cf........&amp;waction=export_pdf','target':''}" selected="">PDF</option>

Ersetzt man nun das export_pdf durch export_csv oder export_ics
und drückt dann auf “Datei export” auf der linken Seite des Browsers, wird einem die passende Datei zum Download angeboten.

Abfallkalender im ioBroker

      4 Kommentare zu Abfallkalender im ioBroker
Mein Ziel war es, im ioBroker VIS einen Auszug aus dem Abfallkalender darzustellen, der mit Symbolen die nächsten vier Termine anzeigt. Ich realisiere das, indem ein Skript die Termine aus einer ical-Instanz liest und dann zusammen mit den Symbolen im VIS dargstellt.

Voraussetzungen

  • Eine eigene “ical”-Instanz für den Abfallkalender
  • Abfallsymbole
  • einen Google-Kalender für die Abfalltermine

Verbinden der ical-Instanz mit dem Google-Kalender

Zunächst erstellt ihr euch einen Google-Kalender, der nur für die Abfalltermine verwendet wird. Im Idealfall stellt euer Abfallunternehmen eine ics-Datei bereit, die in den Kalender importiert wird. Wichtig! Bei mir funktioniert das nur korrekt, wenn die Termine “ganztags”-Termine sind. Die ical-Instanz benötigt einen URL auf den Kalender. Den bekommt man, wenn man in der Webansicht des Google-Kalenders auf die drei Punkte, dann Einstellungen und Freigabe klickt. Ziemlich weit unten findet sich dann der URL mit der Beschriftung Privatadresse im ical-Format. Diese Adresse wird für die ical-Instanz benötigt.

Adapterkonfiguration Haupteinstellungen

Konfiguration der Kalender-Adresse

  Unter dem Menüpunkt Ereignisse habe ich Vacation deaktiviert. Der Adapter wird nun neugestartet. In der Objekt-Ansicht von ioBroker kann nun geprüft werden, ob die Schritte erfolgreich waren. Dazu geht ihr mit der Maus über den Wert in der Zeile html und solltet dann im Popup schon ein paar Termine sehen.

ioBroker/Objekte/ical-Instanz

VIS vorbereiten

Damit VIS Bilder anzeigen kann, werden diese mit dem Dateimanager, der im VIS-Editor über Setup erreicht wird, hochgeladen. Ich habe denen folgende Namen gegeben
  • bt.png für Blaue Tonne
  • gt.png für Gelbe Tonne
  • st.png für Schwarze Tonne
Weitere Abfallereignisse sind für mich nicht relevant.

Die Bilder habe ich im Ordner /vis.0/main/bilder/abfall abgelegt.

Im VIS-Editor wird Anzeige des Abfall-Kalenders lediglich ein HTML-Widget angelegt, in die Eigenschaft HTML des Widgets schreiben wir {javascript.0.vis.Abfall}. Das ist ein Verweis auf einen State des Unterhalb des Objektes javascript.0. Dieser State muss zunächst angelegt werden. Dazu wird under ioBroker/Objekte die Zeile javascript.0 markiert, dann ganz oben auf das Plussymbol Ein Tochterobjekt… klicken.

Den State javascript.0.vis.Abfall als Zeichenkette hinzufügen

Zur Formatierung verwende ich etwas CSS, das im VIS-Editor in der CSS-Eigenschaft einfügt wird.
table.Abfall {
    color: white;
}

td.Abfallimage {
    background-color: gray;
    padding:5px;
}

td.AbfallText {
    text-align: center;
    padding: 5px 10px;
    color: lightblue;
}

Skriptdatei erstellen

Unter ioBroker/Skripte wird ein neues Skript erstellt. Als Typ ins Javascript zu wählen. Dort wird folgender Skripttext eingefügt.
on('ical.0.data.table', function(theObj) {
   var obj = theObj.state.val;
   MakeAbfallHTML(obj);
  
}); 

function MakeAbfallHTML(obj) {
    var html = "<table class=Abfall><tr>";
    
    for (i=0; i<4; i++) {
        if (obj[i]) {
            if (obj[i].event.indexOf("Gelber Sack") > -1) {
                html = html + "<td class=Abfallimage><img width=120 height=120 src=/vis.0/main/bilder/abfall/gt.png></td>";
            }
            
            if (obj[i].event.indexOf("Papier") > -1) {
                html = html + "<td class=Abfallimage><img width=120 height=120  src=/vis.0/main/bilder/abfall/bt.png></td>";
            }
            
            if (obj[i].event.indexOf("Haus") > -1) {
                html = html + "<td class=Abfallimage><img width=120 height=120  src=/vis.0/main/bilder/abfall/st.png></td>";
            }
        }
    }
    
    html = html + "</tr><tr>";
 
    for (i=0; i<4; i++) {
        if (obj[i]) {
            html = html + "<td class=AbfallText>"+obj[i].date+"</td>"   ;
        }
    }
   html = html + "</tr></table>";
   console.log(html);
   setState('javascript.0.vis.Abfall', html); 
}
Das Skript reagiert auf drei Ereignisse, bei denen im Text die Begriffe
  • Gelber Sack
  • Papier
  • Haus
vorkommen und ordnet diesen Ereignissen die jeweiligen Bilder zu. Vergleiche dazu im Skript die Zeilen 12, 16 und 20 (siehe Bild). Diese Begriffe müssen gegebenenfalls an die Texte die in eurem Abfallkalender stehen, angepasst werden. Ebenfalls könnte dies leicht zum Beispiel um Biotonne erweitert werden, wenn nach Zeile 22 folgender Code eingefügt wird und ein zusätzliches Bild bit.png hochgeladen wird.
if (obj[i].event.indexOf("Bio") > -1) {
                html = html + "<td class=Abfallimage><img width=120 height=120  src=/vis.0/main/bilder/abfall/bit.png></td>";
            }
     

mc versteckte dateien ausblenden

      Keine Kommentare zu mc versteckte dateien ausblenden

Es ist 2018 und ja ich nutze immer noch den midnight commander. Ab und zu finde ich auch noch eine Optimierung in der Funktionsweise des beliebten Zwei-Fenster-Dateimanagers.
Mit der Tastenkombination

Alt + .
kann man schnell zwischen “hidden” Files hin und her schalten. Die ist ab und zu sehr hilfreich, wenn man den Punkt nicht übers Menü aktivieren will.

Noch eine wichtige Tastenkombination ist das Beenden über eine ssh session.

ESC + 0

ermöglicht Euch ein schnelles Beenden ohne Zeitverlust.

 

Citrix Reciver Problem Ununtu – Verbindung mit 0.0.0.2 Desktop kann nicht hergestellt….

Wenn die Fehlermeldung

Verbindung mit 0.0.0.2 Desktop kann nicht hergestellt werden. Datei oder Verzeichnis nicht gefunden. Überprüfen Sie die Verbindungseinstellungen und versuchen Sie es erneut….

beim Login auf eine Citrix Instanz erscheint, ist dies nicht gerade hilfreich.
Der Hinweis auf ein Problem mit den SSL Zertifikaten hätte da einiges an Zeit gespart.

Eine Lösung wären die beiden Befehle im Terminal

sudo ln -s /usr/share/ca-certificates/mozilla/* /opt/Citrix/ICAClient/keystore/cacerts/

und dann

sudo c_rehash /opt/Citrix/ICAClient/keystore/cacerts/

Danach muss die ICA Datei noch einmal geladen werden, damit die Einstellungen aktiv werden.

Sonoff S26 WiFi Smart Plug mit alternativer Firmware flashen

Die Produktpalette von Sonoff wächst von Monat zu Monat. Das liegt sicher auch an dem Umstand, dass man die originale Firmware durch alternative ersetzen kann. Es spielt dabei keine Rolle, ob es Tasmota, ESPEasy oder irgend etwas anderes werden soll. In meinem Fall ist es espurna, da ich ich eine stabile Funktionalität der Firmware gewohnt bin und dies gerne beibehalten möchte.

Leider wurde auf der Platine des Sonoff S26 WiFi Smart Plug auf Pins zum Flashen verzichtet, sodass man sich etwas einfallen lassen muss, wenn man nicht unbedingt Kabel anlöten will.  Gelöst wurde das ganze mittels Adapter, der mit Federstiften Druck auf die Kontakte bringt und somit sicheren  Kontakt hergestellt.


Ein paar Anmerkungen zum Flashen:
Wie üblich nutze ich  VSC. Dabei braucht man nur “Open Folder” und das Verzeichnis, welches per “git clone” angelegt wurde, anzuwählen und in der platformio.ini das richtige device eintragen.


env_default = itead-s20

Nun wird der Adapter aufgesetzt, aber noch nicht mit USB verbunden. Wenn das geschehen ist muss der RESET Button am Gerät gehalten werden und dann erst mit 3,3 V über den USB-Seriell-Adapter versorgt werden. Damit befindet sich das Gerät im Bootmodus und kann neu bespielt werden. Hat dies bis dahin nicht geklappt, wird die blaue LED blinken. Somit ist zumindest Strom vorhanden, aber nicht im Bootmodus. Hier den Vorgang solange wiederholen, bis die blaue LED NICHT blinkt !
Erhält man nun beimFflashen diese oder eine ähnliche Fehlermeldung


Uploading .pioenvs/itead-s20/firmware.bin
warning: espcomm_sync failed
error: espcomm_open failed
error: espcomm_upload_mem failed
*** [upload] Error 255

könnte ein verdrehter TX, RX dies verursachen. Bitte TX-RX und RX-TX verbinden. Das unbedingt noch einmal prüfen. Stimmt alles, sollte der upload funktionieren.
Danach kann man alles wieder abklemmen und ins Gehäuse bauen.
Warnung !!! Niemals das Gerät bei geöffneten Gehäuse mit 230V versorgen !!! LEBENSGEFAHR !!!
Zum Flashen ist ausschließlich USB nötig!

Das STL des Adapters findet Ihr zum Nachdrucken auf Thikiverse.