TESmart KVM-Switch HKS0401B2U-EUBK (4× HDMI 4K @60Hz)

Disclaimer: the experiences described here are my personal opinion. I bought the product privately directly from the manufacturer and paid for it myself.

In the meantime, I often have the situation of having to switch between different computers, e.g. laptop and PC or PC and Raspberry Pi. Monitors usually offer several inputs, so switching here is usually not a problem. However, there is still the problem of having to move the keyboard and mouse around as well, which can be very cumbersome in the case of stationary PCs under the desk.

KVM switch TESmart HKS0401B2U-EUBK

The solution: a KVM switch. KVM stands for “Keyboard Video Mouse”. Such a switch is connected to a monitor, keyboard and mouse and forwards the connection to one of several connected computers. I chose a model from TESmart, which allows it to be mounted on a wall or under the desk. Furthermore, it also offers practical functions such as “USB passthrough”, which are often missing in simpler models. There are also models that are intended as a desktop device, but otherwise work in the same way.

Continue reading

Ant Media Server with Apache Reverse Proxy

I’ve been using the Communtiy Edition of Ant Media Server for quite a while. The server is normally addressed via HTTP on port 5080. In principle HTTPS with Let’s Encrypt is also possible, but only if no web server is already active on port 80, which is not practical for my application. Instead, I configured a reverse proxy in Apache.

However after one of the last updates there was an unexpected problem: the live stream was still working, but trying to login to the dashboard was acknowledged with HTTP 403. The solution for this is to add the option ProxyAddHeaders off to the proxy configuration. Apparently Ant Media denies access to the dashboard when a proxy is used. The new configuration now looks like this:

RewriteEngine on
RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteRule /(.*) ws://localhost:5080/$1 [P,L]
RewriteCond %{HTTP:Upgrade} !=websocket [NC]
RewriteRule /(.*) http://localhost:5080/$1 [P,L]
ProxyAddHeaders off
ProxyPass / http://localhost:5080/
ProxyPassReverse / http://localhost:5080/

In this way, both the dashboard and live streams can be used. Just be aware that Ant Media now also treats every incoming request as it was from and not the IP address of the client.

Update 2022-08-29

The reason for this behavior is now also clear:

Ant Media doesn’t support IPv6 – at least the community version I’m currently using. This can easily be checked by setting up an FQDN for the machine running Ant Media that only has an AAAA record and then trying to contact Ant Media using that name and port 5080. In this case no connection is possible since Ant Media does not have any IPv6 listener only IPv4.

When using a proxy, connection requests via IPv6 are handled by proxy and then forwarded to Ant Media with IPv4. However, these requests contain the IPv6 address as the source in the headers, which Ant Media cannot interpret as an allowed IPv4 address and therefore rejects the request.

The addition ProxyAddHeaders off prevents the IPv6 source address from being passed on in the headers, so that for Ant Media all requests come as IPv4 from the address, which is accepted.

Update 2022-09-10

The problem can be fixed by adjusting the configuration which will propably included in one of the next updates of Ant Media – also see Use Ant Media with IPv6.

IKEA Vindriktning with Tasmota and SCD30

I recently reported on my first experience with Home Assistant. The reason for this was that I wanted to collect the data from a suitably modified IKEA Vindriktning air quality sensor. The alternative firmware Tasmota, which can be used on ESP8266 or ESP32-based microcontrollers, serves as the basis for expanding the sensor. In addition, I now use the Sensirion SCD30 to measure the CO2 concentration in the room air, the relative humidity and the temperature.

Continue reading

Home Assistant

Tasmota, web interfaceRecently I’ve been working on a small craft project: extending an IKEA Vindriktning air quality sensor with a D1 Mini to read the data and forward it to a server via MQTT.

See also Sören Beye’s Github repository for the conversion. However, instead of this firmware, I use Tasmota based on these instructions from Blakadder, which is much more convenient to set up and configure. See also the Tasmotizer on Github.

When I was looking for a suitable server, I quickly ended up at Home Assistant. This is a free software solution for integrating numerous smart home devices and can also be used on a Raspberry Pi 3 or 4. In my case this is a Raspberry Pi 4.

Update 2022-08-14: In the meantime I have expanded this with another sensor for CO2, relative humidity and temperature, see the article here.

Continue reading

Pioneer SE-MS7BT – new ear pads

I bought the Pioneer SE-MS7BT headset a little over five years ago and it has worked well the whole time. But now the surface of the ear pads has peeled off. Fortunately, these pads are available as replacements from various manufacturers.

Attaching the new pads is a bit cumbersome because the headphones do not have a flat surface, but are slightly curved in one place. But the result is convincing – the headset is now like new and the new cushions also fit very well.


Does anyone remember Meltdown and  Spectre? These vulnerabilities were discovered in June and July 2017 and publicly documented in early 2018. As a result, countermeasures have been taken by software manufacturers for both operating systems and applications, some of which also lead to reduced performance.

As reported on https://www.ncsc.admin.ch/retbleed-en, researchers of the ETH Zürich now discovered a vulnerability in one of the counter measures – retpoline – affecting CPUs by Intel and AMD which got the name “Retbleed” (CVE-2022-29900, CVE-2022-29901). Also see the description at https://comsec.ethz.ch/research/microarch/retbleed/.