Я работаю с сетевыми интерфейсами USB (Ethernet через USB) на Raspberry Pi. По сути, цель состоит в том, чтобы прошить несколько машин Linux одновременно через TFTP U-boot, используя четыре порта USB, предлагаемые Raspberry Pi.
Прямо сейчас я определил четыре интерфейса USB, и у каждого из них есть IP-адрес. Я установил сервер tftp
. Он работает нормально, однако, если я пытаюсь подключить несколько компьютеров Linux одновременно, кажется, что DHCP смешивает интерфейсы (например, старый usb0
становится новым usb1
и старым ) usb1
становится новым usb0
), и я считаю, что это создает путаницу при аренде, и поэтому обмены TFTP, кажется, застревают в состоянии мягкой блокировки.
Ну, этого не может быть. Поэтому я установил четыре правила udev, которые дают этим устройствам фиксированное имя на основе порта USB, к которому они подключены. Примерно так:
SUBSYSTEM=="usb", ACTION=="add", DEVPATH=="*.2", NAME="usb0"
(эти значения я получил с помощью udevadm info
)
Очевидно, мне нужно переименовать устройство, так как оно будет именем моего сетевого интерфейса. Итак, в этом случае символическая ссылка бесполезна (если я не знаю чего-то другого).
Однако systemd-udevd
не позволяет мне переименовать устройство:
28 февраля, 17:25:01 pi systemd-udevd [3749]: NAME = "usb2" игнорируется, устройство ядра узлы нельзя переименовывать; пожалуйста исправьте это в /lib/udev/rules.d/99-systemd.rules:49
Я читал в Интернете, что это было возможно до версии 15.04, поэтому я считаю, что должен быть способ восстановить это старое поведение?
Мы будем очень благодарны за любой совет.