Поддержка > USB-модемы, мобильный интернет
Runtu XFCE 16.04 c Huawei E3372H
(1/1)
Пользователь.:
Huawei E3372H с прошивкой Hilink, переключение из режима CD-ROM в CdcEthernet.
В Runtu XFCE 16.04 усб модем Huawei E3372H не подключается к интернету и в файловом менеджере отображает диск с программами для него (CD-ROM).
Для выхода в интернет нужно переключить устройство из режима CD-ROM в CdcEthernet (модем с эмуляцией Ethernet).
1. Посмотреть коды производителя и модели устройства через программу lsusb
--- Код: ---lsusb
--- Конец кода ---
2. Посмотреть в руководстве по usb_modeswitch параметр переключения из режима CD-ROM для вашего производителя, мне подошел параметр -J
--- Код: ---man usb_modeswitch
--- Конец кода ---
3. Для автоматического переключения устройства в режим модема нужно создать /etc/udev/rules.d/40-huawei-e3372h.rules
В файловом менеджере открыть с правами администратора папку /etc/udev/rules.d, нажать правой кнопкой мыши в пустом месте - создать пустой файл, дать ему название 40-huawei-e3372h.rules
Открыть его в текстовом редакторе, вставить следующий текст
--- Код: ---DRIVERS=="usb", ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1f01", RUN+="/usr/sbin/usb_modeswitch --default-vendor 0x12d1 --default-product 0x1f01 -J"
--- Конец кода ---
Если у вас другое устройство - замените коды производителя и модели, а также параметр переключения.
Последнюю строку оставить пустой.
Сохранить. Закрыть.
Вытащить/вставить модем, после этого подключение к интернету должно заработать.
В Runtu XFCE 18.04 и более новых системах этого делать не требуется, модем там работает нормально.
Оформил результаты исследования в виде инструкции, исследование с подробностями спрятал в спойлер, надеюсь инструкция кому-нибудь пригодится.
Спойлер: ПоказатьСкрытьRuntu XFCE 16.04 c Huawei E3372H
Совсем недавно я перекочевал на старом компьютере в систему Runtu XFCE 16.04 x64
И мой модем Huawei E3372H с прошивкой Hilink отображался в системе как CD-ROM (в файловом менеджере и в lsusb).
Первое время спасался с помощью роутера с поддержкой усб модемов, втыкал туда и роутер уже передавал по лан кабелю данные в компьютер. Но мне этот способ не нравился, так как карта памяти вставленая в модем была доступна только в веб интерфейсе роутера, а там убогий файловый менеджер. Иногда модем в роутере не подключался, приходилось вытаскивать и втыкать модем.
Решил разобраться с этим неудобством.
Гугление выдало информацию что Hilink тоже можно переключить из режима CD-ROM в модемный.
Для этого нужно посмотреть в lsusb коды производителя и продукта, а также узнать в интернете какие коды производителя и продукта должны быть, когда модем переключен в модемный режим.
Эти коды можно прописать в /etc/usb_modeswitch.conf
DefaultVendor = 0x12d1
DefaultProduct = 0x1f01
TargetVendor= 0x12d1
TargetProduct= 0x14dс
После этого можно станет переключать устройство в режим модема этой командой
--- Код: ---sudo usb_modeswitch -c /etc/usb_modeswitch.conf -J
--- Конец кода ---
Затем я решил автоматизировать эти действия, чтобы не вводить команду вручную после каждой вставки модема.
Запустил файловый менеджер с правами администратора, создал этот файл
/etc/udev/rules.d/40-huawei-e3372h.rules
В него написал такой текст
--- Код: ---DRIVERS=="usb", SUBSYSTEMS=="usb", ATTRS{idProduct}=="1f01", ATTRS{idVendor}=="12d1", RUN+="/usr/sbin/usb_modeswitch --default-vendor 0x12d1 --default-product 0x1f01 --target-vendor 0x12d1 --target-product 0x14dс -J"
--- Конец кода ---
Сохранил.
Теперь модем сам переключается в нужный режим.
В Runtu XFCE 18.04 модем работает и без этих настроек.
======================
Хочу еще расписать что означают части команды
--- Код: ---DRIVERS=="usb", SUBSYSTEMS=="usb", ATTRS{idProduct}=="1f01", ATTRS{idVendor}=="12d1", RUN+="/usr/sbin/usb_modeswitch --default-vendor 0x12d1 --default-product 0x1f01 --target-vendor 0x12d1 --target-product 0x14dс -J"
--- Конец кода ---
DRIVERS=="usb", SUBSYSTEMS=="usb", ATTRS{idProduct}=="1f01", ATTRS{idVendor}=="12d1"
Это указавает что устройство подключается по усб, указывает идентификаторы поизводителя и модели устройства
RUN+="...."
Это указывает выполнить команду прописанную в кавычках
Запятая и пробел после нее - это разделители для udev
/usr/sbin/usb_modeswitch --default-vendor 0x12d1 --default-product 0x1f01 --target-vendor 0x12d1 --target-product 0x14dс -J
Это команда которую нужно выполнить при обнаружении устройства
Запустить usb_modeswitch
Для устройства с идентификаторами default (изначальными) послать команду -J (как я понял это замена --message 123456789..., то есть команды модему для переключения режима, в man usb_modeswitch такие упрощенные ключи есть для многих производителей)
После выполнения команды udev должен получить идентификаторы target (измененные), возможно при неудаче осуществляется повторная попытка, если не указать - то должно посылать один раз. Но это предположение нужно проверять.
===============
Выполнил оптимизацию команды, укоротил для ускорения выполнения и уменьшил необходимую информацию о модеме.
--- Код: ---DRIVERS=="usb", ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1f01", RUN+="/usr/sbin/usb_modeswitch --default-vendor 0x12d1 --default-product 0x1f01 -J"
--- Конец кода ---
Теперь достаточно посмотреть lsusb и если у вас другое устройство - заменить в команде идентификаторы устройства.
И не забыть посмотреть в man usb_modeswitch ключ переключения режимов для вашего устройства (у меня указан -J), либо то же самое сделать длинной командой message.
Пользователь.:
В Runtu XFCE 18.04 все работало само.
В Runtu LITE 20.04 опять появились проблемы.
В /etc/usb_modeswitch.conf включил эту настройку
--- Код: ---DisableSwitching=1
--- Конец кода ---
Она отключает автопереключение режимов модема.
А дальше как обычно создал /etc/udev/rules.d/40-huawei-e3372h.rules с таким содержимым
--- Код: ---DRIVERS=="usb", ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1f01", RUN+="/usr/sbin/usb_modeswitch --default-vendor 0x12d1 --default-product 0x1f01 -J"
--- Конец кода ---
Перезагрузил и проблемы с сетью исчезли.
Навигация
Перейти к полной версии