NIC ohne MAC

DeaD_EyE

Blog Benutzer
Ich hatte letzte Woche damit angefangen ein Produkt fertig zu stellen. Im Produkt verbauen wir ein Udoo board.
Da eine Netzwerkverbindung zu wenig ist, nutzen wir auch noch zusätzlich dieses M.2 dual Ethernet-Modul.
Bei zwei Geräten ist alles in Ordnung, aber bei einem Gerät haben die Ports bei dem zusätzlichem Modul keine MAC-Adresse.
Sogar im BIOS werden die zwei MAC-Adressen mit 00:00:00:00:00:00 angezeigt, die interne hat aber eine.

Sobald ich die MAC-Adresse manuell setze, lassen sich die Interfaces auch aktivieren.
Wenn ich das nicht mache, kommt folgende Fehlermeldung:
Code:
RTNETLINK answers: Cannot assign requested address
Der Grund ist klar, diese MAC-Adresse ist ungültig.

Das ist mein erstes mal, dass ich eine Netzwerkkarte/Interface gesehen habe, dass keine MAC-Adresse hat.
Ich habe schon an mir selbst gezweifelt, weil ich das Interface ums verrecken nicht online bekam.
Jedenfalls hab ich eine UDEV-Regel angelegt, damit die Interfaces eine MAC-Adresse bekommen:

/etc/udev/rules.d/75-mac-spoof.rules
Code:
ACTION=="add", SUBSYSTEM=="net", ENV{DEVPATH}=="/devices/pci0000:00/0000:00:1c.0/0000:01:00.0/0000:02:01.0/0000:03:00.0/net/enp3s0", RUN+="/usr/bin/ip link set dev $name address 00:c0:08:xx:xx:xx"
ACTION=="add", SUBSYSTEM=="net", ENV{DEVPATH}=="/devices/pci0000:00/0000:00:1c.0/0000:01:00.0/0000:02:02.0/0000:04:00.0/net/enp4s0", RUN+="/usr/bin/ip link set dev $name address 00:c0:08:xx:xx:xx"
Habt ihr euch schon mal überlegt, wie die MAC-Addressen auf den Chip kommen?
Ich vermute, dass die nachträglich alle geflasht werden.

Falls jemand so ein Board einsetzen will, der Datendurchsatz des NIC liegt bei ca. 800-900 MBIT/s
Das Praktische ist, dass sich dort auch ein Arduino auf dem PCB befindet.
 
Last edited:

mr_brain

Registered User
In Sketches von Arduino muss/kann man auch immer die MAC-Adresse für Ethernet-Shields angeben. Ältere Ethernet-Shields für Arduino hatten auch keine MAC. So ungewöhnlich ist es also nicht; eigentlich sogar ganz praktisch, da man die MAC an eigene Gegebenheiten anpassen kann.
 

DeaD_EyE

Blog Benutzer
Die Ethernet-Interfaces sind nicht am Arduino angebunden, sondern am SoC. Die haben alle eine eigene MAC-Adresse. Wie bereits geschrieben, die zwei anderen haben eine MAC-Adresse.
 
Top