INMYS WIKI

Инженерами для инженеров

Инструменты пользователя

Инструменты сайта


boards:nms-uq7-bklt:v1_ru:eth_addr

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
boards:nms-uq7-bklt:v1_ru:eth_addr [2024/01/15 17:25] – [Переменные окружения по умоланию U-boot] Артем Слеповboards:nms-uq7-bklt:v1_ru:eth_addr [2024/01/26 09:57] (текущий) – [Переопределение MAC-адреса из Linux] Артем Слепов
Строка 3: Строка 3:
 MAC-адреса в модулях устанавливаются двумя способами:  MAC-адреса в модулях устанавливаются двумя способами: 
   - Вычитываются из I2C EEPROM 24AA025E48T-I/OT с прошитым EUI-48   - Вычитываются из I2C EEPROM 24AA025E48T-I/OT с прошитым EUI-48
-  - Через переменные окружения U-boot+  - Через переменные окружения U-boot (ethaddr и eth1addr)
  
-В розничных модулях по умолчанию используется 1-й способ.+Способ работы с MAC-адресами определяется на этапе сборки U-boot. 
 + 
 +В розничных модулях по умолчанию прошит 1-й способ.
  
  
Строка 66: Строка 68:
  
 {{:boards:nms-uq7-bklt:v1_ru:uboot_env_vars_ok.png}} {{:boards:nms-uq7-bklt:v1_ru:uboot_env_vars_ok.png}}
- +  
-** Переменнные окружения вычитаны успешно**+**Переменнные окружения вычитаны успешно**
  
 {{:boards:nms-uq7-bklt:v1_ru:uboot_env_vars.png}} {{:boards:nms-uq7-bklt:v1_ru:uboot_env_vars.png}}
Строка 73: Строка 75:
 ** Переменнные окружения не вычитаны ** ** Переменнные окружения не вычитаны **
  
-==== Переменные окружения с точки зрения U-boot ====+=== Переменные окружения с точки зрения U-boot ===
 U-boot вычитывает переменные окружения либо из из области flash, которая опеределна на этапе компиляции, либо использует вкомпилированные переменные окружения (если область flash невалидна).  U-boot вычитывает переменные окружения либо из из области flash, которая опеределна на этапе компиляции, либо использует вкомпилированные переменные окружения (если область flash невалидна). 
-Во втором случае невалидности необходимо выполнить команду //saveenv// в консоли U-boot. Так вкомпилированные переменные попадут во Flash.+Во  случае невалидности необходимо выполнить команду //saveenv// в консоли U-boot. Так вкомпилированные переменные попадут во Flash.
 <code> <code>
 BAIKAL # saveenv  BAIKAL # saveenv 
Строка 81: Строка 83:
 OK OK
 BAIKAL #  BAIKAL # 
 +</code>
  
 +=== Переменные окружения с точки зрения Linux ===
 +Linux читает переменные окружения опираясь на ///etc/fw_env.config// 
 +<code>
 +[root@baikal_t1_uq7 ~]# cat /etc/fw_env.config 
 +# MTD device name Device offset Env. size Flash sector size Number of sectors
 +/dev/mtd1 0x0 0x10000
 +</code>
  
 +Если MTD device невалиден, то используются переменные окружения из ///etc/u-boot-initial-env//
 +
 +Оба файла задаются на этапе сборке rootfs.
 +
 +Linux должен корректно вычитывать переменные через fw_printenv (не должно быть сообщения //using default environment//).
 +
 +=== Переопределение MAC-адреса из Linux ===
 +Команда записи переменной окружения ethaddr:
 +<code>
 +fw_setenv ethaddr aa:bb:cc:dd:ee:ff 
 </code> </code>
  
-==== Переменные окружения с точки зрения Linux ==== +После перезагрузки MAC-адрес должен быть применен к сетевому интерфейсу и читаться через ifconfig
-  +
- //fw_printenv// корректно читается область переменных окружений. При вызове команды не должно высыпаться Error: +
  
 +<code>
 +[root@baikal_t1_uq7 ~]# ifconfig 
 +eth0      Link encap:Ethernet  HWaddr AA:BB:CC:DD:EE:FF 
 +          inet addr:192.168.1.209  Bcast:192.168.1.255  Mask:255.255.255.0
 +</code>
  
 +
 +=== Команды для автоматического назначения MAC из EEPROM ===
 +<code>
 +ethaddr=`dd if=/sys/devices/soc0/apb/1f047000.i2c1/i2c-1/1-0052/eeprom bs=1 count=6 skip=250 | hexdump -e '1/1 "%02x"5/1 ":%02x"'`
 +echo "set ethaddr=$ethaddr"
 +fw_setenv ethaddr $ethaddr
 +eth1addr=`dd if=/sys/devices/soc0/apb/1f047000.i2c1/i2c-1/1-0053/eeprom bs=1 count=6 skip=250 | hexdump -e '1/1 "%02x"5/1 ":%02x"'`
 +echo "set eth1addr=$eth1addr"
 +fw_setenv eth1addr $eth1addr
 +</code>
boards/nms-uq7-bklt/v1_ru/eth_addr.1705339507.txt.gz · Последнее изменение: 2024/01/15 17:25 — Артем Слепов