Вопрос или проблема
У меня есть два разных модема от одного производителя: Quectel EC25 и Quectel RM500Q. Проблема возникает, когда ПК, в который они вставлены, запускается. Иногда Quectel EC25 получает wwan0, что означает использование ttyUSB0/1/2/3, а Quectel RM500Q — wwan1, что означает использование ttyUSB4/5/6/7, а в другие разы всё наоборот: Quectel EC25 получает wwan1 и ttyUSB4/5/6/7, а Quectel RM500Q — wwan0 и ttyUSB0/1/2/3. Поскольку порядок запуска отличается, невозможно настроить каждый модем, так как в одном модеме SIM-карта от одного оператора мобильной связи, а в другом — от другого.
Я попытался сопоставить беспроводной интерфейс и модем с помощью правила udev (/etc/udev/rules.d/70-persistent-net.rules):
SUBSYSTEM=="net", ACTION=="add", ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0800", NAME="wwan0"
SUBSYSTEM=="net", ACTION=="add", ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0125", NAME="wwan1"
Но это не сработало.
Ответ или решение
Для решения проблемы с совпадением физических модемов Quectel EC25 и Quectel RM500Q с беспроводными интерфейсами wwan0
и wwan1
в Ubuntu, вы можете использовать правила udev для назначения стабильных имен сетевым интерфейсам. Давайте разберемся, как это сделать корректно.
-
Идентификация устройств: Первым делом вам необходимо удостовериться, что у вас есть правильные
idVendor
иidProduct
для ваших модемов. Вы можете выполнить следующую команду, чтобы узнать информацию об устройствах:lsusb
Это даст вам список всех подключенных USB-устройств. Убедитесь, что вы записали правильные значения
idVendor
иidProduct
. -
Создание правил udev: Теперь вы можете создать или отредактировать файл
/etc/udev/rules.d/70-persistent-net.rules
(если его нет, создайте новый файл):sudo nano /etc/udev/rules.d/70-persistent-net.rules
Добавьте в файл следующие строки, заменив значения
idVendor
иidProduct
на соответствующие вашему оборудованию:SUBSYSTEM=="net", ACTION=="add", ATTR{idVendor}=="2c7c", ATTR{idProduct}=="0800", NAME="wwan0" SUBSYSTEM=="net", ACTION=="add", ATTR{idVendor}=="2c7c", ATTR{idProduct}=="0125", NAME="wwan1"
-
Загрузка правил udev: После внесения изменений необходимо перезагрузить udev или перезагрузить компьютер (что проще). Для перезагрузки udev выполните:
sudo udevadm control --reload-rules sudo udevadm trigger
-
Проверка: После перезагрузки системы или udev, выполните команду
ip a
илиifconfig
для проверки того, какие интерфейсы были назначены вашим модемам. Убедитесь, что EC25 всегда отображается какwwan0
, а RM500Q какwwan1
. -
Настройка сетевых интерфейсов: Если ваши модемы требуют определенных настроек (например, настройки APN и т. д.), вам придется использовать NetworkManager или другие инструменты для настройки соединений на основе уже установленных имен интерфейсов.
Дополнительные советы:
- Если у вас все еще возникают проблемы, проверьте журналы системы для получения информации об ошибках, связанных с udev, с помощью команды
dmesg
илиjournalctl -xe
. - Отключите и снова подключите модемы после изменения правил, чтобы убедиться, что новые правила применяются корректно.
Соблюдая эти рекомендации, вы сможете настроить правильное соответствие между физическими модемами и беспроводными интерфейсами в вашей системе Ubuntu.