PDA

View Full Version : [Modfs] Sviluppo pacchetti e porting su altri router


Pagine : 1 2 3 [4]

gnicK79
29-02-2012, 18:42
Stavo pensando se si potesse far qualcosa con fstab!!!


Dentro c'è questo:

proc /proc proc defaults 0 0
/dev/sda1 /mnt vfat noauto 0 0
tmpfs /mnt tmpfs size=16k 0 0

Sinceramente non son sicuro se con l'hotplug sta roba venga considerata

gnicK79
01-03-2012, 16:50
DGN2200

Il problema delle unità usb duplicate non è direttamente riconducibile a modfs, ma alla gestione del mounter da parte del router nelle partizioni.
Non possiamo parlare nemmeno di bug, poiché non è prevista la possibilità o la funzionalità di montare 2 volte la medesima partizione.
Questa è una nostra esigenza, cioè di modfs.

Però esiste un workaround al problema.
Il router gestisce male le unità solo quando si montano più di una volta le partizioni successive alla prima.

Per cui il trucco sta di mettere modfs SEMPRE nella prima partizione, e lasciare i dati personali nelle altre... per le quali non abbiamo bisogno di montarle una seconda volta, basterà lasciarle montare al router.

Qualora si mettesse modfs in un'altra partizione della stessa periferica, che non sia la prima, il router farà un po' di macelli in nvram e nell'assegnazione delle lettere di unità con la conseguente perdità e reset delle impostazioni di condivisione per le unità condivise.


Confermo il comportamento e aggiungo che modfs non solo deve risiedere nella prima partizione disponibile della chiavetta, ma anche nella prima chiavetta rilevata dal router cioè /dev/sda1 in sostanza.

gnommo
02-03-2012, 09:00
Ancora una volta il dgn3500 usa una sistema diverso, che semplifica la vita.
Non usa automount, ma un hotplug custom, nel senso che il driver scsi
all'inserimento o disinserimento di un drive chiama direttamente lo script:
/etc/usb/usb_m.sh

#!/bin/sh

echo ">> $0 $1 $2 $3" > /dev/console

while [ -f "/tmp/keep_usb_m" ]; do
echo "Wait USB $1" > /tmp/wait_usb_m_$1
/usr/sbin/sleep 1
done

if [ -f /tmp/wait_usb_m_$1 ]; then
rm /tmp/wait_usb_m_$1
fi

echo "keep" > /tmp/keep_usb_m

if [ ! -d /tmp/sd ]; then
mkdir /tmp/sd
fi

echo $2 > /tmp/sd/$1
echo $3 >> /tmp/sd/$1


/usr/sbin/mknod_sd $1

/usr/sbin/rc sd mount $1

rm /tmp/keep_usb_m


ed /etc/usb/usb_u.sh al disinserimento:

#!/bin/sh

echo ">> $0 $1" > /dev/console

while [ -f "/tmp/keep_usb_u" ]; do
echo "Wait USB $1" > /tmp/wait_usb_u_$1
/usr/sbin/sleep 1
done

if [ -f /tmp/wait_usb_u_$1 ]; then
rm /tmp/wait_usb_u_$1
fi

echo "keep" > /tmp/keep_usb_u
rm /tmp/sd/$1
/usr/sbin/rc sd umount $1
rm /tmp/keep_usb_u



potete immaginare che mi è bastato modificare questi script per ottenere un comportamento impeccabile di modfs, incluso il caricamento automatico di modfs all'inserimento di un drive :D
Anche sul dgn2200v3 è stato adottato questo metodo
In realtà quindi si potrebbe patchare il file drivers/scsi/sd.c per ottenere lo stesso sistema eliminando automount

gnicK79
02-03-2012, 15:51
Ancora una volta il dgn3500 usa una sistema diverso, che semplifica la vita.
Non usa automount, ma un hotplug custom, nel senso che il driver scsi
all'inserimento o disinserimento di un drive chiama direttamente lo script:
/etc/usb/usb_m.sh

-


ed /etc/usb/usb_u.sh al disinserimento:

-


potete immaginare che mi è bastato modificare questi script per ottenere un comportamento impeccabile di modfs, incluso il caricamento automatico di modfs all'inserimento di un drive :D
Anche sul dgn2200v3 è stato adottato questo metodo
In realtà quindi si potrebbe patchare il file drivers/scsi/sd.c per ottenere lo stesso sistema eliminando automount

Accidenti! :muro:
Con quegli script è come avere un listener aperto e a portata di mano ogni volta lo si desidera. -.-

Comunque, ieri, per sfizio ho fatto un altro tipo di test: :D
Ho tolto di mezzo l'hub e ho collegato la chiavetta partizionata in due direttamente al connettore usb dietro al router.
Il router montava, come l'hub, le due partizioni in sda1 ed sda2.
Poi però quando ho rimontato la prima (sda1), invece di avere la situazione, 2x sda1 e 1x sda2 come per l'hub, ha rimappato in questa maniera 1x sda1 1x sdb1 1x sdb2 :doh: ... con le conseguenze di avere il noto problema delle condivisioni duplicate.
Il mounting multiplo funziona bene solo nel device sda1... c'è poco da fare.
Quindi il risultato è addirittura peggiore che con l'hub. :muro:
Penso che con tutti sti casini del DGN2200, abbiamo avuto una botta di fortuna che almeno un device non dia problemi.
Mamma mia!
Effettivamente verrebbe voglia di metterlo a posto... il driver, in modo che si possano inserire le periferiche come cavolo capita e non fare attenzione a tutti sti accorgimenti.

Il punto è che patchare quel driver vorrebbe dire ricompilare il kernel e io qui ho una Debian 6 con gcc allineato. La versione del kernel è bella che superata da un bel pezzo...
Dovrei mettere in piedi una vm con Fedora 6 e situare l'ambiente di sviluppo.
Uffa! -_-

---------------------------------------------------------------

Avrei da chiederti una cosa riguardo a modfs:
Sarebbe possibile mettere rapidamente sul DGN2200 una busybox con il demone httpd scorporato e non built-in, tipo come per il DGN3500?
Sospetto che il processo, dipende cosa configuri, venga killato di proposito... e no si tratti di crash.
Il punto è che per rinominarlo bisognerebbe che sia indipendente!

gnommo
02-03-2012, 16:29
Avrei da chiederti una cosa riguardo a modfs:
Sarebbe possibile mettere rapidamente sul DGN2200 una busybox con il demone httpd scorporato e non built-in, tipo come per il DGN3500?
Sospetto che il processo, dipende cosa configuri, venga killato di proposito... e no si tratti di crash.
Il punto è che per rinominarlo bisognerebbe che sia indipendente!

Certo, io l'ho compilato a parte perchè l'ho preso da un'altra versione di busybox, non ricordo più per quale problema, ma mi sa proprio che io ho apportato delle modifiche a httpd in un modo e cionci in un altro :D
Quindi i due httpd probabilmente non sono uguali.

gnicK79
02-03-2012, 19:01
Certo, io l'ho compilato a parte perchè l'ho preso da un'altra versione di busybox, non ricordo più per quale problema, ma mi sa proprio che io ho apportato delle modifiche a httpd in un modo e cionci in un altro :D
Quindi i due httpd probabilmente non sono uguali.

Niente da fare! Inutile compilarne una versione standalone.
In un modo piuttosto spartano ho preso la busybox e il demone http dal 3500 e li ho portati di là nel 2200, ho rinominato quest'ultimo, poi l'ho fatto puntare da un collegamento simbolico per ripristinare i collegamenti con i pacchetti.
Alcune cose chiaramente non funzionavano più per via della busybox, tuttavia il demone del 3500 l'ha tirato su e funzionava. L'interfaccia era navigabile.
Però al momento del test purtroppo è stato killato allo stesso modo di quello originale.
Per cui la soluzione migliore resta quella di affidarsi allo scheduler e fare il check a intervalli per riportarre up il demone.
Tra l'altro serve inserire un piccolo script per fare pulizia regolarmente fra la nvram per il problema delle periferiche usb e delle occorrenze non valide usb_info_dev* che pian piano crescono se si fanno operazioni di editing fra le risorse condivise etc etc.
In sda1 non riesce, per fortuna, a duplicare le risorse condivise di una partizione montata più volte. E questo mi sa che è un caso fortunato.
Infatti lui ci prova lo stesso ad assegnargli una seconda lettera di unità :D, ma fallisce lasciando variabili trash nella nvram.
Quindi serve uno scriptino che distingua queste var le elimini e poi un faccia un resorting. Quello lo avevo fatto... per cui amen.

Effettivamente sarebbe meglio ricompilare quel driver per evitarci tutti sti casini!
Vabbè.

Grazie comunque. :)

gnicK79
02-03-2012, 21:24
Per quanti avessero avuto problemi seri con l'attuale versione del firmware moddato del DGN2200, io metto a disposizione la versione che ho assemblato.

Changes & fixes:


Corretto un problema di stabilità generale che provocava blocchi e crash all'interfaccia principale quando il router operava in PPPoE
Possibilità di selezionare fra 4 driver ADSL (Accedere al router da Telnet e digitare "adsldrv" - help built-in)


Download (http://www.mediafire.com/download.php?gs456o1sxkpulms)

- p.s.: per il driver versione 026 evitare di settare la modalità 0(auto), altrimenti il modem non si allinea al riavvio; specificare il parametro della modulazione preferita.
- p.p.s: si ricorda... il settaggio esplicito della modalità ADSL da comando ha priorità inferiore rispetto alle impostazioni ADSL in Modfs qualora queste ultime risultassero abilitate.


IMPORTANTE: Attenzione! Non è consigliato, e nemmeno supportato, l'utilizzo di Modfs in USB senza l'utilizzo di un hub. Ciò vale anche a fronte del fatto che non si abbia la necessità di usare simultaneamente più periferiche usb, la condivisione della stampante e funzionalità come miniDLNA. Il motivo risiede nel fatto che il DGN2200, nel momento in cui si effettuano alcune ed opportune modifiche dall'interfaccia proprietaria, resetta il bus USB con la spiacevole conseguenza di ritrovarsi interrotti i riferimenti all'immagine montata di Modfs e con ripercussioni in negativo tra i processi correntemente in memoria, le condivisioni ReadyShare e la stabilità del router stesso; a seguito di un'indagine si è osservato che il reset del bus, fortunatamente, non avviene se alla porta USB viene collegato un hub e i dispositivi a quest'ultimo. Sono esentati da questa limitazione, tutte quelle funzionalità di Modfs che, per avere effetto, non necessitano l'accesso alla memoria USB.

puket
05-03-2012, 13:33
Scusate l'ardire :D , ma il buon e caro Cionci che fine ha fatto? Si sa nulla?

Parnas72
05-03-2012, 14:16
ma il buon e caro Cionci che fine ha fatto?http://www.hwupgrade.it/forum/showpost.php?p=36788793&postcount=3718

gnicK79
07-03-2012, 20:20
No no, non è proprio cosa...

Il DGN2200, almeno la prima versione, non è proprio fatto per gestire da readyshare più di una unità USB alla volta.
Forse era/è una feature da completare... inserita nella loro todo list.
Sta di fatto che allo stato attuale, ci sono errori di gestione delle unità multiple usb.
A parte il discorso modfs e di quello che necessita per essere sfruttato, il software di gestione è proprio incompleato/buggato di suo nella gestione di più dispositivi usb.

Giusto per curiosità avevo abilitato la funzione dei dispositivi autorizzati ed è stata una esperienza penosa e imbarazzante. :D
Cioè, fintanto si ha la solita e unica pennetta usb attaccata va bene; appena invece il router trova più di una periferica collegata, fa dei casini nell'indicizzazione.
Scambia le unità fra le periferiche autorizzate e non, perché la routine di gestione fa il check soltanto in /dev/sda1... e non prevede un ipotetico HUB.
Tipo non autorizzi la chiavetta alla posizione 1 e autorizzi invece la chiavetta nella posizione 2.... al restart di samba vai nell'interfaccia di editing e se provi ad effettuare qualche modifica scambia le lettere assegnate.... pensa di trovare la penna autorizzata in sda1 e invece lì c'è quella non autorizzata giacchè va in confusione e si congeda con un bel crash del demone http. :D
Cioè sono riuscito a trovare il modo per fare crashare il web server predefinito del router, e non quello di modfs :D
Ancora quello non lo avevo mai visto crashare!

Mamma mia tutta la gestione usb sarebbe da estirpare!

gnicK79
13-03-2012, 13:17
Gnommo

Dove potrei scaricare il sorgente di quel mini httpd che hai compilato? :)
Hai usato la toolchain del tuo 3500?

Mi servirebbe dare un'occhiata al sorgente e ricompilarlo.

gnommo
13-03-2012, 14:08
Gnommo

Dove potrei scaricare il sorgente di quel mini httpd che hai compilato? :)
Hai usato la toolchain del tuo 3500?

Mi servirebbe dare un'occhiata al sorgente e ricompilarlo.

Ho usato la mia vecchia toolchain (compilata anni ed anni fa :D )
basata su uclibc 0.9.28 a voi serve la 0.9.29, vabbè ma non c'entra questo.
Il sorgente lo devo cercare perchè ho fatto delle modifiche , aspè che lo vado a cercare... :D

gnicK79
15-03-2012, 18:43
Ho usato la mia vecchia toolchain (compilata anni ed anni fa :D )
basata su uclibc 0.9.28 a voi serve la 0.9.29, vabbè ma non c'entra questo.
Il sorgente lo devo cercare perchè ho fatto delle modifiche , aspè che lo vado a cercare... :D

Grazie.
Sì, la toolchain basata su uclibc 0.9.29 l'ho scaricata da un link di Cionci che ho trovato qui sul forum. Penso dovrebbe andare bene. Ho sistemato l'ambiente e sembra che compili... ho fatto un piccolo test, e va!
D'altro canto l'httpd compilato con la tua di toolchain girava senza problemi anche sui nostri DGN2200 e fra l'altro nel monitoraggio delle risorse era palesemente più leggero del nostro con prestazioni percepite indentiche.
Il motivo comunque per cui mi serivrebbe ricompilarlo è un altro. :)

gnommo
15-03-2012, 20:42
Grazie.
Sì, la toolchain basata su uclibc 0.9.29 l'ho scaricata da un link di Cionci che ho trovato qui sul forum. Penso dovrebbe andare bene. Ho sistemato l'ambiente e sembra che compili... ho fatto un piccolo test, e va!
D'altro canto l'httpd compilato con la tua di toolchain girava senza problemi anche sui nostri DGN2200 e fra l'altro nel monitoraggio delle risorse era palesemente più leggero del nostro con prestazioni percepite indentiche.
Il motivo comunque per cui mi serivrebbe ricompilarlo è un altro. :)


vedi un pò se è questa, ne ho un casino compilate e non ricordo quale ho messo :D :
http://www.mediafire.com/?hepw63yn6bmph70

gnicK79
16-03-2012, 14:48
vedi un pò se è questa, ne ho un casino compilate e non ricordo quale ho messo :D :
http://www.mediafire.com/?hepw63yn6bmph70

Vabbè se è lui o non è proprio lui, e se il test ha successo, eventualmente sarà un discorso su cui ci ritorneremo dopo. Aprendo la directory e vedendo un httpd già compilato di dimensioni differenti sembrerebbe essere un'altra versione.
Comunque per adesso non è prioritaria questa cosa.
Se ce ne sarà bisogno in seguito ti romperò le balle per compilare e linkare un eseguibile come si deve e con le opzioni giuste che mi consiglierai tu....

Nel frattempo...chiedo.. per compilare un applet standalone, nel mio caso l'httpd, c'è un'opzione da menuconfig? Oppure devo spostarmi nella directory networking e sistemare il file di configurazione da lì?
Io per compilare la prima volta gli ho fatto generare il file di configurazione con menuconfig e poi con make non aveva funzionato perché dovevo sistemare la sysroot altrimenti non trovava le librerie.
Sistemato --sysroot dalle opzioni di compilazione di menuconfig e facendolo puntare alla directory principale della toolchain ha compilato e il linker è riuscito a generare gli eseguibili ma con l'opzione "all-inclusive", cioè tutte le applet built-in nella busybox.

Ahh! Fra l'altro il processo non è proprio andato tutto a buon fine, si era fermato nello script sh "busybox.mll" nella riga $HOSTCC -E -DMAKE_LINKS -include $CONFIG_H $APPLETS_H... dove la variabile $HOSTCC valeva "gcc", cioè il nome di un compilatore che palesemente non poteva trovare; io per sbrigarmi ho forzato quella variabile al valore "mips-linux-gcc"... l'errore è scomparso ma non sono sicuro se è stata la mossa giusta. A te è successo?


opzione -E Preprocess only; do not compile, assemble or link

c'entra niente questo?



Hai semplicemente fatto compilare la busybox con solo l'httpd a bordo e poi lo hai rinominato da busybox in httpd?



LOOL! Come non detto...
Hard-Link & make install... :D

gnicK79
17-03-2012, 15:09
Dunque!

Il test ha avuto esito positivo!
Spiego un attimino di che sto parlando.
L'httpd sul DGN220 per tutte quelle volte che aveva smesso di rispondere, in realtà non aveva mai crashato; il punto è che il nome del processo in memoria è in conflitto col nome del demone originale.

Mettendosi a configurare dall'interfaccia generale ci sono molteplici casi in cui il router chiama uno script che scatena il restart di taluni servizi.
Durante questa pocedura fra kill killall e compagnia bella il nostro di demone viene fatto fuori di proposito per un "matching pattern". Non mi metto neanche a guardare il sorgente, perché tanto è così. :D
Anche se con un refreshing non proprio immediato mi so messo con "top" a monitorare la situazione mentre eseguivo una di queste procedure e i sospetti sono divenuti quasi certezze.
L'httpd essendo un applet di una collezione di utilità non è rinominabile semplicemente cambiandogli il nome all'eseguibile, bisogna cambiare due minchiate nel sorgente e ricompilare altrimenti il check interno se ne accorge e per un errore interno non avvia l'applet con il categorico "applet not found".

Questo è quello che in pratica ho fatto con il sorgente che mi ha passato Gnommo. Mi sembrava strano che il demone andasse in crash così senza che ci fossero richieste in corso o per uno spazio troppo esiguo in RAM.

--------------------------------------------------------------------

Gnommo, se mi potresti aiutare un attimino a compilare ben bene l'httpd con le opzioni giuste da menuconfig te ne sarei grato.

Io a parte che settare il sysroot per le librerie, la variabile $HOSTCC e l'opzione hard-link non ho toccato nient'altro.

L'httpd che il linker mi genera gira sul router e funziona, ma non totalmente e non con tutte le pagine del nostro HOME, tipo non carica le pagine con i grafici e altre cose ed errori nell'intepretazione PHP... manca qualche estensione?

queste le opzioni attive di default per l'httpd da menuconfig:

httpd
│ │ [ ] Support using httpd only from inetd
│ │ Enable Basic http Authentication
│ │ Support MD5 crypted passwords for http Authentication
│ │ Support reloading the global config file using hup signal
│ │ Enable support -u <user> option
│ │ Support loading additional MIME types at run-time
│ │ Support Common Gateway Interface (CGI)
│ │ Enable support for running scripts through an interpreter
│ │ Support the REMOTE_PORT environment variable for CGI
│ │ Enable the -e option for shell script CGI simplification.

come l'hai compilato Gnommo? :D

gnommo
17-03-2012, 17:58
Dunque!

Il test ha avuto esito positivo!
Spiego un attimino di che sto parlando.
L'httpd sul DGN220 per tutte quelle volte che aveva smesso di rispondere, in realtà non aveva mai crashato; il punto è che il nome del processo in memoria è in conflitto col nome del demone originale.

Mettendosi a configurare dall'interfaccia generale ci sono molteplici casi in cui il router chiama uno script che scatena il restart di taluni servizi.
Durante questa pocedura fra kill killall e compagnia bella il nostro di demone viene fatto fuori di proposito per un "matching pattern". Non mi metto neanche a guardare il sorgente, perché tanto è così. :D
Anche se con un refreshing non proprio immediato mi so messo con "top" a monitorare la situazione mentre eseguivo una di queste procedure e i sospetti sono divenuti quasi certezze.
L'httpd essendo un applet di una collezione di utilità non è rinominabile semplicemente cambiandogli il nome all'eseguibile, bisogna cambiare due minchiate nel sorgente e ricompilare altrimenti il check interno se ne accorge e per un errore interno non avvia l'applet con il categorico "applet not found".

Questo è quello che in pratica ho fatto con il sorgente che mi ha passato Gnommo. Mi sembrava strano che il demone andasse in crash così senza che ci fossero richieste in corso o per uno spazio troppo esiguo in RAM.

--------------------------------------------------------------------

Gnommo, se mi potresti aiutare un attimino a compilare ben bene l'httpd con le opzioni giuste da menuconfig te ne sarei grato.

Io a parte che settare il sysroot per le librerie, la variabile $HOSTCC e l'opzione hard-link non ho toccato nient'altro.

L'httpd che il linker mi genera gira sul router e funziona, ma non totalmente e non con tutte le pagine del nostro HOME, tipo non carica le pagine con i grafici e altre cose ed errori nell'intepretazione PHP... manca qualche estensione?

queste le opzioni attive di default per l'httpd da menuconfig:

httpd
│ │ [ ] Support using httpd only from inetd
│ │ Enable Basic http Authentication
│ │ Support MD5 crypted passwords for http Authentication
│ │ Support reloading the global config file using hup signal
│ │ Enable support -u <user> option
│ │ Support loading additional MIME types at run-time
│ │ Support Common Gateway Interface (CGI)
│ │ Enable support for running scripts through an interpreter
│ │ Support the REMOTE_PORT environment variable for CGI
│ │ Enable the -e option for shell script CGI simplification.

come l'hai compilato Gnommo? :D

Il fatto è che il dgn3500 usa uclibc 0.9.28 ed il 2200 0.9.29.
Già avevamo sperimentato queste diversità di comportamento, così che io avevo compilato httpd con le mie patch e cionci con le sue.
Mi sa che ti conviene compilare quello di cionci.
Sicuramente le sue patch sono contenute qui:
http://modfs.svn.sourceforge.net/viewvc/modfs/trunk/sources/busybox-1.13.2_modfs.tar.gz?view=log

gnicK79
17-03-2012, 18:34
Il fatto è che il dgn3500 usa uclibc 0.9.28 ed il 2200 0.9.29.
Già avevamo sperimentato queste diversità di comportamento, così che io avevo compilato httpd con le mie patch e cionci con le sue.
Mi sa che ti conviene compilare quello di cionci.
Sicuramente le sue patch sono contenute qui:
http://modfs.svn.sourceforge.net/viewvc/modfs/trunk/sources/busybox-1.13.2_modfs.tar.gz?view=log

Eh ma il tuo di httpd, quello che tuttora utilizzano gli utenti DGN3500 e che hai compilato con la tua di toolchain basata su uclibc 0.9.28 funziona alla perfezione sui nostri DGN2200. Te lo assicuro! :D
Se dunque quel demone tu l'hai compilato con il sorgente che mi hai passato, mi sorge qualche dubbio sulla bontà di compilazione della mia toolchain.
Mi potresti passare la tua di toolchain?
Sempre se non è troppo disturbo!! (dice Gnommo... è 2 gg che rompi le @@ :D) Ti chiedo scusa!
:sofico:

Ahh dimeticavo!! Hai messo particolari opzioni per l'ottimizzazione del codice? Io ho lasciato -Os


Ho riscaricato il sorgente della Busybox 1.1.3, e inserito lì le modifiche del sorgente del demone httpd.
Il compilatore multipiattaforma da qui è riuscito a costruire un eseguibile funzionante e dannatamente striminzito :D.
Probabile ci fossero strascichi di compilazione dovuti al compilatore gcc di sistema della tua distribuzione o forse della toolchain stessa.
Si doveva fare un rebuild totale...
Comunque va bene, faccio un po' di test e poi si mette nel repository con le opportune modifiche agli scripts.
Grazie.

dmann9999
19-03-2012, 17:02
Per quanti avessero avuto problemi seri con l'attuale versione del firmware moddato del DGN2200, io metto a disposizione la versione che ho assemblato.

Changes & fixes:


Corretto un problema di stabilità generale che provocava blocchi e crash all'interfaccia principale quando il router operava in PPPoE
Possibilità di selezionare fra 4 driver ADSL (Accedere al router da Telnet e digitare "adsldrv" - help built-in)


Download (http://www.mediafire.com/download.php?gs456o1sxkpulms)

- p.s.: per il driver versione 026 evitare di settare la modalità 0(auto), altrimenti il modem non si allinea al riavvio; specificare il parametro della modulazione preferita.
- p.p.s: si ricorda... il settaggio esplicito della modalità ADSL da comando ha priorità inferiore rispetto alle impostazioni ADSL in Modfs qualora queste ultime risultassero abilitate.

bellissimo lavoro, complimenti ;) l'ho provato solo adesso, secondo me dovresti metterlo in vista nel thread di modfs

gnicK79
19-03-2012, 19:15
bellissimo lavoro, complimenti ;) l'ho provato solo adesso, secondo me dovresti metterlo in vista nel thread di modfs

A dire la verità sarebbe da mettere di corsa nel post battistrada del thread principale come firmware di riferimento e come aggiornamento importante e consigliato.... da eseguire alla svelta.
Giusto appunto per questo fix:
Corretto un problema di stabilità generale che provocava blocchi e crash all'interfaccia principale quando il router operava in PPPoE

e non per altro.

Se Gnommo vuole lo può fare, io l'ho rilasciato... il link c'è... posso ripostarlo un'altra volta di là... lol, ma poi non è che posso.... boh.. forse è uscito in sordina principalmente a causa mia :D

gnommo
19-03-2012, 22:15
A dire la verità sarebbe da mettere di corsa nel post battistrada del thread principale come firmware di riferimento e come aggiornamento importante e consigliato.... da eseguire alla svelta.
Giusto appunto per questo fix:


e non per altro.

Se Gnommo vuole lo può fare, io l'ho rilasciato... il link c'è... posso ripostarlo un'altra volta di là... lol, ma poi non è che posso.... boh.. forse è uscito in sordina principalmente a causa mia :D

si provvedo.

gnicK79
20-03-2012, 23:27
Gnommo, si dovrebbe procedere a fare un commit sul repository.
Ti delego la faccenda.

- Nella directory dei binari del DGN2200 dovresti inserire questa nuova versione ricompilata del webserver http://www.mediafire.com/download.php?pir2r4r03c4tvd6 basata sul sorgente che mi hai passato.
- Poi togli di mezzo pure il collegamento simbolico httpd che punta al demone embedded. E' inutile rendere disponibile l'httpd built-in della busybox, perché tanto i processi del router lo killano sistematicamente. Da adesso il webserver da utilizzare è quello standalone.

Anche se il resto delle funzionalità della busybox rimane alla versione 1.13.2, ho voluto compilare quello che mi hai passato tu perché è esiguo, è mini :D, e per l'esigua RAM che ci ritroviamo nel nostro router mi sembra sia la scelta migliore.
(RAM 1% - VSZ 300k) vs (RAM 6% - VSZ circa 1.3 M) con stesse prestazioni.
Chissenefrega se la versione è più vecchia e risulta non allineata; essendo un eseguibile indipendente non è un problema da prendere in considerazione, anzi a momenti gli metto pure il crond dimagrito di alcuni kili se questo è l'andazzo della RAM.

Io non saprei per quali motivi Cionci abbia voluto caricare una busybox più recente di un bel po' di revisioni e di conseguenza più pesante con un router come il nostro che con la RAM è sempre con l'acqua alla gola, però io rimango scettico su questa decisione.

Poi bisogna apportare 2 piccole modifiche agli script di avvio e stop del servizio:

Essendo degli script common nella struttura del repository dovrebbe andarci una cosa del genere
start.sh

#!/tmp/soft_links/sh

port=8081
httpd="httpd"

if [ "$device" = "DGN2200" ]; then
httpd="httpws"
fi

ln -s $modfs_bin/php /tmp/soft_links/php
$httpd -p $port -h $modfs/www -c $modfs/etc/httpd.conf


stop.sh

#!/tmp/soft_links/sh

httpd="httpd"

if [ "$device" = "DGN2200" ]; then
httpd="httpws"
fi

for pid in `pidof $httpd`; do
res=`cat /proc/$pid/cmdline | grep "$modfs"`
if [ "$res" != "" ]; then
kill -9 $pid
fi
done
rm /tmp/soft_links/php

gnommo
21-03-2012, 07:53
Gnommo, si dovrebbe procedere a fare un commit sul repository.


Ok sarà fatto.
Solo non capisco perchè cambiare gli script. Cancellando il softlink httpd e sostituendolo con il nuovo eseguibile httpd, quali problemi comporta? :confused:
Devo dare a te e parnas72 l'accesso in scrittura all'svn :D

Parnas72
21-03-2012, 12:51
A quanto dice gnick, il processo non deve chiamarsi httpd altrimenti viene occasionalmente killato da qualche routine del firmware Netgear (magari basterebbe ignorare il segnale nel codice, ma penso anch'io che si faccia prima a rinominarlo).

gnicK79
21-03-2012, 13:15
Ok sarà fatto.
Solo non capisco perchè cambiare gli script. Cancellando il softlink httpd e sostituendolo con il nuovo eseguibile httpd, quali problemi comporta? :confused:


Come dice Parnas72, il processo non puo' chiamarsi come quello di base perché altrimenti cade sotto le grinfie del check. E' un po' come la vecchia storia del demone pppd, ma al contrario (cioè lì non riusciva a killarlo perché non matchava). :)

magari basterebbe ignorare il segnale nel codice, ma penso anch'io che si faccia prima a rinominarlo).

Che intendi? Ti riferisci al discorso "kill per signal"? Dici di compilare il demone apportando un cambiamento per cui si ignorano i segnali di processo inviati da kill?

gnommo
21-03-2012, 14:10
il processo non deve chiamarsi httpd
ops che rinco... avevo seguito la discussione quindi lo sapevo perfettamente il motivo :D

gnicK79
01-04-2012, 13:32
@Gnommo,

ma sta cosa qui è che mi è successa è normale, o effettivamente mi manca da fare qualcosa?

Ho scaricato il tar dal trunk sul repository; eseguo lo script build per creare l'immagine di modfs, la procedura va tutta a buon fine, unzippo l'immagine e la metto sulla chiavetta, al riavvio modfs non funziona. Tipo ho provato 2 volte e niente da fare, mentre se metto la 0.2 beta va. :wtf:
Ti posto gli errori di due log:

mod_setup.log


Not found on /dev/sda1
Found on /dev/sda2
mkdir: '/tmp/mod/modfs/lib/DGN2200/libresolv.so.0' is not an ELF file
mkdir: '/tmp/mod/modfs/lib/DGN2200/libm.so.0' is not an ELF file
mkdir: '/tmp/mod/modfs/lib/DGN2200/libc.so.0' is not an ELF file
mkdir: '/tmp/mod/modfs/lib/DGN2200/libc.so.0' is not an ELF file
mkdir: '/tmp/mod/modfs/lib/DGN2200/libc.so.0' is not an ELF file
mkdir: '/tmp/mod/modfs/lib/DGN2200/libc.so.0' is not an ELF file
mkdir: '/tmp/mod/modfs/lib/DGN2200/libc.so.0' is not an ELF file
mkdir: '/tmp/mod/modfs/lib/DGN2200/libc.so.0' is not an ELF file
mkdir: '/tmp/mod/modfs/lib/DGN2200/libc.so.0' is not an ELF file
ln: '/tmp/mod/modfs/lib/DGN2200/libresolv.so.0' is not an ELF file
ln: '/tmp/mod/modfs/lib/DGN2200/libm.so.0' is not an ELF file
ln: '/tmp/mod/modfs/lib/DGN2200/libc.so.0' is not an ELF file
ln: '/tmp/mod/modfs/lib/DGN2200/libc.so.0' is not an ELF file
ln: '/tmp/mod/modfs/lib/DGN2200/libc.so.0' is not an ELF file
ln: '/tmp/mod/modfs/lib/DGN2200/libc.so.0' is not an ELF file
ln: '/tmp/mod/modfs/lib/DGN2200/libc.so.0' is not an ELF file
ln: '/tmp/mod/modfs/lib/DGN2200/libc.so.0' is not an ELF file
ln: '/tmp/mod/modfs/lib/DGN2200/libc.so.0' is not an ELF file
/tmp/mod/modfs/boot.sh: 54: routerdb: Permission denied
rm: '/tmp/mod/modfs/lib/DGN2200/libresolv.so.0' is not an ELF file
rm: '/tmp/mod/modfs/lib/DGN2200/libm.so.0' is not an ELF file
rm: '/tmp/mod/modfs/lib/DGN2200/libc.so.0' is not an ELF file
rm: '/tmp/mod/modfs/lib/DGN2200/libc.so.0' is not an ELF file
rm: '/tmp/mod/modfs/lib/DGN2200/libc.so.0' is not an ELF file
rm: '/tmp/mod/modfs/lib/DGN2200/libc.so.0' is not an ELF file
rm: '/tmp/mod/modfs/lib/DGN2200/libc.so.0' is not an ELF file
rm: '/tmp/mod/modfs/lib/DGN2200/libc.so.0' is not an ELF file
rm: '/tmp/mod/modfs/lib/DGN2200/libc.so.0' is not an ELF file
mkdir: '/tmp/mod/modfs/lib/DGN2200/libresolv.so.0' is not an ELF file
mkdir: '/tmp/mod/modfs/lib/DGN2200/libm.so.0' is not an ELF file
mkdir: '/tmp/mod/modfs/lib/DGN2200/libc.so.0' is not an ELF file
mkdir: '/tmp/mod/modfs/lib/DGN2200/libc.so.0' is not an ELF file
mkdir: '/tmp/mod/modfs/lib/DGN2200/libc.so.0' is not an ELF file
mkdir: '/tmp/mod/modfs/lib/DGN2200/libc.so.0' is not an ELF file
mkdir: '/tmp/mod/modfs/lib/DGN2200/libc.so.0' is not an ELF file
mkdir: '/tmp/mod/modfs/lib/DGN2200/libc.so.0' is not an ELF file
mkdir: '/tmp/mod/modfs/lib/DGN2200/libc.so.0' is not an ELF file


startup.log

tmp/mod/modfs/boot.sh: 62: packages_start: Permission denied


Cosa diamine è? Problema di permessi o che altro? Ma mi sembra strano...


ma che!!?? mancano i link simbolici!!??

gnommo
01-04-2012, 21:44
hai chiamato lo script build.sh da root? :D

gnicK79
02-04-2012, 13:04
hai chiamato lo script build.sh da root? :D

Beh sì, anche perché col normal user col cavolo che lo script ti costruisce l'immagine.., ci sono comandi che, almeno a default, il sistema non concede il lusso di esecuzione senza avere i massimi privilegi.

Comunque il problema, come avevo editato, erano/sono i link simbolici.
Gnommo tu procedi alla sincronizzazione con un client SVN? Lavori con un IDE? Che so tipo Eclipse e plug-ins con client SVN embedded.
Il repository, penso per ragioni di compatibilità, non permette la memorizzazione di symlink, che vengono invece sostituiti da file di testo fittizi che fanno da segnaposto.
Se scarichi il tarball di una directory, mica ti rigenera i symlink, scarichi i file di testo corrispondenti e devi ripristinarli a manina.
Io mica ci avevo fatto caso! :D
Me ne sono accorto solo dopo.
Certi client SVN quando fai una sincronizzazione col server procedono alla ri-conversione dei file di testo, evidentemente contrassegnati, in maniera del tutto trasparente all'utente.
Io mi sono arrangiato con uno script che ricorsivamente cerca questi files dentro la directory del trunk e li rimpiazza con il link simbolico corrispondente.
Tutto qui.

P.S.: Notevole, la nuova sezione Router Info, sia per la pulizia dell'impaginazione sia per la qualità/quantità di informazioni che offre. Bel lavoro!

gnommo
03-04-2012, 11:08
Io mi sono arrangiato con uno script che ricorsivamente cerca questi files dentro la directory del trunk e li rimpiazza con il link simbolico corrispondente.
Tutto qui.



Perchè non usi un client svn?
Io uso il client a riga di comando nella mia slackware in VM


Mi testate un pò l'ultima build dall'svn?
Vorrei fare un pò di ordine, togliendo le versioni 0.2, 0.3 e 0.3 per wag320
con tutti i pacchetti da aggiornare sparsi qui e là,
e mettere nel thread un'unica versione, l'ultima build disponibile,
che ha già tutto aggiornato.

In modo che inizio a mettere man mano nell'svn i nuovi cambiamenti per la versione 0.5 , in primis il sistema di upgrade online dei package.

pirus
03-04-2012, 13:59
gnommo attendiamo i package per il wag320n, per ora io mi ritrovo solo adslinfo e basta come pacchetto aggiunto e non riesco a trovare quello per modificare i parametri dell'adsl! possibile? :confused: :help:

gnommo
03-04-2012, 14:14
gnommo attendiamo i package per il wag320n, per ora io mi ritrovo solo adslinfo e basta! possibile? :confused: :help:

E mannaggia avessi il wag320n sarebbe questione di un attimo.

Mi servirebbero perlomeno dei tester, ma anche così però sarebbe abbastanza difficoltoso.

L'ideale sarebbe, tanto non mi serve fisicamente il wag320n, che qualcuno che magari non usa il wag320n come router primario, mi mettesse a disposizione il suo wag320n aprendomi le porte ssh e la 8081 e in modo da farmi finire tutti i pacchetti.

gnicK79
03-04-2012, 19:39
Perchè non usi un client svn?
Io uso il client a riga di comando nella mia slackware in VM


Perché non ho confidenza con svn senza gui, a riga di comando non ci ho mai lavorato; per quanto possano essere 2 min?iate spaziali (me ne rendo conto) devo/dovrò pur sempre documentami; avevo una certa urgenza e la cosa più veloce da fare in quel momento mi è parsa questa: buttare giù 2 righe di script.
Prima o poi installo subversion sulla mia debian e dedicherò un po' di tempo ai comandi principali e di base; adesso ci sono (ho) altre priorità.

--------------------------------------------------

Purtroppo (:D) mi sono messo in testa di fare funzionare in rete una stampante a laser della Canon senza acquistare un print server; e ora nessuno è in grado di togliermi dalla testa questa cosa finché non arrivo ad una soluzione. Questo è male. :D
Poiché p910nd ha miseramente fallito, volevo provare con un servizio LPD/LPR dirottando lo spooler in USB.

E' una stampante Canon LBP basata su CAPT ed ero riuscito a condividerla in SAMBA da un MAC soltanto attraverso il protocollo lpd e installando il relativo servizio sul server (una macchina con Windows 7), per cui dovrei riuscire a riprodurre lo scenario sul router; busybox mi sembra abbia questi servizi.
Il file smb.conf è virtualmente sotto il mio controllo; la coincidenza ha voluto che quando eseguivo i lavori sul firmware del DGN2200 da rilasciare in Aprile, per fixare un bug scemo "ho scoperto" che potevo manipolare il file di configurazione di samba a mio piacimento qualora lo avessi desiderato e senza che il router me lo scombinasse.
Per cui, spooler permettendo, dovrei riuscirci.... e se Dio vuole.

Un tua considerazione, aiuto, suggerimento... LoL
Sono pazzo? :D

gnommo
03-04-2012, 20:51
Cioè fammi capire, da dmesg vedi
che il driver usblp aggancia correttamente la stampante?

Altrimenti devi partire dai driver, vedi un pò qui se ti può essere utile
http://www.boichat.ch/nicolas/lbp660/

quale è il modello preciso della stampante?

gnicK79
03-04-2012, 21:10
Canon LBP 3010


~ # dmesg | grep usblp0
drivers/usb/class/usblp.c: usblp0: USB Bidirectional printer dev 4 if 0 alt 0 proto 2 vid 0x04A9 pid 0x26DA
drivers/usb/class/usblp.c: usblp0: removed
drivers/usb/class/usblp.c: usblp0: USB Bidirectional printer dev 5 if 0 alt 0 proto 2 vid 0x04A9 pid 0x26DA
drivers/usb/class/usblp.c: usblp0: nonzero read/write bulk status received: -71
drivers/usb/class/usblp.c: usblp0: error -71 reading from printer
drivers/usb/class/usblp.c: usblp0: nonzero read/write bulk status received: -71


Non stampa né in windows nè in mac, chiaramente con i drivers CAPT della stampante installati.

gnommo
03-04-2012, 21:18
Canon LBP 3010


~ # dmesg | grep usblp0
drivers/usb/class/usblp.c: usblp0: USB Bidirectional printer dev 4 if 0 alt 0 proto 2 vid 0x04A9 pid 0x26DA
drivers/usb/class/usblp.c: usblp0: removed
drivers/usb/class/usblp.c: usblp0: USB Bidirectional printer dev 5 if 0 alt 0 proto 2 vid 0x04A9 pid 0x26DA
drivers/usb/class/usblp.c: usblp0: nonzero read/write bulk status received: -71
drivers/usb/class/usblp.c: usblp0: error -71 reading from printer
drivers/usb/class/usblp.c: usblp0: nonzero read/write bulk status received: -71


appunto devi ripartire dai driver, sperando che ce ne siano di opensource funzionanti.

gnicK79
03-04-2012, 22:08
appunto devi ripartire dai driver, sperando che ce ne siano di opensource funzionanti.

Ho paura non sia una cosa semplice trovarne uno funzionante con questa soluzione; ne ho provati diversi, tra cui qualcuno gutenprint, ma nulla da fare e poi con Windows come si farebbe? Non funziona neanche da lì. :(
Boh!

franjek
04-04-2012, 12:42
Ciao a tutti,
ho da poco acquistato un dgn2000v3 per poi scoprire ahimè che non è supportato da modfs.
mi piacerebbe poter aggiungere almeno la wol e magari anche il server ssh.
non so se siano cose alla mia portata, ma se qualcuno ha voglia di aiutarmi un tentativo lo farei volentieri..

grazie in anticipo

gnommo
04-04-2012, 14:14
Ciao a tutti,
ho da poco acquistato un dgn2000v3 per poi scoprire ahimè che non è supportato da modfs.
mi piacerebbe poter aggiungere almeno la wol e magari anche il server ssh.
non so se siano cose alla mia portata, ma se qualcuno ha voglia di aiutarmi un tentativo lo farei volentieri..

grazie in anticipo
punto primo , devi riuscire a loggarti come root in telnet
punto secondo devi rimontare il root filesystem in rw
da questo momento puoi copiare e modificare quello che vuoi all'interno del firmware
alla successivo reboot il firmware ritornerà readonly

franjek
04-04-2012, 15:11
punto primo , devi riuscire a loggarti come root in telnet
punto secondo devi rimontare il root filesystem in rw
da questo momento puoi copiare e modificare quello che vuoi all'interno del firmware
alla successivo reboot il firmware ritornerà readonly


ho abilitato il debug mode e sono entrato con telnet loggandomi come admin

ci sono le seguenti cartelle

lrwxrwxrwx 1 root root 9 Nov 5 09:19 bin -> usr/sbin/
drwxrwxrwx 6 root root 0 Nov 5 09:21 config
drwxr-xr-x 3 root root 0 Jan 1 1970 dev
lrwxrwxrwx 1 root root 8 Nov 5 09:19 etc -> /tmp/etc
drwxr-xr-x 2 root root 0 Jan 1 1970 home
--ws--S--t 1 root root 4 Nov 5 09:21 kernel_cksum
drwxr-xr-x 4 root root 0 Oct 28 2008 lib
drwxr-xr-x 3 root root 0 Jan 1 1970 mnt
dr-xr-xr-x 73 root root 0 Jan 1 1970 proc
lrwxrwxrwx 1 root root 9 Nov 5 09:19 sbin -> usr/sbin/
drwxr-xr-x 11 root root 0 Jan 1 1970 sys
drwxr-xr-x 8 root root 0 Apr 4 14:45 tmp
drwxr-xr-x 8 root root 0 Feb 2 2004 usr
lrwxrwxrwx 1 root root 8 Nov 5 09:19 var -> /tmp/var
-rw-r--r-- 1 root root 1314497 Nov 5 09:21 vmlinux.lz
lrwxrwxrwx 1 root root 8 Nov 5 09:19 www -> /tmp/www
drwxr-xr-x 8 root root 0 Sep 30 2011 www.eng


# mount
rootfs on / type rootfs (rw)
mtd:rootfs on / type jffs2 (ro,relatime)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
ramfs on /home type ramfs (rw,relatime)
ramfs on /tmp type ramfs (rw,relatime)
ramfs on /mnt type ramfs (rw,relatime)
ramfs on /dev type ramfs (rw,relatime)
devpts on /dev/pts type devpts (rw,relatime,mode=600,ptmxmode=000)
mtd:factory on /config/factory type jffs2 (rw,relatime)
mtd:scnvram on /config/nvram type jffs2 (rw,relatime)
mtd:language on /config/language type jffs2 (rw,relatime)
mtd:xxx on /config/xxx type jffs2 (rw,relatime)

che differenza c'è tra:
rootfs on / type rootfs (rw)
e
mtd:rootfs on / type jffs2 (ro,relatime) ?

ho accesso in scrittura alle directory tmp,etc,home,mnt
/www in realtà punta a /www.eng e lì non ho permesso di scrittura

ho creato dei file di prova e dopo il reboot non c'erano più. quindi se modifico dei file, dopo un reboot tornano com'erano? o rischio cmq di friggerlo?

gnommo
04-04-2012, 15:26
che differenza c'è tra:
rootfs on / type rootfs (rw)
e
mtd:rootfs on / type jffs2 (ro,relatime) ?



appunto che in tutte le dir sono rw
tranne quelle che provengono da mtd:rootfs
che sono ro
ovvio che le dir scrivibili sono mantenute in ram, quindi al riavvio non ci sono più.
L'obiettivo è quello di abilitare temporanemente mtd:rootfs in rw ed eseguire le modifiche, in realtà file e quant'altro li puoi anche inserire nelle altre dir che nel mount vedi che hanno jffs2 rw,
ma se vuoi modificare script di avvio devi andare a metterli in mtd:rootfs
Sarebbe anche interessante sapere cosa contengono
/config/factory
/config/xxx
/config/nvram

franjek
04-04-2012, 15:45
Sarebbe anche interessante sapere cosa contengono
/config/factory
/config/xxx
/config/nvram

# ls -l -R /config/
/config/:
drwxr-xr-x 4 root root 0 Jan 1 1970 factory
drwxr-xr-x 4 root root 0 Jan 1 1970 language
drwxr-xr-x 4 root root 0 Jan 1 1970 nvram
drwxr-xr-x 4 root root 0 Apr 4 15:38 xxx

/config/factory:
-rw-r--r-- 1 root root 540 Mar 31 17:21 pot
-rw-r--r-- 1 root root 0 Sep 30 2011 ready

/config/language:
-rw-r--r-- 1 root root 79578 Nov 5 09:21 CHS
-rw-r--r-- 1 root root 81164 Nov 5 09:21 DEU
-rw-r--r-- 1 root root 64096 Nov 5 09:21 ENU
-rw-r--r-- 1 root root 78860 Nov 5 09:21 PTB
-rw-r--r-- 1 root root 95836 Nov 5 09:21 RUS
-rw-r--r-- 1 root root 0 Sep 30 2011 ready

/config/nvram:
-rws--s--- 1 root root 15042 Apr 4 15:04 nvram
-rw-r--r-- 1 root root 0 Sep 30 2011 ready

/config/xxx:
-rw-r--r-- 1 root root 0 Sep 30 2011 ready


l'unico file con dentro della roba è nvram, se vuoi lo metto qui ma sono una quarantina di righe...

franjek
10-04-2012, 20:06
punto primo , devi riuscire a loggarti come root in telnet
punto secondo devi rimontare il root filesystem in rw
da questo momento puoi copiare e modificare quello che vuoi all'interno del firmware
alla successivo reboot il firmware ritornerà readonly

ok oggi finalmente ho potuto metterci un po' le mani.
ho formattato una pennina ext3, poi ho fatto un factory reset e abilitato il debug mode, mi sono loggato con telnet e ho rimontato la root in rw. ho copiato tutto il contenuto della root in una cartella nella pennina. appena posso faccio un archivio targz e lo metto a disposizione di chi è interessato a curiosarci un po'

done75
12-04-2012, 15:43
edit

gnicK79
12-04-2012, 16:34
se provo ad usare il comando che mi hai indicato ottengo un errore (anzi,più precisamente l'errore esce quando cerco di consultare l'help built-in...):
http://img209.imageshack.us/img209/4211/catturaod.jpg

Ah già!
Sì quel bug verrà risolto nella 12.04 prevista tra qualche giorno.
Accedendo alla shell attraverso la busybox più vecchia del router si verifica questo problema. La maggior parte degli utenti usa il firmware moddato con la chiavetta usb+hub e di conseguenza abilita una shell differente e basata su una busybox assai più recente ...e... e non hanno questo bug.

Comunque, eccetto l'help, il resto dei comandi, se non erro, dovrebbe funzionare; ti incollo io qui l'help:


*** adsldrv ***

Usage command:

Syntax: adsldrv [DRIVER] [OPTIONAL[DSL-MODE]]

- DRIVER=[UNIQUE-KEY-VALUE]
ADSL driver list:
------------------------------
(1) A2pB025c1 = 025c1
(2) A2pB026 = 026
(3) A2pB030s = 030s
(4) A2pB033g = 033g
------------------------------

- (OPTIONAL) DSL-MODE=[AUTO(DEFAULT)=0|ADSL=1|ADSL2=2|ADSL2+=3]

Example: 'adsldrv 025c1 3' sets the A2pB025c1 driver in ADSL2+ mode


Il comando esegue un riavvio in automatico.
Per vedere se il driver è effettivamente cambiato dopo il riavvio, controlla la finestra di status dall'interfaccia del router, compare lì.

gnicK79
12-04-2012, 18:19
Nel frattempo...
Questo è il changelog definitivo e confermato per il firmware 12.04 DGN2200v1

http://pastebin.com/raw.php?i=PVRgQ8iG

Il rilascio è previsto (ma non confermato) per la prima metà della prossima settimana; e sarà l'ultima release basata sulla 1.0.0.36.

gnicK79
18-04-2012, 23:04
Introduzione.

La gestione delle condivisioni di più periferiche USB da parte del DGN2200 attraverso l'utilizzo di un HUB è molto approssimativa a bacata.
Per evitare di perdere la pazienza, è purtroppo necessario assecondare le ridicole convenzioni dettate dal codice chiuso nei cgi dentro il web server http.

Si prenda in considerazione il seguente schema.

Modello di mappatura del montaggio USB con eventuali partizioni addizionali a seguito:

---SDA---SDB---SDC---SDD---SD(n)---
| | | |
| | | |__SDD1--SDD2--SDD(n)--
| | |
| | |__SDC1--SDC2--SDC(n)--
| |
| |__SDB1--SDB2--SDB(n)--
|
|__SDA1--SDA2--SDA(n)--

L'assegnazione dell'identificativo di una periferica/partizione avviene in maniera ordinata; all'inserimento di una chiavetta usb, al momento di essere montata, questa riceverà il primo identificativo disponibile rispetto allo schema illustrato.
Nel caso in cui i dispositivi venissero inseriti gradualmente nell'HUB, la mappatura della catena corrisponderà esattamente all'ordine in cui avrete inserito i dispositivi.
Nel caso in cui tutti, o alcuni, dispositivi fossero già inseriti, la catena verrà mappata secondo la velocità di rilevamento delle periferiche da parte dell'hardware.
In tutti i casi, la mappatura dei dispositivi è facilmente decifrabile e individuabile semplicemente dando un'occhiata all'elenco delle periferiche da ReadyShare o, meglio e alternativamente, da telnet osservando l'output del comando "cat /proc/partitions".

Ad ogni periferica montata verrà assegnata una lettera di unità alla stregua di uno schema sequenziale equivalente a quello degli identificativi delle periferiche montate: U: , T: , S: .. etc..
Tutte le personalizzazioni di una risorsa condivisa effettuate dall'interfaccia verranno memorizzate nella sezione delle variabili della nvram.
Da telnet filtrate con "param show usb_info_dev" per rendervi conto della situazione; ogni entry corrisponde a ciascuna delle partizioni montate e contiene, eventualmente, anche i settaggi di più cartelle condivise di una stessa partizione, nel caso ne aveste, di proposito, mappate più di una.

Quando inserite una chiavetta USB, il criterio di ricerca delle impostazioni salvate nella nvram avviene attraverso la decifrazione del nome del dispositivo e la dimensione dello stesso. Es: Generic USB Storage, 1024 MB.
Se al dispositivo collegato viene assegnata una lettera di unità differente da quella memorizzata nella entry corrispondente in nvram, in maniera del tutto trasparente verrà aggiornata la lettera di unità residente in nvram e senza che le impostazioni vadano perdute.


Il problema della rimozione dei dispositivi.

Premesso che fisicamente parlando sia una cosa ovviamente possibile e fattibile, non potete logicamente decidere di rimuovere le periferiche USB a casaccio a causa di una cattiva gestione da parte del web server.
E' possibile rimuovere correttamente uno o più dispositivi nell'ordine inverso in cui essi risultano mappati e cioè a mò di una struttura LIFO… come uno stack in pratica.
Prendendo come riferimento lo schema sopra illustrato, se avessi, ad esempio, l'intenzione di rimuovere, e quindi smontare, la periferica corrispondente a SDB non potrei farlo senza aver rimosso, o decidere di rimuovere, anche SDC, SDD e SD(n).
La rimozione di SDA implicherebbe, invece, la rimozione di tutti i dispositivi; insomma, tutto ciò che sta a valle della periferica prescelta da rimuovere deve essere anch'esso rimosso.
In altre parole, non potete rimuovere periferiche lasciando buchi o spezzando la catena di mappatura, pena la perdita (non proprio) delle personalizzazioni effettuate in precedenza dei dispositivi rimasti connessi.
Da telnet con "param show usb_info_dev" vi renderete conto dei casini; le vecchie impostazioni sono ancora lì ma come potete constatare non vengono più considerate a causa della creazione di nuove entries.
Potreste, a manina, ripristinare i settaggi resettando le variabili con i valori giusti, ma vi assicuro è un lavoraccio frustrante; prima di tutto dovreste rimuovere tutti i dispositivi dall'HUB (se avete Modfs attivo dovrete per forza eseguire un riavvio per fare ciò a causa di ragioni che conoscete) per consentire di resettare la mappatura dei dispositivi e solo dopo, poi apportare le modifiche, poiché se ripulite le variabili prima e con la pila ancora corrotta, le modifiche non avranno l'effetto sperato e al primo recheck dell'HUB vi ritroverete di nuovo con le impostazioni sballate in nvram. Molto meglio, invece, prendere atto di questo contesto sciagurato e cercare di rispettarlo, altrimenti fate un po' come vi pare… e amen. :D

A fronte di questo ragionamento e visto che non è possibile la rimozione, è assolutamente consigliato inserire Modfs nel dispositivo più veloce a disposizione in modo che vada a finire sempre in fondo alla pila dei dispositivi mappati… cioè in SDA; non importa in quale partizione qualora ce ne fossero più di una. Nel caso in cui decidiate, per qualche ragione, di attivare Modfs in un secondo momento manualmente da telnet, o, sempre automaticamente attraverso un post-inserimento della chiavetta entro il tempo utile al detecting a seguito di un reboot del router, assicuratevi che non ci siano altre periferiche di memorizzazione collegate… proprio per consentire il mapping di assegnare alla periferica l'id SDA.

Stessa sorte tocca alla gestione dei dispositivi autorizzati che risponde alla medesima e rigida logica già appresa.
Non potete autorizzare un dispositivo senza che tutti gli altri a monte non lo siano di già, o, se preferite, non potete escluderne uno senza aver escluso anche tutti gli altri al seguito e a valle di codesto.

Vige e persiste ancora la presente convenzione dei dispositivi anche nel caso abbiate forzato il mounting da shell di partizioni non supportate ufficialmente da ReadyShare, come ad esempio Ext3; infatti, anche se ReadyShare non monta e né condivide la periferica, al dispositivo viene comunque assegnato un identificativo all'interno della catena di mappatura. Questo costringe l'utente a considerare il dispositivo qualora si debba procedere alla rimozione delle periferiche.

Una raccomandazione quando si forza, manualmente, il mounting delle periferiche…
Allo scopo di evitare conflitti ancora con il servizio ReadyShare è strettamente indicato appoggiarsi ai nodi virtuali (loop) quando si procede al mounting. Non è consigliato montare direttamente una periferica non supportata da ReadyShare, poiché in questo caso l'identificativo della partizione andrebbe a finire nell'elenco("mount") delle partizioni montate. Con "loop" si aggira questo inconveniente. Come esempio, la partizione di Modfs stessa, fra l'altro e a partire dalla versione 12.04 del firmware, è montata in conformità di questa indicazione proprio per realizzare l'occultamento da ReadyShare di una partizione montata 2 volte.

Se il problema risiederebbe nei cgi (come io immagino e sospetto) built-in col demone http, nemmeno la ricompilazione del sorgente del firmware risolverebbe la cosa, poiché il codice sorgente degli cgi non è disponibile, è closed; per cui non sarebbe possibile procedere nella rivisitazione dell'algoritmo.

E' da ricordare, infine, che questo comportamento difettoso non è imputabile al fatto che Modfs sia in esecuzione, né alla ragione che abbiate a bordo del vostro router il firmware moddato.

---------------------------------------------
con rif.: DGN2200v1 fw 1.0.0.36_7.0.36

gnicK79
18-04-2012, 23:05
Changelog:

DGN2200v1 12.04

-- Fixes --

Usabilità Interfaccia generale
- Diverse correzioni in ReadyShare fra cui:

Risolto un problema nella finestra di rimozione multipla dei dispositivi (All browsers).
Risolto un problema nell'esploratore delle cartelle che portava al crash del servizio httpd predefinito del router (Chrome, Firefox, Opera, Safari, …).
Corretto un bug alla selezione di una cartella dall'esploratore (Chrome, Firefox, Opera, Safari, …).
Corretto un bug critico che provocava il crash del servizio httpd durante la fase di editing di una risorsa condivisa (All browsers).
... etc. ...

- Corretto un problema di persistenza delle impostazioni temporanee fra le opzioni di sicurezza e di crittografia nella sezione wireless.
- Rimossi diversi refresh di pagina inutili e fastidiosi del menu di selezione.
passwd, adesso, riflette istantaneamente le modifiche apportate alla password di amministrazione

-- Changed & Improved --

Meccanismo di occultamento e isolamento in ReadyShare
- Non accadrà più di vedere accidentalmente fra le risorse condivise duplicati della partizione/periferica ove risiede Modfs.

Eliminati tutti gli spiacevoli imprevisti derivati da questo comportamento, quali perdita impostazioni ReadyShare, dirty & enlarged NVRAM.

adsldrv v1.5 (selezione driver ADSL)
- Mantenimento modulazione ADSL preesistente.

Rimosso il comportamento per il quale, se non veniva specificato nessun parametro per la modulazione ADSL, a default veniva impostata la modalità auto.

- Riavvio router opzionale e a richiesta.
- Cambiamenti e correzioni minori.

-- New --

Aggiunta la funzionalità "Assisted mode" nella finestra di rimozione multipla dei dispositivi (per maggiori info fare riferimento alla "Guida di sopravvivenza alla condivisione in ReadyShare (http://www.hwupgrade.it/forum/showpost.php?p=37305104&postcount=797)")
modversion command (mostra la versione corrente del firmware moddato)


Download (http://www.mediafire.com/download.php?ia4ao5e8u7sspg7)

(versione precedente (http://www.hwupgrade.it/forum/showpost.php?p=37026996&postcount=757))


IMPORTANTE: Attenzione! Non è consigliato, e nemmeno supportato, l'utilizzo di Modfs in USB senza l'utilizzo di un hub. Ciò vale anche a fronte del fatto che non si abbia la necessità di usare simultaneamente più periferiche usb, la condivisione della stampante e funzionalità come miniDLNA. Il motivo risiede nel fatto che il DGN2200, nel momento in cui si effettuano alcune ed opportune modifiche dall'interfaccia proprietaria, resetta il bus USB con la spiacevole conseguenza di ritrovarsi interrotti i riferimenti all'immagine montata di Modfs e con ripercussioni in negativo tra i processi correntemente in memoria, le condivisioni ReadyShare e la stabilità del router stesso; a seguito di un'indagine si è osservato che il reset del bus, fortunatamente, non avviene se alla porta USB viene collegato un hub e i dispositivi a quest'ultimo. Sono esentati da questa limitazione, tutte quelle funzionalità di Modfs che, per avere effetto, non necessitano l'accesso alla memoria USB.

strassada
19-04-2012, 02:21
gnicK79: se non ci fossi, bisognerebbe invertarti (o cambiare router)
grazie del tempo e impegno che ci metti su questo router.

Herbert
19-04-2012, 15:46
gnicK79: se non ci fossi, bisognerebbe invertarti (o cambiare router)
grazie del tempo e impegno che ci metti su questo router.

condivido in pieno e non posso far altro che ringraziarti!

macs02
20-04-2012, 08:37
Changelog:

DGN2200v1 12.04

[cut]



Grazie per la nuova versione del fw :D

Ne approfitto per chiedere, se fosse possibile, di aggiungere il riconoscimento automatico delle partizioni ext3 in Readyshare: sono riuscito a condividerne una tramite telnet, ma ogni volta che spengo il router perdo tutto ...

In alternativa, che file posso modificare/creare per automatizzare la cosa?

gnicK79
20-04-2012, 13:00
Grazie per la nuova versione del fw :D

Ne approfitto per chiedere, se fosse possibile, di aggiungere il riconoscimento automatico delle partizioni ext3 in Readyshare: sono riuscito a condividerne una tramite telnet, ma ogni volta che spengo il router perdo tutto ...

In alternativa, che file posso modificare/creare per automatizzare la cosa?

Per il mounting in automatico all'inserimento di una periferica è dura trovare una soluzione senza provare a ricompilare il kernel con le opportune modifiche.

Per il mantenimento delle condivisioni in Samba, invece e in verità, era in previsione una versione preliminare di ReadyShare+ che avrebbe permesso di non perdere le modifiche del file smb.conf, ma per ragioni di tempo ho dovuto tagliarla fuori.
A parte le ovvie modifiche che si dovrebbero fare sul lato router (un paio di scripts) che non sarebbero un problema, sarebbe opportuno fare anche un pacchetto per gestire questa cosa che in sostanza riproducesse un'interfaccia simile a quella di ReadyShare.
Il punto è che non si trova gente disposta a realizzarlo; tante richieste di implementazione ma poi nessun volontario.
Potrei farlo pure io, ma mi scoccia :Prrr:

------------------------------------------

Per fare il mounting in automatico della periferica dovresti editare lo script boot.sh.
Per la codivisione in ReadyShare invece editare il file smb.conf che dovrebbe essere in /tmp/samba/private/ sul router.
Ma, ricordo, che il router rigenera il file smb.conf in varie circostanze ( es inserimento periferica, modifiche dall'interfaccia principale) e quindi perderesti le modifiche.
ReadyShare+ avrebbe risolto questo problema.
Alternativamente potresti servirti di crond per controllare regolarmente il file smb.conf e modificarlo ogni volta che lo si ritiene.

macs02
20-04-2012, 15:42
Per il mantenimento delle condivisioni in Samba, invece e in verità, era in previsione una versione preliminare di ReadyShare+ che avrebbe permesso di non perdere le modifiche del file smb.conf, ma per ragioni di tempo ho dovuto tagliarla fuori.
A parte le ovvie modifiche che si dovrebbero fare sul lato router (un paio di scripts) che non sarebbero un problema, sarebbe opportuno fare anche un pacchetto per gestire questa cosa che in sostanza riproducesse un'interfaccia simile a quella di ReadyShare.
Il punto è che non si trova gente disposta a realizzarlo; tante richieste di implementazione ma poi nessun volontario.

Pur conscio dei miei grandi limiti, se mi dai qualche dritta provo a lavorare io su questo ReadyShare+ :D

nel frattempo provo a lavorare sul boot.sh

gnicK79
20-04-2012, 23:36
Pur conscio dei miei grandi limiti, se mi dai qualche dritta provo a lavorare io su questo ReadyShare+ :D

nel frattempo provo a lavorare sul boot.sh

Per ReadyShare+ mi dovrei mobilitare per forza anch'io. Senza un nuovo firmware non potresti testare nulla e per ora ho messo la cosa temporaneamente in standby; inutile ti dica di iniziare i lavori quando non esistono nemmeno gli scripts dal lato router.

Mettendo in conto che sono necessarie le seguenti conoscenze:
Un po' di html, javascript, php e sql.
Poi anche un po' di bash scripts.
Struttura e composizione di un pacchetto in Modfs.

Per adesso non faccio partire la cosa, perché ho in sospeso una questione con la mia stampante Canon; e avrei intenzione di risolverla, nel bene o nel male.

Nel frattempo puoi ripiegare nella soluzione alternativa che ti avevo spiegato.
Qui ti serve un pochino di bash script per abbozzare una soluzione temporaneamente soddisfacente.

Nel boot.sh devi inserire un pezzo di codice che dovrai realizzare e che esegua un controllo sui "dischi" disponibili e collegati all'hub.
Dovresti iterare l'output di fdisk -l | grep "Linux\'" (questa espressione regolare, se ricordo bene, dovrebbe escludere talune partizioni FAT16/32 marchiate con "Linux?" e filtrare correttamente quelle ext)
Ad ogni iterazione fai il parsing della stringa per recuperare il device assegnato; dopo il recupero procedi al mounting del device assicurandoti di usare i nodi loop (il motivo di questa operazione è stato spiegato in una sezione della guida a readyshare postata recentemente)
I nodi loop disponibili vanno dal 2 in poi; loop0 e loop1 sono già impegnati da Modfs come potrai constatare tu stesso.

Poi per Samba se vuoi una cosa flessibile puoi decidere di caricare uno script in crond che ad ogni minuto (o intervalli maggiori se preferisci) faccia un controllo.
Dovrai appoggiarti a cat e grep... cat /tmp/samba/private/smb.conf | grep [nomecondivisione]
Se ti ritorna un output vuol dire che non dovrai fare nulla, l'smb.conf è a posto così; se invece non hai output vuol dire che il file è stato rigenerato e dovrai inserire l'entry.

A grandi linee più o meno è questo il lavoro che dovrai fare.

Chiaramente il disco in ext3 deve essere già collegato al momento dell'accensione del router.

macs02
21-04-2012, 06:32
grazie delle dritte, proverò ad applicarle.

nel frattempo, ho provveduto bovinamente aggiungendo queste righe nel boot.sh
mkdir /tmp/shares/DiscoEXT
mount /dev/sda2 /tmp/shares/DiscoEXT
cp -a /tmp/mod/modfs/smb.conf /tmp/samba/private/smb.conf
killall -1 smbd

in pratica ad ogni accensione del router faccio sostituire il smb.conf generato dal router con un altro preparato da me (/tmp/mod/modfs/smb.conf)

Sembra funzionare, unico problema minidlna sembra lavorare peggio con il disco formattato in EXT3: è più lento nell'eseguire i comandi e va spesso in errore.
Comunque un passo è fatto, ora provo a renderlo scalabile implementando i consigli che mi hai dato

repla
21-04-2012, 09:03
per aggiornale il firmware del dgn2200 si consiglia di resettare le impostazioni?
Provengo dalla versione precedete di gnicK79

grazie

Parnas72
21-04-2012, 11:27
Sono tutti firmware basati su 1.0.0.36, non serve resettare. Il reset è altamente consigliabile se cambia la base del fw (ad esempio se volessi provare la 1.0.0.42 beta).

macs02
25-04-2012, 14:55
help ... non ci capisco più nulla.

se modifico il file boot.sh come descritto sopra, l'interfaccia di modfs non è più raggiungibile; a dirla tutta mi pare non venga proprio più caricata.

ho fatto quindi 2 prove via telnet e mi capita questo:
se do i comandi io tutto ok
/tmp/mod/modfs # umount /dev/sda2
/tmp/mod/modfs # rmdir /tmp/shares/DiscoEXT
/tmp/mod/modfs # mkdir /tmp/shares/DiscoEXT
/tmp/mod/modfs # mount /dev/sda2 /tmp/shares/DiscoEXT
/tmp/mod/modfs # cp /tmp/mod/modfs/smb.conf /tmp/samba/private/smb.conf
/tmp/mod/modfs # killall -1 smbd
/tmp/mod/modfs #


se li inserisco pari pari in un file minidlna.sh mi va in errore
/tmp/mod/modfs # ./minidlna.sh
: No such file or directory
/smb.conf': No such file or directory
/smb.conf': No such file or directory
/tmp/mod/modfs #

avete qualche idea del motivo?

tra l'altro avevo provato ad implementare un controllo sull'esistenza della dir /tmp/shares/DiscoEXT per evitare di crearla di nuovo, ma va in errore anche la funzione if - then - fi :cry:

Parnas72
25-04-2012, 15:05
Hai salvato il file in formato DOS (magari stai usando il blocco note di Windows :muro: ). Usa "vi" direttamente da telnet.

macs02
25-04-2012, 23:57
Hai salvato il file in formato DOS (magari stai usando il blocco note di Windows :muro: ). Usa "vi" direttamente da telnet.

nooo il blocco note di windows noooo :mc: io uso write :p
a questo punto mi è tutto chiaro: la prima volta avevo modificato il boot.sh con vi e funzionava tutto. l'ho poi "sistemato" cor write ed ho fatto il patatrac ...

immaginavo fosse un mio errore di inesperienza

grazie 1000

gnicK79
30-04-2012, 21:59
Changelog:

DGN2200v1 12.04 (Rev. A)

Novità e cambiamenti rispetto alla versione 12.04 (http://www.hwupgrade.it/forum/showpost.php?p=37305110&postcount=798):

-- New --


safereboot v1.0
- Nuova procedura di riavvio sicuro da shell. Command name: safereboot - Alias: restart


-- Changes & Fixes --


adsldrv v1.6
- Modifiche speculari all'implementazione di safereboot.

Risolto un potenziale problema che provocava la perdita delle impostazioni del router in determinate circostanze.

Interfaccia generale
- Autorefresh frame 'Router Status' alla chiusura della finestra 'Connection Status' anche in modalità PPPoA.


Download (http://www.mediafire.com/download.php?7qukqxhieqgicgi)


IMPORTANTE: Attenzione! Non è consigliato, e nemmeno supportato, l'utilizzo di Modfs in USB senza l'utilizzo di un hub. Ciò vale anche a fronte del fatto che non si abbia la necessità di usare simultaneamente più periferiche usb, la condivisione della stampante e funzionalità come miniDLNA. Il motivo risiede nel fatto che il DGN2200, nel momento in cui si effettuano alcune ed opportune modifiche dall'interfaccia proprietaria, resetta il bus USB con la spiacevole conseguenza di ritrovarsi interrotti i riferimenti all'immagine montata di Modfs e con ripercussioni in negativo tra i processi correntemente in memoria, le condivisioni ReadyShare e la stabilità del router stesso; a seguito di un'indagine si è osservato che il reset del bus, fortunatamente, non avviene se alla porta USB viene collegato un hub e i dispositivi a quest'ultimo. Sono esentati da questa limitazione, tutte quelle funzionalità di Modfs che, per avere effetto, non necessitano l'accesso alla memoria USB.

Valk791
01-05-2012, 00:48
Ciao ragazzi per caso esiste un custom firmware, anche adattato, per netgear Cg3100d? Mi servibbe qualcosa per usarlo solo come muletto per scaricare collegato al router "vero e proprio" e ad un hd USB.
So che una cosa del genere si potrebbe fare con un pirelli alice e magari volevo sapere se era fattibile anche sul router che ho a disposizione. Grazie in anticipo a tutti.

thehole
16-05-2012, 09:35
E mannaggia avessi il wag320n sarebbe questione di un attimo.

Mi servirebbero perlomeno dei tester, ma anche così però sarebbe abbastanza difficoltoso.

L'ideale sarebbe, tanto non mi serve fisicamente il wag320n, che qualcuno che magari non usa il wag320n come router primario, mi mettesse a disposizione il suo wag320n aprendomi le porte ssh e la 8081 e in modo da farmi finire tutti i pacchetti.

se non c'è rischio di brickarlo te lo concedo io quando sono al lavoro ^^

thehole
17-05-2012, 22:49
domanda per chi ha sviluppato il modulo per l'openvpn.

rete di casa 192.168.1.0/27
pc casa 192.168.1.1
servizio pc casa 40111
rete ufficio 172.30.24.0/24
pc ufficio 172.30.24.101

Mi collego in vpn :
*pingo e raggiungo ogni servizio del router ( 192.168.1.1 )
*non riesco ad accedere alcun servizio del 'pc casa'.

allora per prova
creo una regola di port forwarding per la porta 40111 sull'ip di 'pc casa' :
*pingo e raggiungo ogni servizio del router
*raggiungo il servizio forwardato su 'pc casa',ovviamente sull'ip privato.


questa cosa non ha senso.
Il traffico dovrebbe esser criptato...sulla wan non dovrebbe essere visibile la query sulla 40111.
perchè serve questo port forward?se funziona col port forward vuol dire che la richiesta comunque viene sbattuta prima sull'ip pubblico e non direttamente sul privato.
Non ha molto senso cosi :-|

gnommo
29-05-2012, 19:01
@gnicK79
sai che avevi proprio ragione, mi sono ritrovato con gli stessi problemi
anche sul dgn2200v3 per xdslctl
per il momento ho optato per questa soluzione


#!/bin/sh

if [ "$1" = "start" ]; || [ "$1" = "connection" ]; then
ADSL_SNR=`/usr/sbin/nvram get adsl_snr | cut -d'=' -f2`
if [ "$ADSL_SNR" != "adsl_snr do not exist!" ]; && [ "$ADSL_SNR" != "" ]; then
/usr/sbin/xdslctl.original configure --snr $ADSL_SNR
/usr/sbin/xdslctl.original $@
exit $?
fi
fi
/usr/sbin/xdslctl.original $@
exit $?


sul v3 usando exec poi non venivano mostrati i valori dell'adsl nel menu,

Alberto96
24-06-2012, 21:45
Dove posso trovare una lista di pacchetti aggiuntivi? :confused:

Grazie

Babuzzo
05-07-2012, 10:57
Salve ragazzi..
spero di scrivere nel topic giusto..
ho installato la mod sul mio linksys 320n..

volevo sapere se è possibile (cm sui router netgear) pubblicare i servizi (ssh nel mio caso) sul web assegnando all'interfaccia un ip ...
mi serve qualche addon ?
o è da sviluppare?
nel caso servisse potrei dare una mano :)

grazie!

4ndr3w
30-07-2012, 13:43
Ciao a tutti,
ho da poco installato la mod che avete creato: innanzitutto vi ringrazio e vi faccio i complimenti per questa favolosa MOD che state creando e che è in continuo aggiornamento! Vi vorrei segnalare un "bug" che ho trovato sul codice PHP riguardante la parte di wake on lan, che non permette il corretto funzionamento del manual wake da interfaccia web: sul file process.php alla linea 144 c'è la parte che esegue il comando di manual wake dell'interfaccia web; la riga originale manca dell'indicazione $device dopo la directory /bin. Mi spiego meglio:

Riga originale:
modfs_exec("$modfs/packages/$device/wol/bin/etherwake -b $mac",
[...]

Riga corretta:
modfs_exec("$modfs/packages/$device/wol/bin/$device/etherwake -b $mac",
[...]

Sistemando così il codice, il manual wake da interfaccia web funziona; non ho provato la parte riguardante la schedulazione, ma vedrò di farlo. Se può andare, inseritela nelle fix di modfs :)
Spero di essere stato utile.
Ciao, buona giornata!

Andrea

PS: se volete mi rendo disponibile a fare il porting dei packages sul WAG, vi chiedo eventualmente la cortesia di darmi qualche indicazione più precisa sulle librerie e i compilatori da utilizzare (anche in pvt).
E di nuovo grazie!

gnommo
31-07-2012, 18:56
Ciao a tutti,
ho da poco installato la mod che avete creato: innanzitutto vi ringrazio e vi faccio i complimenti per questa favolosa MOD che state creando e che è in continuo aggiornamento! Vi vorrei segnalare un "bug" che ho trovato sul codice PHP riguardante la parte di wake on lan, che non permette il corretto funzionamento del manual wake da interfaccia web: sul file process.php alla linea 144 c'è la parte che esegue il comando di manual wake dell'interfaccia web; la riga originale manca dell'indicazione $device dopo la directory /bin. Mi spiego meglio:

Riga originale:
modfs_exec("$modfs/packages/$device/wol/bin/etherwake -b $mac",
[...]

Riga corretta:
modfs_exec("$modfs/packages/$device/wol/bin/$device/etherwake -b $mac",
[...]

Sistemando così il codice, il manual wake da interfaccia web funziona; non ho provato la parte riguardante la schedulazione, ma vedrò di farlo. Se può andare, inseritela nelle fix di modfs :)
Spero di essere stato utile.
Ciao, buona giornata!

Andrea

PS: se volete mi rendo disponibile a fare il porting dei packages sul WAG, vi chiedo eventualmente la cortesia di darmi qualche indicazione più precisa sulle librerie e i compilatori da utilizzare (anche in pvt).
E di nuovo grazie!
:muro: Tante mani, tanti pasticci... dopo che è stato fatto il merge del ramo del wag320n sono spuntati tanti bug, ne ho sistemati molti ma a quanto pare ancora escono fuori. In particolare questo c'è perchè nel pacchetto del wol che avevo fatto io quel percorso era giusto essendoci un unico eseguibile etherwake per il dgn3500 ed il dgn2200, poi quando sono state fatte le modifiche hanno dimenticato di aggiornare i percorsi, ma non capisco perchè non si sono accorti che non funzionasse :muro: , non ti so dire a me perchè funziona, probabilmente ho corretto sulla mia copia e poi mi sono dimenticato di aggiornare (ma mi pare strano).
Comunque si per il wag320 ci vuole uno che completi l'opera.
Se attendi un pò recupero dal router di un utente, che me lo ha prestato a distanza, le modifiche che ho fatto finora per il wag320 e le carico nell'svn così te le puoi perfezionare.
Al momento servirebbe una ricompilazione di dropbear perchè la versione compilata non supporta scp, servirebbe una ricompilata del demone http con la patch per far funzionare i cgi, altrimenti il monitor della banda non funziona.

ps. il wol già l'ho sistemato nell'svn, grazie alla tua segnalazione.

webmaster1
01-08-2012, 00:32
è possibile quindi effettuare il porting anche sul DGND3700?

gnommo
01-08-2012, 06:57
è possibile quindi effettuare il porting anche sul DGND3700?

ci vuole chi ce l'ha il 3700, non c'era un utente che stava facendo i firmware mod?

thehole
01-08-2012, 10:16
:muro: Tante mani, tanti pasticci... dopo che è stato fatto il merge del ramo del wag320n sono spuntati tanti bug, ne ho sistemati molti ma a quanto pare ancora escono fuori. In particolare questo c'è perchè nel pacchetto del wol che avevo fatto io quel percorso era giusto essendoci un unico eseguibile etherwake per il dgn3500 ed il dgn2200, poi quando sono state fatte le modifiche hanno dimenticato di aggiornare i percorsi, ma non capisco perchè non si sono accorti che non funzionasse :muro: , non ti so dire a me perchè funziona, probabilmente ho corretto sulla mia copia e poi mi sono dimenticato di aggiornare (ma mi pare strano).
Comunque si per il wag320 ci vuole uno che completi l'opera.
Se attendi un pò recupero dal router di un utente, che me lo ha prestato a distanza, le modifiche che ho fatto finora per il wag320 e le carico nell'svn così te le puoi perfezionare.
Al momento servirebbe una ricompilazione di dropbear perchè la versione compilata non supporta scp, servirebbe una ricompilata del demone http con la patch per far funzionare i cgi, altrimenti il monitor della banda non funziona.

ps. il wol già l'ho sistemato nell'svn, grazie alla tua segnalazione.
ti ridò le utenze e le porte in pvt

webmaster1
01-08-2012, 10:21
si ci stavo lavorando io ma è decisamente troppo incasinato per il mio livello riuscire a farlo andare

strassada
01-08-2012, 12:43
l'user CyanPietro sta anche implementando un kernel SMP:
http://www.hwupgrade.it/forum/showpost.php?p=37885863&postcount=3136

Parnas72
01-08-2012, 15:08
ci vuole chi ce l'ha il 3700, non c'era un utente che stava facendo i firmware mod?
C'è un utente, non ricordo il nick, che era arrivato ad avere un fw custom funzionante che al boot richiama uno script di shell dalla chiavetta USB. Da lì ad avviare modfs la strada sarebbe in discesa, ma non sembrava interessato a fare il porting del progetto.

erm67
20-08-2012, 21:57
C'è un utente, non ricordo il nick, che era arrivato ad avere un fw custom funzionante che al boot richiama uno script di shell dalla chiavetta USB. Da lì ad avviare modfs la strada sarebbe in discesa, ma non sembrava interessato a fare il porting del progetto.
Anche io ho il dgnd3700 :cool: v1 purtroppo ...
C'e' gia' un firmware modificato che richiama un rc.local dalla partizione flash jff2 scrivibile dall'utente. Comunque è una modifica semplicissima da fare. Devo provare a vedere cosa si può fare con modfs, ma per come è fatto il dgnd3700 è semplicissimo da estendere avendo 128Mb di flash interna disponibili e scrivibili. Basta la toolchain e il firmware con la rc.local per installare qualsiasi cosa, magari qualcosa di precompilato può essere utile.

fabiorino
06-09-2012, 14:55
Salve a tutti. Ho già postato nell'altra discussione la stessa domanda, ma la posto anche qua per sicurezza. Volevo chiedere a coloro che erano riusciti nel porting di un client torrent sul dgn2200 se fossero disposti a uppare il pacchetto, giusto per provarlo. So che è molto pesante per il nostro router, ma non dovrebbe essere un problema visto che verrebbe usato per al massimo un file alla volta e solo di notte, in modo da non consumare corrente tenendo un computer acceso.

SoftWd
08-09-2012, 08:41
Salve a tutti, che differenza c'è tra v1 e v3 ?

Ho cercato ovunque ma non trovo nessuna risposta a questa domanda......inoltre c'è possibilità che il modfs venga portato anche nel v3 ?

Parnas72
08-09-2012, 14:44
http://www.hwupgrade.it/forum/showthread.php?t=2454245

Leggi la prima pagina, c'è tutto quello che vuoi sapere.

SoftWd
10-09-2012, 22:51
ops vero grazie mille :)

thehole
26-11-2012, 14:57
ci sono evoluzioni dalla immagine .247 ? :)
e sulla correzione dei difetti che affliggono il wag320n ?

neghe
28-01-2013, 10:00
Ciao a tutti

tra i vari pacchetti che si possono installare su modfs (DGN2200) c'è percaso uno che faccia da server proxy

Parnas72
28-01-2013, 19:40
Proxy per quali protocolli ? Cosa ci vorresti fare esattamente ?

ardennext99
20-05-2013, 09:13
Ciao a tutti, ho un DGN3500 e mi trovo benissimo.
Ultimamente però DynDNS.org sta attuando una politica di eliminazione delle utenze free, inserendo una serie di impedimenti all'utilizzo, come dover loggarsi al sito almeno una volta al mese per mantenere l'account, il che mi spinge a pensare di spostarmi sun un servizio simile ma gratuito.
Il problema è che il router nella sezione dedicata ai dns dinamici permette di agganciarsi solamente a quel servizio, senza possibilità di aggiungere servizi differenti. Conoscete se esiste un custom firmware che estenda questa funzionalità? evenutalmente qualcuno più ferrato di me su questo router potrebbe implementare questa funzionalità che a mio avviso è molto utile a tutti quelli che devono fare accesso alla propria rete casalinga dall'esterno?

Grazie mille, ciao

random566
20-05-2013, 09:25
prova a leggere questa discussione
http://www.hwupgrade.it/forum/showthread.php?t=2554912

Parnas72
20-05-2013, 11:26
Ultimamente però DynDNS.org sta attuando una politica di eliminazione delle utenze free, inserendo una serie di impedimenti all'utilizzo, come dover loggarsi al sito almeno una volta al mese per mantenere l'account, il che mi spinge a pensare di spostarmi sun un servizio simile ma gratuito.
Ma guarda che tu non devi fare niente... configuri il servizio dyndns sul router, e poi è il client integrato nel router che ogni giorno va a fare l'update sul sito dyndns, mantenendo il servizio attivo.

pegasolabs
15-06-2013, 11:45
No Parnas, ora è previsto che ti logghi proprio sul sito...

sipperton
20-08-2013, 14:54
Salve,
è qualche giorno che mi sto informando circa l'installazione di questo mod al mio router DGN2200V1, la cosa che mi frena è che ovunque trovo il firmware modificato della versione 036, mentre io sul mio router ho la versione 046.
non so quali siano le differenze tra le due versioni....

La domanda che volevo porre è la seguente:
posso fare un downgrade, ho dei vantaggi.

Poi considerando che questo post ultimamente non è molto frequentato, come meriterebbe, mi domando, ma il progetto è ancora vivo?

Grazie per le eventuali informazioni chiarificatrici

Parnas72
20-08-2013, 17:47
la cosa che mi frena è che ovunque trovo il firmware modificato della versione 036, mentre io sul mio router ho la versione 046.
non so quali siano le differenze tra le due versioni....Essenzialmente nella 46 hanno aggiunto 3 cose: la modalità modem, il pppoe-relay, e il wi-fi scheduling. Tutte e tre le cose puoi farle con il 36 + modfs, quindi funzionalmente non ti perderesti nulla.

Poi considerando che questo post ultimamente non è molto frequentato, come meriterebbe, mi domando, ma il progetto è ancora vivo?No, non credo che ci stia lavorando più nessuno. Il V1 è fuori produzione ormai da più di un anno, per il V3 c'è un altro firmware mod che trovi sul forum, e correntemente in commercio c'è il V4. :D

sipperton
21-08-2013, 09:38
Grazie per la rapida e precisa risposta.
il dubbio sul firmware me lo hai sciolto, lo installerò.
Di modfs però ho trovato due "ultime" versioni:
la 242 unofficial qua sul forum e la 247 sul sito ufficiale.
la 242 è quella consigliata per me che ho il DGN2200V1 perchè pensata per questo router ed ottimizzata, oppure se installo la 247 ho dei vantaggi?
Da quello che ho capito però l'importante è il firmware, per la MODFS non ci sono grossi problemi, nel senso di briccare il router, se non va è sufficiente copiare sulla chiavetta l'altra versione.

Ma il progetto MODFS va avanti per il V3 e V4?

Grazie

Parnas72
21-08-2013, 15:52
Su sourceforge puoi vedere le modifiche che sono state apportate... dalla 242 alla 247 sono stati fatti bug-fix che non impattano il V1 ma altri router, però è stato introdotto un bug che non fa più funzionare il wake on lan. :D
Quindi per il V1 la 242 è quella che ha tutto funzionante. Se non ti interessa il WOL è indifferente 242 o 247.

Ma il progetto MODFS va avanti per il V3 e V4?
No, per il V3 c'è un altro firmware mod che si chiama amod, sviluppato dall'utente alfonsor di questo forum. Il V3 dispone di un'ampia area flash scrivibile inutilizzata, quindi il motivo principale per usare un fw su chiavetta USB viene meno. Per il V4 al momento non ci sono mod (serve un utente che abbia quel router e che sia dotato di competenza tecnica, tempo e passione; connubio che non sempre si verifica).

sipperton
22-08-2013, 13:12
Grazie per le chiare delucidazioni.
Non posso che ritenermi soddisfatto.

Mariolla94
15-10-2013, 22:32
Salve a tutti.. ho avuto strani problemi con il router dgn2200v1 e scrivendo qui le ho davvero provate tutte. Ecco il sunto del problema (direttamente dal supporto netgear):

il nostro modem sulla Sua linea all'improvviso, dopo un temporale, non riesce più ad ottenere un link rate di 8Mb (ideali in quanto la velocità reale è data da una serie di variabili sulla linea stessa).

Lo stesso modem su altra linea, con stessa tipologia di contratto, ottiene un link rate efficace e funziona senza problemi; si evince quindi, a differenza di quanto da me esposto precedentemente, che il prodotto in se funziona e non sembra avere problemi hardware/firmware.

Un altro modem di altra marca funziona senza problemi sulla sua linea, come da test da Lei autonomamente eseguito; questo fatto è particolarmente strano dato che quanto scritto sopra è indice di funzionalità del modem, e non di guasto o disfunzione.

Il passo successivo sta nell'analisi dei parametri di attenuazione e margine rumore del nostro modem sulla Sua linea: l'attenuazione a 33db indica che il segnale è buono, mentre un margine rumore a 6.1db è indicativo di un pessimo segnale ADSL, con frequenti disconnessioni o assenza di linea.

Nell'altro modem, con hardware e chipset differenti, abbiamo un'attenuazione pari a 36db (piuttosto vicina a quella rilevata dal nostro modem) e una margine rumore di 12db, valore borderline per " segnale sul livello di soglia, controllare impianto telefonico e filtri".
Questi parametri quindi ci segnalano un problema sulla linea telefonica che i due modem gestiscono in modo differente: essendo il nostro più sensibile ne risente di più la connettività di quanto non la risenta sull'altro modem.

Ora, chiedo qui perchè ho provato a smanettare anche con le impostazioni di modfs ma senza successo.. Come ultima spiaggia volevo provare a selezionare differenti driver per il modem ma non riesco a trovare come fare!

Grazie mille :mc: :mc:

PS: come fw ho flashato DGN2200_12.04_1.0.0.36_WW_A
versione mosfs 247
nessun pacchetto aggiuntivo (a proposito, dove posso reperirli?)

pippo1993
02-01-2014, 14:08
Salve, ero interessatissimo al fatto del client bittorrent su dgn2200, a quando questo nuovo firmware??

Grazie e cmq ottimissimo lavoro :D

winny99
23-04-2014, 16:18
Ciao, innanzitutto mi unisco ai complimenti.
Una domanda: io utilizzo no-ip.org invece di dyndns.org come DNS dinamico (per il piccolo vantaggio che è gratis)...avete per caso già previsto un pacchetto che permetta di utilizzare dyndns alternativi?

Altrimenti volevo compilare il client di no-ip per il 3500, trattandosi di un solo file .c dovrebbe essere abbastanza immediato, posso chiedervi di compilarmelo per cortesia? Così mi risparmiate il casino di scaricare e configurare la toolchain... vi sarei molto grato, e poi potrebbe tornar utile anche ad altri. :help:

Vi ringrazio fin d'ora, e complimenti ancora!
rospogrigio

Edit: alla fine mi sono messo un paio d'ore e il client (scaricato da no-ip.com) l'ho compilato da solo, e funziona.... lo linko qui:
noip2 (http://www.mediafire.com/?96ca5hcx73i1h4d)
magari può essere utile a qualcuno, o magari potete pacchettizzarlo. Ciao! :)

Visto che dyndns sta per diventare a pagamento qualcuno a compilato un packetto per il DGN2200V1? Grazie e ciao ;)

erond
09-06-2014, 15:48
Visto che dyndns sta per diventare a pagamento qualcuno a compilato un packetto per il DGN2200V1? Grazie e ciao ;)

Ciao winny,

hai trovato qualche soluzione a riguardo?

Anche io ero utente dyndns free e, di punto bianco, mi sono ritrovato senza dns dinamico sul mio DGN2200 :muro: :cry:

Utilizzo da qualche mese con soddisfazione no-ip, ma per altre robe. Sarebbe veramente grandioso se si riuscisse ad ottenere un'estensione facile da installare per chi non ha mai messo mano a modfs se non durante il processo di installazione dello stesso seguendo la guida.

winny99
12-06-2014, 14:55
Ciao winny,

hai trovato qualche soluzione a riguardo?

Anche io ero utente dyndns free e, di punto bianco, mi sono ritrovato senza dns dinamico sul mio DGN2200 :muro: :cry:

Utilizzo da qualche mese con soddisfazione no-ip, ma per altre robe. Sarebbe veramente grandioso se si riuscisse ad ottenere un'estensione facile da installare per chi non ha mai messo mano a modfs se non durante il processo di installazione dello stesso seguendo la guida.

NO, volevo pure provare ad inviare mail dal router ma non trovo il modo, pare non ci sia nessun comando possibile da lanciare, in quel caso si poteva fare uno script che ha cambio ip inviata una mail con il nuovo indirizzo.