Windows здесь вообще ни при чём - мы ведь говорим о работе модема с роутером, работающим под управлением Linux.
Посмотреть идентификаторы (VID/PID) USB-устройств в консоли Linux обычно можно с помощью команды
lsusb .
usb_modeswitch - специализированная Linux-утилита, основное назначение которой - переключение модемов из режима ZeroCD (когда доступен только CD-ROM) в рабочий режим. Подобную задачу в Windows решает драйвер составного устройства или (иногда) дашборд. Фактически, эта операция представляет собой "извлечение" CD-ROM, в неизменном или модифицированном виде. usb_modeswitch практически всегда входит в комплект прошивки роутеров и настроен на автоматический запуск при обнаружении известных ему комбинаций VID/PID. Что именно (какая композиция USB-устройств) получится после срабатывания usb_modeswitch, можно с уверенностью сказать только после тестирования с конкретной моделью, т.к. модемы одного производителя часто имеют одинаковую комбинацию VID/PID в режиме ZeroCD, но реагируют на одну и ту же команду переключения совсем по-разному.
Почти все современные модемы, однако, имеют возможность выбрать режим, в котором ZeroCD не используется, а нужные для передачи данных компоненты доступны сразу после включения (пример - RNDIS в том же режиме с PID=1403 у MF823). Авторы прошивок для роутеров обычно плохо разбираются в модемах - точнее, плохо следят за новостями в этой отрасли. Поэтому, например, ещё сейчас встречаются прошивки, которые могут работать с модемами только через COM-порты, которые у того же MF823, например, нельзя использовать для установления соединения. Для таких новых модемов в использовании usb_modeswitch нет необходимости. Более того, запускаясь "не по делу", он может непреднамеренно привести к ошибкам в работе модема. Это маловероятно, но может быть.
Возвращаясь к Вашей ситуации: если у Вас модем при подключению к роутеру из режима ZeroCD корректно переключается в режим с доступным CDC (проверьте PID с помощью lsusb) и после этого нормально работает, то usb_modeswitch работает правильно - ведь Вы получаете то, что нужно.
Минус такого решения - необходимость в дополнительной операции при подключении к компьютеру с Windows.
А чтобы полноценно проверить работу модема с роутером в "родном" режиме RNDIS, автозапуск usb_modeswitch нужно, по-хорошему, отключить. Для того, чтобы это сделать, нужно иметь определённый опыт администрирования Linux, которого, насколько я понимаю, у Вас нет. Так что "не морочьтесь", оставьте так, как работает. Тем более, что мы не знаем - запускается ли он у Вас на самом деле. Более того, если выяснится, что драйвера/модуля rndis_host всё-таки нет в прошивке роутера, его нужно будет добавлять, и Вы снова столкнётесь с необходимостью приобретения дополнительных навыков работы с Linux.
Автоматическое включение композиции с CDC можно настроить и на модеме с помощью т.н. "двойного переключения". Но это решение будет хуже, чем тот вариант, что у Вас уже работает, потому что работа с модемом в среде Windows тогда будет совсем невозможна.
---------- Сообщение добавлено в 17:15 ---------- Предыдущее сообщение было от в 17:11 ----------
Вы прошивали алтеловские модемы? А какую задачу Вы решали с помощью прошивки?