Kategorien
Allgemein

Wir sind ab jetzt im FabLab

Der Chaostreff hat ein neues Zuhause gefunden. Ab jetzt treffen wir uns um 19 Uhr jeden Dienstag in ungeraden Kalenderwochen im Fablab Gunzenhausen – dort gibt es viele schöne Sachen zum zerforschen und der eine oder andere Computer steht auch rum.

Also schaut gerne mal rein!

Kategorien
Chaostreff

Advent, Advent

Persönliches Zusammenkommen zu einem „normalen“ Chaostreff ist aktuell immer noch nicht drin, aber wie schon im letzten Beitrag berichtet lassen wir uns davon nicht abhalten uns weiterhin regelmäßig zu treffen und zwar auf unserem Mumble Server (bei Interesse einfach mal auf unserer Mailingliste melden). Dort vertreiben wir uns die Zeit dann auch immer mal wieder mit ein paar Aufgaben auf TryHackMe.

Da gestern der Advent begonnen hat, hat damit bei TryHackMe auch das diesjährige Advent of Cyber begonnen und zusätzlich auch Advent of Code. Beides haben wir uns heute auf dem Chaostreff gemeinsam angesehen und die heutigen Aufgaben gelöst.

Bei Advent of Cyber läuft es im Prinzip genau so ab wie auch bei jedem anderen Raum auf TryHackMe, das Grundkonzept hatten wir ja bereits im letzten Beitrag kurz angerissen. Der Unterschied ist, dass es hier im Advent jeden Tag eine neue Aufgabe (jeweils mit ein paar Unteraufgaben) gibt.

Bei Advent of Code bekommt man täglich zwei kleine (Programmier-)Aufgaben, die man mit einem kleinen Skript o.ä. in der Programmiersprache seiner Wahl lösen kann. Dazu gibt es eine Beispiel-Eingabe anhand derer die Aufgabenstellung erklärt wird. Für die Lösung des Problems bekommt dann aber jeder eine einzigartige (also für jeden unterschiedliche) Eingabe-Liste, man kann also nicht einfach die Lösung von jemand anderem abschauen, da jeder die richtige Lösung zu seiner Eingabe finden muss 😉

Wir haben dann versucht die heutige Aufgabe zu lösen und uns dazu gemeinsam auf einen Server eingeloggt und zur selben screen-Session verbunden. Das hat den Vorteil, dass wir uns die Lösung gemeinsam erarbeiten können, anstatt dass einer tippt und die anderen sehen nur via Bildschirmübertragung zu. Wir haben uns dabei für Python entschieden und damit es nicht zu einfach wird wollten wir auch Tests haben, die wir mit pytest geschrieben haben. Hier ein kleiner Einblick wie das ganze ablief:

Hat auf jeden Fall Spaß gemacht und auch geholfen ein paar eingerostete Python-Kenntnisse wieder etwas aufzufrischen 🙂

Kategorien
Allgemein

Hacking?

Nachdem wir durch die Corona Krise dazu verdammt sind physikalischen Kontakt zu anderen Individuen zu meiden (wer will das denn schon?) treffen wir uns aktuell online auf einem Mumble Server und versuchen uns an einigen Aufgaben von Tryhackme.

Wer es nicht kennt: Da wird eine virtuelle Maschine in deren abgeschlossenem VPN hochgefahren welche verschiedene Sicherheitslücken hat. Sobald man sich mit OpenVPN in deren Netzwerk verbunden hat kann man nach belieben drauf rumhacken bis man es irgendwann schafft eine versteckte Datei mit einem Code zu finden.

Findet man den Code hat man die Aufgabe gelöst. Was sich so einfach anhört bedeutet oftmals (je nach Schwierigkeitsgrad) doch einiges an Arbeit und vorallem Zusammenarbeit.

Am Ende hat man jedenfalls deutlich mehr gelernt als man erwartet hätte und es ist oftmals auch deutlich später als man gehofft hatte 🙂

Wer mitmachen will: Einfach mal ne Mail an talk@chaostreff-gun.de schreiben, dann machen wir was aus.

Linux-Vorkentnisse sind natürlich klasse, aber nicht unbedingt nötig.
Dumme Kommentare hingegen werden unbedingt erwartet 😉

Kategorien
Allgemein

Festplattendebugging

Vor ein paar Tagen habe ich von meinem Nachbarn eine defekte Festplatte bekommen.

Die Symptome sind schnell erklärt: Laufgeräusch normal aber keine Erkennung im BIOS

Ich wollte mich partout aber mit der Diagnose „wird halt nicht mehr erkannt“ zufrieden geben und wollte von der Festplatte hören was ihr Problem ist.
Vorab sei gesagt: Ich habe dem Nachbarn mitgeteilt dass seine Daten auf der Platte ziemlich sicher für mich nicht zu retten sind, und wenn diese wirklich wichtig sind er einen professionellen Datenretter beauftragen muss!
(Im Gegensatz zu mir kostet der aber dann auch ordentlich Kohle, deswegen muss man sich das vorher überlegen!)

Hier haben wir das gute Stück, frisch aus dem Computer und nur absolut geringfügig verstaubt 🙂


(Ist aus dem Jahre 2012, also mittlerweile 8 Jahre alt…)

Nachdem ich vorsichtig etwas den Staub entfernt habe, habe ich versucht sie an verschiedenen Computern zu verbinden und keiner konnte sie erkennen.

Mein nächster Schritt war das abschrauben der Platine und das reinigen mit Isopropylalkohol. Vorallem die Kontakte zur Plattenelektronik habe ich mir vorgenommen.
Damit war sie also wieder sauber, nur erkannt wurde sie immer noch nicht 🙁

Etwas Googeln später (in diesem Internet von dem alle immer reden!) führte uns zu einer Seite die behauptet dass Seagate Platten eine serielle Verbindung für Diagnosezwecke haben:
https://atola.com/products/insight/manual/serial-port-connection.html

Bei unserer Platte waren dass 4 kleine Pins die direkt neben dem SATA Anschluss waren, wobei zuerst RX (orange), dann TX (gelb) und dann GROUND (grün) kommt:

Hier zu den Pins: https://www.hddserialcommander.com/seagate

Die Verbindungdaten sind:
Baud: 38400
Data bits: 8
Stop bits: 1
Parity: None
Flow Control: None

Einer unserer günstigen Seriell zu USB Konverter sollte hier doch etwas rauskitzeln können:
https://www.amazon.de/Sumind-Packung-Programmierung-Serielles-Unterstützt/dp/B01N4X3BJB
-> Der Konverter hat 5V auf seinem roten Kabel und 3.3V Level auf seinen RX und TX Kabeln.

Leider waren die Daten die ankamen nur sporadisch sinnvoll:

Somit haben wir also das volle Programm rausgeholt und mit dem Oszilloskop ausgemessen was die Festplatte gesprochen hat:

Wenn man es nicht erkennen kann: Die Breite eines Bits ist 26.40 uS, die Periode ist 52 uS, die Frequenz die sich daraus ergibt sind 19.23 kHz
Die Frequenz in Herz mal zwei gibt unsere Baudrate, und die ist mit 38460 schon ziemlich nah an der 38400 dran. Somit hat das Internet hier wohl ausnahmsweise mal nicht gelogen.
Nur die 2V Signallevel erscheinen mir sehr komisch. Das sorgt sicherlich für Probleme mit einem Adapter der 3.3V erwartet (und sendet!)

Nach ein bisschen rumwackeln an den Jumper Wires kriegen wir auch mehr Infos:

Nur mit der Platte reden können wir nicht mehr. Wenn man diesem Forumseintrag glaubt, wo jemand sogar genau das gleiche Plattenmodell hat:
https://forum.hddguru.com/viewtopic.php?f=1&t=22217
Ist das aber normal. Wenn die Platte feststellt dass ihr Kopf nirgendwo hinfährt dann mag sie auch im Diagnostiktool wohl nicht mehr.
So oder so konnten wir leider kein einziges Kommando an die Platte schicken 🙁

Mittlerweile klackert die Platte auch wie man es von kaputten Platten gewohnt ist und ich gehe davon aus dass hier nichts mehr zu retten ist.
Und wer wissen will wie sowas klingt, hier gibts ein Video davon: https://www.youtube.com/watch?v=xx6GNejwjn4

Schade eigentlich…

PS: Backups helfen – und zwar vollautomatische!
PPS: Wusstet ihr dass die vom Hersteller garantierte Datenlebensdauer bei ausgeschalteten SSD Platten teilweise nur bei einem Jahr liegt?
PPPS: Hier gibts noch ein paar Details dazu wie Platten aufgebaut sind, warum diese kaputt gehen und wie eine Firma diese repariert: https://www.port29.net/blog/festplatte-reparieren.html

Kategorien
Allgemein

Uns gibt es noch!

… und da bei unserem aktuellen Treffpunkt gerade der Boden neu gemacht wird treffen wir uns diesen Mittwoch (16.01.2019) wieder im Hafner. So ab 19 Uhr ist sicherlich einer da!

Hauptthema wird übrigens sicherlich der gestern gedründete Verein für das Fablab Altmühlfranken sein. Selbstverständlich sind wir da auch dabei uns können es schon kaum erwarten neue Ideen mit 3D Druckern und Laserplottern auszuprobieren.

Kategorien
Bastelabend

Wir machen den Bastelkeller schön

Hui ist das schon wieder lang her seit dem letzten Beitrag hier. Heute haben wir mal ein paar Poster aufgehängt, die wir von der diesjährigen Easterhegg mitgebracht haben 🙂

Die drei linken Poster sind vom 34C3 und passen mit den Schraubenziehern und dem Motto ‚tuwat‘ auch sehr gut in den Bastelkeller wie wir finden.

Kategorien
Bastelabend Chaostreff

Chaostreff am 25.10.2017 uuuh 3D

3D Evolution
Testdrucke

Nach langem Kalibrieren, Einstellen und Probieren sind wir endlich mit den Druck-Ergebnissen einigermaßen zufrieden. Es war wieder ein spaßiger Abend.

Kategorien
Bastelabend

Wir haben uns heute Musik angeschaut

Nachdem wir das letzte Mal schon auf einem analogen Oszilloskop ‚Musik‘ angesehen haben (siehe oscilloscopemusic.com) wollten wir uns heute mal dran machen und selbst etwas kreieren.

Als Vorlage habe ich das hier genommen und etwas angepasst und herum gespielt. Relativ schnell konnten wir so einen Kreis und ein Viereck ‚zeichnen‘ 🙂

Den Code um die entsprechende Sounddatei zu erstellen findet ihr in diesem Repo chaostreff-gun/pyscopemusic. Vielleicht will da ja jemand noch dran weiter basteln 😉

Kategorien
Bastelabend

Versuche mit einem Arexx AAR-04 Roboter

Es war mal wieder Bastelkeller Zeit!

Irgendwo im hintersten Eck habe ich noch einen Roboter des Typs Arexx AAR-04 ausgegraben. Dieser hat zwar durch auslaufende Batterien schon einen Säureschaden abbekommen, funktioniert aber immer noch 🙂

Mit dem dazugehörigen Schaltplan ist das Programmieren zumindest technisch gesehen schonmal kein Problem mehr:

Der Roboter lässt sich direkt in der Arduino IDE über USB programmieren (ein Arduino Bootloader ist schon auf dem Atmega328P drauf). Außerdem besitzt er einen L293D Motortreiber sowie einen FT232RL USB to Seriell Wandler.

Dazu gibt es eine LED mit zwei Fototransistoren am Kopf zum folgen einer Linie, eine frei ansteuerbare LED, zwei Lichtschranken zum Messen der Motorgeschwindigkeit sowie natürlich die Motoren. Betrieben wird er entweder über USB (was zu wenig Strom für die Motoren liefert) oder über 4 AAA Batterien.

Als erstes sollte der Roboter:
a) Eine Linie suchen, und
b) dieser folgen.

So einfach es klingt, so kompliziert war es dann doch, denn die Helligkeit, die die Fototransistoren messen hängt natürlich nicht nur vom Untergrund ab, sondern auch von der Umgebungshelligkeit. Trotz bester Planung mit dem neuen Whiteboard

war der Programmcode nicht auf Anhieb fertig. Zwar folgte er manchmal der Linie. Manchmal aber auch nicht. Und manchmal drehte er sich einfach nur im Kreis….

Wenn das mal funktioniert dann soll der Roboter natürlich noch WLAN bekommen (hierfür steht ein ESP8266 Chip in den Startlöchern, der aber mit 3.3 Volt angesprochen werden will, deshalb muss hier noch ein Spannungsteiler und Spannungsregler dazu) und zusätzlich soll noch ein Ultraschall-Abstandssensor mit drauf kommen.

Abseits der Roboterprogrammierung rauchten auch die Köpfe beim Konfigurieren von automatisierten Erinnerungen basierend auf Taskwarrior-Aufgaben und beim Server-Upgrade von Debian Jessie auf Stretch wobei mit Erschrecken festgestellt wurde, dass Puppet dort in Version 4 vorhanden ist und sich doch das ein oder andere geändert hat.

Kategorien
Bastelabend

Der Erste Tag im Bastelkeller

So ein echter Chaostreff braucht auch einen extra (chaotischen!) Bastelkeller. Mittlerweile konnten wir eine Location auftreiben die standesgemäß in einem Keller liegt, aber mit genügend Steckdosen und koffeinhaltigen Getränken versorgt ist.

Nachdem die Location geputzt und vorbereitet wurde hatte ich schon das erste Projekt. Und zwar handelte es sich um eine Batterie für ein IBM DS3400 Storage System. Diese Batterien müssen regelmäßig (alle paar Jahre) gewechselt werden und kosten so ab 250 € das Stück. Wechselt man die Batterie nicht so wird der Schreibcache des Storagesystems deaktiviert, was natürlich absolut nicht wünschenswert ist.

Es scheint hier zwei Arten zu geben wie das Storage erkennt ob eine Batterie gewechselt werden muss. Und zwar entweder mit einem regelmäßigen Lerncyclus (Cache deaktivieren, Batterie komplett entladen, Batterie komplett vollladen, Cache aktivieren) oder aber mit einer Automatik die wohl das Alter der Batterie bestimmt.

Bei diesen Batterien scheint aber eine andere Technik zum Einsatz zu kommen. Außerdem wurde ich neugierig da das Storage-System einem das Herstelldatum der Batterie anzeigen kann. Und wo eine Anzeige ist müssen die Daten auch irgendwo gespeichert werden!

Ich habe also die Platine mal etwas genauer angesehen, und neben einem Hochleistungsentladewiderstand und einigem weiteren Hühnerfutter fand sich tatsächlich ein Chip mit der Beschriftung „PCA9500“. Dem Datenblatt nach ist das ein 8-Bit I/O-Expander der ein 2-kbit-EEPROM beinhaltet. Na mal sehen was da gespeichert ist.

Ein bisschen durchpiepsen mit dem Multimeter führte zu den richtigen Anschlüssen von VCC, GND, SCL und SDA:

Ich wollte nun eigentlich mit einem Arduino mit dem Chip sprechen, aber im Datenblatt stand unter „Absolute Maximum Ratings“ nur 3.8 V – also hätte ein 5V Arduino wohl eher ein Barbeque verursacht.

Zum Glück hatte Bernd einen Raspberry Pi rumfliegen – den wir erstmal nicht übers Netzwerk erreichen konnten. Ein USB zu seriell Kabel führte hier zum Erfolg und die Konsole des Pis begrüßte uns.

Mittels i2cdetect konnten wir tatächlich den Chip mit der Adresse 0x20 und 0x50 finden. Wobei 0x20 der IO-Expander ist (0b00100000) und 0x50 das EEPROM (0b01010000). Die Adressen stehen freundlicherweise auch im Datenblatt (man muss hier wegen dem R/W-Bit um eines nach rechts shiften). Die Hardware Programmable Pins (das sind die Widerstände links oben) liegen alle auf GND.

Ein kurzes i2cdump später hatten wir die Daten:

Leider funktionierte das schreiben des Herstelldatums (von 2011 auf 2016) nicht auf Anhieb. Doch das Datenblatt half auch hier weiter: Pin 13 ist der Write-Enable Pin.  Er liegt normalerweise auf VCC und muss zum schreiben auf GND gezogen werden. Netterweise ist da relativ direkt daneben ein großes goldenes Pad damit man da bequem rankommt – schätzungsweise wird mit diesem in der Fabrik der Schreibschutz einmalig deaktiviert. Rausgeführt ist der Pin nicht auf den Connector denn das Storage soll die Daten nicht ändern.

Wir aber schon 🙂

Wenn man jetzt noch ein neues Batterie-Pack dranklemmt wäre der manuelle refurbish fertig. Und schätzungsweise 200 € hat man auch noch gespart.

Leider traue ich mich nicht dass Ding jetzt auch wirklich in einem aktiv laufenden Storage zu testen…

Im weiteren Verlauf des Abends kam dann noch endlich der lang ersehnte 3D Drucker an.

Nach erstem großen Staunen und interessierten Blicken wollten wir ihn natürlich auch gleich ausprobieren. Also kurz einen Zylinder entworfen, in die Software des 3D-Druckers geworfen …

… und los geht’s:

Und siehe da, der 3D-Drucker druckt unseren Zylinder 🙂Für den ersten Versuch doch schon mal ganz gut. Eventuell sollten wir den 3D-Drucker mal noch neu kalibrieren nach dem Transport oder uns allgemein etwas genauer damit auseinandersetzen 😀