Найти в Дзене
make_zbs

Обход ограничений на интернет сотового оператора и что такое Hilink прошивки USB модема

Давно не ковырялся в современных 3G/4G USB модемах, но недавно возникла необходимость организовать стабильный доступ в интернет сразу в нескольких местах где нет кабельного интернета и пришлось вопрос вплотную исследовать. Я был приятно удивлен насколько просто и быстро в итоге решилась задача и поэтому решил поделиться результатами, дабы натолкнуть читателей сразу выбирать правильный подход к решению аналогичных задач.

Вначале задача представлялась довольно затратной по времени. Из свободных железяк для организации доступа в интернет был только модем МегаФон M150-2 (брендированный Huawei E3372s) и Raspberry Pi, через который я планировал программно управлять модемом.

Начал решать задачу ранее знакомыми способами - пытаться поднять соединение через утилиты sakis3g или wvdial, управляя модемом через minicom/microcom/picocom и проверяя баланс и настройки по ussd через gammu. При этом сразу вскрылись несколько проблем операторской прошивки - запрет использовать сим-карты других операторов, запрет ussd команд, запрет смены TTL и IMEI (что делало невозможным не платить за раздачу интернета на другие устройства), запрет использования расширенных AT команд, сбой маршрутов в ядре linux после физического отключения модема.

"Чтож, тут работы на несколько дней" - подумал я, открыв инструкции 4pda и начал методично разбираться с каждой из залочек. Из приведенных инструкций сработала только разблокировка simlock, и то через прямую запись флага в NV-RAM. Обход остальных ограничений требовал снятия datalock, а терминал модема упорно выдавал ERROR на коды, которые расчитывались калькуляторами.

Спустя несколько часов безуспешных попыток снять datalock с заводской прошивки модема я решил поискать альтернативные прошивки.

От 4pda узнал что для данного модема существуют 2 принципиально разных типа прошивок - STICK и HILINK.

С прошивкой STICK USB модем устанавливает соединение через командный AT-порт посредством PPP-протокола. Именно так работают практически все 2G/3G-модемы предыдущих поколений. Недостаток этой архитектуры в том что установление соединения и поддержка работы канала всегда производится средствами ОС компьютера. Отсюда вытекающие сложности - необходимость разбираться и конфигурировать пакеты конкретного linux дистрибутива.

С прошивкой же HILINK модем работает в режиме роутера, и представляется компьютеру в виде сетевого интерфейса (usb-ethernet-rndis). Компьютер получает с этого интерфейса сетевые настройки через DHCP, и далее ходит через него в интернет, как через обычную проводную локальную сеть. Всю заботу об установлении соединения и поддержании канала модем берет на себя, компьютер даже не замечает, что доступ в интернет осуществляется через сототвую сеть. В этом режиме модем имеет свой собственный локальный IP-адрес (обычно 192.168.8.1), видимый со стороны компьютера как шлюз по умолчанию (default route), а также внешний IP-адрес, получаемый из сотовой сети. Между сетью сотового провайдера и локальной сетью (модем-компьютер) осуществляется маршрутизация с использованием механизма трансляции адресов (NAT). Предусмотрен и проброс портов из внешней сети (port forwarding и DMZ). Настройка модема в режиме HILINK производится через WEB-интерфейс, имеющийся в модеме, и доступный через его локальный IP-адрес. Также через WEB-интерфейс доступна информация о состоянии модема и сигнале сотовой сети, управление подключением, прием-передача SMS-сообщений и USSD-команд, SIM-меню и многое другое. Это особенно ценно для пользователей Linux, а также для тех, у кого модем подключен не напрямую к компьютеру, а к домашнему роутеру. В HILINK прошивках внутри конкретно моего модема работает целая операционная система, построенная на базе Android 2.3 с ядром linux 3.4.5.

В общем, я рискнул прошить модем из STICK на HILINK прошивку и не пожалел. Помимо того что теперь модем сам автоматически подключается к интернету, читая параметры apn с любой сим-карты, из коробки я получил решение для обхода запрета бесплатной раздачи интернета на другие устройства (ура, теперь можно платить за интернет на 200 руб в месяц меньше!) и удобный интерфейс настройки направленности антенны на базовую станцию.

Так что всем рекомендую в первую очередь погуглить на 4pda есть ли HILINK прошивка для вашей модели USB модема. Для многих модемов Huawei она есть. Если такая прошивка существует, то смело пробуйте прошиваться. Благо благодаря многочисленным энтузиастам процесс прошивки упрощен до запуска одного exe файла в Windows. Впрочем, и для MAC/Linux прошивальщики тоже существуют.