Mapping usb модема в udev

Решил поставить себе на Gentoo ядро 3.10.4, с tuxonice патчем.

Результатом остался очень довольный, много проблем с системой пропало, и это учитывая тот факт, что я не изменял старую конфигурацию ядра. Первым, что заметил - наконец-то нормально стала работать сеть после выхода из suspend.

Но кое-что пришлось подправить.

Начнем с того, что я соединялся с Интернетом при помощи wvdial.Там в конфигурации нужно указать устройство модема: Modem = /dev/ttyUSB0

Раньше все было хорошо. При каждом подключении модема у меня появлялись 4 устройства: ttyUSB0, ttyUSB1, ttyUSB2, ttyUSB3, wvdial работал с нулевым.

Но теперь при каждом переподключении номера устройств инкрементировались, то есть сначала появлялось 4 устройства, начиная с 0, потом с 1, 2 и т.д. Непорядок.

К счастью, это легко поправимо, достаточно просто создать "стабильный" symlink на устройство в правилах udev.

Вот как у меня это делалось:

Создаем файлик в nano /etc/udev/rules.d/ с требуемым именем, например,

nano /etc/udev/rules.d/50-modem.rules
Дальше:
DRIVERS=="sierra", ATTRS{port_number}=="0", SYMLINK+="ttyUSB0"
Думаю, здесь требуются некие объяснения =)

Симлинком задаем альтернативный адрес устройства, я задал, каким он у меня был раньше. Первые два выражения делают выборку. Я сделал ее по драйверу своего устройства (у меня sierra) и по порту (0 для нужного мне устройства, у меня ведь их 4).

Для того, чтобы вам узнать информацию по вашему устройству, введите, например

udevadm info --query=all -a -n /dev/ttyUSB0
или укажите свой адрес. Найдите данные, необходимые для составления выборки и создайте udev правило.

И, наконец-то, чтобы изменения вступили в силу:

udevadm control --reload