Zum Hauptinhalt springen

Schlagwort: Linux

Belegter Port 53 verhindert Start von Dnsmasq

Auf einem Gateway-Host, der ein spezielles Labornetz innerhalb unseres Firmennetzwerks aufspannt, sollte ein Dnsmasq-Server zum Einsatz kommen, um in diesem neuen Labornetzwerk nicht nur DHCP bereitzustellen, sondern auch einen DNS-Resolver. Gleichzeitig sollte der auf dem Ubuntu Server vorinstallierte systemd-resolved Service nicht angetastet werden, da wir ihn später noch als Split-Horizon DNS Resolver benötigen werden.

Ein Labornetzwerk unter Linux einrichten

Während meiner Arbeit verbinde ich mich regelmäßig zu verschiedenen Rechnern und eingebetteten Geräten, die über eine Ethernetverbindung erreichbar sind. Diese könnte man nun direkt - wie den Entwicklungsrechner auch - an das Firmennetzwerk anschließen…

… oder man erstellt für seine Geräte ein eigenes “Labornetz”, welches nur vom eigenen Laptop aus erreichbar ist und über das man die volle Kontrolle hat. Vorteile können sein:

  • Überblick über die verbundenen Geräte und ihre IP-Adressen
  • Keine Exposition der angeschlossenen Geräte ins Firmennetz (Verbesserung der Sicherheit)
  • Ist am Entwicklungsrechner nur WLAN verfügbar, können die embedded Geräte trotzdem einfach und kabelbunden erreicht werden.

In größeren Unternehmen kann zudem der Zugang zum internen Firmennetzwerk stark reguliert sein, sodass sich überhaupt nur freigeschaltene Geräte nutzen lassen. Mit einem eigenen kleinen Labornetz auf einem zweiten Netzwerkinterface kann das Problem elegant umgangen werden.

Quectel RM520N-GL 5G Mobilfunkmodem unter Ubuntu Linux in Betrieb nehmen

Um verschiedene 5G Usecases zu demonstrieren, sollte im Rahmen eines Projekts ein 5G-Modem an einem Ubuntu-basierten Mini PC betrieben werden. Hierzu haben wir uns das RM520N-GL von Quectel besorgt.

Das Modem wird vom Linux-Kernel erst ab Version 6.0 vollständig unterstützt. Die dazugehörigen Patches sind hier (USB “option” Treiber) bzw hier (qmi_wwan Treiber) zu finden.

Quectel liefert in der Dokumentation zwar auch Hinweise aus, an welchen Stellen die beteffenden Treiber angepasst werden müssen, doch das erwies sich in unserem Fall als fehleranfällig. Leider werden keine fertigen Git-Patches geliefert, sondern nur Code-Snippets in einem PDF-Dokument.

Linux Kernelmodule mit Source-Änderungen neu kompilieren

Wer - wie wir bei der ZERO GmbH - mit neuer Hardware hantiert, die vom Linux-Kernel noch gar nicht oder nur teilweise unterstützt wird, muss in einigen Fällen bestehende Kerneltreiber anpassen. In unserem konkreten Fall ging es dabei um ein 5G Mobilfunkmodem, das vom uns eingesetzten Linux-Kernel noch nicht korrekt als solches erkannt wurde. Die Hardware war mit ihrer USB Vendor- und Product-ID noch nicht in den dazugehörigen Treibern registriert und weitere Detailanpassungen mussten in den betroffenen Subsystemen vorgenommen werden.

Glücklicherweise lagert die Linuxdistribution Ubuntu die meisten Kerneltreiber in flexibel generierbare Kernelmodule (.ko Dateien) aus, sodass nicht der gesamte Kernel nach Änderungen neu kompiliert werden muss. Wie Änderungen beispielhaft am USB-Treiber “option” durchgeführt werden können, wird im Folgenden erklärt.

Embedded Linux: Video in Endlosschleife auf Framebuffer abspielen mit mplayer

Vor allem für Demozwecke, z.B. auf Messen, fragen Kunden immer wieder nach Displayansteuerungen, die eine Videodatei auf einem oder mehreren Bildschirmen präsentieren. Während sich zum Teil abenteuerliche Lösungen mit Windows und automatisch startenden PowerPoint-Präsentationen mit eingebettetem Video finden lassen, waren wir von ZERO auf der Suche nach einer eleganteren Lösung, die zudem zügig startet und wenig Raum für Fehlbedienung lässt.

Mastodon