LINUX.ORG.RU
ФорумAdmin

Как создать udev правило для RNDIS устройств

 , , ,


0

1

Когда-то давно, при подключении всяких RNDIS устройств собственно сетевой интерфейс получал название rndisN, теперь же благодаря Predictable Network Interface Names нечитабельно-неюзабельное ethASDHGASDJGASD. Если отключить, то все превращается в ethN что уже лучше, но все еще не то. Хотелось бы CDC и RNDIS интерфейсы правильно именовать... Пробовал написать правило, но не получается написать так что бы от типа подключения зависело...

Подскажите какой атрибут можна бы проматчить, что бы кастомно именовать интерфейсы...

★★★★★

У меня вот так сработало:

cat /etc/udev/rules.d/rndis.rules 
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="rndis_host", NAME="rndis0"
После перезагрузки получилось:
...
2: rndis0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
    link/ether 5a:fc:95:5f:a3:80 brd ff:ff:ff:ff:ff:ff
    altname enp0s26u1u5
...

Только я вообще не сварщик. Первый раз в жизни полез правила писать для udev. Из любопытства.

Toxo2 ★★★
()
Ответ на: комментарий от Toxo2

Угу, сработало, все время пропускал буковку S в DRIVER... ппц мутная документация... А теперь вот с другой проблемой, т.к. у меня несколько таких интерфейсов, то надо запилить автонумерацию... Интернет говорит делать кастомный скрипт, а я вот смутился, неужто такая типичная задачка и нет встроенного функционала... Ищу пока в доке... Вроде как до сих пор нет...

Jetty ★★★★★
() автор топика
Ответ на: комментарий от mittorn

Ну так и сделал, но хочется же «на века» :)

Jetty ★★★★★
() автор топика
Ответ на: комментарий от Jetty

надо запилить автонумерацию

Разве:

$number, %n
The kernel number for this device. For example, "sda3" has kernel number 3.
Не оно?

Поменял у себя на

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="rndis_host", NAME="rndis%n"
Получил тот же rndis0. Вроде. Проверить не могу на нескольких устройствах.

Toxo2 ★★★
()
Последнее исправление: Toxo2 (всего исправлений: 1)

Подскажите какой атрибут можна бы проматчить, что бы кастомно именовать интерфейсы…

Я не знаю, есть ли вообще такой аттрибут. Предлагаю отключить дополненные названия интерфейсов и прописать их имена по физ. адресу. Примерно так:

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="ff:ff:ff:ff:ff:ff", NAME="rndis0"

Иначе тебе придется копнуть глубже, и посмотреть чем еще различаются разные типы интерфейсов.

anonymous
()
Ответ на: комментарий от anonymous

Да, почитай вот это: https://wiki.archlinux.org/title/udev_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)#%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D0%B0%D1%82%D1%80%D0%B8%D0%B1%D1%83%D1%82%D0%BE%D0%B2_%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%B0

Натрави udevadm info, как там написано, на разные устройсва в /dev. Может, найдешь аттрибуты, по которым получится разделить устройства.

anonymous
()
Ответ на: комментарий от Toxo2

Хз, у меня туда мак всунулся. (мак-частичка из предидущего названия ethffffffff)

Jetty ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.