Page 1 of 36 12311 ... LastLast
Results 1 to 15 of 535

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

  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 21: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 07: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
    Quote Originally Posted by lly View Post
    а в rc.diff я бы кое-чего подправил:
    • мне не нравится то, что при запуске madwimax не запускается start_wan(), а кто сказал, что у нас не multi-wan??
    плюсом:
    • создание корректных правил в firewall_ex.c (vserver, pmtu)
    • вынос обработки эвентов в отдельный wimax.c (if_up, if_down, if_create, if_release), причем использовтаь нужно функции wan_up(ifname), wan_down(ifname) - по типу ppp.c
    • корректная обработка статуса, коннекта/дисконнекта через web интерфейс


    Quote Originally Posted by lly View Post
    • зачем нужен /tmp/madwimax я еще не понял
    для обработки эвентов

  14. #14
    Join Date
    Nov 2006
    Location
    Russia, Moscow
    Posts
    3,640
    Quote Originally Posted by theMIROn View Post
    Quote Originally Posted by lly
    зачем нужен /tmp/madwimax я еще не понял
    для обработки эвентов
    А почему не сразу /sbin/madwimax-event?

  15. #15
    Quote Originally Posted by lly View Post
    А почему не сразу /sbin/madwimax-event?
    действительно.

Page 1 of 36 12311 ... LastLast

Similar Threads

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