Use GMX as smarthost / relay_host with Postfix with separate transport_map

Excerpt /etc/postfix/
transport_maps = hash:/etc/postfix/transport
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_password
sender_canonical_maps = hash:/etc/postfix/sender_canonical
smtp_tls_security_level = encrypt


Excerpt /etc/postfix/transport


Excerpt /etc/postfix/sender_canonical


Excerpt /etc/postfix/sasl_password
—————————– <mailaddress><password>


Execute postmap commands to create the hash db file from above transport / sender_canonical / sasl_password
postmap transport
postmap sender_canonical
postmap sasl_password


Restart Postfix
systemctl restart postfix


mail -s test <mailaddress>
HINT: CC just hit <Enter> – then write the body followed by <Enter> and <.> (dot character) and again <Enter>- then quit the mail command by pressing <CTRL>-<D> Problem with login to EdgeOS device

Prerequities so far:
ansible-galaxy collection install
pip3 install paramiko

I had trouble to properly connect to an EdgeOS device with Ansible and the module.

First I tried to send authetication data with ansible_ssh_user and a vaulted password via ansible_ssh_password.

This left me with the error:
fatal: [edgerouter.heaven.grp]: FAILED! => {
„changed“: false,
„module_stderr“: „Expected unicode or bytes, got {‚__ansible_vault‘: ‚$ANSIBLE_VAULT;1.1;AES256…

I tried to replace the paramiko python module with
pip3 install ansible-pylibssh

This also did not work with the encrypted vault password variable.

So I tried to setup SSH login via ssh key.

For this you have to add your public key to the EdgeOS devicset system login set system login user ubnt authentication public-keys <keyid> type ssh-rsa
set system login user ubnt authentication public-keys <keyid> key  <publickey>

So passwordless login was possible from normal Ubuntu OS via SSH but login via Ansible was still not possible:
redirecting (type: modules) to
fatal: [edgerouter.heaven.grp]: FAILED! => {
„changed“: false,
„module_stderr“: „ssh connection failed: Failed to authenticate public key: Access denied for ‚publickey‘. Authentication that can continue: publickey,password“,
„module_stdout“: „“,
„msg“: „MODULE FAILURE\nSee stdout/stderr for the exact error“

I found a bug that describes this problem in

Replacing the file here ~/.ansible/collections/ansible_collections/ansible/netcommon/plugins/connection/ with the file from the above commit solved the problem.

Query Netbox with Ansible to generate an Ansible inventory

Make sure you use Ansible version >= 2.10.x
pip3 install –user –upgrade pip
pip3 install –user –upgrade ansible

Install pynetbox
apt install python3-pip
pip install pynetbox –upgrade

Install the Ansible module
ansible-galaxy collection install netbox.netbox

Simple netbox-inventory YAML
# 02-netbox-inventory.yml

plugin: netbox.netbox.nb_inventory
api_endpoint: https://netbox.heaven.grp
token: api-key
validate_certs: false
config_context: false
  – tags

Install Netbox
Follow the Netbox installation guide
Fill in some live in there

Testing the generation of the Netbox inventory via ansible-inventory
ansible-inventory -i 02-netbox-inventory.yml –list

Kubuntu 21.10 on Asus Transformer T100TA with Touchscreen, Sound, Wi-Fi working

Main information based on:

Added/removed some information based on my experience.

Grab 32bit efi boot loader from:

Download Kubuntu 21.10 ISO-file from Ubuntu homepage.

Use for example Rufus to write the ISO-file to an USB stick.

Copy over the bootia32.efi to the stick /EFI/boot.

Start from the stick.
Press ESC few times at boot time for one time boot menu.

Boot up the Kubuntu stick and choose try Kubuntu.

Open a terminal and start installation with sudo ubiquity -b.
Note: -b: So ubiquity installer won’t write a boot loader automatically.


Leave the 100mb efi partition.

Delete the windows partition.

Create a new ext4 partition and mount it to /

Install the system

After installation choose continue testing.

Fresh installation root partition is now mounted into /target

Mount also the 100mb efi partition to /target/boot/efi

Mount some local dirs to /target:
for dir in /dev /dev/pts /proc /sys /run; do mount –bind „$dir“ /target/“$dir“; done

Change root into the target root directory.
chroot /target /bin/bash

Install boot loader:
apt update
apt install grub-efi-ia32
grub-install –efi-directory=/boot/efi

Set cstate parameter correctly.
Note: Otherwise system will halt randomly after approx. 30min runtime.
vi /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT=“intel_idle.max_cstate=1 quiet splash“

Exit chroot.

Unmount /target/boot/efi


Install onboard:
sudo apt isntall onboard

Install evdev-rce:
Note: Change order of cc commands – move flags to the end of line. After make you just have to start the compiled binary for tap-and-hold-for-right-click capability.
Note: I’m rarely using this, because in practice I do not need the right click function for the touchscreen very often. So when needed I just run the binary, use the right-click and then exit the binary again. Letting it run in background can bring up problems with other touchscreen operations e.g. Onboard on screen keyboard.

Replace Pulseaudio with Pipewire:
Note: The default audio server Pulseaudio will let the sound crash after few minutes. Only a high frequent sinus tone is then emitted – will also bring problems with video playback then.
Note: When you want to stick with Pulseaudio you can recover from the crash with the pulseaudio -k command. I changed to Pipewire, as I could not find any permanent solution for Pulseaudio. A good starting point for further research could be:
sudo apt install pipewire*
sudo apt install libspa-0.2-bluetooth
Note: This lib is needed for Bluetooth audio working properly.

Disable powersaving function for Wi-Fi adapter:
cd /etc/NetworkManager/conf.d
mv default-wifi-powersave-on.conf default-wifi-powersave-off.conf
vi /etc/NetworkManager/conf.d/default-wifi-powersave-off.conf
wifi.powersave = 2


when you experience issues with not remembering tap to click on your touchpad on reattach, add to /usr/share/X11/
Note: Remember to restart libinput by at minimum relogon.
Section „InputClass“
Identifier „Asus TouchPad“
MatchDriver „libinput“
MatchIsTouchpad „on“
Option „Tapping“ „true“
Option „NaturalScrolling“ „True“

Samsung Health Data in Elasticsearch

Open Samsung Health App on the mobile phone.

Go to settings.

Scroll down and tap on download all personal data.

Confirm with your Samsung account password.

On the internal storage you find the data in the subfolder „Download“.

There you find the data splitted into CSV-files.

Bring the files up to a computer and there choose your relevant files (example: heartrate or sleepdata) to open them with Excel.
Crop the first line.

Navigate to your Kibana instance in browser.

There you can import the CSV-file. Choose a unique index name.

Then you can start visualize:

Elasticsearch Downgrade von Version 6.x zu Version 5.x

elasticsearch deinstallieren

dpkg -r --force-all elasticsearch

sources.list anpassen – Es dürfen keine Repositories der Version 6.x angegeben werden:

cat /etc/apt/sources.list
deb stable main

Elasticsearch Version 5.x installieren

apt-get update
apt-get install --reinstall elasticsearch

Zur Sicherheit noch mal beide Pakete zammad und elasticsearch reinstallieren

apt-get install --reinstall elasticsearch zammad

Den Zammad Index neu builden

zammad run rake searchindex:rebuild

Ubuntu 18.04 LTS installieren

ACHTUNG: Bitte die ISO-Datei mit dem traditionellem Installer downloaden.

In der neuen Version ist keine Möglichkeit vorhanden ein LVM einzurichten.

sudo passwd

vi /etc/ssh/sshd_config

PermitRootLogin yes

/etc/init.d/ssh restart

vi /etc/netplan/01-netcfg.yaml

# This file describes the network interfaces available on your system
# For more information, see netplan(5).
version: 2
renderer: networkd
dhcp4: no
addresses: []
addresses: [,]

netplan apply

Zammad in Ubuntu 18.04 Server

ACHTUNG: Bitte elasticsearch in Version 5.x verwenden! Version 6.x wird derzeit nicht unterstützt!

sysctl -w vm.max_map_count=262144

wget -qO – | sudo apt-key add –

echo „deb stable main“ >> /etc/apt/sources.list

apt-get update

apt install openjdk-8-jre-headless

apt install elasticsearch

/usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-attachment

wget -qO- | sudo apt-key add –

wget -O /etc/apt/sources.list.d/zammad.list \

apt-get update

apt-get install zammad