Встала недавно задача - перепрошить модем от Билайна (ZTE MF667), чтобы он мог видеть разные сим-карты. Меня самого сложно назвать фанатиком Linux, но ставить на компьютер Windows, чтобы взломать модем, показалось мне слишком странным занятием. А ведь большинство инструкций начинаются именно с этого. Предлагают поставить винду, взломать там модем, а потом удалить винду. Мне показалось бредовым наличие таких инструкций. Настоящие фанаты (виндоненавистники) в таких случаях советуют купить нормальное устройство, работающее с Ubuntu без танцев с бубном. Но оказывается, иногда есть и другой путь!
Итак, в чём суть проблемы? Модемы от Билайна залочены довольно хитрым способом. В прошивке есть файл NODOWNLOAD.FLG - это что-то вроде инструкции модему, периодически отсылать на компьютер команду и получать зашифрованный ответ от фирменной билайновской программы. Собственно фирменная билайновская программа для доступа в интернет работает только под оффтопиком, под Ubuntu она не запускается даже под богомерзким вайном. Таким образом даже с сим-картой билайна пользователь линукса не сможет выйти в интернет с их модема(сам не проверял, но на форуме люди ныли). Обычно для удаления файла NODOWNLOAD.FLG нужна программа QPST, которая запускается только под Windows, но случайно бродя по сети я наткнулся на список AT-команд (это команды, с помощью которых компьютер управляет модемом) для модемов ZTE. Оказывается, файл NODOWNLOAD.FLG можно отключить (или удалить) с помощью одной из таких команд. Бинго!!!
Собственно, всё что нам нужно - программа для отсылки этих самых AT-команд. Предупреждаю, найденная мной программа не имеет графического интерфейса. Я использовал программу minicom.
Чтобы установить эту программу скопируйте в терминал:
sudo apt-get update && sudo apt-get install minicom
Также можно найти нужную программу в пакетном менеджере (Synaptic например) и нажать "установить". Затем нужно вставить наш модем и найти имя, под которым он зарегистрировался. Это можно сделать командой (опять же в терминале):
dmesg | grep attached
У меня эта команда показала сразу три устройства. Просто модем определился, как три разных устройства. Одно из них будет модемом. Только оно будет принимать AT-команды. У меня это оказалось ttyUSB2. Если у вас много usb-устройств, то возможно будет другое имя. Дальше выполняем:
sudo minicom --device=/dev/ttyUSB2
Вместо ttyUSB2 вам следует вставить своё значение. Затем набираем команду
ATE
После нажатия кнопки Enter вам должно ответить ОК, если вы подключились к модему. Теперь можно отправлять на модем AT-команды. Нас интересует только одна из них.
AT+ZCDRUN=E
После этого тоже должен прийти ответ об успешном выполнении команды. Собственно теперь можно выходить из программы и работать с любой сим-картой.
P.S.: На некоторых форумах говорят, что с последней версией прошивки это не сработает, так как там внедрена новая система защиты. Впрочем, сам я это не проверял. На испытуемом MF667 и модемах с той же системой защиты должно всё работать. Благо мороки гораздо меньше и времени уйдёт меньше, чем на установку Windows.