.titleBar { margin-bottom: 5px!important; }

Probleme mit debug.cfg

Dieses Thema im Forum "FRITZ!Box Fon: Modifikationen" wurde erstellt von reimundko, 30 Sep. 2006.

  1. reimundko

    reimundko Neuer User

    Registriert seit:
    1 Juli 2006
    Beiträge:
    82
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    Habe folgenden Fehler.

    In Ihrer FRITZ!Box wurden vom Hersteller nicht unterstützte Änderungen durchgeführt.
    Weitere Informationen.

    Habe nun eine debug.cfg hier gefunden.

    Code:
    /usr/sbin/telnetd -l /sbin/ar7login
    cd /var/tmp/
    wget http://eportal.ep.funpic.de/foncalls.js
    mount -o bind /var/tmp/foncalls.js /usr/www/html/html/de/fon/foncalls.js
    
    # enable international settings
    sed "s/LKZ 0/LKZ 1/g" /usr/www/all/html/de/fon/sip1.js > /var/tmp/sip1.js
    chmod 444 /var/tmp/sip1.js
    mount -o bind /var/tmp/sip1.js /usr/www/all/html/de/fon/sip1.js
    
    # enable ENUM
    sed "s/avme/avm/g" /usr/www/all/html/de/fon/sipoptionen.html > /var/tmp/sipoptionen.html
    sed "s/avme/avm/g" /usr/www/all/html/de/fon/sipoptionen.js > /var/tmp/sipoptionen.js
    chmod 444 /var/tmp/sipoptionen.html
    chmod 444 /var/tmp/sipoptionen.js
    mount -o bind /var/tmp/sipoptionen.html /usr/www/all/html/de/fon/sipoptionen.html
    mount -o bind /var/tmp/sipoptionen.js /usr/www/all/html/de/fon/sipoptionen.js
    
    # set hostname to fritz.box
    hostname fritz.box
    
    major=`grep tffs /proc/devices`
    tffs_major=${major%%tffs}
    #write calllog
    cat > /var/calllog << 'ENDCALLLOG'
    #!/bin/sh
    
    CALLER=${1}
    LINE=${3}
    if [ -z "${LINE}" ]
    then
      LINE=${2}
    fi
    if [ "${LINE}" = "ISDN" ]
    then
      LINE=${2}
    fi
    if [ -z "${LINE}" ]
    then
      LINE=${1}
      CALLER=""
    fi
    
    sh /var/tmp/parse_telefon.sh "${LINE}" "${CALLER}" &
    
    ENDCALLLOG
    
    # save /var/calllog
    mknod /var/flash/calllog c $tffs_major $((0x77))
    cp /var/calllog /var/flash/calllog
    
    #CONTACTS
    #contact=:anonym;
    #CONTACTSEND
    
    #LINES
    #line=:anonym;
    #LINESEND
    
    # write reverse lookup script to file
    cat > /var/tmp/invers.sh << 'ENDINVERS'
    #!/bin/sh
    
    number=$1
    
    wget -q -O /var/tmp/name "http://www.dasoertliche.de/DB4Web/es/oetb2suche/home.htm?kw_invers=${number}&main=Antwort&s=2" 2>/dev/null
    
    while read reverse
    do
      case ${reverse} in
        *Detailansicht*)
          name=${reverse#*\>\ }
          name=${name%%\<*}
          break
        ;;
      esac
    done < /var/tmp/name
    
    rm /var/tmp/name
    
    echo "${name}"
    ENDINVERS
    
    # make it executable
    chmod +x /var/tmp/invers.sh
    
    # write send script to file
    cat > /var/tmp/callmessage.sh << 'ENDCALLMESSAGE'
    #!/bin/sh
    
    caller=${2}
    called=${1}
    
    # search name in contact list
    name=`cat /var/flash/debug.cfg 2>/dev/null | fgrep "#contact=${caller}:" | sed "s/#contact=${caller}://"`
    name=${name%%\;*}
    
    # name not found?
    if [ -z "${name}" ]
    then
      # do reverse lookup for at www.dasoertliche.de
      name=`/var/tmp/invers.sh ${caller}`
      # found name?
      if [ -n "${name}" ]
      then
        # add found contact to debug.cfg
        cat /var/flash/debug.cfg | sed -e "s/^#CONTACTSEND$/#contact=${caller}:${name};
    #CONTACTSEND/g" > /var/tmp/debug.cfg
      else
        # add anonymous for contact to debug.cfg
        cat /var/flash/debug.cfg | sed -e "s/^#CONTACTSEND$/#contact=${caller}:${caller};
    #CONTACTSEND/g" > /var/tmp/debug.cfg
      fi
      cat /var/tmp/debug.cfg > /var/flash/debug.cfg
      rm /var/tmp/debug.cfg
    fi
    
    # name not found?
    if [ -z "${name}" ]
    then
      name=${caller}
    fi
    httpname=`echo "${name}" | sed -e '{s/ /%20/g;s/Ä/Ae/g;s/Ö/Oe/g;s/Ü/Ue/g;s/ä/ae/g;s/ö/oe/g;s/ü/ue/g;s/ß/ss/g;s/&/%26/g;}'`
    
    # search line in line list
    theline=`cat /var/flash/debug.cfg 2>/dev/null | fgrep "#line=${called}:" | sed "s/#line=${called}://"`
    theline=${theline%%\;*}
    
    # line not found?
    if [ -z "${theline}" ]
    then
      theline=${called}
    fi
    httptheline=`echo "${theline}" | sed -e '{s/ /%20/g;s/Ä/Ae/g;s/Ö/Oe/g;s/Ü/Ue/g;s/ä/ae/g;s/ö/oe/g;s/ü/ue/g;s/ß/ss/g;s/&/%26/g;}'`
    
    # Send information to all DHCP clients
    while read x x IP x
    do
      wget -O /dev/null "http://${IP}:23232/?caller=${caller}&called=${called}&name=${name}&line=${theline}" >/dev/null 2>&1 &
    done < /var/flash/multid.leases
    
    # send information to PCs
    wget -O /dev/null "http://192.168.178.2:23232/?caller=${caller}&called=${called}&name=${name}&line=${theline}" >/dev/null 2>&1 &
    
    # send information to DBoxes -> TV screen
    wget -O /dev/null "http://192.168.178.4/control/message?popup=Eingehender%20Anruf%0AAnrufer%3A%20${httpname}%0ALeitung%3A%20${httptheline}" >/dev/null 2>&1 &
    
    # send information to DBoxes -> LCD
    wget -O /dev/null "http://192.168.178.4/control/lcd?lock=1&clear=1&xpos=5&ypos=20&size=18&font=2&text=${httpname}&update=1" >/dev/null 2>&1 &
    sleep 1
    wget -O /dev/null "http://192.168.178.4/control/lcd?lock=1&clear=0&xpos=5&ypos=42&size=18&font=2&text=an%20${httptheline}&update=1" >/dev/null 2>&1 &
    sleep 10
    wget -O /dev/null "http://192.168.178.4/control/lcd?lock=0" >/dev/null 2>&1 &
    
    sleep 3
    killall wget
    ENDCALLMESSAGE
    
    # make it executable
    chmod +x /var/tmp/callmessage.sh
    
    # write dummy WakeOnCall script
    echo "#!/bin/sh" > /var/tmp/woc.sh
    make it executable
    chmod +x /var/tmp/woc.sh
    
    # write parse_telefon script to file
    cat > /var/tmp/parse_telefon.sh << 'ENDPARSETEL'
    #!/bin/sh
    
    trap "" SIGCHLD
    
    prefix=02207
    caller="$2"
    called="$1"
    
    # normalize caller
    case ${caller} in
      0049*)
        caller=0${caller#*0049}
      ;;
      49????????*)
        caller=0${caller#*49}
      ;;
      [1-9]????????*)
        caller=0${caller}
      ;;
      [1-9]*)
        caller=${prefix}${caller}
      ;;
    esac
    
    # exec woc.sh
    /var/tmp/woc.sh ${called} ${caller} &
    # exec callmessage.sh
    /var/tmp/callmessage.sh ${called} ${caller} &
    
    ENDPARSETEL
    
    # make it executable
    chmod +x /var/tmp/parse_telefon.sh
    
    export IFILE=/usr/www/all/html/de/home/home.js
    export OFILE=/var/tmp/home.js
    umount $IFILE                 # darf nur einmal mount sein
    sed 's/var signed.......query.box.status.signed_firmware..../var signed = "1"/g'  $IFILE >$OFILE
    mount -o bind $OFILE $IFILE
    
    
    habe nun mittels tftp -g -l debug.cfg -r debug.cfg IP die debug.cfg ins /var/tmp kopiert.
    dann per cp /var/tmp/debug.cf /var/flash kopiert und box resetet.

    Leider immer noch die gleiche Fehlermeldung

    Wo mache ich da einen Fehler?

    Danke

    REimund
     
  2. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,756
    Zustimmungen:
    1
    Punkte für Erfolge:
    0
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    Wo der Fehler ist kann ich dir nicht sagen, aber die letzten 4 Zeilen beseitigen die Meldung bei mir.

    MfG Oliver
     
  3. JSchling

    JSchling Gesperrt

    Registriert seit:
    21 Sep. 2004
    Beiträge:
    1,543
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    mit folgendem Code in der debug.cfg gehts bei mir:
    Code:
    sed 's/<? query.box:status.signed_firmware ?>/1/' /usr/www/all/html/de/home/home.js > /var/tmp/home.js
    mount -o bind /var/tmp/home.js /usr/www/all/html/de/home/home.js
     
  4. Joe_57

    Joe_57 IPPF-Promi

    Registriert seit:
    5 März 2006
    Beiträge:
    4,790
    Zustimmungen:
    35
    Punkte für Erfolge:
    48
    bei mir klappt es damit:
    Code:
    # # # # # # # # # SIGNED_FIRMWARE Warnhinweis wegen Manipulation entfernen
    dst=/var/tmp/signed_firmware
    src=/usr/www/all/html/de/home
    mkdir -pm 777 $dst
    for file in home.js konfig.js; do
    if [ -f $src/$file ]; then
    sed -e 's,.*var signed =.*,var signed = "1",' $src/$file > $dst/$file
    mount -o bind $dst/$file $src/$file
    fi
    done
    # # # # # # # # # ENDE Warnhinweise entfernen
    ...aber vielleicht hast du ja einfach keine Leer- oder Kommentarzeile am Ende deiner Debug.cfg. Das kann dann dazu führen, dass die letzte Befehlszeile nicht ausgeführt wird (ein EOF ist leider kein CR/LF).

    Joe
     
  5. Mathias-R

    Mathias-R Neuer User

    Registriert seit:
    20 Juli 2005
    Beiträge:
    161
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ort:
    Königstein im Taunus
    Bei der aktuellen Firmware ist der Pfad geändert:
    Code:
    sed 's/<? query.box:status.signed_firmware ?>/1/' /usr/www/html/html/de/home/home.js > /var/tmp/home.js
    mount -o bind /var/tmp/home.js /usr/www/html/html/de/home/home.js
    
     
  6. Joe_57

    Joe_57 IPPF-Promi

    Registriert seit:
    5 März 2006
    Beiträge:
    4,790
    Zustimmungen:
    35
    Punkte für Erfolge:
    48
    Bei mir hat die Änderung nur einer Zeile genügt:
    Code:
    # # # # # # # # # Warnhinweis wegen Manipulation entfernen
    dst=/var/tmp/signed_firmware
    [COLOR="Red"]src=/usr/www/html/html/de/home[/COLOR]
    mkdir -pm 777 $dst
    for file in home.js konfig.js; do
    	if [ -f $src/$file ]; then
    		sed -e 's,.*var signed =.*,var signed = "1",' $src/$file > $dst/$file
    		mount -o bind $dst/$file $src/$file
    	fi
    done
    #
    # # # # # # # # # ENDE Warnhinweise entfernen
    
    Joe