В данной статье хочу рассказать вам, как я завел USB-модем Huawei E3531 в Kubuntu 14.04, так же известный, как МТС 423S и Мегафон M21-4...
Модем изначально определялся в системе как CD-Rom:
12d1:15e7
Естественно, намученный опытом я начал экспериментировать с usb-modeswitch. Но некоторое время спустя я не нашел данные VID и PID в базе usb-modeswitch.
На форуме usb-modeswitch появился вариант перевода в режим модема, который я и опробовал.
Создаем файл настроек:
sudo kate /etc/usb_modeswitch.d/12d1:15e7
# Huawei E3531
TargetVendor=0x12d1
TargetProduct=0x1506
MessageContent="55534243123456780000000000000011062000000101000100000000000000"
Но радоваться было рано, потому что в udev не прописаны правила для этого модема, которые нужно предварительно добавить.
Добавляем правила:
sudo kate /lib/udev/rules.d/40-usb_modeswitch.rules
# Huawei E3531
ATTR{idVendor}=="12d1", ATTR{idProduct}=="15e7", RUN+="usb_modeswitch '%b/%k'"
Перезапускаем правила udev и передергиваем модем:
sudo udevadm control --reload-rules
Для верности вручную переводим модем:
sudo usb_modeswitch -v 12d1 -p 15e7 -c /etc/usb_modeswitch.d/12d1:15e7
После этих манипуляций модем должен переключиться в режим модема и сменит свой VID и PID на:
12d1:1506
И вроде бы все хорошо, модем определился и виден в системе, работает в режиме модема, а не флешки или CD-Rom...
Но вот незадача - подключение создается, но не выполняется. Модем не хочет подключаться через NetworkManager и пишет нам: "Connection Deactivated". Дальнейшие манипуляции с обновлением ядра, usb_modeswitch не принесли результатов. И было принято решение установить родной Connect Manager, который шел в комплекте.
Но и он не устанавливался, а точнее не компилировался драйвер NDIS. Вот дела, думаю я - купил модемчик :-)
Но мы не сдадимся, будем биться до последнего! Что интересно, сам установщик на диске не является выполняемым, что несомненно удивило, а потому для удобства я перенес установочные файлы в домашний каталог и сделал их исполняемыми.
Переходим в директорию установщика и устанавливаем:
cd ~/'Connect Manager/Linux'
sudo ./install
Сам Connect Manager установится, но в процессе компиляции драйвера появится ошибка: Install NDIS driver failed. Установщик нас предупреждает об зависимостях build-essential, make и gcc. С зависимостями все в порядке, случайно нашел решение по компиляции:
Открываем каталог с установщиком драйвера, который был создан при компиляции Connect Manager:
sudo kate /usr/local/Mobile_Partner/driver/ndis_driver/ndis_src/src/hw_cdc_driver.c
Нажимаем F11 и ищем строчку 2718:
dbg ("can't kmalloc dev");
И закомментируем ее, поставив два слэша:
//dbg ("can't kmalloc dev");
Сохраним изменения и переустановим драйвер:
cd /usr/local/Mobile_Partner/driver/
sudo ./install
После этого драйвер установится и вы можете спокойно запускать Connect Manager и подключиться к всемирной паутине.
Также возможно вам пригодятся АТ-команды, которые можно выполнить через minicom:
sudo minicom --device=/dev/ttyUSB0
AT – проверка работоспособности команд
AT^SETPORT="A1,A2;1,16,3,2,A1,A2" - (Установить конфигурацию по умолчанию)
AT^SETPORT="A1,A2;1,2,3,16,A1,A2" - (режим для работы модема с Android 4.0 (иногда работает))
AT^SETPORT="A1,A2;1,16,3,2" - (девайс в режиме "модем + сетевая карта")
AT^SETPORT="A1,A2;1,3,2,A2" - (девайс в режиме "модем + Card Reader")
AT^SETPORT="A1,A2;1,3,2" - (девайс в режиме "только модем")
Модем изначально определялся в системе как CD-Rom:
12d1:15e7
Естественно, намученный опытом я начал экспериментировать с usb-modeswitch. Но некоторое время спустя я не нашел данные VID и PID в базе usb-modeswitch.
На форуме usb-modeswitch появился вариант перевода в режим модема, который я и опробовал.
Создаем файл настроек:
sudo kate /etc/usb_modeswitch.d/12d1:15e7
# Huawei E3531
TargetVendor=0x12d1
TargetProduct=0x1506
MessageContent="55534243123456780000000000000011062000000101000100000000000000"
Но радоваться было рано, потому что в udev не прописаны правила для этого модема, которые нужно предварительно добавить.
Добавляем правила:
sudo kate /lib/udev/rules.d/40-usb_modeswitch.rules
# Huawei E3531
ATTR{idVendor}=="12d1", ATTR{idProduct}=="15e7", RUN+="usb_modeswitch '%b/%k'"
Перезапускаем правила udev и передергиваем модем:
sudo udevadm control --reload-rules
Для верности вручную переводим модем:
sudo usb_modeswitch -v 12d1 -p 15e7 -c /etc/usb_modeswitch.d/12d1:15e7
После этих манипуляций модем должен переключиться в режим модема и сменит свой VID и PID на:
12d1:1506
И вроде бы все хорошо, модем определился и виден в системе, работает в режиме модема, а не флешки или CD-Rom...
Но вот незадача - подключение создается, но не выполняется. Модем не хочет подключаться через NetworkManager и пишет нам: "Connection Deactivated". Дальнейшие манипуляции с обновлением ядра, usb_modeswitch не принесли результатов. И было принято решение установить родной Connect Manager, который шел в комплекте.
Но и он не устанавливался, а точнее не компилировался драйвер NDIS. Вот дела, думаю я - купил модемчик :-)
Но мы не сдадимся, будем биться до последнего! Что интересно, сам установщик на диске не является выполняемым, что несомненно удивило, а потому для удобства я перенес установочные файлы в домашний каталог и сделал их исполняемыми.
Переходим в директорию установщика и устанавливаем:
cd ~/'Connect Manager/Linux'
sudo ./install
Сам Connect Manager установится, но в процессе компиляции драйвера появится ошибка: Install NDIS driver failed. Установщик нас предупреждает об зависимостях build-essential, make и gcc. С зависимостями все в порядке, случайно нашел решение по компиляции:
Открываем каталог с установщиком драйвера, который был создан при компиляции Connect Manager:
sudo kate /usr/local/Mobile_Partner/driver/ndis_driver/ndis_src/src/hw_cdc_driver.c
Нажимаем F11 и ищем строчку 2718:
dbg ("can't kmalloc dev");
И закомментируем ее, поставив два слэша:
//dbg ("can't kmalloc dev");
Сохраним изменения и переустановим драйвер:
cd /usr/local/Mobile_Partner/driver/
sudo ./install
После этого драйвер установится и вы можете спокойно запускать Connect Manager и подключиться к всемирной паутине.
Также возможно вам пригодятся АТ-команды, которые можно выполнить через minicom:
sudo minicom --device=/dev/ttyUSB0
AT – проверка работоспособности команд
AT^SYSCFG=13,1,3fffffff,0,0 – режим только 2G
AT^SYSCFG=2,1,3fffffff,0,0 – режим предпочтительно 2G
AT^SYSCFG=14,2,3fffffff,0,1 – режим только 3G
AT^SYSCFG=2,2,3fffffff,0,1 – режим предпочтительно 3G
AT^SYSCFG=2,2,3fffff ff,0,2 – режим включение 2G и 3GAT^SETPORT="A1,A2;1,16,3,2,A1,A2" - (Установить конфигурацию по умолчанию)
AT^SETPORT="A1,A2;1,2,3,16,A1,A2" - (режим для работы модема с Android 4.0 (иногда работает))
AT^SETPORT="A1,A2;1,16,3,2" - (девайс в режиме "модем + сетевая карта")
AT^SETPORT="A1,A2;1,3,2,A2" - (девайс в режиме "модем + Card Reader")
AT^SETPORT="A1,A2;1,3,2" - (девайс в режиме "только модем")
AT^SETPORT="FF;1,2" (девайс в режиме "модем + пользовательский интерфейс")
AT^SETPORT="A1,A2;2,16" - (девайс в режиме "сетевая карта")
AT^SETPORT="A1,A2;2,16,A1" - (девайс в режиме "сетевая карта + CD-ROM")
AT^SETPORT="A1,A2;2,16" - (девайс в режиме "сетевая карта")
AT^SETPORT="A1,A2;2,16,A1" - (девайс в режиме "сетевая карта + CD-ROM")
Добавлю отдельным комментарием следующие приключения с поделием от МТС.
ОтветитьУдалитьПосле установки Коннект Менеджера (КМ) компилируется NDIS-драйвер и создается специальный активатор - HWactiwator, который в свою очередь призван запускать программу КМ при вставке модема в USB-порт и переводить его в режим можема. Так мало того, что сам КМ выглядит убого (просто нет слов, как можно нарисовать такой некрасивый скин, который смотрится нелепо абсолютно на всех ОС?), так еще и HWactivator начинает поглощать тонны оперативки и за час работы он съедает порядка 1 Gb.
В общем, как оказалось мой модем оснащен функцией HiLink - это когда модем работает в режиме сетевой карты со своим шлюзом, т.е. ненужно настраивать, ставить драйверы и программы и т.д. У этого интерфейса есть есть свой WebUI, который можно открыть через адрес 192.168.1.1 и глянуть настройки. Вставляешь модем в порт и он сразу подключается автоматически.
Пришлось разлочить модем, чтобы его прошить универсальной прошивкой и залить WebUI, теперь модем работает превосходно без всяких Коннект Менеджеров и Нетворк Менеджеров.
Еще нужно установить новую версию usb-modeswitch, чтобы она распознала модем, для этого подойдут пакеты из Debian Sid.
Если кому нужна точная инструкция по прошивке, то обращайтесь.
буду очень благодарен если вышлешь инструкцию на мыло d01540450 @ gmail . com. После поисков пришел к выводу что у меня e3372s. В виндовс вроде бы работает. По троянчику коннект манагера отписался ниже. Эта поделка иногда ещё и не собирается в x64...
УдалитьЯ уже отписал инструкцию, ниже смотрите.На 4PDA все подробно расписано:
Удалитьhttp://4pda.ru/forum/index.php?showtopic=582284
Добрый день, поимел ту же самую проблему, но под линукс (у меня debian wheezy) так и не смог запустить этот модем. При этом в винде работает нормально. Поэтому если скажете как перепрошить буду благодарен.
ОтветитьУдалитьВсе процедуры выполняются в Windows.
УдалитьДля начала нужно разлочить модем. К сожалению, коды разблокировки пока не доступны в паблике. Но вы можете его приобрести:
http://3ginfo.ru/forum-t1.html
Получите код для разлочки и прошивки.
Разлочите модем (вставьте SIM другого оператора), потом шьете его прошивкой HiLink:
http://3ginfo.ru/downloads947.html
Заливаете универсальный webUI:
https://3ginfo.ru/downloads1038.html
Для заливки WebUI нужно установить другой драйвер. А именно HiLink, мне подошел от Е3131 HiLink:
http://rghost.ru/50778882
Модем теперь автоматически будет подключаться в любой ОС, используя свой шлюз. Веб-интерфейс обычно стартует на 192.168.1.1. Бывает иногда модем не сраузу подключается при вставке в USB, но такое случается редко.
Я не пойму, что за беда у меня!? Вообщем есть Билайн модем Huawei E3131 раньше просто и без проблем устанавливалась программа от Билайна на Линукс, но вот переустановил систему и после этого началась такая беда! Ядро то же, что и раньше, система та же, домашний каталог тот же! Делал по инструкции как написана в этом блоге - нифига не получается!!! Модем подключается связь есть, через терминал можно скачивать пакеты, но ни один браузер не хочет работать! Выдает что нет подключения к Интернету!!!! :(
ОтветитьУдалить=Игорь=
Попробуйте прошить модем на HiLink-прошивку, так будет работать в любой ОС Linux и никаких программ и проприетарных драйверов больше не потребуется. Так сказать, сделал и забыл.
УдалитьКоды разблокировки и методы уже можно айти в гугле. Вот к примеру:
http://накачать.рф/553-huawei-e3131-razblokirovka-proshivka-razlochka.html
Шьете его универсальной прошивкой и заливаете WebUI
после установки этого манагера, мать его за ногу... проверяйте /etc/sudoers... там будет большой сюрприз в виде nopasswd to all. И sudo без пароля будет у вас работать по умолчанию. Как вам такая дыра?
ОтветитьУдалитьсущественной разницы между вариациями этой проги от ОПСоС ов нет. Во всех случаях пихается скрипт runhuawei, или что то вроде того, в /etc/init.d , который, как я понял следит за тем втыкнули ли приблуду или нет. Ну и удобства ради не безопасности для... срёт NOPASSWD в /etc/sudoers
УдалитьНу это я исправил! Интересно, а он ещё нигде не нагадил?
УдалитьПриветствую, ведя данную команду /lib/udev/rules.d/61-option-modem-modeswitch.rules
ОтветитьУдалитьгде надо вести vid и pid?
спасибо всё получилось,только после мтс конекта сразу установил мегафон модем пошли оба.только получилось что значок мтс связь автоматом,а запускается мегафон прога и пишет мтс....как то смесь,но работает...мегафон модем Huawei М21-1,а мтс Huawei e 171..как то так.А всё остальное ок...теперь два модема с драйвером немного поколдовал как написано выше...и ок
ОтветитьУдалитьполдня парился, помогла эта статья. только будьте внимательны, когда от одного устройства в dmesg пишется 2 ProductID. один это накопитель, второй - модем. не работало, пока не сравнил внимательно вывод dmesg
ОтветитьУдалитьE3531s AT команда
ОтветитьУдалитьAT^SETPORT="A1,A2;1,3,2"
Не работает. Возвращает ERROR
Статья 14 года!
УдалитьШейте модем в HiLink прошивку. Потом просто можете ему отключать zeroCD:
sudo usb_modeswitch -v 12d1 -p 1f01 -J
Или так же правило для udev добавьте в /lib/udev/rules.d/:
# Fucking huawei
ATTR{idVendor}=="12d1", ATTR{idProduct}=="1f01", RUN+="/lib/udev/usb_modeswitch -v 12d1 -p 1f01 -J"
Все новые модемы Huawei сейчас идут с HiLink- прошивкой, у которой свой WebUI, там и смс можно отсылать и трафик проверять и т.д.
ОтветитьУдалитьРазлачивайте модемы и шейте в HiLink!!!