[Podcast] Kernel Panic - Board on Fire ~~> #011: MAC, Phy & mehr - Ethernet bauen mit zwei Stück Draht

In dieser Folge unterhalten sich Oleksij und Leonard über Ethernet und seine verschiedenen (drahtgebundenen) Übertragungswege. Es geht viel über neue Single-Pair-Ethernet Standards (10Base-T1L, 10Base-T1S, 100Base-T1) und darüber was einem der Phy (der Baustein, der die digitalen Signale schlussendlich analog auf die Übertragungsleitung umsetzt) über den Zustand der Leitung mitteilen kann.

Wir berühren außerdem Themen wie Energy Efficient Ethernet und Time Sensitive Networking. Alles in allem also wieder eine wilde Mischung Themen im kurzweiligen Format.

Über den Kernel Panic - Board on Fire Podcast

In wahrscheinlich jedem Berufsfeld gibt es Schauergeschichten, die man sich abends am Lagerfeuer mit einer Taschenlampe am Kinn erzählen kann. So auch in der Welt der Software. In diesem Podcast geben wir in unregelmäßigen Abständen Entwicklerinnen und Entwicklern die Möglichkeit ihre Schauergeschichten zu erzählen. Es geht um monatelange Fehlersuchen, deren Ergebnis nur eine Hand voll Zeilen falscher Code sind, um subtil fehlerhafte Hardware, die zu sporadisch auftretenden Geistern im System führt, um bröckelnde Software, deren Quellcode schon vor Jahren verloren gegangen ist, und manchmal auch um ganz was anderes.

Shownotes

Wer nicht die ganze Folge hören möchte kann sich an den folgenden Zeitmarken orientieren:

00:00
Einleitende warme Worte. Oleksij ist das erste mal im Podcast und erzählt, wie er über OpenWRT zur Embedded Softwareentwicklung gefunden hat und mit dazu zu seinem Steckenpferd - allem was mit Netzwerk zu tun hat. Heute ist Oleksij im Pengutronix Kernel Team und beschäftigt sich nach wie vor viel mit Netzwerkthemen.
07:07

Hier geht es darum, was an drahtgebundenem Netzwerk eigentlich noch interessant ist, wenn immer höhere Geschwindigkeiten für unsere Embeddedsysteme nicht wirklich relevant sind.

Oleksijs antwort ist, dass immer mehr stellen an denen früher Bussysteme wie CAN und RS485 jetzt auf Ethernet umgestellt werden, wofür es neue Ethernet Standards wie z.B. 10Base-T1L (10 MBit/s über bis zu 2km) und 10Base-T1S (10 MBit/s in einem Bus mit mehreren Geräten) gibt, die über ein Leiterpaar funktionieren.

12:15
Wir konstruieren eine Geschichte der Single-Pair-Ethernet Standard, angefangen mit BroadR-Reach (100 MBit/s über ein Aderpaar für den Einsatz im Auto) über 100Base-T1 (100 MBit/s über ein Aderpaar für den Einsatz im Auto - aber standardisierter) und 1000Base-T1 (1 GBit/s) zu den beiden 10 MBit/s Standards 10Base-T1L und 10Base-T1S.
16:07
An diesem Punkt wirft Leonard ein, dass es 10 MBit/s über zwei Leiter schon in den 80ern gab. Damals noch mit Koaxialkabeln und Vampirklemmen. Als Folge dessen driften wir ein bisschen ab in die allgemeine Ethernet- Geschichte.
18:05

Zurück zum modernen 10 MBit/s über zwei Adern: 10Base-T1L und 10Base-T1S und was man softwareseitig damit machen muss und kann.

An dieser Stelle fällt Leonard auf, dass wir ein Gerät mit 10Base-T1L entwickelt haben und es an dieser Stelle bewerben können. Das USB-T1L. Dan Oleksijs funktioniert der USB-T1L super mit dem Mainline Linux Kernel.

21:30
Was sind eigentlich Phy und MAC und warum will man Kernel-Support für beide haben?
33:30
Hier reißen wir kurz das Thema "Stecker für 10Base-T1L" an, das zu amüsant ist um es hier unerwähnt zu lassen. Es gibt zwei konkurrierende Zusammenschlüsse von Herstellern: single-pair-ethernet.com und singlepairethernet.com.
33:45
Zurück zu Phy und MAC.
38:50

Es geht um das große Thema Diagnostikmöglichkeiten in Phys. Signalqualität, Fehlercounter, Kabelbrüche, Kürzschlüsse und Möglichkeiten verschiedener Phys solche Probleme zu lokalisieren. Und darüber was jetzt eigentlich Teil eines Standards ist und was eine Erweiterung verschiedener Hersteller.

Leonard gerät ins Sinnieren über Lichtgeschwindigkeit und Reflexionen in Übertragungsleitungen.

51:00

Oleksij erzählt davon, dass manche Phys mehr machen als nur Bits auf das Medium zu übersetzen und z.B. Pakete mitzählen können oder die Übertragung verzögern können.

Grund dafür sind z.B. Energy Efficient Ethernet, wo die Gegenstelle aufgeweckt werden muss und danach Wartezeiten einzuhalten sind.

In der Folge reden wir über Energy Efficient Ethernet und warum es sehr irritierend sein kann, wenn der Phy Verzögerungen in den Datenstrom einfügt.

59:33
Das Thema Energy Efficient Ethernet geht weiter. Oleksij erzählt, wie er Linux Treiber angefasst hat, die behauptet haben Energy Efficient Ethernet aktiviert zu haben, es aber nicht wirklich eingeschaltet haben. Nachdem er dafür gesorgt hat, dass in diesem Fall EEE auch wirklich an war, sind vielerorts EEE Probleme aufgefallen, die vorher versteckt waren.
62:15

Zusammenfassung und Abschluss.

Ausblick darauf, dass wir uns irgendwann mal das Thema Distributed Switch Architecture, und Netzwerkswitches im Allgemeinen anschauen können.

Außerdem hinweise auf Messen und Konferenzen, auf denen man uns in der nächsten Zeit treffen könnte, um einen Kernel Panic BoF Aufkleber abzustauben.


Weiterführende Links

[Podcast] Kernel Panic - Board on Fire ~~> #010: A Grid of Labs - Das Labgrid Projekt. Was, Warum, Wie?

In dieser Folge setzen wir uns hin und reden mal ausgiebig über das Labgrid Projekt. Wir, das sind in diesem Fall Rouven, der damals den Grundstein für das Labgrid Projekt gelegt hat, wie wir es heute kennen, und Leonard, der schon mal labgrid-client power on aufgerufen hat. Es geht darum was Labgrid eigentlich ist (ein Automatisierungs-Dingsie für die Embedded Softwareentwicklung, aber kein Testing-Framework an sich), aus welchen Komponenten eine Labgrid-Installation besteht, über die Geschichte dahinter und noch ein bisschen mehr.


[Podcast] Kernel Panic - Board on Fire ~~> #009: Ho Ho Ho VirtIO - QEMU, KVM, Barebox und wie sie zusammengefunden haben

Wir haben lange gewartet, um endlich wieder eine Weihnachtssonderfolge herausbringen zu können. Für diese Folge hat uns Ahmad mal wieder ein spannendes Thema mitgebracht, oder viel mehr einen Themenkomplex. Er erzählt uns nämlich, wie sich, als Barebox in die oe-core Layer des Yocto Projekts gebracht wurde, die Gelegenheit ergeben, hat spannende Dinge über Emulation und Virtualisierung mit QEMU und KVM und Paravirtualisierung mit VirtIO zu lernen.


[Podcast] Kernel Panic - Board on Fire ~~> #008: Aus dem Takt - Das Doppelpack Clock-Glitches

In dieser Folge reden Ahmad und Leonard über Takte / Clocks in Prozessoren. Darüber warum es so viele gibt, wie sie erzeugt und im Chip verteilt werden und darüber, was dabei eigentlich so schief gehen kann.