Raspi als WLAN to Ethernet Bridge

Hatte einen Raspberry 3 übrig und einen Inverter ans LAN zu bringen…und das bitte headless.

Mit Raspberry Pi Imager Raspberry Pi OS Lite (64-bit, Bookworm) MicroSD erzeugen – da kann man WLAN, SSH & Co. schön vorkonfigurieren.

Wenn das Ding dann am WLAN online ist über NetworkManager dieses auf eth0 sharen (nur IPv4)


sudo nmcli con add con-name share-wlan type ethernet ifname eth0 ipv4.method shared ipv6.method ignore

Das macht aus eth0 einen Router/DHCP/DNS Server (mit dnsmasq) mit der Adresse 10.42.0.1/24

Was sich am LAN Interface so tut (wenn man MAC Adresse zwecks Fixierung wissen will)


sudo journalctl -u NetworkManager -f

DHCP Leases findet man in


sudo cat /var/lib/NetworkManager/dnsmasq-eth0.leases

Und statisch kann man sie dann hier definieren:


sudo micro /etc/NetworkManager/dnsmasq-shared.d/static-addresses

1 Host pro Zeile:
dhcp-host=mm:mm:mm:mm:mm:mm,10.42.0.xxx

Quelle: https://fedoramagazine.org/internet-connection-sharing-networkmanager/

SonOff ZBDongle-E auf Router flashen

Am besten alles als root durchführen (oder als Normaluser bis zum pip install und danach das source/flashing als root) da naturgemäß der Normaluser nicht direkt aufs Device schreiben darf.

Python virtual environment erzeugen und aktivieren (activate.fish für Fish Shell), Flasher installieren


python -m venv ./universal-silabs-flasher
source ./universal-silabs-flasher/bin/activate 
pip install universal-silabs-flasher

Firmware runterladen (das .gbl File)

https://github.com/itead/Sonoff_Zigbee_Dongle_Firmware/tree/master/Dongle-E/Router

Dongle anstecken, Devicenamen ermitteln (bei mir /dev/ttyACM0) und flashen (passenden Filenamen einsetzen naturgemäß)


ls /dev/serial/by-id

sudo universal-silabs-flasher --device /dev/ttyACM0 flash --firmware ./Z3RouterUSBDonlge_EZNet6.10.3_V1.0.0.gbl

Abstecken und dem Zigbee Netzwerk joinen 😀

Rückflash auf Coordinator ident – man muss nur –sonoff-reset als Parameter mitgeben.

Quelle: https://github.com/NabuCasa/universal-silabs-flasher

Windows 11 Hands Free/Freisprechtelefonie deaktivieren

Situation: Bluetooth Kopfhörer mit Telefoniefunktion aber ohne Mikrofon.

Problem 1: Registriert sich aber in Windows als Mikrofon und Hands-Free/Freisprechtelefoniegerät.

Problem 2: Webex läuft vollig Amok und Audio ist ungenießbar. Nur Webex. Alle anderen Audioquellen inklusive Teams, Zoom, etc. funktionieren einwandfrei.
[Update: Teams auch]

Lösung: Hands-Free/Freisprechtelefonie Bluetooth Service beim Kopfhörer Device deaktiveren:

shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}

Klassisches Control Panel für Geräte und Drucker geht auf:

Beim gewünschten Gerät (bei mir Sony WH-CH520) „Freisprechtelefonie“ (englisch: „Hands-free Telephony“) deaktivieren.

AppArmor und Vivaldi

Weiß nicht ob das ein KDE6 oder Vivaldi oder sonst irgendwo anders gelagertes Problem ist aber ich habe einen ganzen Haufen AppArmor Fehler bekommen wenn ich aus Vivaldi etwas heruntergeladenes starten wollte (wenn das Programm in /etc/apparmor.d/abstractions/open-some-applications enthalten ist) – alle rund um /run/user/meine_uid.

Im audit.log habe ich dann viele Einträge mit „failed name lookup – deleted entry“ gefunden und bin darauf gestoßen.

Ist vermutlich völlig falsch und viel zu global aber das mediate_deleted aufs top level profil in /etc/apparmor.d/opt.vivaldi-stable gepfropft und schon hats funktioniert:

profile vivaldi-stable /opt/vivaldi/vivaldi-bin flags=(attach_disconnected,mediate_deleted) {

Yen Zeichen statt Backslash im Browser

Hatte unter Linux/in Vivaldi (vermutlich aber in allen Browsern) Yen Zeichen statt Backslashes auf Webseitenteilen die mit Courier New gearbeitet haben.

Lösung: ~/.config/fontconfig/fonts.conf (oder ~/.fonts.conf oder systemweit in /etc/fonts/local.conf einfügen) – hier Verbiegung auf „Hack Nerd Font Mono“:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

<fontconfig>
 <!-- Replace Courier with a better-looking font -->
 <match target="pattern" name="family">
   <test name="family" qual="any"><string>Courier New</string></test>
   <edit name="family" mode="assign">
     <string>Hack Nerd Font Mono</string>
   </edit>
 </match>
</fontconfig>

Quellen:
https://wiki.archlinux.org/title/Font_configuration
https://askubuntu.com/questions/28419/how-to-most-elegantly-replace-courier-new-with-another-font-system-wide

WordPress an Fediverse andocken

Wer seinen Blog ans Fediverse andocken will: https://wordpress.org/plugins/activitypub/, aus irgendeinem Grund werden die Simple Permalinks (/?p=nnn) nicht akzeptiert – hab daher auf die Variante mit Postname als URL-Teil umgestellt und damit alle gespeicherten Permalinks vernichten müssen 🙁

Im Fediverse kann man auf alle Fälle jetzt über blog@roman.gallauner.at oder https://roman.gallauner.at/@blog folgen 🙂

Dreist geklaut von: https://vkc.sh/activitypub-activate/

Dependency aus DEB entfernen

Da der TP-Link Omada Controller auf ein JSVC (Java Daemon Starter) beharrt welches es unter Bullseye (und auch Bookworm) nicht gibt habe ich hier beschrieben wie man diese Dependency umgeht (und passende JSVC Version baut).

Problem: Man kann dann nicht mehr das OS updaten weil apt die fehlende Dependency bemeckert.

Lösung: Omada DEB umbauen: Als root in ein Verzeichnis auspacken (dpkg-deb -R), control File editieren und mit dpkg-deb -b das neue Paket bauen.

sudo su
mkdir omada
cp ./Omada_SDN_Controller_v5.13.30.8_linux_x64.deb ./omada
cd omada
mkdir tmp
dpkg-deb -R Omada_SDN_Controller_v5.13.30.8_linux_x64.deb tmp
cd tmp/DEBIAN
vi control
# hier dependency entfernen
# und version anpassen (ich hab ~roman angehängt)
cd ../..
dpkg-deb -b tmp Omada_SDN_Controller_v5.13.30.8~roman_linux_x64.deb

Danach ganz normal mit dpkg -i installieren.

Wireshark DNS A-Query Display Filter

Aufgabe: Nur Pakete anzeigen die eine DNS Query nach einem A-Record darstellen – ohne die Pakete mit der Response (die ja auch Queries sind halt mit einem Response-Segment).

dns && dns.flags.response==0 && dns.flags.opcode==0 && dns.qry.type==1  

dns = klar
response = ohne Response
opcode=query
type=A

Mastodon auf URL ungleich Domäne

Wer Mastodon Server so wie ich auf Server der nicht wie Domäne heißt betreibt (Server: social.galluner.fun, Domäne für User: gallauner.fun, also z.B. @roman – also WEB_DOMAIN != LOCAL_DOMAIN) aber auch nicht gleich die Domäne 1:1 auf Mastodon weiterleiten will weil vielleicht für andere Webseite benutzt funktionieren für mich bisher folgende Weiterleitungen (natürlich inklusive allem was im Originalrequest in der URI hinten dran stand):

# für federation
/.well-known/*
# für following von anderen Instanzen
/authorize_interaction
# falls jemand auf die Idee kommt Standard <domäne>/users/<user>
/users/*

Bin mir ziemlich sicher dass da noch was dazu kommt 🙂

WordPress Preview Cards in Mastodon

Mein aktuelles Theme hat in Mastodon Preview Cards ohne Bild und Text erzeugt, Lösung ist dass Mastodon keine rich oEmbeds erlaubt daher im WordPress Thema in function.php gemäß Anleitung auf link only umgebaut.

Codeteil der in function.php vom Theme einzubauen ist (irgendwo):

/* Return link instead of rich oembed data */
function filter_oembed_response_data($data) {
  if ($data['type'] === 'rich') {
    $data['type'] = 'link';
    unset($data['html']);
  }
  /* While we're at it, remove single quotes html entities */
  $data["title"] = str_replace("&rsquo;","'", $data["title"]);

  return $data;
}
add_filter('oembed_response_data', 'filter_oembed_response_data', 11, 4);

Quelle: https://www.colino.net/wordpress/en/archives/2022/11/27/wordpress-fix-thumbnail-on-mastodons-preview-cards/