Клонированная система + сетевые интерфейсы

9

Я сделал образ своей системы и дал его кому-нибудь для запуска. Они успешно сбросили свою систему с образом и запускают его.

Проблема заключается в следующем:

Система обычно имеет 2 беспроводных адаптера. Оба появляются в lsusb:

pi@raspberry:~ $ lsusb
Bus 001 Device 004: ID 7392:7811 Edimax Technology Co., Ltd EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS]
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter

Я установил интерфейсы в /etc/udev/rules.d/70-persistent-net.rulesфайлах по их mac или hw-адресу, и это прекрасно работает в моей системе, но в его системе, очевидно (хотя он использует тот же тип и модель аппаратного обеспечения), они различаются и, как таковой, его mac адрес другой, поэтому его 70-persistent-net.rules бесполезен и доставляет ему проблемы.

Чтобы избежать этого в будущем, есть ли способ настроить его так, чтобы он, возможно, искал тип модели, скажем:

 EW-7811Un -> wlan0
 SMSC9512 -> wlan1

и устанавливает их вместо того, чтобы полагаться на MAC-адрес?

user5740843
источник

Ответы:

12

Первые три октета в MAC-адресе однозначно идентифицируют производителя устройства. Правила Udev позволяют сопоставлять любое количество символов со звездочкой. Таким образом, вы можете написать общее правило, которое будет соответствовать любому устройству определенного поставщика:

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="74:2f:68*", NAME="wlan0"

Кроме того, вы можете прекратить сопоставление по адресу и использовать вместо этого другие параметры. Запустите следующую команду на обоих компьютерах:

sudo udevadm info -a -p /sys/class/net/wlan0

(конечно, подставляя имя интерфейса), и посмотрите, какие общие значения вы видите; затем используйте их в своих правилах.

Написание правил udev, вероятно, лучшая документация по теме.

Александр Батищев
источник