Некоторые люди сталкивались с проблемой при прошивке пользовательских ПЗУ, таких как LineageOS, OxygenOS, CyanogenMod и т. д., на свои устройства Android; после перепрошивки ПЗУ их MAC-адрес становится поврежденным и отображается как 20: 00: 00: 00 или другое неправильное число.
Это влияет на ряд устройств и, по-видимому, вызвано устройствами, которые имеют генераторы случайных MAC-адресов, встроенные в код ядра. Обратите внимание, что я обращаюсь к неверному MAC-адресу только после прошивки пользовательского ПЗУ – если у вас есть стандартное ПЗУ и вы никогда не прошивали пользовательское ПЗУ, но ваш MAC-адрес неисправен, это вполне может быть аппаратное обеспечение проблема.
Решение
Сначала попробуйте это очень простое решение:
Настройки -> Резервное копирование и сброс -> Сбросить настройки сети -> Сброс
Если это не сработало, нам нужно будет немного узнать подробности, так что внимательно следите за мной. Существует несколько причин, по которым MAC-адрес может быть поврежден, поэтому мы постараемся устранить каждую из них, пока ваша проблема не будет решена.
Чтобы продолжить устранение неполадок, на вашем компьютере должен быть установлен ADB – см. «Как установить ADB в Windows» – у пользователей Mac/Linux есть гораздо более простой метод, который не требует руководства.
В любом случае, если на вашем ПК запущен ADB, вы также должны возьмите шестнадцатеричный редактор. Я использую Notepad ++ с плагином шестнадцатеричного редактора, но и другое программное обеспечение шестнадцатеричного редактора подойдет.
Подключив телефон к компьютеру, убедитесь, что ADB обнаруживает USB-соединение, набрав ‘ adb устройства ‘. Если отображается уникальный идентификатор вашего устройства, продолжайте.
Введите следующие команды в ADB:
adb shell «su -c ‘dd if =/dev/block/bootdevice/by-name/misc of =/sdcard/misc.img ‘”
adb pull/sdcard/misc.img
Теперь вы сможете найти misc.img в корневой папке ADB. Откройте его с помощью программного обеспечения шестнадцатеричного редактора по вашему выбору.
Найдите шестнадцатеричное смещение 3000 и отредактируйте шестнадцатеричное смещение от 3000 до 3005 с помощью вашего MAC-адреса Wi-Fi – например, «00 90 3D F1 A2 31 ″. Сохраните и закройте шестнадцатеричный редактор.
Теперь мы собираемся отправить его обратно на ваше устройство через ADB, поэтому введите в терминал ADB:
adb push misc.img/sdcard/misc_edited.img
adb shell «su -c ‘dd if =/sdcard/misc_edited.img of =/dev/block/bootdevice/by-name/misc’»
Теперь введите ‘ adb reboot’ и после перезагрузки телефона проверьте, в порядке ли MAC-адрес. Если нет, давайте продолжим.
Последний шаг, который нужно попробовать, – это использовать корневой файловый менеджер, чтобы заглянуть внутрь persist/wifi/.macaddr и открыть .macaddr с помощью текстового редактора. Добавьте свой MAC-адрес в этот файл, сохраните его и перезагрузите устройство..
Если ни одно из этих решений не помогло вам, вполне вероятно, что это проблема оборудования – возможно, ваша антенна WiFi отсоединилась от материнской платы и ее нужно снова припаять, или возникла какая-то связанная проблема. вот так.