View Full Version : [Ipotesi] Aggiungere funzionalità a tutti i router Netgear con porta USB
Confermo che mettendolo in cgi-bin funziona tutto perfettamente. Ovviamente cambiando i nomi delle interfacce. Che faccio ? Faccio un link in cgi-bin ?
Confermo che mettendolo in cgi-bin funziona tutto perfettamente. Ovviamente cambiando i nomi delle interfacce. Che faccio ? Faccio un link in cgi-bin ?
no, bisogna patchare httpd, la versione che ti ho passato di busybox manca di questa patch, l'ho messa in un secondo momento, che poi l'hai fatta tu :D
no, bisogna patchare httpd, la versione che ti ho passato di busybox manca di questa patch, l'ho messa in un secondo momento, che poi l'hai fatta tu :D
E' completamente diverso però... Che ne dici di linkare www all'installazione in cgi-bin ? Almeno per ora...
E' completamente diverso però... Che ne dici di linkare www all'installazione in cgi-bin ? Almeno per ora...
E' stato più facile del previsto:
--- httpd.c-orig 2010-12-11 14:42:07.000000000 +0100
+++ httpd.c 2010-12-11 14:33:34.000000000 +0100
@@ -2115,6 +2115,9 @@
}
send_cgi_and_exit(urlcopy, prequest, length, cookie, content_type);
}
+ else if (strncmp(tptr + strlen(tptr) - 4, ".cgi", 4) == 0) {
+ send_cgi_and_exit(urlcopy, prequest, length, cookie, content_type);
+ }
#if ENABLE_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR
{
char *suffix = strrchr(tptr, '.');
Azz, ci ho messo un minuto esatto :D
Ho aggiornato band_meter per usarlo su entrambi i router, provalo.
Come siamo messi ? Non dovrebbe mancare molto, giusto ?
Ho aggiornato band_meter per usarlo su entrambi i router, provalo.
ok.
Ah non te lo detto ma con minidlna sono andato a scrocco, la tua versione funziona :D .
Solo che lo scan mette al tappeto il router...
Già find /tmp/shares -follow -type d
blocca completamente l'interfaccia grafica con un hard disk di 160GB, credo che andrebbe messo come pulsante, altrimenti per entrare nel menu mini_dlna ci vogliono decine e decine di secondi.
Minidlna invece durante il processo di scan rallenta il router abbastanza, poi se tutto lo scan deve essere rieseguito ad ogni riavvio... mi sa che conviene salvarli i risultati degli scan... ha impiegato 15 minuti per indicizzare 200 files in 15 cartelle per un totale di 64GB, il file files.db pesa 270KB
ok.
Ah non te lo detto ma con minidlna sono andato a scrocco, la tua versione funziona :D .
Solo che lo scan mette al tappeto il router...
Già find /tmp/shares -follow -type d
blocca completamente l'interfaccia grafica con un hard disk di 160GB, credo che andrebbe messo come pulsante, altrimenti per entrare nel menu mini_dlna ci vogliono decine e decine di secondi.
Minidlna invece durante il processo di scan rallenta il router abbastanza, poi se tutto lo scan deve essere rieseguito ad ogni riavvio... mi sa che conviene salvarli i risultati degli scan... ha impiegato 15 minuti per indicizzare 200 files in 15 cartelle per un totale di 64GB, il file files.db pesa 270KB
Non credevo che la find ci mettesse così tanto tempo, purtroppo non ho trovato alcun pacchetto ajax che faccia da directory chooser, sarebbe una scelta più sensata. Se ti riesce trovare un nuovo modo per scegliere le directory fai pure, al limite potresti anche aprire un popup.
Per il tempo di scansione...il problema è che i nostri router non hanno il supporto nel kernel per inotify. Almeno per la prima versione volevo lasciare tutto così, poi in un secondo momento, con il supporto a inotify la cosa si dovrebbe fare più semplice.
La scansione purtroppo non è mai incrementale, nel senso che senza inotify non si accorge se qualche file sul router è cambiato.
Le applicazioni in userspace è vero che sono rallentate (anche se ho usato nice per diminuire la priorità). Le funzionalità del router non sono comunque rallentate (tranne chiaramente quelle in userspace).
Bisognerebbe modificare minidlna per fare una scansione incrementale (se il file che ho trovato ha la stessa dimensione di prima allora non ne rifaccio la scansione, se non lo trovo lo elimino), ma la possibilità di ricompilare il kernel (niente modulo purtroppo) con inotify sarebbe probabilmente migliore.
Ti dispiace se inverto i grafici in band monitor ?
Mi sembra più interessante avere a primo colpo d'occhio i grafici della WAN, poi quelli della LAN e della WLAN. Che ne pensi ?
Ti dispiace se inverto i grafici in band monitor ?
Mi sembra più interessante avere a primo colpo d'occhio i grafici della WAN, poi quelli della LAN e della WLAN. Che ne pensi ?
la lan puoi metterla anche per ultima.
Molta gente potrebbe credere che sia il grafico del traffico dell'intera lan e non solo dell'interfaccia di rete del router :D
la lan puoi metterla anche per ultima.
Molta gente potrebbe credere che sia il grafico del traffico dell'intera lan e non solo dell'interfaccia di rete del router :D
Ok ;)
Hai dato uno sguardo a basicinfo ? Dovrebbe essere quasi identico fra i due router. Cambiano solo i nomi delle interfacce. A me cambia anche il nome dell'interfaccia ppp fra PPPoE e PPPoA, per questo è un po' incasinato.
Sto modificando il pacchetto minidlna per raggiungere un compromesso.
Minidlna parte con l'ultimo database scannato, se si clicca su rescan si forza la sua ricreazione.
Se tu riuscissi a modificare minidlna in modo che quando accede ad un file o un dir e gli da errore chiami le funzioni inotify_remove_file o inotify_remove_directory
Abbiamo già raggiunto che
-non rifa lo scan ad ogni avvio
-i files o dir inesistenti vengono cancellati dal database
-per fargli cercare nuovi file si fa il rescan manuale
Boh, sinceramente non me la sento di mettere mano in un programma di questo tipo, almeno non nell'immediato.
Mi sembrerebbe più logico fare uno scan intelligente al posto del rescan:
- faccio una copia del vecchio database
- se un file non c'è nel vecchio database allora faccio al scansione del contenuto, altrimenti aggiungo direttamente il contenuto dal vecchio DB.
Mi sta venendo in mente un altro modo...e se si mantenesse una lista di file ?
Poi con diff si trovano facilmente quelli da aggiungere e quelli da togliere.
Con un signal handler (ad esempio su SIGHUP) potremmo caricare il file da una posizione nota e aggiungere e togliere i file con inotfy_add* e inotify_remove*.
E' un po' però che non mi scontro con i signal handler.
Boh, sinceramente non me la sento di mettere mano in un programma di questo tipo, almeno non nell'immediato.
Mi sembrerebbe più logico fare uno scan intelligente al posto del rescan:
- faccio una copia del vecchio database
- se un file non c'è nel vecchio database allora faccio al scansione del contenuto, altrimenti aggiungo direttamente il contenuto dal vecchio DB.
Per me al momento va già bene così, l'hard disk collegato è sempre quello, quando ci aggiungo od elimino qualcosa, gli faccio fare il rescan.
Fargli fare il rescan ad ogni riavvio invece è un salasso, io il router non lo tengo acceso 24/24
Fargli fare il rescan ad ogni riavvio invece è un salasso, io il router non lo tengo acceso 24/24
Il mio è acceso da qualche mese, tranne per i temporali e per i flash del firmware :D
Un metodo per sapere i client connessi e loro mac?
Uno veloce è /proc/net/arp, penso che possa andare bene, tanto non mi serve sapere se sono al momento connessi, ma la tabella arp dice più o meno quelli connessi un pò di tempo fa.
Tu ce l'hai? :D
Ah, vuoi sapere anche i client connessi oltre a quelli che hanno un lease DHCP ?
arp -v
dovrebbe andare bene
Ah, vuoi sapere anche i client connessi oltre a quelli che hanno un lease DHCP ?
arp -v
dovrebbe andare bene
A me è lento manco la morte, ci mette oltre 30 sec per fare l'output, è inutilizzabile per me :(
cat /proc/net/arp invece è veloce veloce
In realtà mi serve giusto una cosa così, nel WOL voglio aggiungere una tabella avalaible host, giusto per velocizzare la selezione e memorizzazione di un mac.
cat /proc/net/arp funziona a te?
Yes
cat /proc/net/arp
IP address HW type Flags HW address Mask Device
192.168.0.2 0x1 0x2 00:A0:A2:**:**:** * br0
Secondo te, esiste un modo per capire quando minidlna sta facendo lo scanning e quando ha finito?
Sarebbe utile che nella pagina di minidlna lo status cambiasse fra stopped running e scanning.
Io per vedere quando ha finito al momento vedo l'utilizzo della cpu, durante lo scanning c'è un utilizzo del 90%, quando finisce ritorna allo 0,2%.
L'unica cosa che ho notato che avvia un altro processo quando fa lo scanning e poi lo termina quando finisce.
Ma probabilmente apre un nuovo processo per ogni attività , quale connessione di un client, streaming ,ecc.
L'unica credo che sarebbe fare la scansione del log. Ci dovrebbe essere la possibilità di impostare il file di log dalla configurazione, ma ora non mi ricordo come.
Ciao, ho letto che avete fatto un bel po di lavoro sui router, al momento sono riuscito a compilare un firmware per il linksys wag320N e rispetto al firmware originale ho aggiunto i seguenti tools:
zlib-1.2.3 (x dropbear)
etherwake-1.09 (wol)
dropbear-0.49 (sshd)
utelnetd-0.1.2 (telnet)
non ho ancora avuto il coraggio di aggiornare il firmware, anche se ho solo aggiunto binari
@gnommo, parlavi di una procedura per il riconoscimento ed il caricamento automatico del firmware aggiuntivo da disco usb, da dove parto?
Ottima notizia Alpine !!! Portare il nostro lavoro sul WAG320N sarebbe quasi a costo zero, visto che ha lo stesso Broadcom 6358 del DGN2200.
Quindi si tratterebbe solamente di adattare i vari pacchetti ai comandi del WAG320N, ma dovrebbe essere molto semplice basandosi su quello che è già stato fatto per il DGN2200.
Se ti interessa, prima di tutto dovresti compilare i seguenti moduli del kernel:
- modulo per i loop device
- modulo supporto ad ext3 (che ti abilita anche gli altri due moduli che servono)
I moduli sono: loop.ko, ext3.ko, mbcache.ko, jbd.ko
Non hai bisogno di ricompilare tutto il kernel, ma solo questi moduli. Li metti su usb insieme al file mod_image.bin e poi monti il file (ovviamente devi avere anche i loop device, se non ce li hai devi crearli manualmente).
Magari ti passo losetup (serve per associare il loop device al file a mod_image.bin).
Intanto fai tutto manualmente, se ti riesce manualmente poi potrai inserire anche il caricamento automatico (identico al mio) direttamente nel firmware.
Il WAG320N ha il comando adsl o adslctl ? Inoltre per lavorare sull'nvram usa il comando nvram o param ? Mi dai l'help del comando ?
Ottima notizia Alpine !!! Portare il nostro lavoro sul WAG320N sarebbe quasi a costo zero, visto che ha lo stesso Broadcom 6358 del DGN2200.
Quindi si tratterebbe solamente di adattare i vari pacchetti ai comandi del WAG320N, ma dovrebbe essere molto semplice basandosi su quello che è già stato fatto per il DGN2200.
Se ti interessa, prima di tutto dovresti compilare i seguenti moduli del kernel:
- modulo per i loop device
- modulo supporto ad ext3 (che ti abilita anche gli altri due moduli che servono)
I moduli sono: loop.ko, ext3.ko, mbcache.ko, jbd.ko
Non hai bisogno di ricompilare tutto il kernel, ma solo questi moduli. Li metti su usb insieme al file mod_image.bin e poi monti il file (ovviamente devi avere anche i loop device, se non ce li hai devi crearli manualmente).
Magari ti passo losetup (serve per associare il loop device al file a mod_image.bin).
Intanto fai tutto manualmente, se ti riesce manualmente poi potrai inserire anche il caricamento automatico (identico al mio) direttamente nel firmware.
Il WAG320N ha il comando adsl o adslctl ? Inoltre per lavorare sull'nvram usa il comando nvram o param ? Mi dai l'help del comando ?
nel firmware ho :
adslctl che punta a /usr/sbin/xdslctl
il comando nvram
uclib versione 0.9.27
nel firmware ho :
adslctl che punta a /usr/sbin/xdslctl
il comando nvram
uclib versione 0.9.27
uclibc nel mio caso è la 0.9.29, speriamo non ci crei problemi.
Dammi un secondo l'output del comando nvram, senza parametri.
uclibc nel mio caso è la 0.9.29, speriamo non ci crei problemi.
Dammi un secondo l'output del comando nvram, senza parametri.
ora non ho il modem a portata di mano, stasera vedo prendere questa info
per i moduli : loop.ko, ext3.ko, mbcache.ko, jbd.ko
verifico nel file .config del kernel linux per farli compilare?
verifico nel file .config del kernel linux per farli compilare?
make menuconfig
e li selezioni tu.
Poi per compilarli: make modules
Oppure esegui il make del kernel direttamente.
Ma al tuo primo flash flashi anche il kernel ricompilato ? Oppure l'hai recuperato dall'immagine del firmware ?
Sto usando la toolchain che mi hanno mandato quelli di Linksys per compilare i vari moduli kenel e i bin extra. ora ho compilato i moduli e li ho messi in una dir
da quello che so tra le varie versioni di uclibc non è garantita la compatibilità binaria, quindi sino a quando posso provo a compilare tutto con la toolchain linksys.
ora che ho i moduli per montare un firmware tramite usb come procedo? (si può fare con il firmware ufficiale?)
ps. ho visto che losetup è una funzionalità fornita da busybox, quindi dovrei già averla sul firmware basta creare il link
(psps. ho ricompilato busybox con lo losetup :D)
Sto usando la toolchain che mi hanno mandato quelli di Linksys per compilare i vari moduli kenel e i bin extra. ora ho compilato i moduli e li ho messi in una dir
da quello che so tra le varie versioni di uclibc non è garantita la compatibilità binaria, quindi sino a quando posso provo a compilare tutto con la toolchain linksys.
ora che ho i moduli per montare un firmware tramite usb come procedo? (si può fare con il firmware ufficiale?)
ps. ho visto che losetup è una funzionalità fornita da busybox, quindi dovrei già averla sul firmware basta creare il link
(psps. ho ricompilato busybox con lo losetup :D)
Segui questi passi:
Scaricati il nostro svn
svn co https://modfs.svn.sourceforge.net/svnroot/modfs modfs
poi con privilegi di root dai
./build.sh
(perchè il comando vada a buon fine in ubuntu devi avere installato sqlite3 )
ora nella dir build hai modfs.bin
lo metti su una penna insieme ai moduli.
poi da telnet dai
insmod path/jbd.ko
insmod path/ext3.ko
mknod /dev/loop0 b 7 0
losetup /dev/loop0 modfs.bin
mkdir -p mountpath
mount -t ext3 /dev/loop0 mountpath
Se tutto vabbene riuscirai ad entrare nell'immagine attraverso mountpath.
Da quel punto in poi inizia tutto il lavoro di adattamento
dei binari e delle dir presenti al wag320n.
grazie per la disponibilità spero di poter ricambiare a breve, stasera provo a caricare l'immagine.
grazie per la disponibilità spero di poter ricambiare a breve, stasera provo a caricare l'immagine.
Di niente, chiunque si voglia unire al nostro progetto è il benvenuto.
Alpine: una vota che sei riuscito a montare mod_image.bin sul router:
- modifica router_detect in modo che ritorni la stringa WAG320N nel tuo caso
- copia le librerie aggiuntive in lib/WAG320N (libsqlite3 e libz)
- crea db/WAG320N copiando il contenuto di una delle altre due directory
- crea una copia di www/WAG320N copiando il contenuto di una delle directory degli altri due router
- compila questo busybox (http://www.mediafire.com/download.php?0yv95bucn924iv5). Dai anche "make install". Ti crea una directory _install in cui ci saranno le directory bin e sbin. Con "cp -ar sbin bin" copia tutta sbin in bin. Copia il contenuto di bin in bin/WAG320N.
- scarica questo php 4 (http://www.mediafire.com/?38p8aa22f67ka86). Dai il comando di configurazione:
FLAGS="-Os" ./configure --host=mips-unknown-linux-uclibc --prefix=./_install --without-pear --disable-libxml --disable-dom --without-iconv --disable-simplexml --disable-xml --disable-ipv6 --without-mysql
Compila con "make install"
Ti dovrebbe produrre un eseguibile chiamato php in _install. Dai il comando "strip php" per renderlo meno cicciotto. Copialo nella dir bin/WAG320N del pacchetto httpd.
Quindi crea una directory packages/WAG320N. Copia il contenuto di httpd, telnet e webpass.
Non ti resta che fare il porting dei vari pacchetti a partire dal telnet e continua con tutti i pacchetti in base. Ti dovrebbe andare bene la versione del DGN3500 come comandi di start (a meno che la porta 23 non sia già occupata). Ovviamente discrimina in base alla variabile $device settata da boot.sh.
Quando sei arrivato a questo punto apporta le modifiche che hai fatto anche alla copia locale del repository e verifica che funzioni lo script di build (devi aggiungere i comandi per il WAG320N).
Stasera sono bloccato a casa dalla neve :muro: :muro:
Ho visto che se validator torna false, la pagina viene comunque ricaricata. Se non fosse un casino, non sarebbe meglio non ricaricarla ?
Altra cosa: che ne pensi se mettessimo gli help con il testo giustificato ? Non sono un fan del testo giustificato, ma magari con il testo così piccolo il risultato è discreto.
Stasera sono bloccato a casa dalla neve :muro: :muro:
Ho visto che se validator torna false, la pagina viene comunque ricaricata. Se non fosse un casino, non sarebbe meglio non ricaricarla ?
Altra cosa: che ne pensi se mettessimo gli help con il testo giustificato ? Non sono un fan del testo giustificato, ma magari con il testo così piccolo il risultato è discreto.
Il ricaricamento l'ho messo per una ragione :D
Primo perchè se validator ritorna false significa che si è sbagliato a compilare i campi della form e quindi serve per resettare i campi , in webpass se non si resetta c'è il rischio che si setti per distrazione una password od un nome utente che poi non si conosce, essendo tutto coperto da asterischi.
Per il testo giustificato può essere adottato come norma, ma non con tutti gli help può andare bene, se qualche help ha bisogno di qualche particolare formattazione tipo wifi_meter.
Ho finito wol, do una sistemata ad wifi schedule...
mi resterebbe da far funzionare i pacchetti info che hai fatto, domani vedo, se ci vuole troppo tempo posso anche tralasciarli.
modfs_exec ha un problemino
un comando così
exec($modfs."/packages/".$device."/cron/scripts/cron_entry -s wifioff \"".$wifioff."\"",$res,$ret);
non riesce ad interpretarlo correttamente gli \" creano un casino.
modfs_exec ha un problemino
un comando così
exec($modfs."/packages/".$device."/cron/scripts/cron_entry -s wifioff \"".$wifioff."\"",$res,$ret);
non riesce ad interpretarlo correttamente gli \" creano un casino.
Strano, mi sembrava di aver provato casi simili.
Avevo anche messo:
$cmd = str_replace("\"", "\\\"", $cmd);
Faccio qualche prova...
Ho verificato ed il problema non sembra esserci :boh:
Ad esempio:
modfs_exec("comando \"pippo e pluto\"",$res,$ret);
Stampando su file il comando eseguito in exec_wrapper.sh, questo è proprio:
comando "pippo e pluto"
Ho portato wifi_sched sul DGN2200 ;)
Aggiorna prima di fare eventuali modifiche.
secret105
19-12-2010, 15:00
Salve ragazzi, sono un beta tester della netgear e dispongo di un mbrn3000 brikkato durante un aggiornamento firmware.. qualcuno potrebbe dirmi come riportarlo in vita? risponde al ping 192.168.1.1.. ma non c'è nessuna interfaccia web.. c'è magari qualche modded firmware da poter caricare?
grazie.. :)
Salve ragazzi, sono un beta tester della netgear e dispongo di un mbrn3000 brikkato durante un aggiornamento firmware.. qualcuno potrebbe dirmi come riportarlo in vita? risponde al ping 192.168.1.1.. ma non c'è nessuna interfaccia web.. c'è magari qualche modded firmware da poter caricare?
grazie.. :)
Scrivi qui: http://www.hwupgrade.it/forum/showthread.php?t=2250489&page=3
E dimmi come si comportano le luci al boot. Probabilmente lo recuperi con tftp
secret105
19-12-2010, 15:13
Scrivi qui: http://www.hwupgrade.it/forum/showthread.php?t=2250489&page=3
E dimmi come si comportano le luci al boot. Probabilmente lo recuperi con tftp
ti ringrazio; ho postato nell'altro topic! :)
Ho portato wifi_sched sul DGN2200 ;)
Aggiorna prima di fare eventuali modifiche.
Beh allora puoi verificare quel comportamento che ti dicevo per modfs_exec, prova a cambiare gli exec di process.php
In arrivo anche wol.
Quindi a te va con nobody cron? A me va solo con root.
Quindi a te va con nobody cron? A me va solo con root.
Sì ;) Quando è finita la partita verifico il problema con modfs_exec.
Minchia si è appena riacceso il pc con wol,
il mio orologio ed il router sono sincronizzati al secondo :D
uppato wol, se per cortesia potresti compilare l'help.... che mi sono dimenticato :stordita:
Il funzionamento di wol:
-prima tabella host disponibili, se si clicca su un host viene caricato nelle caselle di testo per fare il wake manuale oppure salvare il mac per ricordarselo, se si spunta su schedule si può pianificare il wake.
-seconda tabella host salvati, se si clicca su un host viene caricato nelle caselle di testo per fare il wake manuale,se scheduled è Yes vengono caricate le informazioni sulla pianificazione salvate, se è No e si spunta su schedule si può pianificare il wake,
cliccando su remove viene cancellato.
cliccando su save vengono salvate o aggiornate le impostazioni.
Ci comincio a mettere le mani sopra adesso.
Hai provato a vedere se funziona ether-wake di busybox ?
Sarebbe da prevedere una paginetta semplice semplice, senza javascript, per accedere da cellulare al wol. Magari che all'installazione del pacchetto si linka direttamente in www.
Il WOL funziona perfettamente ;) Complimenti per l'ottima interfaccia.
E' una soddisfazione prendere il pacchetto, caricarlo sul firmware e vederlo funzionare da subito :D
Ti va bene se sposto "manual wake" insieme a Save e Restore ? Il tutto mi sembra più ordinato ;)
Ci comincio a mettere le mani sopra adesso.
Hai provato a vedere se funziona ether-wake di busybox ?
Sarebbe da prevedere una paginetta semplice semplice, senza javascript, per accedere da cellulare al wol. Magari che all'installazione del pacchetto si linka direttamente in www.
Tu hai cellulari scrausi :D ... con opera mobile l'interfaccia funziona benissimo su symbian, già ho testato.
Tu hai cellulari scrausi :D ... con opera mobile l'interfaccia funziona benissimo su symbian, già ho testato.
Per ora è assolutamente scrauso. In settimana mi arriva l'IDEOS con Android :D
E' normale che passando il mouse sopra agli host nelle tabelle mi diventino le scritte bianche ? Non sarebbe meglio mantenerle nere ? Almeno sul mio monitor non si vede praticamente niente quando ci passo il mouse sopra.
E' normale che passando il mouse sopra agli host nelle tabelle mi diventino le scritte bianche ? Non sarebbe meglio mantenerle nere ? Almeno sul mio monitor non si vede praticamente niente quando ci passo il mouse sopra.
Le scelte cromatiche non sono il mio forte.
Comunque si deve modificare in default.css
Ho uppato anche sshd.
Il primo avvio ci mette un pò perchè deve generare le chiavi.
Le scelte cromatiche non sono il mio forte.
Comunque si deve modificare in default.css
Ho uppato anche sshd.
Il primo avvio ci mette un pò perchè deve generare le chiavi.
Non è che ti sei scordato di aggiornare default.css sul repository ? :stordita:
Ora guardo SSHD
Non mi resta che sistemare basic info.
Avrei già pronti i pacchetti stunnel e https, appunto usare stunnel per fornire https al nostro httpd.
Come al solito la versioni precompilate funzionano a metà,
sto cercando una versione di stunnel compilabile per mips, l'ultima ha spezzoni di codice in assembler e quindi si blocca lì la compilazione :confused: .
Non è che ti sei scordato di aggiornare default.css sul repository ? :stordita:
Ho aggiornato l'svn, ora ha le scritte nere.
Ho aggiornato l'svn, ora ha le scritte nere.
Ho appena fatto un fix per basicinfo. In sostanza ad un certo punto nella tabella del DHCP mi appariva expired ed il MAC address invece dell'ip.
Ora dovrebbe essere apposto.
Ho aggiornato anche il wol con le ultime modifiche e l'help.
Dropbear purtroppo non è compatibile, devo rigenerare l'eseguibile. Hai per caso il configure ?
In sostanza sembra che ci sia compatibilità del mio verso il tuo, ma non il contrario (se il programma diventa un minimo complesso chiaramente).
Dropbear purtroppo non è compatibile, devo rigenerare l'eseguibile. Hai per caso il configure ?
non l'ho compilato, ho preso una versione per uclibc 0.9.29, ma che uso da tempo e non da problemi.
L'ho ricompilato, ma non mi fa entrare anche con la password corretta.
[22766] Dec 19 19:20:52 user 'admin' has invalid shell, rejected :muro: :muro:
Forse perché ho cambiato la shell con quella del nuovo busybox...
Giusto per evitare di girare a vuoto. Potresti compilare anche tu la versione 0.52 e provare se ti funziona con il pacchetto del router ?
./configure --host=mips-linux --disable-zlib --disable-lastlog --disable-syslog -disable-utmp --disable-utmpx --disable-wtmp --disable-wtmpx
Niente da fare, ho provato ad aggiungere l'utente root, con la shell corretta, ma si presenta il problema che avevo l'altra volta:
22779] Dec 19 19:27:30 bad password attempt for 'root' from 192.168.0.2:49883
E' il solito problema che ho su login. Sembra che le funzioni della libreria crypt non funzionino a dovere.
E' il solito problema che ho su login. Sembra che le funzioni della libreria crypt non funzionino a dovere.
A me comunque da lo stesso problema, non riesce a fare il login con /etc/passwd del firmware, o creando la password con passwd del busybox che usiamo.
Però creando le password con passwd del busybox( v.1.00) del firmware tutto va a posto.
Un'altra feature che volendo potremmo aggiungere facilmente...
In pppoe, se vuoi fare in modo che il router venga visto come modem dagli altri computer per collegarsi in pppoe, basta fare:
brctl addif br0 atm0
Dove atm0 è l'interfaccia di astrazione del link atm.
Credo che tirando giù l'interfaccia ppp poi funzioni tranquillamente come modem.
Un'altra feature che volendo potremmo aggiungere facilmente...
In pppoe, se vuoi fare in modo che il router venga visto come modem dagli altri computer per collegarsi in pppoe, basta fare:
brctl addif br0 atm0
Dove atm0 è l'interfaccia di astrazione del link atm.
Credo che tirando giù l'interfaccia ppp poi funzioni tranquillamente come modem.
Sul dgn3500 c'è come opzione il pppoe relay, ora vedo abilitando questo cosa imposta...
Tirando le somme cosa ci resta?
Dovrei adattare il pacchetto basic info e adsl info, ma non sono sicuro di riuscire a recuperare tutte quelle informazioni, o perlomeno non esistono comandi per tirare alcune di quelle informazioni e dovrei recuperarle in maniera indiretta.
Credo che il PPPoE relay faccia proprio quella impostazione lì.
basic info credo che tu lo possa portare quasi a costo zero, molte delle informazioni le prende da ifconfig.
L'unica cosa un po' più impegnativa sono i lease DHCP, ma se usi anche tu udhcpd lo porti pari pari.
Confermo che funziona perfettamente, addirittura permette di assegnare indirizzi IP diversi ad ogni connessione PPPoE.
Cionci mi sono ufficialmente scassato.
Stabiliamo come data inderogabile di rilascio, sabato mattina.
Naturalmente rilasceremo con il marchio beta.
In seguito porteremo a termine altre cose...
Se riesco ad adattare il pacchetto basic info in questi giorni, bene,altrimenti lo rimando a dopo.
Dopo sabato, io, con calma, farò il firmware mod per caricare
modfs in automatico, per il momento essendo una beta da sperimentare, chi la vuole provare sul dgn3500 si può benissimo accontentare di avviarla manualmente tramite url.
I pacchetti successivi che farò sono quelli per l'adsl e wifi, anche se abbastanza inutili, perchè di tutti i settaggi che ho sperimentato nessuno mi pare che serva veramente a qualcosa.
Più in là affronteremo il discorso qos, che a me sinceramente interessa, se si riesce a trovare un modo per non strozzare la banda di upload internet è una buona cosa. Attualmente basta che qualcuno in casa mandi qualche email con allegato pesante che subito la connessione rallenta a tutti gli altri.
Per il momento ciò che riterrei utile ,soprattutto per la gestione remota ,sarebbe il poter salvare le password degli utenti di sistema e poterle applicare all'avvio.
Sempre per la gestione remota https darebbe più tranquillità.
ho predisposto stunnel per questo, ma mi snerva compilarlo, se si riuscisse ad ingabbiare la versione di stunnel compilate per uclibc 0.9.29, vorrei usare quella.
Va bene, se siamo pronti prima lo rilasciamo prima.
Io ho lavorato un po' su sshd. Ho risolto il problema della shell, poi si incasinava nel cercare il device da usare per la console e c'era il solito problema della cancellazione delle variabili d'ambiente. Ora funziona tutto.
Comincio a buttare i sorgenti modificati sul server ?
Questo è il configure:
./configure --host=mips-linux --disable-lastlog --disable-syslog -disable-utmp --disable-utmpx --disable-wtmp --disable-wtmpx --disable-shadow
Ho aggiunto un pacchetto con un pulsantino per attivare e disattivare il wifi al volo. Se ti interessa...
Sul dgn3500, in questi giorni mi è saltato fuori un bug su ntfs.
In pratica ogni giorno sto usando minidlna per vedere filmati dal hd ntfs collegato, prima usavo samba.
Accade spesso che dopo una 20 di minuti di visione, il disco non è più visibile:
Dopo questo mount mi da segmentation fault,
dmesg da :
kup_open+0x18/0x24
[<8007b930>] open_namei+0x94/0x8a0
[<8006fee4>] do_filp_open+0x2c/0x60
[<8007030c>] do_sys_open+0x6c/0xd0
[<800102c4>] stack_done+0x20/0x3c
Code: 55a7c6a1 4f0c9c19 0051f3a1 <4cee72a3> 3e0bcdc3 e054556b 55ad9df4 ff25277b 8d22ced7
do_cpu invoked from kernel context![#6]:
Cpu 0
$ 0 : 00000000 00000090 fffffff7 c0069d9c
$ 4 : 82622e20 00000001 83f21ea8 81091920
$ 8 : 000041ff 00002001 00000000 83dde7c0
$12 : 8007015c 83f21de8 00000044 004231c0
$16 : fffffff5 82622e20 83f21ea8 835c9000
$20 : 835c900e 83f21d10 00000000 00000101
$24 : 00000000 005fe100
$28 : 83f20000 83f21ce8 82622e17 80078a30
Hi : 00000000
Lo : ccccccce
epc : c0069da0 fuse_permission+0x4/0x1e0 [fuse] Tainted: P
ra : 80078a30 permission+0xd4/0xf8
Status: 1100fc03 KERNEL EXL IE
Cause : 1080002c
PrId : 0001954c
Modules linked in: ext3 jbd nf_nat_sip nf_conntrack_sip ath_pktlog(P) wlan_scan_ap wlan_acl wlan_wep wlan_tkip wlan_ccmp wlan_xauth ath_pci ath_rate_atheros(P) wlan ath_dfs(P) ath_hal(P) ipt_REJECT ifx_ppe(P) fuse ct_mgr(P) dwc_otg_host ipt_condition ipt_random ipt_psd led_hw(P) led_pb_api(P)
Process minidlna (pid: 10380, threadinfo=83f20000, task=810f68e8)
Stack : 835c900e 83f21d10 ffffffec 82622e20 800795a8 4d0fdd37 22faa0a9 80003f10
4d0fdd37 22faa0a9 81091920 82933970 000039f7 00000001 835c900c 800875a4
810b48c0 83f21ea8 83f21d60 835c9000 835c9000 00002001 00000000 00000089
00000000 8007a86c 00000000 be101000 00000001 7fd54274 812e9590 810912a0
83cc0400 801b21d0 834d5580 00000101 00000001 00000000 805c00a8 805c00a0
...
Call Trace:
[<c0069da0>] fuse_permission+0x4/0x1e0 [fuse]
[<80078a30>] permission+0xd4/0xf8
[<800795a8>] __link_path_walk+0x15c/0x130c
[<8007a86c>] link_path_walk+0x114/0x260
[<8007adb0>] do_path_lookup+0x3f8/0x438
[<8007af34>] __path_lookup_intent_open+0x60/0xc0
[<8007afac>] path_lookup_open+0x18/0x24
[<8007b930>] open_namei+0x94/0x8a0
[<8006fee4>] do_filp_open+0x2c/0x60
[<8007030c>] do_sys_open+0x6c/0xd0
[<800102c4>] stack_done+0x20/0x3c
Code: 55a7c6a1 4f0c9c19 0051f3a1 <4cee72a3> 3e0bcdc3 e054556b 55ad9df4 ff25277b 8d22ced7
CPU 0 Unable to handle kernel paging request at virtual address c3203940, epc == c3203940, ra == 8008a2bc
Oops[#7]:
Cpu 0
$ 0 : 00000000 00000000 c006d42c 00000020
$ 4 : 83fafa80 81091920 00000000 00000176
$ 8 : 6f646576 00000002 00000002 2c6e6f64
$12 : ffffffff 8109d908 81c460fb 00000008
$16 : 802fa34c 81091920 83fafa80 00000000
$20 : 10008090 00000000 83a07ca0 83fafaa0
$24 : 00000000 00000001
$28 : 823ba000 823bbe70 823bbf18 8008a2bc
Hi : 000003c7
Lo : 0002cc8b
epc : c3203940 0xc3203940 Tainted: P
ra : 8008a2bc show_vfsmnt+0x148/0x17c
Status: 1100fc03 KERNEL EXL IE
Cause : 10800008
BadVA : c3203940
PrId : 0001954c
Modules linked in: ext3 jbd nf_nat_sip nf_conntrack_sip ath_pktlog(P) wlan_scan_ap wlan_acl wlan_wep wlan_tkip wlan_ccmp wlan_xauth ath_pci ath_rate_atheros(P) wlan ath_dfs(P) ath_hal(P) ipt_REJECT ifx_ppe(P) fuse ct_mgr(P) dwc_otg_host ipt_condition ipt_random ipt_psd led_hw(P) led_pb_api(P)
Process mount (pid: 10493, threadinfo=823ba000, task=810e3928)
Stack : 8109e480 8008a0c8 8006d034 00010002 83fafa80 0000014d 81091920 00001000
8008f39c 8008f27c 00100077 0001000a 00000f70 00000001 00000000 00000009
00000000 0000000a 83a07ca0 10008090 823bbf18 10009098 00001000 10006018
004041c0 00000001 00000000 80070d2c 82faf0f0 800f4368 1000b000 1000b000
fffffff7 10008090 83a07ca0 8007106c 80064134 80064064 00001000 10008028
...
Call Trace:
[<8008a0c8>] m_start+0x2c/0x94
[<8006d034>] kmem_cache_alloc+0x4c/0x74
[<8008f39c>] seq_read+0x26c/0x3cc
[<8008f27c>] seq_read+0x14c/0x3cc
[<80070d2c>] vfs_read+0xb4/0x13c
[<800f4368>] __strncpy_from_user_nocheck_asm+0x8/0x3c
[<8007106c>] sys_read+0x54/0x98
[<80064134>] sys_brk+0x104/0x128
[<80064064>] sys_brk+0x34/0x128
[<800102c4>] stack_done+0x20/0x3c
Code: (Bad address in epc)
CPU 0 Unable to handle kernel paging request at virtual address c3203940, epc == c3203940, ra == 8008a2bc
Oops[#8]:
Cpu 0
$ 0 : 00000000 00000000 c006d42c 00000020
$ 4 : 83704480 81091920 00000000 00000176
$ 8 : 6f646576 00000002 00000002 2c6e6f64
$12 : ffffffff 8109d908 809440fb 00000008
$16 : 802fa34c 81091920 83704480 00000000
$20 : 10008090 00000000 821764c0 837044a0
$24 : 00000000 00000001
$28 : 80ef4000 80ef5e70 80ef5f18 8008a2bc
Hi : 000003c7
Lo : 0002cc8b
epc : c3203940 0xc3203940 Tainted: P
ra : 8008a2bc show_vfsmnt+0x148/0x17c
Status: 1100fc03 KERNEL EXL IE
Cause : 10800008
BadVA : c3203940
PrId : 0001954c
Modules linked in: ext3 jbd nf_nat_sip nf_conntrack_sip ath_pktlog(P) wlan_scan_ap wlan_acl wlan_wep wlan_tkip wlan_ccmp wlan_xauth ath_pci ath_rate_atheros(P) wlan ath_dfs(P) ath_hal(P) ipt_REJECT ifx_ppe(P) fuse ct_mgr(P) dwc_otg_host ipt_condition ipt_random ipt_psd led_hw(P) led_pb_api(P)
Process mount (pid: 10611, threadinfo=80ef4000, task=836839a8)
Stack : 8109e480 8008a0c8 8006d034 00010002 83704480 0000014d 81091920 00001000
8008f39c 8008f27c 00100077 0001000a 00000f70 00000001 00000000 00000009
00000000 0000000a 821764c0 10008090 80ef5f18 10009098 00001000 10006018
004041c0 00000001 00000000 80070d2c 8066d3e4 0000005f 1000b000 1000b000
fffffff7 10008090 821764c0 8007106c 80064134 80064064 00001000 10008028
...
Call Trace:
[<8008a0c8>] m_start+0x2c/0x94
[<8006d034>] kmem_cache_alloc+0x4c/0x74
[<8008f39c>] seq_read+0x26c/0x3cc
[<8008f27c>] seq_read+0x14c/0x3cc
[<80070d2c>] vfs_read+0xb4/0x13c
[<8007106c>] sys_read+0x54/0x98
[<80064134>] sys_brk+0x104/0x128
[<80064064>] sys_brk+0x34/0x128
[<800102c4>] stack_done+0x20/0x3c
Code: (Bad address in epc)
CPU 0 Unable to handle kernel paging request at virtual address c3203940, epc == c3203940, ra == 8008a2bc
Oops[#9]:
Cpu 0
$ 0 : 00000000 00000000 c006d42c 00000020
$ 4 : 811ed880 81091920 00000000 00000176
$ 8 : 6f646576 00000002 00000002 2c6e6f64
$12 : ffffffff 8109d908 80e680fb 00000008
$16 : 802fa34c 81091920 811ed880 00000000
$20 : 10008090 00000000 82177be0 811ed8a0
$24 : 00000000 00000001
$28 : 821c4000 821c5e70 821c5f18 8008a2bc
Hi : 000003c7
Lo : 0002cc8b
epc : c3203940 0xc3203940 Tainted: P
ra : 8008a2bc show_vfsmnt+0x148/0x17c
Status: 1100fc03 KERNEL EXL IE
Cause : 10800008
BadVA : c3203940
PrId : 0001954c
Modules linked in: ext3 jbd nf_nat_sip nf_conntrack_sip ath_pktlog(P) wlan_scan_ap wlan_acl wlan_wep wlan_tkip wlan_ccmp wlan_xauth ath_pci ath_rate_atheros(P) wlan ath_dfs(P) ath_hal(P) ipt_REJECT ifx_ppe(P) fuse ct_mgr(P) dwc_otg_host ipt_condition ipt_random ipt_psd led_hw(P) led_pb_api(P)
Process mount (pid: 10680, threadinfo=821c4000, task=81143138)
Stack : 8109e480 8008a0c8 8006d034 00010002 811ed880 0000014d 81091920 00001000
8008f39c 8008f27c c007d954 00000036 00000000 00000036 00000000 00000009
00000000 0000000a 82177be0 10008090 821c5f18 10009098 00001000 10006018
004041c0 00000001 00000000 80070d2c 00001000 10006018 004041c0 00000001
fffffff7 10008090 82177be0 8007106c 80064134 80064064 00001000 10008028
...
Call Trace:
[<8008a0c8>] m_start+0x2c/0x94
[<8006d034>] kmem_cache_alloc+0x4c/0x74
[<8008f39c>] seq_read+0x26c/0x3cc
[<8008f27c>] seq_read+0x14c/0x3cc
[<c007d954>] dwc_otg_hcd_irq+0x38/0x4c [dwc_otg_host]
[<80070d2c>] vfs_read+0xb4/0x13c
[<8007106c>] sys_read+0x54/0x98
[<80064134>] sys_brk+0x104/0x128
[<80064064>] sys_brk+0x34/0x128
[<800102c4>] stack_done+0x20/0x3c
Code: (Bad address in epc)
Le cose che ho cambiato di recente sono il firmware, il .28 e appunto minidlna, ma non credo che sia minidlna.
O nel firmware .28 hanno introdotto un bug su ntfs, o il mio hard disk inizia a perdere colpi.
Uso questo hard disk ogni giorno per fare questa operazione, da luglio ad oggi non mi ha mai dato problemi.
Anche a me purtroppo ntfs-3g ogni tanto perde colpi, non è necessariamente colpa di minidlna. Bisognerebbe provare a ricompilare una versione recente.
La periferica risulta montata, ma i file non sono accessibili (mi ci si ferma la find di miniflna sopra). E questo anche con minidlna non in esecuzione. Prova a metterlo su Windows e a fare un chkdsk.
Stunnel sono riuscito a compilarlo, però non ho tempo di guardare come metterlo su, magari tu avevi già visto qualcosa.
Per OpenSSL 0.9.8q (http://www.openssl.org/source/openssl-0.9.8p.tar.gz):
./Configure threads linux-generic32
cross=mips-linux-
make CC="${cross}gcc" AR="${cross}ar" RANLIB="${cross}ranlib"
make INSTALL_PREFIX=$(pwd)/_install install_sw
La versione di stunnel è la 4.32 (http://www.stunnel.org/download/stunnel/src/stunnel-4.32.tar.gz). Va applicata questa patch: https://dev.openwrt.org/browser/packages/net/stunnel/patches/100-cross-compile.patch?rev=17193
Poi con questo script lo configuri:
#!/bin/sh
buildroot="/opt/toolchains/uclibc-crosstools-gcc-4.2.3-3/usr"
openssl="/path/openssl-0.9.8q/_install/usr/local/ssl"
./configure \
--with-ssl=${openssl} \
--prefix=${buildroot} --sysconfdir=${buildroot}/etc --sharedstatedir=${buildroot}/var --localstatedir=${buildroot}/var \
--host=mips-linux-uclibc --with-random=/dev/urandom \
CC=${buildroot}/bin/mips-linux-uclibc-gcc \
CPP=${buildroot}/bin/mips-linux-uclibc-cpp \
CFLAGS="-I${buildroot}/mips-linux-uclibc/sys-include -Os" \
LIBS="-L${buildroot}/lib/" \
NM=${buildroot}/bin/mips-linux-uclibc-nm \
LD=${buildroot}/bin/mips-linux-uclibc-ld \
STRIP=${buildroot}/bin/mips-linux-uclibc-strip \
RANLIB=${buildroot}/bin/mips-linux-ranlib \
"$@"
Poi dai semplicemente make
Stunnel sono riuscito a compilarlo, però non ho tempo di guardare come metterlo su, magari tu avevi già visto qualcosa.
Per OpenSSL 0.9.8q (http://www.openssl.org/source/openssl-0.9.8p.tar.gz):
./Configure threads linux-generic32
cross=mips-linux-
make CC="${cross}gcc" AR="${cross}ar" RANLIB="${cross}ranlib"
make INSTALL_PREFIX=$(pwd)/_install install_sw
La versione di stunnel è la 4.32 (http://www.stunnel.org/download/stunnel/src/stunnel-4.32.tar.gz). Va applicata questa patch: https://dev.openwrt.org/browser/packages/net/stunnel/patches/100-cross-compile.patch?rev=17193
Poi con questo script lo configuri:
#!/bin/sh
buildroot="/opt/toolchains/uclibc-crosstools-gcc-4.2.3-3/usr"
openssl="/path/openssl-0.9.8q/_install/usr/local/ssl"
./configure \
--with-ssl=${openssl} \
--prefix=${buildroot} --sysconfdir=${buildroot}/etc --sharedstatedir=${buildroot}/var --localstatedir=${buildroot}/var \
--host=mips-linux-uclibc --with-random=/dev/urandom \
CC=${buildroot}/bin/mips-linux-uclibc-gcc \
CPP=${buildroot}/bin/mips-linux-uclibc-cpp \
CFLAGS="-I${buildroot}/mips-linux-uclibc/sys-include -Os" \
LIBS="-L${buildroot}/lib/" \
NM=${buildroot}/bin/mips-linux-uclibc-nm \
LD=${buildroot}/bin/mips-linux-uclibc-ld \
STRIP=${buildroot}/bin/mips-linux-uclibc-strip \
RANLIB=${buildroot}/bin/mips-linux-ranlib \
"$@"
Poi dai semplicemente make
Ok grazie, ora ci penso io.
Allora...c'è qualche errorino in quello che ti avevo detto sopra. Purtroppo avevo già compilato OpenSSL e mi usava la versione del compilatore.
Openssl lo devi installare nel compilatore manualmente:
- taglia _install/usr/local/ssl/bin e incollalo nella dir principale del compilatore
- taglia _install/usr/local/ssl/lib e incollalo nella dir principale del compilatore
- taglia _install/usr/local/ssl/include e incollalo nella dir principale del compilatore
- copia _install/usr/local/ssl nella dir principale del compilatore
Questo è config.sh modificato:
#!/bin/sh
buildroot="/opt/toolchains/uclibc-crosstools-gcc-4.2.3-3/usr"
openssl="/opt/toolchains/uclibc-crosstools-gcc-4.2.3-3/usr"
./configure \
--with-ssl=${openssl} \
--prefix=${buildroot} --sysconfdir=${buildroot}/etc --sharedstatedir=${buildroot}/var --localstatedir=${buildroot}/var \
--host=mips-linux-uclibc --with-random=/dev/urandom --enable-static --disable-shared --disable-ipv6 --disable-libwrap \
CC=${buildroot}/bin/mips-linux-uclibc-gcc \
CPP=${buildroot}/bin/mips-linux-uclibc-cpp \
CFLAGS="-I${buildroot}/mips-linux-uclibc/sys-include -Os" \
LIBS="-L${buildroot}/lib/" \
NM=${buildroot}/bin/mips-linux-uclibc-nm \
LD=${buildroot}/bin/mips-linux-uclibc-ld \
STRIP=${buildroot}/bin/mips-linux-uclibc-strip \
RANLIB=${buildroot}/bin/mips-linux-ranlib \
"$@"
Questa e solo questa configurazione funziona bene:
cert = /tmp/stunnel/ca.pem
chroot = /tmp/stunnel
# PID is created inside chroot jail
pid = /stunnel.pid
foreground = yes
sslVersion = SSLv3
TIMEOUTclose = 0
debug = 0
client = no
[https]
accept = 8082
connect = 8081
In particolare se metto foreground = no, tutto viene rallentato all'ennesima potenza. E' un comportamento veramente strano. Ora provo con demonize.
La connessione risulta cifrata con AES a 256 bit.
Tutto ok a breve il pacchetto...
Io uso il certificato che c'è nel firmware per mini_httpd, tu cosa hai? te ne devi creare uno?
Tutto ok a breve il pacchetto...
Io uso il certificato che c'è nel firmware per mini_httpd, tu cosa hai? te ne devi creare uno?L'ho creato con la versione 3.xx di stunnel, se vuoi usiamo quello. E' personalizzato per modfs.
Allora...c'è qualche errorino in quello che ti avevo detto sopra. Purtroppo avevo già compilato OpenSSL e mi usava la versione del compilatore.
Openssl lo devi installare nel compilatore manualmente:
- taglia _install/usr/local/ssl/bin e incollalo nella dir principale del compilatore
- taglia _install/usr/local/ssl/lib e incollalo nella dir principale del compilatore
- taglia _install/usr/local/ssl/include e incollalo nella dir principale del compilatore
- copia _install/usr/local/ssl nella dir principale del compilatore
Questo è config.sh modificato:
#!/bin/sh
buildroot="/opt/toolchains/uclibc-crosstools-gcc-4.2.3-3/usr"
openssl="/opt/toolchains/uclibc-crosstools-gcc-4.2.3-3/usr"
./configure \
--with-ssl=${openssl} \
--prefix=${buildroot} --sysconfdir=${buildroot}/etc --sharedstatedir=${buildroot}/var --localstatedir=${buildroot}/var \
--host=mips-linux-uclibc --with-random=/dev/urandom --enable-static --disable-shared --disable-ipv6 --disable-libwrap \
CC=${buildroot}/bin/mips-linux-uclibc-gcc \
CPP=${buildroot}/bin/mips-linux-uclibc-cpp \
CFLAGS="-I${buildroot}/mips-linux-uclibc/sys-include -Os" \
LIBS="-L${buildroot}/lib/" \
NM=${buildroot}/bin/mips-linux-uclibc-nm \
LD=${buildroot}/bin/mips-linux-uclibc-ld \
STRIP=${buildroot}/bin/mips-linux-uclibc-strip \
RANLIB=${buildroot}/bin/mips-linux-ranlib \
"$@"
Questa e solo questa configurazione funziona bene:
cert = /tmp/stunnel/ca.pem
chroot = /tmp/stunnel
# PID is created inside chroot jail
pid = /stunnel.pid
foreground = yes
sslVersion = SSLv3
TIMEOUTclose = 0
debug = 0
client = no
[https]
accept = 8082
connect = 8081
In particolare se metto foreground = no, tutto viene rallentato all'ennesima potenza. E' un comportamento veramente strano. Ora provo con demonize.
La connessione risulta cifrata con AES a 256 bit.
Già avevo fatto,
ma non ho avuto problemi di compilazione,anche io ho tolto la versione già compilata perchè non aveva il supporto per pthread.
Comunque a me non rallenta niente.
Già avevo fatto,
ma non ho avuto problemi di compilazione,anche io ho tolto la versione già compilata perchè non aveva il supporto per pthread.
Comunque a me non rallenta niente.
:boh:
In ogni caso tu metti, poi io cambio :D
Al limite potresti usare demonize anche te per fare tutto uguale :sofico:
Al limite potresti usare demonize anche te per fare tutto uguale :sofico:
Ma come è che a te parte in foreground? A me parte in backgorund.
Nel file di configurazione la riga foreground = yes
non ce l'ho proprio messa.
Prova anche a togliere chroot = /tmp/stunnel
tanto di problemi di sicurezza ce ne sono a centinaia, per colpa del firmware del router in primis, quindi non vedo il problema :D
Senza foreground funziona allo stesso modo di foreground = no :(
Provo senza chroot.
Senza foreground funziona allo stesso modo di foreground = no :(
Provo senza chroot.
questo è il file di configurazione.
; Certificate/key is needed in server mode and optional in client mode
cert = /etc/mini_httpd.pem
;key = /usr/etc/stunnel/mail.pem
; Protocol version (all, SSLv2, SSLv3, TLSv1)
sslVersion = all
; Some security enhancements for UNIX systems - comment them out on Win32
;chroot = /tmp
setuid = root
;setgid = nobody
pid = /tmp/stunnel.pid
; Some performance tunings
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1
;compression = rle
; Workaround for Eudora bug
;options = DONT_INSERT_EMPTY_FRAGMENTS
;verify = 2
;CApath = /certs
;CAfile = /usr/etc/stunnel/certs.pem
;CRLpath = /crls
;CRLfile = /usr/etc/stunnel/crls.pem
; Some debugging stuff useful for troubleshooting
debug = 7
output = stunnel.log
; Use it for client mode
;client = yes
; Service-level configuration
;[pop3s]
;accept = 995
;connect = 110
;
;[imaps]
;accept = 993
;connect = 143
;
;[ssmtp]
;accept = 465
;connect = 25
[https]
accept = 4443
connect = 8081
TIMEOUTclose = 0
;[chilli]
;accept = 3443
;connect = 3442
;TIMEOUTclose = 0
; vim:ft=dosini
Niente da fare, funziona solo con foreground = yes
Inoltre metti debug = 0 e sarà più veloce.
Il chroot già che ci siamo non crea alcuna differenza.
Facciamo il punto della situazione ?
Ho verificato il funzionamento di tutto ed ho corretto qualche problemino. Non sto lavorando a pacchetti nuovi.
Tu stai lavorando su stunell ? Lo inseriamo o no nella release ?
Facciamo il punto della situazione ?
Ho verificato il funzionamento di tutto ed ho corretto qualche problemino. Non sto lavorando a pacchetti nuovi.
Tu stai lavorando su stunell ? Lo inseriamo o no nella release ?
Si, solo a te quanto è grande l'eseguibile? a me 1,9MB.
Che facciamo? Linkiamo dinamicamente ssl?
Forse per questo a te rallenta perchè forse inizia a funzionarti la memoria di swap su usb :D
Si, solo a te quanto è grande l'eseguibile? a me 1,9MB.
Che facciamo? Linkiamo dinamicamente ssl?
Forse per questo a te rallenta perchè forse inizia a funzionarti la memoria di swap su usb :D
No, non è per questo. Anche perché non si spiegherebbero i rallentamento solo senza foreground = yes. Tra l'altro con demonize e foreground = yes funziona alla perfezione, eppure dovrebbe fare la stessa cosa, cioè chiudere stdin, stdout e stderr.
SSL purtroppo credo che si possa linkare solo staticamente. Strippalo, a me viene 1.5 MB.
Imho bisognerebbe ridurre SSL lavorando sulle opzioni di Configure, ma lasciamo perdere. Visto che bisognerebbe capire quali protocolli e algoritmi servono e quali no.
Riguardo allo swap, per ora più di 6 MB non mi usa, anche con tutti i servizi attivi e stunnel.
Sono incappato anche io nella lentezza di stunnel.
Per sbaglio gli scripts compilavano così il file di configurazione
[hhtps]
accept=4443
connect=8081
mettendo
[https]
accept=4443
connect=8081
TIMEOUTclose = 0
ritorna a funzionare velocemente.
Ho appena provato ad accedere all'interfaccia da internet tramite url https://miorouter.com
il port forwarding mi ha correttamente fatto il forwarding dalla porta 443 alla porta 4443 ed stunnel da 4443 a 8081 :D
Ho messo i pacchetti stunnel e https sull'svn.
Devi aggiungere il tuo stunnel e bisogna un pò fare di debug, perchè ora facendo start e stop dei due pacchetti si impappinano.
Ho messo i pacchetti stunnel e https sull'svn.
Devi aggiungere il tuo stunnel e bisogna un pò fare di debug, perchè ora facendo start e stop dei due pacchetti si impappinano.
Ok ;)
Che figata sentire gli MP3 sul cellulare Android tramite DLNA :D
Bisogna fare anche un readme con le istruzioni, per il momento ho buttato giù due righe, non si sa in che lingua :D , per fare il boot su dgn3500:
-Unzip modfs_dgn3500_startkit.zip on a fat32 usb disk or on fat32 pen drive
-copy on the same disk the binary modfs release file mod_image.bin,
-Put the usb pen drive or the usb hard drive in DGN3500 usb port.
-To boot modfs, from web browser give this url:
http://192.168.0.1/shares/U/modfs_boot.cgi
where 192.168.0.1 is the IP address of your DGN3500 and where U is the letter that DGN3500 firmware give to your usb drive. If you have an usb hub connected to DGN3500 and many drives connected to the hub, notice that DGN3500 give this sequence of letter to drives: U,T,S, etc., so check which letter has the drive where you put modfs files.
-Wait about 10 seconds, and then you should automatically
redirected to Modfs Web interface Login page.
-Do not remove the usb drive from DGN3500 usb port until you turn off your router, otherwise modfs crash and probably the router,too. So if you want to remove modfs from your router, simply reboot the router.
-To boot modfs, every time you reboot or power on your DGN3500 you must have the usb drive with modfs files put in router usb port and you must give http://192.168.0.1/shares/U/modfs_boot.cgi to boot.
Default user: admin
Default password : admin
Scrivi le istruzioni anche in italiano, per metterle qui sul forum. Ho già scritto il post di presentazione e quello del DGN2200. Scrivi:
- le feature esclusive del DGN3500
- come si installa
- come si rimuove
Stasera ti invio quello che ho scritto. Ora devo correre via. Comunque ho corretto stunnel e https, ora funzionano anche start e stop.
me lo segno qui:
Modfs su DGN3500
Modfs sul DGN3500 offre anche queste feature:
-Port forwarding, redirigere una porta in ingresso da internet su una porta diversa di un pc della rete.
-Monitor segnale wifi
-Controllo potenza trasmissione wifi
Modalità di installazione
Diversamente dal dgn2200 ancora non è pronto un firmware modificato(ma sarà presto disponibile) che faccia
il boot automatico di modfs, quindi bisogna avviarlo manualmente ogni volta che si accende o si fa il reboot del router.
Di seguito le istruzioni per installare ed avviare modfs sul dgn3500:
-Decomprimere modfs_DGN3500_startkit.zip su un disco USB FAT32 o su una pen drive fat32
-copiare sullo stesso disco il file binario mod_image.bin della release modfs ,
-Mettere la pen drive usb o il disco rigido USB nella porta usb del DGN3500.
-Per fare il boot di modfs, dal web browser dare questa url:
http://192.168.0.1/shares/U/modfs_boot.cgi
dove 192.168.0.1 è l'indirizzo IP del DGN3500 e dove U è la lettera che il firmware del DGN3500 ha assegnato al disco usb.
Se si dispone di un hub USB collegato al DGN3500 e molti dischi collegati all'hub, bisogna verificare quale lettera è stata
assegnata all'unità in cui si sono messi i file modfs.
Il firmware del DGN3500 assegna questa sequenza di lettere alle unità: U, T, S, ecc,
-Attendere circa 10 secondi, e quindi si dovrebbe automaticamente essere reindirizzati alla pagina di login dell'interfaccia web di modfs.
-Non rimuovere il drive USB dalla porta USB del DGN3500 fino allo spegnimento del router, altrimenti modfs andrà in crash
e, probabilmente, anche il firmware del router. Quindi, se si desidera rimuovere modfs dal router, è sufficiente riavviare il router.
-Per fare il boot di modfs, ogni volta che si riavvia o si accende il DGN3500 è necessario che il drive usb con i file modfs sia inserito nella porta usb
del router e che venga data l'url http://192.168.0.1/shares/U/modfs_boot.cgi per l'avvio.
Default user: admin
Password di default: admin
Rendere accessibili da internet i servizi di Modfs
Tramite il menu port forwarding presente in NAT/QoS è possibile rendere accessibili i servizi di modfs da internet
I servizi più interessanti sono:
- ssh, di default sulla porta 22
- https, di default sulla porta 4443
Se per esempio si vuole rendere accessibile da internet l'interfaccia web di modfs tramite https, può essere creata una regola con:
Internet port: 443
Host IP: 192.168.0.1 oppure l'ip in lan del vostro DGN3500 se diverso
Host port: 4443
In questo modo
dando da una postazione internet esterna alla lan l'url
https://mioindirizzointernet
sarà possibile accedere all'interfaccia del router.
Fammi sapere quando posso partire con l'upload di mod_image.bin...
Mi creo il thread in un'area privata del forum e quando sei pronto lo pubblico.
Fammi sapere quando posso partire con l'upload di mod_image.bin...
Mi creo il thread in un'area privata del forum e quando sei pronto lo pubblico.
Ho fatto un controllo, pare che tutto vada bene, quindi puoi procedere.
Cionci ti consiglio di mettere la release in un file zip e di aggiungerci una file readme con le istruzioni solo in inglese,
un file author con gli autori e le email:
la mia è modfs.gnommo[at]gmail.com
Cionci ti consiglio di mettere la release in un file zip e di aggiungerci una file readme con le istruzioni solo in inglese,
un file author con gli autori e le email:
la mia è modfs.gnommo[at]gmail.com
Facciamo così: ci si pensa con calma. Già l'uploader http mi è andato in timeout. Ora provo con SCP.
http://www.hwupgrade.it/forum/showthread.php?t=2297484
http://www.hwupgrade.it/forum/showthread.php?t=2297484
Non mi chiamare lo scassapalle di natale :D , ma potresti invertire i post del dgn3500 e del dgn2200, quello del dgn3500 l'ho scritto come estensione di quello del dgn2200, il tuo è più dettagliato, dovrebbe leggerselo anche chi deve usare il dgn3500.
Ho fatto una lammata amministrativa :D Ora rifaccio il thread :muro:
http://www.hwupgrade.it/forum/showthread.php?t=2297494
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.