DIR825. Yota-интернет.

DIR825. Yota-интернет.

В последнее время среди москвичей (и жителей некоторых других городов) приобрел немалую популярность способ выхода в интернет по технологии Wi-Max Mobile, предоставляемый компанией Скартел  под торговой маркой Yota. Привлекательность заключается в мобильности доступа – из любой точки покрытия, а Москва на текущий момент покрыта практически полностью, в том числе есть возможность пользоваться связью в движении. Плюс к этом очень привлекательная цена (при оплате за месяц) – немногим выше, чем у домашнего проводного интернета, и сопоставимая со стоимостью канала ADSL равной скорости. Наиболее бюджетным и универсальным оборудованием, позволяющим воспользоваться Yota является usb-модем производства Samsung. Он без проблем работает с любым компом и ноутбуком под мелко-мягкой осью. Но вот если например вы используете иную операционную систему, или хотите использовать интернет канал сразу для работы двух и более компьютеров – то использовать данный usb-модем в «штатном» включении уже не получится. Конечно можно не мудрствовать лукаво и отстегнуть бабла за один из маршрутизаторов, предлагаемых Скартелом — у которых в качестве интерфейса WAN используется Wi-Max, а в качестве LAN – Wi-Fi или классический EtherNet. К сожалению подобные модели не могут похвастаться не дешевизной не функциональностью и уж тем более гибкостью конфигурирования.

Данная статью посвящена описанию того, как настроить usb-модем Samsung SWC-U200 на использование в качестве WAN интерфейса в рассматриваемом маршрутизаторе. Разумеется, DIR825 это очень функциональная железка, и покупали мы ее (и соответственно покупать вам ее нужно) не для того, чтобы организовать раздачу Yota на несколько компов (для этого есть например более бюджетный DIR320) – просо если действительно нужна миниатюрная и функциональная линуксовая машинка, которой и является DIR825, то одной из выполняемых функций может быть и использование канала Yota.

Вопросам тонкой настройки DIR825 будет посвящено не мало (я надеюсь) статей, и эту, первую из них, я постараюсь описать именно по существу, не касаясь нюансов, которым будут посвящены следующие статьи (как например тема использования внешнего накопителя и многое другое).

 

Аппаратная часть.

 

Тут все проще простого. Модем предварительно нужно зарегистрировать, проплатить доступ – все штатным образом, а также установить в личном кабинете галку позволяющую получать доступ к интернету без дополнительной авторизации. Другими словами – добиться того, что бы иметь доступ к интернету через Yota  с компа. Подключаем модем к usb-порту маршрутизатора, лучше заранее обзавестись хабом, ведь порт всего один (а интересностей повесить всяких можно много). На крайний пожарный случай подойдет удлинитель. В качестве прошивки используем OpenWrt BackFire 10.03 (детальнее о прошивке в другой раз). Вот собственно и все – переходим к настройкам.

 

Программная часть.

 

И так, практически, тезисно:

  1. Скачиваем листинг репозиторя (имея настроенное подключение маршрутизатора к интернету, например через EtherNet):
  2. opkg update

    Можно устанавливать пакеты локально или из локального репозитория (подробности выходят за рамки данного материала).

  3. Устанавливаем необходимые пакеты:
  4. opkg install madwimax

    Этой командой помимо драйвера madwimax должны также установиться следующие пакеты: libusb, kmod-tun, libpthread (убедитесь, что это так). Модули ядра (kmod-*) должны быть установлены на встроенную память (это на заметку тем, кто мигрировал систему на usb-диск).

  5. Добавляем в конфигурационный файл /etc/config/network следующие строки:
  6. 
    config 'interface' 'wimax' 
         option 'proto' 'dhcp'
         option 'ifname' 'wimax0'
         option 'defaultroute' '0'
         option 'peerdns' '0'

  7. Удаляем содержимое файла /etc/init.d/madwimax (если таковой имеется), помещаем в него следующее:
  8. Листинг файла
    #!/bin/sh /etc/rc.common
    # Copyright (C) 2006 OpenWrt.org

    START=90
    STOP=90

    start() {
    # Yota WiMax modem - Samsung SWC-U200 (fix it for other device)
         vid="04e8"
         pid="6761"
    # Find device in "lsusb" out listing ...
         usb_bus="$(lsusb | grep $vid:$pid | awk -F'[: ]+' '{print $2}')"
         usb_dev="$(lsusb | grep $vid:$pid | awk -F'[: ]+' '{print $4}')"
    # ... and check results
         if [ -n "$usb_bus" ] && [ -n "$usb_dev" ]
    # If the device was found - by connecting it!
              then /usr/sbin/madwimax -v -d -o -f --exact-device=$usb_bus/$usb_dev
         fi
    }
    stop() {
         killall madwimax
    }
    restart() {
         stop
         start
    }

    Права на доступ к файлу 755.

  9. Аналогично приводим файл /etc/hotplug.d/usb/20-madwimax к следующему виду:
  10. Листинг файла
    #!/bin/sh
    case "$ACTION" in
         add)
              [ -n ${PRODUCT} ] &&
              [ -n ${INTERFACE} ] &&
              [ "${PRODUCT}" = "4e8/6761/1" ] &&
              [ "${INTERFACE}" = "255/0/0" ] && {
                   /etc/init.d/madwimax start
              }
              ;;
         remove)
              [ -n ${PRODUCT} ] &&
              [ -n ${INTERFACE} ] &&
              [ "${PRODUCT}" = "4e8/6761/1" ] &&
              [ "${INTERFACE}" = "255/0/0" ] && {
                   /usr/bin/killall madwimax
                   return 0
              }
              ;;
    esac

  11. Перезагружаемся.
  12. Активация соединения и выхода в интернет через Wi-Max происходит командой:

/etc/init.d/madwimax start

При этом WAN соединение по EtherNet автоматически (почему-то) отключится – но нам именно это и нужно ;-))
Вернуться обратно на проводной доступ можно командой:

/etc/init.d/madwimax stop

Если есть желание обеспечить автозапуск функции подключения соединения Wi-Max – выполняем следующее:

/etc/init.d/madwimax enable

На этом закончим сею кратенькую памятку, которой должно хватить «за глаза».

Comments

This post currently has 8 responses

  • Спасибо. установил модем. не скажу что как то сходу. Зато с ходу обнаружилась новая проблема. у меня на ревизии B2 в этой сборе не работает вай фай. ни сразу ни когда можем добавился
    или поставить галочку и дать название сети недостаточно? наверное опять есть какие то "общеизвестные" и потому не заслуживающие упоминания мелочи?

    root@OpenWrt:~# wifi up
    radio0(cfg08bce8): Invalid mode, ignored.
    'radio1' is disabled
    radio0(cfg08bce8): Invalid mode, ignored.
    Configuration file: /var/run/hostapd-phy0.conf
    Could not set interface wlan0 flags: Cannot assign requested address
    nl80211: Could not set interface 'wlan0' UP
    nl80211 driver initialization failed.
    rmdir[ctrl_interface]: No such file or directory
    Failed to start hostapd for phy0
    'radio1' is disabled
    root@OpenWrt:~#

  • После madwimax start ничего видимого не происходит (это нормально). Как меняется конфигурация сетевых интерфейсов можно посмотреть в скришотах к статье про комстар … (настройка под комстар отличается всего лишь дополнительным параметром —ssid=@wimax.comstar-uts.ru, не считая прошивки модема).

    Проверить успешность коннекта к инету (при аналогичным виде скриншотов упомянутых выше) можно путем пинга и трейса непосредственно из консоли маршрутизатора — хоть до того же гугла … Если тут облом, но смотрим таблицу маршрутизации (команда route) — при подконнекченом ваймахе она у меня имеет следующий вид:

    192.168.1.0     *               255.255.255.0   U     0      0        0 br-lan
    10.165.0.0      *               255.255.224.0   U     0      0        0 wimax0
    default         10.165.0.1      0.0.0.0         UG    0      0        0 wimax0

    ЗЫ. Не поленился достал снова йотовский свисток, еще раз проверил — все работает (даже не знаю где может быть заковыка). Кабель ван можно вообще не подключать …

  • загрузил squashfs-backup-loader.bin. используя portable winscp сделал по шагам. права проверил
    команда lsusb вот что возвращает

    root@OpenWrt:~# lsusb
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 001 Device 002: ID 04e8:6761 Samsung Electronics Co., Ltd
    root@OpenWrt:~#
    доходим до команды /etc/init.d/madwimax start
    и ничего. ничего не происходит. в настройках теперь можно обнаружить что есть интерфейс wimax. ничего не меняеся. никакого трафика с модема нет.  в логе есть даже упоминание о cdrom samsung, который монтируется с этим модемом.
    что то важное пропущено. не могу понять что

  • права проверил. попробую сейчас начисто. отпишусь

  • В файлах /etc/hotplug.d/usb/20-madwimaх и /etc/init.d/madwimax удалять старое содержимое, заменяя на предложенное (можно конечно не удалять, а вносить изменения — но удалять не вникая, наверное проще). Редактор vi крайне непонятный и практически имхо неюзабельный (вот такой вот я линуксоид ;-) … если под консолью — то можно воспользоваться оболочкой mc (MidnightCommander, разумеется предварительно еe установив). Но удобнее имхо воспользоваться все же WinSCP. Кстати — права 755 не забыл выставить ?

  • Именно это я и сделал. я убедился что драйверы в сборку инсталированы и даже есть некий скрипт отвечающий за madwimax (он не мешает?). дальше обычным vi изменил /etc/config/network /etc/hotplug.d/usb/20-madwimax /etc/init.d/madwimax. перезапустил рутер. и после этого по /etc/init.d/madwimax start ничего не происходит. не отключается интерфейс меди и не работает yota. модем какое то время светит синим цветом и благополучно гасит синий светодиод. в luci сама строка про интерфейс wimax появляется. но вот дальше никак.

  • Применяя последнюю версию моей сборки (r24824) из предложенного в данной статье алгоритма нужно исключить пункты 1 и 2 (эти пакеты уже интегрированы в образ). Вся конфигурация по прежнему настраивается вручную (просто я не занимался еще вопросом — как включать модифицированные конфиги в образ, имхо это не очень актуально). На прошивках с официального сайта openwrt никакие дополнительные пакеты в образ не включены (можно и нужно их ставить отдельно — см. пп.1-2) — не забывая про то, что модули kmod-* должны соответствовать версии ядра (т.е. правильно выбираем репозиторий). На официальные сборки прошивок я не ориентируюсь с тех пор как изучил процесс их самомстоятельной сборки ;-))

    Настройку "вай-мах свистка" целесообразно начать с проверки "виден ли он системе" — командой lsusb (среди подключенных устройств его сложно не заметить). Далее нужно внести изменения в конфиги (предложенные в статье) — для этого удобно (имхо) воспользоваться менеджером FAR и плагином к нему WinSCP (можно иными способами), ребутнуться (команда reboot, перед которой не помешает также выполнить команду sync). Когда все настроенно — "рулить" подключением/отключением вай-макса можно и через панель LuCI …

  • Выполнил то что здесь по шагам несколько раз и с прошивкой новогодней openwrt куда уже включены драйверы йота — ничего не выходит. подключаюсь к рутеру через путти. в новогодней openwrt сборке есть madwimax драйвер и даже вроде какой то скрипт который работает при загрузке но в чем выражается его работа непонятно. Так как здесь описано добавил в список интерфес wimax — /etc/init.d/madwimax start не работает. Если же взять последнюю сборку blackfire с сайта, то указанная последовательность действий вызывает ошибку в переменной $lsusb. Поэтому вот какой вопрос. а если есть работающая уже с йотой прошивка на рутере можно ли ее сохранить как то в файл для загрузки? вот не модель и нужное описание действий, а прямо уже готовая? запуск через путти меня не пугает.
    с Уважением, спасибо за Вашу работу

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *


*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>