Was ist das hier

Willkommen in meiner kleinen Ecke des Internets.

Hier gibt es Infos über mich About Me und Themen für die ich mich interessiere.

Einen schönen Tag noch.

Wifi bridge thingy

To have a bridge from an ethernet port to a wifi, just install a ProxyARP
Make sure the dhcp-helper service is enabled.

sudo systemctl enable dhcp-helper sudo systemctl start dhch-helper

Reboot the pi and be happy ;-)

I did this with a Raspberry Pi (2) and a edimax USB WiFi dongle.

Rasperry pi Bluetooth pair and auto connect by command line

bluetoothctl -a You should get a different command prompt like:

[bluetooth] With your BT speaker on, type this:

scan on look for [New]........ something that looks familiar (Wireless Gamepad) pair trust quit


Get DD-WRT to send the correct default gateway

A wise entity Eko in DD-WRT Forum wrote this:

On setup page: uncheck "Use DNS masq for DNS" On "Administration" -> "Services": DNSMasq: add Code: dhcp-option=3,x.x.x.x to "Additional DNS Options" (x.x.x.x is your gateway)

and.... this works yeah ;-)

Git pull new commits and save my work

Note to myself...

So I have changes, but want the newest stuff in the upstream master (I guess that's the name)

First add(stage) all your changes:

git add .

Them put them on "hold"...

git stash

Now get the new stuff

git pull

And bring your changes back

git apply

Git stashing Docu

Backside Electronics for my Ender 3

He strikes again... Teaching Tech with his all in one rear mounted electronics case.
Ok almost, since I have cable chains on my printer :-(

But hey this guy has a remix with a my cable chain connector, but not my MKS GenL 1.0 board, meeehh :-(

Hmm after about 5 min thinking and the power of sharing (and Fusion 360) I combined them to the Ender 3 all in one, universal rear electronics case - Right Case mks gen l with dragchain connector, printed it and now I have the electronics in the trunk too ;-)

Yes this is crooked, it will be next

IT'S DEAD ahahahah!!!1!11

:'( yes it's true I killed my Ender 3, RIP.

Ok RoSP maybe? Since it is kind of hard to destroy extruded aluminium profiles and the like so one could say it is brain dead?! (nice movie) Since the Mainboard (is this the right name?) and 3 of 4 stepper drivers are not working any more.

How did that happen you ask?

Hmm some stupid guy wanted to install one of then ass cheap Chinese filament run out sensors and had that what could possibly go wrong attitude.

To be fair this my first time to actually break any 3d Printer electronics and I'm playing with this stuff now for about 10 years. Of cause there is no schematic or documentation or googleable infos for my "sensor". And the connector fitted perfectly into a end stop socket of the MKS Gen L 1.0.

For some reason on my test setup with a ramps 1.4@µ24v it worked fine, I guess that's why Chinese stuff is so dirt cheap, the "optimize" an Arduino Mega and a Ramps into a MKS Gen L 1.0 while at it just remove some not so important components.

I will never know since it's just too cheap and not open source (yes I look at you MKS Gen L 1.0) so I replaced them with the same items.

Is my Ender 3 now one of The Printing Dead community? ;-) It's came back to life after it died or is it more a Frankenstein Printer do I have to call it Herman now? :-D

More Ender 3 Mods... to make it silent

I realized I will never be done modding my Ender 3....

Newest list of changes and the result of the mod:

  • Installed a MKS Gen L 1.0 board with TMC2208 in drop in mode thing, no spi, no serial
    • Soo quiet now I love it :-D but those fans... :'(
  • Replaced the electronics fan with a Noctua 40x40x10 12v with one of these Mini dc-dc XM1584 step-down modules
    • Cooling is fine, I guess, no problem yet and I can not hear it... almost, 95% of the time there are way more noise from other sources.
  • Replased the PSU fan screws with some of these rubber screw thingies
    • PSU fan is now more silent too :-D
  • Installed a E3D Titan Extruder with this bracket
    • Almost no more clicking due to skipped extruder steps and I guess better print quality :-)

My Ender 3

I guess I'm done modding my Ender 3..... for now :-D

This nice guy from down under Teaching Tech / Youtube has a lot of good videos and I got most inspiration from him.

List of changes and the result of the mod:

  • Boot loader the the stock electronics and updated Marlin
  • Added cable drag chains to the bed and gantry thing with the Extruder, X axis and hot end thing
    • I had no accidentally unplugged Extruder motors since that so yes it helps.
  • Replaced the stock part cooling fan and fan duct with a 5050 Petsfang
    • way better cooling performance
    • not so sure about fan noise
  • added these yellow springs
    • Not sure if it helped with anything but is was cheap :-)
  • Added Stepper Dampers on X and Y
    • lowered the noise a little
  • Added a BL Touch
    • Hell yeah, auto bed leveling.... I will never go back to manual!!!!1!!

Update Forked GitHub Repository

Note to myself...

My changes should be Committed to my current master or AwesomeNewFeature branch

Add origin repo...

git remote add upstream http:// original repo.git

Get current version

git fetch upstream

Get my stuff back into working directory

git checkout master / AwesomeNewFeature

With some luck I can merge the upstream master with my branch

git merge upstream/master

Upload to Github

git push

Process Optimizing - at least for testing :D

Some hardware test run very long, like 2 000 000 cycles or more in reliability or life tests. Obviously these tests run for months and have to be monitored. It's not nice to loose 10k cycles because one of the units decided to stop for some reason on Friday@1705h. Or one unit stopped 10 min after the one manual check a day (because normally they run for weeks without a problem).

The classic way is to do check all the units manually and maybe several times a day too and even on weekends. This is kind of time consuming since you can easily have like 20 units running at a time and to be honest it's not that interesting to do too. ;-)

But if you happen to have a nice interface to ask the units for their states and even give them commands to do stuff e.g. some XML based SSH network connection, you can automate a lot of this checking.

And with some additional coding you can get

  • a nice daily status email
  • a web page with the current status (updated every 30 min, we do not want to stress the units too much)
  • an emergency email on Friday@1730h with logs of the troubled unit so you can decide if you should do a remote check and just restart something or have to return to the office or wait until Monday because it's completely burned down.

This saves time which can be spent on different (more challenging) tasks.

Operator Control Panel Remote Control

The Idea:

It would be nice to be able to the push all the physical OCP buttons by software (Network/TCP/IP).

In test automation some times the device or firmware is in a state where physical user input is required. E.g. the device was powered down or there is an "internal IP range" select thing and no other interface is running yet or just simple does the Open Mailslot button fire the correct OCP screen (we can read the OCP content by OCP automation)

It could look like this:

OCP diagram

Device X e.g. Raspberry Pi:

  • Connects to the network
  • Connects to an Interface Card e.g. by GPIOs

Interface Card e.g. 8x Relay board :

  • Connects to the OCP buttons.


  • A REST server receives commands and pushes the buttons.

Future Versions:

  • LED state detection (OpenCV?)
  • Device under test serial port access able by network too

Current Version (prototype thing):


  • Cables are soldered to the OCP buttons and connected to a 8 channel relay board
  • This board is connected to a Raspberry Pi by GPIO
  • The pi is connect to the Network.


  • On the Pi runs a python REST server (Flask is your friend)
  • It uses the Rasp Pi GPIOs to switch the relays
  • The Raspberry Pi Camera runs a a webcam
  • For manual pushing it shows a web page with links to push the buttons and the webcam image
  • For automated button pushing a simple http request can be made http://[IPofRaspi:SomePort]/key/enter?timepressed=3000




  • Right now there are more than 8 buttons, so we need more / all


  • We can only push one button at a time,
  • Camera integration not so nice yet

Web UI

And a really "high" quality demo video :-) OCPButtonsDemo.mp4

Interessen oder was treibt mich an

  • Neugier auf Neues
  • Dinge voran bringen und verbessern

wird fortgesetzt...

Job Beschreibung - Software Test Engineer BDT Storage GmbH

Test Objekte sind die Firmware und teilweise Hardware der verschiedenen hergestellten Varianten der LTO Tape Libraries für diverse Hersteller. Die Bandbreite reicht von 1U Geräten mit 8 Bändern und 1 Laufwerk bis zu 7x6U Stacks mit 560 Bändern und 42 Laufwerken. Diese Datenspeicher haben die unterschiedlichsten Schnittstellen und zahlreiche Funktionen.


  • SCSI, über Fiber Channel und SAS
  • Remote Management Interface (Web Page), über Netzwerk für Konfiguration, Steuerung und Status
  • Operator Control Panel, Benutzerschnittstelle direkt am Gerät für Konfiguration, Steuerung und Status
  • REST, für Konfiguration, Steuerung und Status z.B. in der Produktion oder Monitoring
  • Hersteller spezifische Schnittstellen
  • Remote Test Interface, für Test Automation (SSH/Serial)
  • Neuere Modelle basieren auf Embedded Linux oder älter auf Nucleus RTOS.


  • Hauptfunktion ist der Zugriff auf die Bänder per SCSI für Backup Application und der per SCSI (Backup App) gesteuerte wechsel der Bänder je nach Konfiguration z.B. tägliches oder monatliches Backup, Kapazitätsgrenzen einzelner Bänder.
  • Daten Verschlüsselung
  • Partitionierung der Hardware in logische Libraries z.B. eine logische Library per Abteilung
  • Benutzermanagement mit verschieden Zugriffsebenen, lokal oder LDAP
  • Status Monitoring, aktiv per SNMP traps und Email oder passiv per lokalen Logs, SNMP, rsyslog,CVTL
  • und vieles mehr

Aufgaben als Tester:

  • Erstellen von Test Cases basierend auf Requirements und Spezifikationen, (Helix ALM)
  • Mehrstufiges Review von Test Cases von anderen Team Mitgliedern, (Helix ALM)
  • Automatisierung von Test Cases in Abhängigkeit von Komplexität und wahrscheinlicher Wiederholungsfrequenz. (Robot Framework, RIDE, Selenium)
  • Durchführung von Smoke-, Acceptance-, Regressions-, Nicht Funktionalen- und Funktionalen-Test, Dokumentation der Ergebnisse
  • Im Fehlerfall Analyse und Dokumentation. (Helix ALM)
  • Retest von behobenen Fehlern
  • Erweiterung der Testmöglichkeiten der Firmware durch Entwicklung von Keyword Libraries für Robot Framework. (Python, Eclipse, Visual Studio Code)
  • Qualitätssicherung der automatisierten Test und Robot FW Libraries durch Code Review (SSCM)
  • Unterstützung lokalen und internationalen Test Teams

Unterstützung externer Test Labore ( EMV, Shock & Vibe)

  • Organisation, Aufbau und Konfiguration der für den Test erforderlichen Geräte (Server, Library, Drives)
  • Erstellung der Dokumentation des Aufbaus
  • Erstellung der Anleitungen für die benötigten Operationsmodi des Testaufbaus
  • Unterstützung der externen Tester per Fernwartung und vor Ort

Aufgaben für die Administration und Überwachung aller Test Umgebungen des Test Centers

  • Bereitstellung und Konfiguration der Netzwerk Infrastruktur
  • Bereitstellung der Server und Services mit unterschiedlichen Konfigurationen u.a.
    • Active Directory
    • File-Server (Windows, Samba)
    • FTP-Server
    • Email-Server (Postfix, Exchange)
    • LDAP-Server (OpenLDAP, Active Directory)
    • HTTP (Apache, Lighttpd)
    • rsyslog
    • Kerberos
  • Bereitstellung von virtuellen Windows Desktops mit Test Tools (Windows 7-10, Webbrowser in verschieden Versionen)


  • Unterstützung von Kollegen durch Entwicklung von neuen grafischen Test Tools (Python, wxPython, tkInter) und Weiterentwicklung bereits existierenden grafischen Test Tools (C#) nach ihren Anforderungen.
  • Optimierung der Reliability und Life Tests durch Entwicklung von automatischen Monitoring und Reporting Tools (Python)
  • Automation vom Reliability Tests durch Entwicklung der Anbindung des Prüflings und einer Siemens Logo (SPS)
  • Anbindung von physikalischen Benutzer Interfaces an die Test Automation, durch Entwicklung eines Prototypen des Hardware Interfaces, des REST Interfaces und der Robot Framework Library (Python, Raspberry pi)
  • Aufbau kostengünstiger langzeit Überwachung von Temperatur und Video des Test Labors basierend auf Python, SNMP, Raspberry Pi

Managing Test Environment

As you may know the to be tested software can depend on external service like SMTP or LDAP. Using the production environment is not the best idea, since there are very different goals on a goal sheet for an IT-guy and a tester.

Therefore someone (me) has to take care of it and provide all the required servers, desktop, services and tools.

To test our tape libraries we need e.g. SCSI, Email-, LDAP-, HTTP, CA-, vendor specific encryption key server like ESKM or SKLM, Active Directory, file servers and data to actually backup for the system integration with different Backup software vendors..

Almost every service can have a multitude of different configurations and performance for most of these systems is not the highest priority or if you choose the right version (Postfix vs. Exchange) they do not need a lot of resources.

A good way to share your certainly limited resources is virtualization.

This way it is easy to run like 6 Linux email servers with different security configuration with 1.5 GB RAM and 10 GB HDD including web mail. Others like the key servers need Windows and min 4GB RAM and you need like 3 Version and replication and and and... Or you need different version of IE or FF or Chrome

VMware, KVM, Xen are your friends.

Another big benefit of virtual machines are snapshots, you have a setup working server/desktop with all the needed tools an services. Freeze it with a snapshot and when a tester has managed to break it, simply reset it and it's working again.