Я установил свой Mac-адрес для чипа Wi-Fi через:

/sbin/ifconfig wlan0 down                                                          
/sbin/ifconfig wlan0 hw ether ${WIFI_MAC_ADDR}    
/sbin/ifconfig wlan0 up    

Скажем, по умолчанию Mac-адрес 98:00:00:00:00:00. Если я изменю MAC-адрес на любой новый адрес, который все еще начинается с 98 , то у меня нет проблем.

Однако, если я заменю 98 на любой другой номер, я получу следующую ошибку:

wlan0: set cur_etheraddr failed
dhd_sysioc_thread _dhd_set_mac_address() failed

Зачем?

1 ответ1

1

Младший значащий бит первого октета зарезервирован как "групповой бит" (бит флага многоадресной / широковещательной передачи). MAC-адреса с этим установленным битом не являются действительными адресами одноадресной передачи, поэтому их нельзя использовать в качестве MAC-адреса NIC.

Таким образом, в куске, где у вас есть 0x8, эти (четные) значения являются допустимыми:

0x0
0x2
0x4
0x6
0x8
0xa
0xc
0xe

И эти (нечетные) значения недопустимы:

0x1
0x3
0x5
0x7
0x9
0xb
0xd
0xf

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .