Results 1 to 15 of 228

Thread: Роутер Asus + SWC-U200 = Yota Wimax

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Join Date
    Feb 2009
    Location
    RUSSIA, MOSCOW
    Posts
    15

    Thumbs up Роутер Asus + SWC-U200 = Yota Wimax

    Вообщем установил почти по инструкции и приложенному файлу в посте OlegI-а (http://wl500g.info/showpost.php?p=29772&postcount=6)

    Особенности в моем случае такие:
    1. прошивка WL500gp-1.9.2.7-10.7.trx
    2. все записано во флеш
    3. из
    Code:
    /usr/local/sbin/post-boot
    убрана строка
    Code:
    route delete default
    4. в
    Code:
    /opt/etc/udhcpc/udhcpc.script
    перед строкой
    Code:
    route add default gw $router
    добалена строка
    Code:
    route delete default
    т.к. иначе при подключении usb-модема появлялся еще один шлюз по умолчанию в дополнение шлюзу от WAN-интерфеса.

    5. В веб-интерфейсе прописан Virtual Server (работу через wimax не проверял - через wlan0 работает)

    6. Firewall в веб-интерфейсе отключен и прописан в файле
    Code:
    /usr/local/sbin/post-firewall
    спасибо всем за проделанную работу.

  2. #2

    Получение статистики как в Win программе Yota

    Во первых спасибо участникам проекта за проделанную работу.
    Теперь у меня есть WiMax через WiFi.

    Мой скромный вклад в общее дело: "Получение статистики как в Win программе Yota".
    В основном всё сделано по инструкциям с этого форума.
    Прошивка 1.9.2.7-d-r401.
    madwimax версии 1.1.0 находится в /usr/local/sbin/ (внутренний флэш)
    Скрипты такие:

    Code:
    /usr/local/sbin/post-boot----
    #!/bin/sh
    crond
    insmod tun.o
    (while true; do /usr/local/sbin/madwimax -vvof -e /usr/local/etc/madwimax/event.sh -l /tmp/madwimax.log 2>&1 >/tmp/madwimaxd.log; sleep 10; done )&
    -----------------------------
    
    /usr/local/etc/madwimax/event.sh----
    #!/bin/sh
    # Usage: event.sh <event> <if-name>
    
    # http://wl500g.info/showthread.php?t=17005&page=7
    
    case "$1" in
    start)
            ;;
    end)
            ;;
    if-up)
            /sbin/udhcpc -i "$2" -p /var/run/udhcpc1.pid -s /usr/local/etc/udhcpc/udhcpc.script -b
            iptables -A INPUT -i "$2" -m state --state NEW -j SECURITY
            iptables -A FORWARD -i "$2" -m state --state NEW -j SECURITY
            iptables -t nat -A POSTROUTING -o "$2" ! -s `ifconfig "$2" | grep 'inet addr' | tr ':' ' ' | awk '{print $3}'` -j MASQUERADE
            iptables -I FORWARD -o "$2" -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
            ;;
    if-down)
            cat /var/run/udhcpc1.pid | xargs -i kill -TERM {}
            ;;
    *)
            echo "Usage: $0 {start|end|if-up|if-down}" >&2
            exit 3
            ;;
    esac
    ------------------------------------
    
    /usr/local/etc/udhcpc/udhcpc.script----
    #!/bin/sh
    
    RESOLV_CONF=/tmp/resolv.conf
    
    case "$1" in
            bound|renew)
            ifconfig $interface up
            ifconfig $interface $ip netmask $subnet
            route add default gw $router
                    for ii in $dns; do
                    echo nameserver $ii >> $RESOLV_CONF
                    done
    # trigger dnsmasq restart
            kill -s SIGHUP `pidof dnsmasq`
            ;;
            deconfig)
            ifconfig $interface 0.0.0.0
            #ifconfig $interface down
            echo deleting $RESOLV_CONF
            echo -n > $RESOLV_CONF
            kill -s SIGHUP `pidof dnsmasq`
            ;;
            esac
    ---------------------------------------
    то что приведено выше отличается не принципиально.
    Далее идёт, собственно, моя система "растяжек и подпорок" реализующая нужный функционал.

    - нужно создать каталог /var/spool/cron/crontabs
    $ mkdir -p /var/spool/cron/crontabs

    - командой 'crontab -e' создать задачу для крона которая будет собирать статистику по интерфейсу wimax0

    Code:
    /var/spool/cron/crontabs/admin------------------------------------
    * * * * * /usr/local/etc/madwimax/stat_wimax0.sh >> /tmp/stat.log
    ------------------------------------------------------------------
    - создать (например в /usr/local/etc/madwimax) два скрипта (и не забыть сделать их исполнимыми :

    Code:
    /usr/local/etc/madwimax/get_wimax_info.sh-----------------------------------
    #!/bin/sh
    
    interface="wimax0"
    
    ip=`ifconfig $interface | grep 'inet addr'|tr ':' ' ' | awk '{ print $3}'`
    mac=`ifconfig $interface | grep HWa | awk '{print $5}' | tr -d ':'`
    
    bsid=`tail -3 /tmp/madwimax.log | grep BSID | awk '{print $2}'| tr -d ':'`
    rx_p=`tail -3 /tmp/madwimax.log | grep RSSI | awk '{print $2}'`
    cinr=`tail -3 /tmp/madwimax.log | grep CINR | awk '{print $4}'`
    tx_p=`tail -3 /tmp/madwimax.log | grep 'TX Power' | awk '{print $7}'`
    frq=`tail -3 /tmp/madwimax.log | grep Frequency | awk '{print $9}'`
    
    echo "IP address:  $ip"
    echo "MAC address: $mac"
    echo "BSID:        $bsid"
    echo "Frequency:   $frq"
    echo "CINR:        $cinr"
    echo "RX sigal:    $rx_p"
    echo "TX sigal:    $tx_p"
    
    ----------------------------------------------------------------------------
    
    /usr/local/etc/madwimax/stat_wimax0.sh--------------------------------------
    #!/bin/sh
    
    interface="wimax0"
    data_file=/tmp/wimax0.stat
    
    rx_tx=`ifconfig $interface| grep 'RX bytes`
    rx=`echo $rx_tx | tr ':' ' ' | awk '{print $3}'`
    tx=`echo $rx_tx | tr ':' ' ' | awk '{print $8}'`
    
    echo "current counters is $rx $tx"
    
    if [[ ! -f $data_file ]]; then
      echo "$rx $tx 0 0" > $data_file
      echo "initialize stat with $rx $tx"
      exit 1;
    fi
    
    read pi po si_max so_max< $data_file
    
    
    
    drx=$(( ( ( ( rx - pi ) / 60 ) * 8 ) / 1024 ))
    echo "RX speed is $drx kbit/c"
    dtx=$(( ( ( ( tx - po ) / 60 ) * 8 ) / 1024 ))
    echo "TX speed is $dtx kbit/c"
    
    
    if [[ $si_max -lt $drx ]]; then
      si_max=$drx
    fi
    if [[ $so_max -lt $dtx ]]; then
      so_max=$dtx
    fi
    
    echo "Maximum RX/TX speed is $si_max/$so_max kbit/s"
    
    echo "$rx $tx $si_max $so_max" > $data_file
    
    ----------------------------------------------------------------------------
    Результат:
    ----------

    Теперь можно зайти в web-морде в 'System Setup/System Command', в поле 'System Command'
    помещать следующие команды и лицезреть результаты:

    Code:
    tail -n 3 /tmp/stat.log---------------
    RX speed is 10 kbit/c
    TX speed is 2 kbit/c
    Maximum RX/TX speed is 13/16 kbit/s
    --------------------------------------
    
    /usr/local/etc/madwimax/get_wimax_info.sh--
    IP address:  10.128.12.252
    MAC address: 00xxxxxxxxxx
    BSID:        0000150100d4
    Frequency:   2525000
    CINR:        6.250000
    RX sigal:    -85
    TX sigal:    23
    -------------------------------------------
    Всё вышеприведённое следует воспринимать как повод к размышлению.
    Если использовать всё так как я привёл - через какоето время /tmp будет полностью забит файлами
    stat.log и madwimax.log
    Дабы этого избежать нужно, скажем в скрипт прописаный в кроне вставить что то вроде:

    Code:
    tail -n 10 /tmp/madwimax.log >/tmp/tmp.tmp
    cat /tmp/tmp.tmp > /tmp/madwimax.log
    tail -n 10 /tmp/stat.log >/tmp/tmp.tmp
    cat /tmp/tmp.tmp > /tmp/stat.log
    Есть ещё проблема с переполнением счётчиков в ifconfig и превышение ими значений с которыми справится арифметика shell.

    !!! Это не готовый рецепт а скорее заготовка но позволяющая получать некоторое время после старта (у меня несколько суток) более или менее адекватную информацию о WiMax !!!

    Идеально было бы что бы сам madwimax выдавал всю эту информацию, например, через named pipe...

    В данный момент поддержка WiMax к этому проекту пришита белыми нитками.
    Нужно создать и интегрировать в web-морду поддержку множественных WAN (wimax, GSM, ...)
    Я, к сожаленю, пока далёк от полного понимания как устроена сетевая архитектура и как она взаимодействует с Web интерфейсом.

  3. #3
    Join Date
    Nov 2006
    Location
    Russia, Moscow
    Posts
    170
    Quote Originally Posted by mvb View Post
    Мой скромный вклад в общее дело: "Получение статистики как в Win программе Yota".
    Ну, для начала довольно неплохо, спасибо
    Quote Originally Posted by mvb View Post
    Идеально было бы что бы сам madwimax выдавал всю эту информацию, например, через named pipe...
    Давно хочу это сделать... Приглашаю всех принять участие в обсуждении здесь: http://groups.google.com/group/madwi...f7307137eb1a02

Similar Threads

  1. Replies: 400
    Last Post: 24-09-2019, 07:29
  2. WiMAX роутер Asus WMNV25E2+
    By artp in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 315
    Last Post: 28-02-2016, 18:33
  3. Гаджет для Yota/Wimax/3G модемов (Win/iPhone/Linux)
    By rss in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 83
    Last Post: 20-05-2014, 10:47
  4. WiMax Yota + Comstar (SWC-U200/BCS200) на роутере Asus
    By Frogy_f in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 101
    Last Post: 25-05-2012, 10:13
  5. WiMAX - или Yota, убийца офисных провайдеров
    By euseller in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 899
    Last Post: 04-12-2010, 22:33

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
  •