Здравствуйте!
После прошивки образа через Mfgtools MAC адрес сетевого интерфейса сбросился в 00:1F:F2:00:00:00.
Загружаю с мат. плату с модулем, который не шил, - там MAC выглядит нормально.
Не могли бы вы пояснить где хранится MAC-адрес?
Как правильно прошивать, чтоб его не сбросить?
Каков процесс инициализации MAC при старте системы - драйвер его находит автоматически или нужно программно устанавливать?
как вариант, у phy есть регистры, куда можно прописать нужный mac, допустим из uboot, а юбут считывает адрес из переменной окружения, далее, драйвер ядра при ините phy, пробует считать адрес, если он есть, то отдается в драйвер, если нет, то генерится..
проще посмотреть исходники конретного ядра и драйвера phy или полистать раздел документации..
в простейшем случае пропишите нужный mac в interfaces, что-то типа:
он прописан в переменных окружения убута, в ядре остается такой же который выставлен в убуте. При загрузке корневой фс можно установить какой угодно, например
не слышал о таких, а что вам конретно нужно ? можно MAC-адрес записать в однократно программируемую память (OTP) процессора - т.н. efuse, убут читает ее и если там валидный MAC использует его. Его можно записывать через mfgtools, правда я не знаю как быть с уникальностью - надо как-то каждый раз менять его при прошивке.
Нужен самый простой способ получения валидного MAC-адреса, с которым можно выходить в глобал. Ну да ладно, это дела будущие... А вот про eFuse очень интересно. Не подскажите, где почитать, как программировать эту ОТР? Туда же можно произвольные данные писать (например, серийный номер изделия)? Было бы здорово, если бы это можно было сделать из-под Linux самого устройства...
Ну, то есть, как минимум в HW_OCOTP_MAC0 можно прошить 6 байт без риска закирпичить устройство. И, видимо, в HW_OCOTP_MAC1 тоже.
Спасибо.
А эта 5-я глава в каком документе?