Pull to refresh

Альтернативная прошивка на ASUS RT-N10U для работы с 3G модемом ZTE-MF667

Расскажу о там, как мне удалось подружить роутер Asus RT-N10U BLACK и 3G модем ZTE-MF667. Решение оказалось не столь очевидным, возможно, кому-нибудь пригодится.

Немного про модем ZTE-MF667.
По характеристикам можно сказать, что это достаточно быстрый модем и уверенно держит соединение. Работает на ОС Windows, Mac OS X, linux (с ядром 2.6 и выше).
Но само подключение к интернет весьма интересно. На windows, после установки драйверов, при подключенном модеме, появляется виртуальный сетевой интерфейс, который смотрит на виртуальный роутер. Этот роутер по dhcp выдает сетевые настройки (ip, DNS и шлюз) новому интерфейсу. Также у виртуального роутера есть web-интерфейс, где можно посмотреть статистику, произвести настройки связанные с конкретным оператором связи и т. д.(для beeline и MTS все настраивается автоматически). В общем, все выглядит как-будто не модем подключен к компьютеру, а компьютер подключен к роутеру по ethernet. Для linux дела обстоят еще проще, т.к. драйвера уже есть в ядре. Так что втыкаем модем, и можно выходить в интернет.

Многие роутеры с USB-портом на стандартных прошивках имеют встроенный функционал для работы с 3G модемами. Но перед ZTE-MF667 стандартные прошивки бессильны. Не исключение и стандартная прошивка от Asus на RT-N10U. Очевидно, прошивку нужно менять. Известно, что Asus хорошо дружит с DD-WRT. Также ZTE-MF667 поддерживается этой прошивкой. А легкость, с которой ZTE-MF667 запускается в linux, отбрасывает все сомнения. Но к моему большому сожалению, с dd-wrt подружиться так и не получилось. По аналогии с linux, должен появиться новый сетевой интерфейс, но его нет! Как оказалось, за подъем интерфейса отвечают три модуля ядра (mii, usbnet и cdc_ether), которых нет в стандартной dd-wrt. Я очень долго пытался найти три заветных файла (mii.ko, usbnet.ko и cdc_ether.ko), но гугл мне не помог, а лишь указал на то, что я должен их собрать сам. Немного почитав, я оценил, что это не столь простое занятие, и нужен другой путь.

Поиск привел меня к TomatoUsb, и задача была решена.
Вот небольшая инструкция:
Ищем нужную версию прошивки с поддержкой USB на сайте или здесь. Там же качаем архив с дополнительными модулями (Optional kernel modules).
Заливаем прошивку на роутер согласно инструкции к прошивке.
Через web-интерфейс (http://192.168.1.1) включаем JFFS. Нужно, чтоб залить на роутер наши три заветных файла из дополнительного архива (mii.ko, usbnet.ko и cdc_ether.ko). Там же включаем SSH.
Теперь можно зайти на роутер по ssh, скажем, через Putty. Пробуем создать каталог: mkdir /jffs/modules и проверяем командой что получилось ls /jffs/.
Если каталог создался, по SCP (WinSCP) закидываем туда файлы модулей. Проверяем: команда ls /jffs/modules должна показать 3 файла: mii.ko, usbnet.ko и cdc_ether.ko.
Мы на пол пути к успеху. Далее все настройки делаем через web-интерфейс (http://192.168.1.1):
1. Отключаем WAN.
2. В настройках DHCP указываем default gateway 192.168.1.1 и адрес dns сервера 192.168.0.1 (dns сервер модема).
3. В разделе Scripts на вкладке Init добавляем загрузку наших модулей, подъем нового интерфейса eth2, назначаем адрес 192.168.0.10, прописываем роутинг и NAT:
insmod /jffs/modules/mii.ko
insmod /jffs/modules/usbnet.ko
insmod /jffs/modules/cdc_ether.ko
ifconfig eth2 up
ifconfig eth2 192.168.0.10 netmask 255.255.255.0 broadcast 192.168.0.255
route add default gw 192.168.0.1 eth2
iptables --table nat --append POSTROUTING --out-interface eth2 -j MASQUERADE
4. Сохраняемся и перезагружаем настроенный роутер, проверяем работу.

Адрес модема-роутера 192.168.0.1. На eth2 адрес прописываем вручную из сети 192.168.0.0/24, автоматом почему-то не получает. MASQUERADE можно заменить на src-nat, т.к. адрес модема не меняется.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.