Как настроить правила Udev для вашего устройства USB
Система Udev в Linux отвечает за управление устройствами и их настройку при подключении. Настройка правил может помочь вам назначить определенные имена устройствам и оптимизировать их работу. В этой статье мы рассмотрим, как создать и настроить правила Udev для вашего устройства на примере Samsung S24.
Обучение с Udev
Для начала давайте посмотрим, как выглядит базовое правило Udev. Например, есть правило для OnePlus 5:
SUBSYSTEM=="net", ACTION=="add", ATTRS{serial}=="d221c91d", NAME="hp"
Это правило устанавливает имя "hp" для сетевого устройства на основе его серийного номера. Тем не менее, когда мы пытаемся сделать что-то подобное для Samsung S24, появляется проблема.
Проблема с распознаванием устройства
При попытке настроить правило для Samsung S24 выводит обращение к SUBSYSTEM=="usb"
, но оно не срабатывает. Чтобы разобраться с этим, важно проверить информацию о вашем устройстве с помощью команды lsusb
и udevadm info
.
Вот пример вывода команды udevadm info
для Samsung S24:
Bus 001 Device 021: ID 04e8:6863 Samsung Electronics Co., Ltd Galaxy series, misc. (tethering mode)
Шаги для создания правил
Чтобы убедиться в правильной настройке, выполните следующие шаги:
- Отсоедините устройство, если это еще не сделано.
- Выключите привязку USB в настройках телефона.
- Подключите устройство (в соблюдении интересует только ваше устройство).
- Запустите команду:
udevadm monitor --property
- Включите настройку привязки USB пока устройство подключено.
- Дождитесь вывода, содержащего
SUBSYSTEM=net
, затем прервите вывод командойCtrl + C
.
Ваш вывод должен содержать свойства сетевого устройства. Если это не так, попробуйте сохранить настройку привязки, а затем снова запустите команду перед подключением телефона.
Пример правильного правила
Если все сделано правильно, ваше правило может выглядеть так:
SUBSYSTEM=="net", ACTION=="add", ENV{ID_SERIAL_SHORT}=="RZCX410K81V", SYMLINK+="usbS24"
Обратите внимание на использование переменной ENV{ID_SERIAL_SHORT}
, что может помочь в распознавании устройства.
Альтернативный подход с SystemD
Если вы хотите, чтобы ваше устройство получало постоянные имена, возможно, будет проще создать правило SystemD. Для этого создайте файл /etc/systemd/network/10-samsung-s24.link
и заполните его следующими данными:
[Match]
Property=ID_SERIAL_SHORT=RZCX410K81V
[Link]
Name=usbS24
Вы также можете использовать PermanentMACAddress=
для других аппаратных устройств, но для вашего случая с рандомизированным MAC-адресом необходимо сопоставить его с другим свойством.
Заключение
Управление устройствами через Udev и SystemD может показаться сложным, но с правильными командами и пониманием принципов это становится проще. Понимание, как настраиваются правила для Udev и SystemD, позволит вам управлять вашим оборудованием более эффективно и безболезненно. Не забывайте экспериментировать и изучать различные варианты настройка для каждого устройства.