Come editare il file Debug.cfg

Discussione sulle modifiche che potete apportare al vostro ben amato Fritz!Box

Moderatore: phpBB Moderatori

Messaggioda linus » dom dic 23, 2007 6:26 am

Argomento già trattato in diversi post per altre procedure, viene aperto questo post per problematiche relative al solo debug.cfg.
Innanzi tutto è da ricordare che questo script viene eseguito all'avvio del Fritz!box e vi si può caricare qualsiasi comando, per esempio per caricare un demone e farlo eseguire, impostare delle variabili che nella normale procedura del Fritz!box non possono essere eseguite.
Vi sono diversi modi per inserire comandi in questo file.
Il file risiede sotto la cartella /var/flash del nostro fritz!box e se non c'è possiamo crearlo.
I modi per farlo sono diversi, che riporto qui:
Loggiarsi su telnet con la solita procedure avendolo attivato:

telnet 192.168.178.1
o telnet fritz.box

successivamente portarsi sotto la directory /var/flash

cd /var/flash

controlliamo se esiste:

ls debug.cfg

se viene riportato come risposta debug.cfg allora significa che esiste
se non esiste allora per prima cosa bisogna crearlo:

echo "prova" > debug.cfg

qui inseriamo nel file la parola prova, il file verrà creato e dentro questo vi sarà scritto nella prima riga la parola prova.

Adesso passiamo ad editare questo file, l'editor che abbiamo a disposizione dentro il nostro fritz è il nvi [new vi]

quindi iniziamo ad lanciare l'editor collegandolo al file:

nvi debug.cfg

verrà creato un file temporaneo nvi.tmp dove inseriremo i nostri comandi e aprendo il file, vediamo la scritta prova in alto e nell'ultima riga il nome del file seguito dal numero di righe dove ci troviamo e dove siamo:

tipo 1/3, ciò vuol dire che ci troviamo sulla riga 1 e le righe totali sono 3,

nonchè la % di occupazione della riga che corrisponde a 100 diviso il numero di righe.

Es. 3 righe : 100/3 = 33 %

Infine vediamo un segno corrispondende al quasi che ci sta ad indicare che la riga è vuota.

Comprese queste considerazioni di ciò che vediamo passiamo a i comandi:
(e necessario per l'esecuzione dei comandi pigiare il tasto Esc (Escape) prima di dare il comando)

I inserimento;
D delete (cancella) questo comando cancella un intera riga;
:w write (scrive il file);
:q quit (esce dal programma)

e da ricordare che alla fine che abbiamo editato il file e necessario eseguire entrambe le azioni di scrittura e di uscita, infatti esiste il comando combinato:
:wq

Questi sono i comandi base per poter lavorare con nvi

risulta possibile utilizzare un editor diverso che riporto per completezza del post, tratto dalla guida all'installazione di Asterisk.

Editare un file attraverso un editor linux anzichè con nvi.

Per editare un file per esempio il file debug.cfg, suggerisce redoctober71:

che bisogna prima riempire il file con una stringa, in questo caso:

> echo "prova" > /var/flash/debug.cfg

poi caricare l'editor ne3c

cd /var
wget http://spblinux.de/fbox/ne3c
chmod +x ne3c
./ne3c flash/debug.cfg


infine, salvare con CTRL-K Q e rispondere con Y alla domanda se si vuol salvare o meno

Linus
Solo se sai cercare riuscirai nel tuo intento, la ricerca ci accompagna per tutta la vita e fa si che cresciamo ogni giorno un po'. Se hai la minestra pronta e riscaldata, non riuscirai mai a gustare il suo vero sapore e trovarne il piacere.
Avatar utente
linus
Guru
Guru
 
Messaggi: 4105
Iscritto il: lun ago 14, 2006 10:27 am
Ha ringraziato: 2 volte
Hai ringraziamenti: 25 volte

Messaggioda sepscirocco » dom dic 23, 2007 10:04 pm

in questa maniera le modifiche apportate al debug.cfg sono permanenti? cioè se riavvio, il fritz eseguendo il debug.cfg esegue anke le mofifiche?
grazie
sepscirocco
Advanced
Advanced
 
Messaggi: 227
Iscritto il: ven lug 14, 2006 7:04 pm
Ha ringraziato: 0 volta
Hai ringraziamenti: 0 volta

Messaggioda linus » lun dic 24, 2007 12:47 pm

certamente SI, in ogni caso se non le esegue è perchè occorre impostare delle pause variabili da procedura a procedura.

Linus
Solo se sai cercare riuscirai nel tuo intento, la ricerca ci accompagna per tutta la vita e fa si che cresciamo ogni giorno un po'. Se hai la minestra pronta e riscaldata, non riuscirai mai a gustare il suo vero sapore e trovarne il piacere.
Avatar utente
linus
Guru
Guru
 
Messaggi: 4105
Iscritto il: lun ago 14, 2006 10:27 am
Ha ringraziato: 2 volte
Hai ringraziamenti: 25 volte

Messaggioda sepscirocco » mar dic 25, 2007 9:24 am

grazie linus sempre preciso e puntuale nelle risposte
sepscirocco
Advanced
Advanced
 
Messaggi: 227
Iscritto il: ven lug 14, 2006 7:04 pm
Ha ringraziato: 0 volta
Hai ringraziamenti: 0 volta

Messaggioda Moviola1 » mer dic 26, 2007 2:14 pm

Salve ragazzi. Ho seguito la discussione sul Personal Web Server, e sono riuscito a farlo funzionare perfettamente.
Volevo modificare il debug. cfg, ma non riesco a farlo leggere al fritz.
Mi spego meglio:
il mio è un 7170 modificato in annex a e firmware ing.
Ho editato il debug.cfg con NVI e ho salvato le modifiche con :wq,
se lo riapro con nvi le modifiche ci sono.
le righe che ho messo sono queste:
/var/media/ftp/MassStorageDevice-Partition-0-1/web/busybox httpd -h
/var/media/ftp/MassStorageDevice-Partition-0-1/web/htdocs -p 8081
ifconfig eth0:1 192.168.1.150 netmask 255.255.0.0 up
però al riavvio non viene caricata, se invece la do manualmente da telnet viene eseguita e il web server parte.
Linus parlava di inserire delle pause tra le variabili, ma non so qual'è il modo corretto per farlo, inoltre volevo chiedere se esiste un comando per mandare manualmente in esecuzione il debug.cfg, per vedere se funziona o magari non viene letto.
Moviola1
Newbie
Newbie
 
Messaggi: 2
Iscritto il: mer dic 26, 2007 1:36 pm
Ha ringraziato: 0 volta
Hai ringraziamenti: 0 volta

Messaggioda linus » mer dic 26, 2007 4:53 pm

l'attesa la fai eseguire con il comando

sleep xx dove xx sono in secondi.

per vedere se è in esecuzione dai ps... e vedi se c'è il busybox httpd

Linus
Solo se sai cercare riuscirai nel tuo intento, la ricerca ci accompagna per tutta la vita e fa si che cresciamo ogni giorno un po'. Se hai la minestra pronta e riscaldata, non riuscirai mai a gustare il suo vero sapore e trovarne il piacere.
Avatar utente
linus
Guru
Guru
 
Messaggi: 4105
Iscritto il: lun ago 14, 2006 10:27 am
Ha ringraziato: 2 volte
Hai ringraziamenti: 25 volte

Messaggioda Tokka » mer dic 26, 2007 5:21 pm

@ Moviola: apparte l'OT, la riga da inserire è:
/var/media/ftp/uStor00/web/busybox httpd -h /var/media/ftp/uStor00/web/htdocs -p 8081
è una sola, non 2 (ovviamente adattata al tou MassoStorageecc...)
Fritz
vari...
Ip-301 lock & free
Nslu2 -> debian [lenny]
Gigaset S450IP
Sto rimettendo in piedi la baracca
Avatar utente
Tokka
Guru
Guru
 
Messaggi: 4151
Iscritto il: gio feb 23, 2006 11:04 am
Località: 7113 fw mod con asterisk 1.8, 7240 fw mod con asterisk 11, 7140 fw mod con umts
Ha ringraziato: 9 volte
Hai ringraziamenti: 12 volte

Messaggioda Moviola1 » ven dic 28, 2007 10:02 pm

Grazie.. :D
impostando uno sleep di 90 sec. ho risolto..
avevo provato prima con 30 e 60, ma continuava a non funzionare.
Tokka scusa per l'OT, Ho inserito la discussione qui solo perche riguardava il debug.cfg :oops:
Grazie a tutti per la disponibilità.
Moviola1
Newbie
Newbie
 
Messaggi: 2
Iscritto il: mer dic 26, 2007 1:36 pm
Ha ringraziato: 0 volta
Hai ringraziamenti: 0 volta

Messaggioda Ficus » mer feb 20, 2008 1:21 am

Mi sono iscritto da poco al forum di VoceSuIP e perciò, per prima, cosa desidero porgere un saluto a tutti quanti e farvi i complimenti per il sito ed i vostri utili contributi.

Sono da poco felice possessore di un Fritz!Box (7140 Annex A orig.) che ho acquistato nuovo.
Naturalmente non ho resistito neanche un giorno all'istinto smanettone, che mi sembra ben presente tra gli utenti di questo forum!

Premesso che ancora non mi è del tutto chiaro il processo di boot del Fritz, da quello che ho capito, il modo "standard", comunemente usato per inserire le proprie istruzioni di avvio, è quello di modificare appunto il file "/var/flash/debug.cfg".

Trattandosi di un file speciale (character device), credo che sia meglio evitare di editarlo "al volo" con nvi o vi, e direi che sia preferibile editare un file di appoggio, testarlo e successivamente copiarlo con il comando di redirezione, con una sequenza tipo:
Codice: Seleziona tutto
vi /var/tmp/prova.sh
chmod 754 /var/tmp/prova.sh
/var/tmp/prova.sh
cat /var/tmp/prova.sh > /var/flash/debug.cfg


Ma che succede se sbagli qualcosa e dopo la modifica il Fritz non ti fa più il boot?
Credo che la cosa migliore sia quella di mettere le proprie modifiche su un USB disk e lasciare nel debug.cfg solamente le istruzioni di avvio del disco esterno.
In questo modo, se sbagli qualcosa, spegni il Fritz, togli il disco USB e riavvii senza eseguire le modifiche. Inoltre hai a disposizione molto più spazio rispetto a quello presente in flash.
Nell'esempio seguente, al boot viene eseguito il file /fb/etc/rc.local dall'USB disk:
Codice: Seleziona tutto
#!/bin/sh
# File: /var/flash/debug.cfg
# Auth: Ficus
# Date: 20080205

Count=0
CountSleep=3
CountLoops=30
StdMountPoint=/var/media/ftp
NewMountPoint=/var/media/local
NewMountPointOpt="-t vfat -o ro -o uid=0"
NewStartFile=fb/etc/rc.local

SwapMount(){
  local DevName MountPoint dummy
  mount |\
  while read DevName dummy MountPoint dummy
  do
    if [ "$MountPoint" = "$1" ]
    then
      mkdir -p $2
      if [ ! -d $2 ]
      then
        echo "$0: New mount point \"$2\" not found: Abort."
        break
      fi
      umount $1 || break
      mount $DevName $2 $3
      break
    fi
  done
}

while [ $Count -lt $CountLoops ]
do
  for MyStart in ${StdMountPoint}/*/${NewStartFile}
  do
    if [ -x "$MyStart" ]
    then
      MyRoot=${MyStart%%/${NewStartFile}}
      SwapMount $MyRoot $NewMountPoint "$NewMountPointOpt"
      ${NewMountPoint}/${NewStartFile}
      echo $Count > /var/tmp/UsbMountCount.txt
      break 2
    fi
  done
  Count=$(($Count + 1))
  sleep $CountSleep
done


Funzionamento: All'avvio, ogni 3 secondi e per un massimo di 30 cicli, il programma verifica se esiste il file "/fb/etc/rc.local" su USB disk.
Se lo trova, smonta il disco dalla directory definita in fase di automount e lo rimonta in "/var/media/local", con le opzioni definite in NewMountPointOpt (metti rw al posto di ro se vuoi che il disco sia scrivibile).
In questo modo si evita che il nome del mount point dipenda dal nome del dispositivo.
A questo punto viene eseguito lo script di avvio presente su USB disk.
Attenzione: il disco non sarà più accessibile via FTP (non è un baco, ma una scelta, dal momento che uso l'accesso via ssh/sftp).

Qualcuno sa dirmi se è possibile montare un filesystem ext2 o ext3?

PS: E se scrivessimo un wiki su quest'argomento?
Avatar utente
Ficus
PrimoLivello
PrimoLivello
 
Messaggi: 9
Iscritto il: sab feb 16, 2008 1:41 am
Ha ringraziato: 0 volta
Hai ringraziamenti: 0 volta

Messaggioda Tokka » mer feb 20, 2008 1:42 am

Ciao Ficus, direi che è un ottimo intervento il tuo  :D, ma prima di tirare giù una wiki sarebbero opportune più info, tipo:
1) in caso di più unità connesse, come vengono rimontate? hanno un proprio "identificativo" che sopperisce al nome?
2) visto che con la modifica del debug.cfg si può già far girare applicativi vari da usb, a che serve smontare e rimontare con un nome diverso?
3) se come hai detto viene tolto l'accesso ftp, quali altri metodi di accesso alla periferica rimangono in una situazione simil-casalinga?
Più o meno con le risposte a questi primi quesiti direi che si potrebbe intanto dividere questo post dal resto della discussione (un goccino OT) e dargli uno spazio proprio, e poi pensare ad una wiki, con inclusi anche suggerimenti che permettano di sfruttare al meglio il lavoro da te svolto  ;)
Sarà l'ora....ma spero di aver interpretato bene il tuo post :-[
'notte
Tk
Fritz
vari...
Ip-301 lock & free
Nslu2 -> debian [lenny]
Gigaset S450IP
Sto rimettendo in piedi la baracca
Avatar utente
Tokka
Guru
Guru
 
Messaggi: 4151
Iscritto il: gio feb 23, 2006 11:04 am
Località: 7113 fw mod con asterisk 1.8, 7240 fw mod con asterisk 11, 7140 fw mod con umts
Ha ringraziato: 9 volte
Hai ringraziamenti: 12 volte

Messaggioda _stefano » mer feb 20, 2008 6:51 am

uso da tempo uno script del genere per avviare asterisk e altre cose prima sul 7140 e poi sul 7170. l'ho anche pubblicato in qualche post

Il principio è simile:
al boot il debug.cfg
1) aspetta che il fritz monti l'USB
2) una volta montato lancia lo script autostar.sh presente sull'unità (chiavetta USB)

#!/bin/sh
# lancia in modo automatico lo script autostart.sh sul disco montato
hostname localhost
i=30
f=autostart.sh

# indicare la directory dove viene montato il disco
# il path viene passato all'autostart
d=/var/media/ftp/CruzerMini-Partition-0-1

while [ $i -gt 0 ]; do
sleep 10
let i-=1
[ -f $d/$f ] || continue
$d/$f $d
break
done


nel mio caso l'autostart fa questo:
1) mappa l'unità con un link simbolico sotto /var/usb (senza smontare e rimontare)
2) avvia samba
3) copia i file di configurazione di asterisk
4) avvia asterisk

a questo punto posso accedere al fritz sia da ftp che da samba
Fritz!Box Fon WLAN 7270 16M 54.04.67 en Annex A
Siemens Gigaset A260 - S1 - C455 - AL140
Siemens Gigaset A580 IP Voip

sip:stefano@voiparea.net
+883 510 001 371 001

--
When in charge ponder,
When in doubt mumble,
When in trouble delegate.
_stefano
Guru
Guru
 
Messaggi: 996
Iscritto il: mer giu 20, 2007 10:40 am
Località: Katmandù
Ha ringraziato: 0 volta
Hai ringraziamenti: 0 volta

Messaggioda Ficus » gio feb 21, 2008 1:49 am

1) Solamente la partizione che contiene il file definito in NewStartFile viene "rimontato". Le altre partizioni continuano ad essere gestiti da hotplug in modo tradizionale, servizio FTP compreso.
2) Il nome del nuovo mountpoint lo decidi tu e non dipende più dal nome che gli assegna hotplug. In questo modo puoi cambiare il disco USB senza dover aggiornare il file debug.cfg.
Allo stesso modo, avendo sempre lo stesso path, non sarà necessario aggiornare gli script presenti nel disco USB che avessero riferimenti al percorso di mount.
3) Al posto di FTP uso un client SFTP (ti consiglio WinScp che trovi su Sourceforge), ciò ti permette di avere autenticazione e trasferimento dati su connessione sicura. Questo a meno che non ti interessi scoprire se il tuo fratellino riesce a modificare il Fritz giocando sull' Xbox!
Se invece non vuoi disabilitare l'accesso FTP, basta che commenti le righe
Codice: Seleziona tutto
      SwapMount $MyRoot $NewMountPoint "$NewMountPointOpt"
      ${NewMountPoint}/${NewStartFile}

sostituendole con
Codice: Seleziona tutto
      $MyStart

Che è, sostanzialmente, quello che fa anche lo script proposto da _stefano.

Ciao,
Avatar utente
Ficus
PrimoLivello
PrimoLivello
 
Messaggi: 9
Iscritto il: sab feb 16, 2008 1:41 am
Ha ringraziato: 0 volta
Hai ringraziamenti: 0 volta

Messaggioda morpheus106 » ven feb 29, 2008 4:47 pm

Non sò se il problema riguarda + la modifica del debug.cfg o del dsmod perchè dopo l'installazione del firmware 58.04.47-ds26-pre16 ho verificato che non eseguiva il mount automatico dello storage usb così ho inserito 2 righe nel debug.cfg:
sleep 20
mount /dev/sda1 /var/media/ftp/uStor01

dopo il riavvio ho verificato che il mount lo aveva eseguito ma non riuscivo + ad accedere all'interfaccia web del dsmod...

Come ho commentato le righe e riavviato riuscivo di nuovo ad accedere alla pagina del dsmod....

Devo inserire qualche altra stringa nel debug.cfg per risolvere il mio problema?



EDIT:

ho risolto, era la stringa di start dell'openvpn mancava la & alla fine
Saluti
Ultima modifica di morpheus106 il ven feb 29, 2008 8:32 pm, modificato 1 volta in totale.
FRITZ!Box Fon WLAN 7170 Annex A, Firmware version 58.04.47-ds26-pre16 #bftpd, cifsmount, dnsmasq, dropbear, inadyn, openvpn, samba, smbmount, virtual ip, wake on lan
Avatar utente
morpheus106
Advanced
Advanced
 
Messaggi: 105
Iscritto il: mer set 06, 2006 7:16 am
Località: La spezia
Ha ringraziato: 0 volta
Hai ringraziamenti: 0 volta

Messaggioda pystik » dom set 13, 2009 1:23 pm

ma per editare o semplicemente per accedervi , al suddetto "file", cìè da osservare qualche indicazione??? o si puo fare anche quando il fritz sta funzionando regolarmente????
Avatar utente
pystik
Advanced
Advanced
 
Messaggi: 252
Iscritto il: sab mag 02, 2009 3:49 pm
Ha ringraziato: 1 volta
Hai ringraziamenti: 0 volta

Messaggioda linus » dom set 13, 2009 1:34 pm

basta che sia attivo telnet. In modalità ftp non vi si può accedere.

linus
Solo se sai cercare riuscirai nel tuo intento, la ricerca ci accompagna per tutta la vita e fa si che cresciamo ogni giorno un po'. Se hai la minestra pronta e riscaldata, non riuscirai mai a gustare il suo vero sapore e trovarne il piacere.
Avatar utente
linus
Guru
Guru
 
Messaggi: 4105
Iscritto il: lun ago 14, 2006 10:27 am
Ha ringraziato: 2 volte
Hai ringraziamenti: 25 volte


Torna a Modifiche

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite