Mac 주소를 영구적으로 변경하거나 3G USB 동글을 식별하는 방법은 무엇입니까?

Mac 주소를 영구적으로 변경하거나 3G USB 동글을 식별하는 방법은 무엇입니까?

저는 두 개의 3G USB 동글을 구입했는데 둘 다 동일한 Mac 주소를 가지고 있습니다. 나는 약간의 연구 끝에설립하다이는 일반적인 문제이므로 새 제품을 구입해도 문제가 해결되지 않을 수 있습니다.

특정 장치를 식별해야 하는데, 두 장치의 Mac이 동일한 경우 어떻게 장치를 식별할 수 있습니까?

하나의 장치에 새 Mac 주소를 할당하는 것이 가능합니까(장치가 때때로 전원이 끊길 수 있으므로 영구적으로) 아니면 사용할 수 있는 고유 식별자가 있습니까?

답변1

네트워크 인터페이스의 MAC 주소를 설정하는 방법에는 두 가지가 있습니다. Windows에서는 카드의 고급 보기에서 설정을 편집할 수 있습니다. 또는 powershell을 사용하십시오(이전 버전의 Windows에서는 Set-NetAdapter를 사용하지 못할 수도 있습니다).

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

Linux에서는 적절한 명령을 찾거나 다음과 유사한 방식으로 /etc/network/interfaces 파일을 편집해야 합니다.

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

답변2

Mac을 "영구적으로" 변경할 수 있는 방법은 없는 것 같습니다. 발견된 모든 솔루션을 사용하면 장치가 다시 시작될 때까지만 변경할 수 있습니다. 이를 영구적으로 변경하려면 드라이버에 액세스할 수 있어야 하며 심지어 불가능할 수도 있습니다(즉, 제조업체가 이 옵션을 제공하지 않음).

답변3

E3372h에서도 같은 현상이 발생합니다. MAC 주소는 HiLink 펌웨어에서 변경될 수 있습니다. 장치의 Android 콘솔(이 역시 사소하지 않음)에 액세스하여 /app/config/lan/config.xml과 같은 파일을 변경해야 합니다.

Stick 펌웨어의 경우 MAC을 변경하는 방법을 찾지 못했습니다. 나는 Mac을 와 같은 nvram 셀에 쓰는 명령일 수 있다고 생각 AT^NVWREX=bla-bla하지만 찾지 못했습니다.

Linux에서 사용할 수 있는 또 다른 접근 방식은 USB 장치 경로를 기반으로 udev 규칙을 만드는 것입니다. 따라서 인터페이스 이름은 특정 USB 포트와 바인딩됩니다(그러나 확실히 바람직한 장치 자체는 아닙니다). 와 같은 이름으로 파일을 생성합니다./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???"

ID_PATH, KERNELS 및 주소 값을 원하는 값으로 변경합니다. 이름, 심볼릭 링크를 수정하거나 추가 udev 옵션을 추가할 수도 있습니다.

관련 정보