Wie ändere ich die Mac-Adresse (dauerhaft) oder identifiziere einen 3G-USB-Dongle?

Wie ändere ich die Mac-Adresse (dauerhaft) oder identifiziere einen 3G-USB-Dongle?

Ich habe zwei 3G-USB-Dongles gekauft und beide haben die gleiche Mac-Adresse. Nach einigen Recherchen habe ichgefundenDies ist ein häufiges Problem. Der Kauf neuer Geräte behebt das Problem möglicherweise nicht.

Ich muss ein bestimmtes Gerät identifizieren, daher lautet meine Frage: Wie kann ich das Gerät identifizieren, wenn der Mac auf beiden Geräten derselbe ist?

Ist es möglich, einem Gerät eine neue MAC-Adresse zuzuweisen (irgendwie dauerhaft, da das Gerät von Zeit zu Zeit die Stromversorgung verlieren kann) oder gibt es eine eindeutige Kennung, die ich verwenden kann?

Antwort1

Es gibt mehrere Möglichkeiten, die MAC-Adresse einer Netzwerkschnittstelle festzulegen. Unter Windows können Sie die Einstellungen in der erweiterten Ansicht der Karte bearbeiten. Oder verwenden Sie Powershell (beachten Sie, dass Set-NetAdapter in älteren Windows-Versionen möglicherweise nicht verfügbar ist):

Set-NetAdapter –Name "Ethernet 1" -MacAddress "00-10-18-57-1B-0D"

Unter Linux müssen Sie einen entsprechenden Befehl finden oder die Datei /etc/network/interfaces etwa wie folgt bearbeiten:

auto eth0
iface eth0 inet dhcp
hwaddress ether 01:02:03:04:05:06

Antwort2

Es scheint, dass es keine Möglichkeit gibt, den Mac „dauerhaft“ zu ändern. Alle gefundenen Lösungen ermöglichen es Ihnen, ihn nur so lange zu ändern, bis das Gerät neu gestartet wird. Um ihn dauerhaft zu ändern, müssen Sie Zugriff auf die Treiber haben, und selbst dann ist dies möglicherweise nicht möglich (d. h. der Hersteller bietet diese Option einfach nicht an).

Antwort3

Ich erlebe dasselbe mit E3372h. Die MAC-Adresse kann auf HiLink-Firmwares geändert werden: Sie müssen Zugriff auf die Android-Konsole (was auch nicht trivial ist) des Geräts erhalten und die Datei wie /app/config/lan/config.xml ändern

Für Stick-Firmware habe ich keine Möglichkeit gefunden, die MAC-Adresse zu ändern. Ich nehme an, es könnte ein Befehl sein, um die MAC-Adresse in eine NVRAM-Zelle zu schreiben, wie zum Beispiel AT^NVWREX=bla-bla, aber ich konnte ihn nicht finden.

Ein anderer Ansatz, den Sie unter Linux verwenden können, besteht darin, eine Udev-Regel basierend auf dem USB-Gerätepfad zu erstellen. Der Schnittstellenname wird also an einen bestimmten USB-Anschluss gebunden (aber nicht an das Gerät selbst, was auf jeden Fall vorzuziehen ist). Erstellen Sie die Datei mit dem Namen wie/etc/udev/rules.d/99-wwan.rules

## Rules to setup fixed interface and port names for usb dongles with identical MAC addresses
# To get MAC address of interface use:
#     N=0; ip addr show wwan${N}
# To get ID_PATH of current interface use (N is interface number, e.g. N=0 for wwan0):
#     N=0; udevadm info -q all -p /sys/class/net/wwan${N} | grep -m1 ID_PATH=
# To get devpath of cdc-wdm${N} use (see first parent):
#     N=0; udevadm info -a -n /dev/cdc-wdm${N}
# To get KERNELS and bInterfaceProtocol for ttyUSB${N} use (see first parent):
#     N=0; udevadm info -a -n /dev/ttyUSB${N}
# Ports configuration related to AT^SETPORT="FF;12,16,5,A1,A2"

# wwan0 on 1.4.1
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1e:10:1f:00:00", ENV{ID_PATH}=="platform-3f980000.usb-usb-0:1.4.1:1.1", KERNEL=="wwan*", NAME="wwan0"
SUBSYSTEM=="tty",     KERNELS=="1-1.4.1:1.0", ATTRS{bInterfaceProtocol}=="12", KERNEL=="ttyUSB*",  SYMLINK+="ttyUSB-wwan0"
SUBSYSTEM=="usbmisc", KERNELS=="1-1.4.1:1.1", ATTRS{bInterfaceProtocol}=="16", KERNEL=="cdc-wdm*", SYMLINK+="cdc-wdm-wwan0"
SUBSYSTEM=="tty",     KERNELS=="1-1.4.1:1.2", ATTRS{bInterfaceProtocol}=="05", KERNEL=="ttyUSB*",  SYMLINK+="ttyUSB-a_shell-wwan0"

# wwan1 on 1.4.3
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1e:10:1f:00:00", ENV{ID_PATH}=="platform-3f980000.usb-usb-0:1.4.3:1.1", KERNEL=="wwan*", NAME="wwan1"
SUBSYSTEM=="tty",     KERNELS=="1-1.4.3:1.0", ATTRS{bInterfaceProtocol}=="12", KERNEL=="ttyUSB*",  SYMLINK+="ttyUSB-wwan1"
SUBSYSTEM=="usbmisc", KERNELS=="1-1.4.3:1.1", ATTRS{bInterfaceProtocol}=="16", KERNEL=="cdc-wdm*", SYMLINK+="cdc-wdm-wwan1"
SUBSYSTEM=="tty",     KERNELS=="1-1.4.3:1.2", ATTRS{bInterfaceProtocol}=="05", KERNEL=="ttyUSB*",  SYMLINK+="ttyUSB-a_shell-wwan1"

# # wwan on ???
# SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="???", ENV{ID_PATH}=="???", KERNEL=="wwan*", NAME="wwan???"
# SUBSYSTEM=="tty",     KERNELS=="???:1.0", ATTRS{bInterfaceProtocol}=="12", KERNEL=="ttyUSB*",  SYMLINK+="ttyUSB-wwan???"
# SUBSYSTEM=="usbmisc", KERNELS=="???:1.1", ATTRS{bInterfaceProtocol}=="16", KERNEL=="cdc-wdm*", SYMLINK+="cdc-wdm-wwan???"
# SUBSYSTEM=="tty",     KERNELS=="???:1.2", ATTRS{bInterfaceProtocol}=="05", KERNEL=="ttyUSB*",  SYMLINK+="ttyUSB-a_shell-wwan???"

Ändern Sie die Werte von ID_PATH, KERNELS und Adresse in Ihre eigenen Werte. Sie können auch Namen und symbolische Links ändern und/oder zusätzliche Udev-Optionen hinzufügen.

verwandte Informationen