Top > 日記 > 2012-01-09

G2G1移行スクリプトその後

  1. DCD検出追加
    module Aをuserが使用しているか否かを無線機内からデジタルSQL信号を引き出し、I/Fを介しCOMポートへ接続。statserialでDCDのON/OFFをcomポート側から検出する。これを組いれ、g2g1_grep.sh → g2g1dcd.shに更新した。
    --- g2g1dcd.sh ---
    #!/bin/bash
    
    while :
    do
    FLAG=`/usr/sbin/tcpdump -vv dst host xx.xx.xxx.xxx -nXs 1000 -c 1`
    echo "$FLAG"
    #; pkill -9 tcpdump
    DISCO=`echo "$FLAG" | grep -e "disconne"`
    TYPE=`echo "$FLAG" | grep -e "type" | cut -b62-67`
    if test $TYPE = "odulei" ; then
      URCALL=`echo "$FLAG" | grep -e "urcall" | cut -b60-69`
    fi
    if test $TYPE = "module" ; then
      URCALL=`echo "$FLAG" | grep -e "urcall" | cut -b61-68`
    fi
    echo "$TYPE urcall=$URCALL"
    if test "$DISCO" = ""; then
      if test "$URCALL" != "........" ; then
        if test $TYPE = "odulei" ; then
          MYCALL=`echo "$FLAG" | grep -e "mycall" | cut -b62-67`
          URCALL=`echo "$FLAG" | grep -e "urcall" | cut -b60-69`
          RPT1=`echo "$FLAG" | grep -e "rpt1=" | cut -b58-65`
          RPT2=`echo "$FLAG" | grep -e "pt2=" | cut -b56-63`
        fi
        if test $TYPE = "module" ; then
          MYCALL=`echo "$FLAG" | grep -e "mycall" | cut -b63-68`
          URCALL=`echo "$FLAG" | grep -e "urcall" | cut -b61-68`
          RPT1=`echo "$FLAG" | grep -e "rpt1=" | cut -b59-66`
          RPT2=`echo "$FLAG" | grep -e "pt2=" | cut -b57-64`
        fi
    
        DT=`date`
        nTIME=`echo "$DT" | cut -b12-16`
        nDATA="$nTIME $MYCALL $URCALL $RPT1 $RPT2"
        oDT0=`tail -1 /root/trace.log`
        oDATA1=`echo "$oDT0" | cut -b12-16`
        oDATA2=`echo "$oDT0" | cut -d " " -f 7,8,9,10`
        echo "NewDATA=$nDATA"
        echo "OldDATA=$oDATA1 $oDATA2"
        if test "$nDATA" != "$oDATA1 $oDATA2"; then
          echo "New DATA!!"
          echo $DT $MYCALL $URCALL $RPT1 $RPT2 >>trace.log
        fi
    
        H_UR=`echo "$URCALL" | cut -b1`
        C_RPT1=`echo "$RPT1" | cut -b1-6`
        C_RPT2=`echo "$RPT2" | cut -b1-6`
        E_RPT2=`echo "$RPT2" | cut -b8`
        RPT1_G1=`grep $C_RPT1 /root/G1_rpt.txt`
        RPT2_G1=`grep $C_RPT2 /root/G1_rpt.txt`
        if (test "$H_UR" = "J" || test "$H_UR" = "7") && test "$RPT1_G1" != "" && test "$RPT2_G1" != "" && test "$E_RPT2" = "G"; then
          echo "going to G1"; echo "going to G1..." >>trace.log
    
          pkill -9 tcpdump
          chkconfig --level 2 dstar_gw off
          /etc/init.d/dstar_gw stop
          /etc/init.d/dplus stop
    
          if [ -f /dstar/dsgwd/dsgwd2 ]; then
             mv /dstar/dsgwd/dsgwd2 /dstar/dsgwd/dsgwd
          fi
          sleep 5
          /dstar/exec-gw
    
    ######## ここから #######
          CT1=0
          CT2=0
          while test $CT1 -lt 900
          do
            sleep 10
            echo "$CT1 $CT2"
            SDCD=`statserial -n /dev/ttyS0 | grep DCD | cut -b34`
            if test "$SDCD" = "1"; then
              CT2=0
              echo "--- under QSO $STIME ---"
            fi
            if test $CT2 -ge 60; then
              echo "to bkeak"
              break
            fi
            CT1=`expr $CT1 + 10`
            CT2=`expr $CT2 + 10`
          done
    ######## ここまで #######
    
          STIME=`date`
          echo "$STIME G1 END END END. going to G2.."
          echo "$STIME G1 END END END. going to G2.." >> trace.log
    
          if [ -f /dstar/dsgwd/dsgwd ]; then
            mv /dstar/dsgwd/dsgwd /dstar/dsgwd/dsgwd2
          fi
    
          pkill -9 exec-gw-nonstop
          pkill -9 dsgwd
          /sbin/chkconfig --level 2 dstar_gw on
          /etc/init.d/dplus restart
          /etc/init.d/dstar_gw start
          echo "dsgwd starting"
          /opt/products/dstar/dstar_gw/dsgwd/gwstart.sh
          sleep 20
          echo "Linking up to REFXXX A & REFXXX B"
          echo "REFXXXmL" >/dstar/tmp/link-a
          sleep 5
          echo "REFXXXmL" >/dstar/tmp/link-b
        fi
      fi
    fi
    
    FLAG=""
    done

    URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White


リロード   新規 下位ページ作成 凍結解除 差分 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: Mon, 09 Jan 2012 22:37:59 JST (4494d)