Page 1 of 6 123 ... LastLast
Results 1 to 15 of 535

Thread: YOTA: "oбвязка" для madwimax

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Join Date
    Aug 2007
    Location
    St.Petersburg
    Posts
    114

    Post YOTA: "oбвязка" для madwimax

    Собрал на базе 1.9.2.7-d-r693 вариант с нормальным управленим madwimax. Основные особенности:

    - В web-морде появилась WAN Connection Type: MadWimax. При его выборе wimax работает как основной wan
    - На отдельной страничке появился минимальный конфиг wimax. Пока можно задавать ssid и приоритет интерфейса (см.ниже)
    - Появился "закос" под мультиван. Можно одновременно задать , например, на страничке <IP Config - WAN & LAN> WAN = PPPoE, а на страничке <WiMax Config> сказать "Enable". При этом взлетают оба интерфейса.
    - Запуск madwimax происходит в rc. С разборкой с wan_proto и т.п.
    - watchdog следит за madwimax и при его умирании (например, при выдергивании модема) снова его поднимает. Это вместо цикла в post-boot.
    - Обработка event'ов mad'a тоже в rc. Кстати, вернул туда же и обработку event'ов udhcpc
    - Дополнительно, в морде, в "Status & Log" появилась страница со статусом mad'a.
    - Наличие/отсутствие модема определяется по переменной wimax_device в nvram, которая устанавливается/сбрасывается в hotplag'е. Кстати, она отображается на страничке статуса.

    Роутинг и DNS
    На обоих страницах конфига ( <IP Config - WAN & LAN> и <WiMax Config> ) появилась возможность задасть приоритет (по сути - метрик дефолта). Например, я установил для wimax - 3, а для wan - 4. Соответственно, в нормальных условиях дефолт смотрит на wimax, а при вытыкании оного - разворачивается в wan.

    DNS - применен искусственный ход. в resolv.conf , в начало файла пишутся те адреса, которые заданы для интерфейса с меньшей метрикой.

    ----------------------

    Вроде работает. Но тестировал не слишком долго.
    Собирал только под wl500gPV2. Вот сама прошивка. Вот дифф
    ---------------------
    Вторая версия прошивки для V2 и для V1 Вот diff. httpd.diff большой по недоразумению. Я там пока разбирался, что зачем, начал текст аккуратно форматировать.

    ДОПОЛНЕНИЕ ОТ 3/2010: более свежие прошивки с поддержкой madwimax и текущее состояние дел
    Last edited by al37919; 02-03-2010 at 20:46.

  2. #2

    Exclamation Прошивки с поддержкой Wimax в интерфейсе

    Прошивки с поддержкой Wimax в интерфейсе


    Маршрутизаторы: ASUS WL500gpv2, WL500gp, WL500W, WL520gu, WL520gx. Перед использованием распаковать.

    Внимание! Поддерживаются только модемы Samsung SWC-U200 и SWC-E100!

    Для начала работы необходимо на странице IP Config - WAN & LAN указать WAN Connection Type: - WIMAX.

    Параметры настройки IP Config - WiMAX (не обязательные).
    • SSID - идентификатор Wimax-сети. По-умолчанию настроено @yota.ru, т.е. Ready for Yota.
      Для использования с провайдером Mezon необходимо указать @mezon.lt
      Сomstar - логин:пароль@wimax.comstar-uts.ru
    • Check connection - проверка соединения периодической отправкой серии пакетов ping по адресу шлюза провайдера. Время обращения пакетов отображается на странице Status & Log - WiMAX. Возможно добавление скрипта для обеспечения реакции на отсутствие соединенния - /usr/local/sbin/post-check-connection. Параметр $1 - имя wimax-интерфейса.
    • Time period, sec - период запуска проверки в секундах.
    • Restart dead connection - позволяет принудительно перезагружать wimax-соединения (kill madwimax.pid) в случае, если проверка соединения завершилась ошибкой. На нестабильных каналах позволяет поддерживать модем в активном состоянии.

    Текущая стабильная версия.

    Гаджет для отображения состояния Wimax в Windows Vista/Windows 7: http://forum.yotatester.ru/showthread.php?t=1662
    Yota Firefox Add-on: http://forum.yotatester.ru/showthread.php?t=1691

    1445. Отличия от 1351:
    • Силами theMIROn переделана логика создания интерфейсов wimax.
    • Подключена асинхронная схема обработки событий (время работы udhcpc на плохом канале wimax не влияет работу прочих служб).
    • Реализована реакция на кнопки веб-интерфейса Disconnect/Connect с соответствующим корректным восстановлением соединения.
    • Изменены имена переменных nvram. См. http://code.google.com/p/wl500g/sour...svn1429&r=1429 секцию __CONFIG_MADWIMAX__. Настройки для WIMAX с предыдущих прошивок необходимо повторить.

    1351. Отличия от 1308:
    • По умолчанию режим Check connection отключен.
    • Добавлена возможность отключить перезагрузку madwimax в случае, если ping не проходит.
    • Добавлена возможность установить интервал между пингами (не менее 30 секунд). Время прохождения пакетов выводится в веб-интерфейсе.
    • Для желающих видеть в syslog.log сообщения о принудительной перезагрузке madwimax сделана nvram переменная wmx_chk_log(в 1430 - wan_wimax_syslog). Команда nvram set wmx_chk_log=1 включит вывод . Отключить - nvram unset wmx_chk_log. Внимание: большой поток сообщений в syslog.log в течение длительного времени может привести к переполнению.
    • Появилась возможность сделать свой скрипт обработки ситуации непрохождения пинга шлюза провайдера. /usr/local/sbin/post-check-connection $IFNAME. Единственный параметр - имя интерфейса.

    1308. Отличия от 1247:
    • Всё управляется через WAN Connection Type. Autorun WIMAX убран.
    • Расширена информация по WIMAX. Появилась возможность посмотреть версию прошивки модема. Выдаются времена ping до ближайшего шлюза провайдера (опрос раз в минуту – можно отключить из интерфейса).
    • Ничего дополнительного настраивать не надо (ни pingyota, ни iptables). Если такие дополнения были сделаны надо либо отключить в скриптах, либо выполнить команду flashfs disable.
    • Теоретически должна работать поддержка Yota + STATIC IP.
    • Сохранена возможность настроить SSID. Значение @yota.ru вписано по умолчанию. Для провайдера mezon.lt вписываем SSID: @mezon.lt .


    Просьба перед тем, как писать, что прошивка не работает или работает нестабильно, убедиться в том, что модем samsung u200 в данное время и в данном месте способен работать иначе. Для этого лучше всего использовать драйверы Yota Access для Windows.

    -------------------------------------------------
    Текущее развитие

    Промежуточные рабочие прошивки: ftp://core.dumped.ru/wl/

    Перечень задач, к решению которых можно присоединиться:
    http://wl500g.info/showpost.php?p=188435&postcount=248

    -------------------------------------------------
    Известные проблемы на данный момент:

    Зависание модема. Возможные способы устранения - вытащить модем из USB-порта и вставить обратно, либо отключить питание маршрутизатора.

    Варианты возможной доработки прошивки:
    • Выявить причину зависания в драйвере madwimax
    • Использовать программу управление питанием внешними USB-хабами hub-ctrl и через них производить аппаратную перезагрузку модема.

    ------------------------------------------

    Прежние прошивки с поддержкой Wimax в интерфейсе

    ftp://core.dumped.ru/wl/1445/

    ftp://core.dumped.ru/wl/1351/

    ftp://core.dumped.ru/wl/1308/

    (обновленная сборка на основе патча от artp)

    Маршрутизаторы: ASUS WL500gpv2, WL500gp, WL520gu, WL500W

    * из веб-интерфейса доступен только DHCP режим

    На странице IP Config - WiMAX выбираем WiMAX autorun? - yes
    На странице IP Config - WAN & LAN выбираем WAN Connection Type: - wimax.

    -----------------------------------------

    Дополнительные рекомендации к прошивкам 1247

    Полезный скрипт, позволяющий автоматически передергивать wimax соединение. (позаимствован из _http://forum.yota2b.ru/viewtopic.php?f=8&t=39 ).
    Включаем flashfs командой flashfs enable
    Вписываем содержимое pingyota.zip в /usr/local/sbin/pingyota.sh.

    Переменная INTERVAL задает период проверки пинга, TARGET - адрес, который пингуем. Если пинга нет - инициализируем модем. Запуск madwimax приведет к тому, что модем проинициализируется и мигнет торцевым светодиодом, в то время как killall madwimax перезапустит драйвер без внешнего оповещения.
    Величину INTERVAL следует подбирать в зависимости от того, на сколько отвратительно ёта работает в данном районе.

    Делаем chmod +x /usr/local/sbin/pingyota.sh

    Запуск pingyota.sh реализуем в скрипте /usr/local/sbin/post-boot добавив следующую строку (не забывая, что файл должен быть с атрибутом +x):
    (while true; do pingyota.sh ; sleep 5; done )&

    Проверяем результат
    Code:
    flashfs save && flashfs commit
    reboot
    ---------------------------------------

    Самостоятельная пересборка прошивки

    Общая инструкция: http://code.google.com/p/wl500g/wiki...CustomFirmware.

    Для версии в svn ранее 1308 надо добавить пункт 4.2.1 и выполнить следующие команды:
    Code:
    cd /whatever-you-want/broadcom/src/
    patch -p0 < ./gateway/rc/800-wimax.patch
    Тема по данной тематике на форуме yotatester:
    http://forum.yotatester.ru/showthread.php?t=3079

    Сходил посмотрел на wimax и нашел там патч для SIGUSR1 по смыслу аналогичный моему. Буду встраивать.
    PS: проблемы Yota решаются переходом к другому провайдеру....
    Attached Files Attached Files
    Last edited by Omega; 16-09-2011 at 06:38. Reason: fixed

  3. #3

  4. #4
    artp, спасибо огромное! И совсем тупой вопрос - а на v1 это пойдет, или что-то нужно будет "переколхозить"?

  5. #5
    Join Date
    Aug 2007
    Location
    St.Petersburg
    Posts
    114
    К сожалению V1 для тестов у меня сейчас нет. Поэтому, стопроцентной гарантии дать не могу. Однако, судя по тому, что именно я рихтовал все, кроме web-страничек платформонезависимое. Но для V1 и они, вроде, не отличаются. Сегодня поковыряю еще, соберу несколько прошивок и выложу для интересующихся.

  6. #6
    1. пожалуй я унифицирую в madwimax поддержку pid и stat файла, отправлю автору
    2. вместо имени MadWimax стоит использовать WiMax, т.к может и драйвер измениться (в будущем) и его имя и т.п., а тип - останется
    3. почему бы не использовать в качестве ipup/ipdown уже существующие линки с rc (сейчас используются для pppd)
    4. функционал wimax нужно вынести в rc/wimax.c из services.c

    p.s а вообще здорово, не против если все это войдет в 1.9.2.7-d?

  7. #7
    Quote Originally Posted by artp View Post
    В планах сделать ddns с использованием checkip... под Yota
    это будет достаточно легко, взаимодействую со start_wan с префиксом соединения.

  8. #8
    Join Date
    Nov 2006
    Location
    Russia, Moscow
    Posts
    3,640
    Большой труд, спасибо!

    И очень правильно добавлена статистика по SIGUSR1 из Issue37

  9. #9
    Join Date
    Aug 2007
    Location
    St.Petersburg
    Posts
    114
    Если войдет в 1.9.2.7-d буду рад.

    Если свяжетесь с автором madwimax по поводу pid- и stat-файла было бы очень хорошо. Может то, что я сделал стоит сделать поэлегантнее.

    ip-up и ip-down меня чем-то смутили в самом начале и я к ним потом не вернулся.

    Вообще, собирался сегодня-завтра еще посмотреть. Есть ощущение, что кое-что не доработал Ну и рекомендации учту.

  10. #10
    Quote Originally Posted by artp View Post
    Если войдет в 1.9.2.7-d буду рад.
    постараемся

    Quote Originally Posted by artp View Post
    ip-up и ip-down меня чем-то смутили в самом начале и я к ним потом не вернулся.
    возможно проверкой на имя интерфейса pppX?

  11. #11
    Quote Originally Posted by artp View Post
    Если свяжетесь с автором madwimax по поводу pid- и stat-файла было бы очень хорошо. Может то, что я сделал стоит сделать поэлегантнее.
    pid/stats поддержку включил для madwimax, можешь протестировать в получившемся виде.
    кое что меня в отработке статистики смущает.

  12. #12
    Join Date
    Nov 2006
    Location
    Russia, Moscow
    Posts
    3,640
    Quote Originally Posted by theMIROn View Post
    pid/stats поддержку включил для madwimax,
    Опередил меня
    Предварительно с httpd.diff и www.diff я согласен, а в rc.diff я бы кое-чего подправил:
    • мне не нравится то, что при запуске madwimax не запускается start_wan(), а кто сказал, что у нас не multi-wan??
    • зачем нужен /tmp/madwimax я еще не понял

  13. #13

    Exclamation Закономерность...

    Добрый день, уважаемые господа!

    Заметил очень грустную странность, покурив форум.

    В поздних билдах прошивки 1927-d/10+ есть баг. (поиск: "не открываются некоторые сайты)

    Суть следующая, после зашивки в DIR-320 wl50gpv2 r693 появляется проблема не открытия некоторых сайтов. (me.com, microsoft.com, yota.ru, mail.ru и пр.)

    Проблема не в обвязке wimax, тк она реализована более чем достойно и удобно, + есть фича мониторинга состояния соединения. Проблема в самой 1927-d к которой прикручена обвязка. Не знаю точно, с какого именно билда это началось, но то, что появилось после r658 - факт.

    2 дня безрезультатного секаса с DIR-320 и откат на 658-ю полностью решают проблему при идентичных настройках роутера, но лишают прелести Вашей обвязки.

    Хочется понять, что это может быть? (DNS, MTU или еще что-то?)

    Очень не хватает Вашей обвязки, тк живу за городом, Йоту ловлю направленной параболой с КУ 22-25dB, часто получаю HHO (hard handoff) от БС и без обвязки этого не отследить. Более того, странно, но с Вашей обвязкой коннект при длительном простое не подвисает, а продолжает работать, соответственно, постоянно ребутить роутер не нужно.

    Ну и в качестве пожелания-вопроса. Скажите пожалуйста, а возможно ли реализовать функцию авто-реконнекта при дисконнекте? (подозреваю, что, наверное, возможно отслеживать это по параместу Stat БСки, те, при всем, что отлично от NORMAL и NEGO давать команду на реконнект) Это избавило бы от постоянного залезания в веб-морду роутера для "посмотреть, почему снова лёг инет..."

    Заранее благодарен,
    с уважением.
    Last edited by Helby; 05-11-2009 at 09:16.

  14. #14
    Quote Originally Posted by Helby View Post
    Добрый день, уважаемые господа!

    Заметил очень грустную странность, покурив форум.

    В поздних билдах прошивки 1927-d/10+ есть баг. (поиск: "не открываются некоторые сайты)

    Суть следующая, после зашивки в DIR-320 wl50gpv2 r693 появляется проблема не открытия некоторых сайтов. (me.com, microsoft.com, yota.ru, mail.ru и пр.)

    2 дня безрезультатного секаса с DIR-320 и откат на 658-ю полностью решают проблему при идентичных настройках роутера, но лишают прелести Вашей обвязки.

    Хочется понять, что это может быть? (DNS, MTU или еще что-то?)

    Очень не хватает Вашей обвязки, тк живу за городом, Йоту ловлю направленной параболой с КУ 22-25dB, часто получаю HHO (hard handoff) от БС и без обвязки этого не отследить. Более того, странно, но с Вашей обвязкой коннект при длительном простое не подвисает, а продолжает работать, соответственно, постоянно ребутить роутер не нужно.

    Ну и в качестве пожелания-вопроса. Скажите пожалуйста, а возможно ли реализовать функцию авто-реконнекта при дисконнекте? (подозреваю, что, наверное, возможно отслеживать это по параместу Stat БСки, те, при всем, что отлично от NORMAL и NEGO давать команду на реконнект) Это избавило бы от постоянного залезания в веб-морду роутера для "посмотреть, почему снова лёг инет..."

    Заранее благодарен,
    с уважением.
    Дело там точно в MTU я изменил на 1386 и все сайты стали открываться нормально, и без проблем до этого открывался тока yandex.ru
    Там вроде и так реконект сделан artp постарался на славу=)
    Кстати тема и правда животрепечущая, а то заколебался я, раньше шефа в офис прибегать каждое утро, чтобы перезагрузить роутер что бы инет был=)))
    Меня кстати полностью и первый вариант устроил, ну а раз тема получила продолжение вообще замечательно, так держать)))

  15. #15
    Join Date
    Apr 2009
    Location
    Moscow, Russia
    Posts
    5
    Quote Originally Posted by Helby View Post
    Хочется понять, что это может быть? (DNS, MTU или еще что-то?)
    Имел такую же ситуацию с mail.ru, не открывался сайт ни в какую... Подумал, что возможно Yota-драйвер отсылает ещё немного служебной инфы в пакете. Методом «научного тыка» вычислил размер пакета:
    Code:
    ping -l 1358 mail.ru
    (windows ping)
    Code:
    ping -s 1358 -W 1 -w 5 mail.ru
    (router ssh)

    Пакет размером больше чем в 1358 байт у меня не проходит, думаю, возможны варианты.

    Затем нашёл свой сетевой адаптер в ветке реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\Tcpip\Parameters\Interfaces (тот, у которого значение параметра DhcpIPAddress соответствует текущему IP-адресу моего подключенного к йота-рутеру компа), создал параметр DWORD с именем MTU, присвоил ему десятичное значение 1358.
    (Кстати, не знаю по какой причине, на другом компе нашёл в реестре два адаптера с одним и тем же полученным по DHCP адресом, и в одном из них уже был MTU... правда на том компе виста )

    В-общем, при переподключении сетевого адаптера доступ к mail.ru восстановился.
    Надеюсь и вам поможет.

    Ещё раз благодарю artp за отличную прошивку!

    P.S.
    Также имел проблемный вход на yota.ru, пакеты также не проходили.
    После подключения через ТП Йоты услуги «Внешний динамический IP» (потребовалось для DynDNS), на удивление до yota.ru стал проходить пакет в 1474 байт.
    Last edited by BiG177; 05-11-2009 at 12:13. Reason: Немного добавил...

Page 1 of 6 123 ... LastLast

Similar Threads

  1. Роутеры Asus для "непродвинутых" пользователей
    By lifecom in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 9
    Last Post: 12-05-2008, 12:05
  2. Replies: 92
    Last Post: 31-03-2008, 18:43

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •