View Full Version : u-server con tplink 703n e open wrt
Visto che non sono riuscito a trovare niente di analogo nei vari sub forum apro una discussione qui (che mi sembra il posto più adatto).
L'idea è partita dall'aver visto sulla baia che dalla cina con meno di 20€ si può avere un micro router, aggiornabile con la openwrt, che consuma una quantità ridicola di corrente. :sofico:
Sto cercando di sviluppare una guida per trasformare quello che può essere un giocattolino in un aggeggio decisamente più utile. Le applicazioni principali che mi interessa metterci su sono il classico server torrent, samba, un server dlna, un servizio web cache, vpn e... basta... Direi che viste le prestazioni e i consumi questo sarebbe già tanto! (il top sarebbe avere anche un servizio di versionamento dei file tipo git o tortoise)
Un bel link per cominciare, direttamente dalla pagina dedicata sul wiki di openwrt: http://wiki.openwrt.org/toh/tp-link/tl-wr703n
Oltre alla lista delle specifiche si può vedere che, anche se piccolino, di potenzialità ce ne sono e parecchie.
Ovviamente non sono ancora riuscito a far fungere il tutto, e per questo chiedo consigli.
Intanto però condivido gli appunti che ho preso fin qui, magari con l'aiuto di altri è possibile preparare un bel tutorial completo e autoconclusivo per trasformare il piccolino.
La guida non è ancora un beta, è una alpha ancora acerba ma per me promette bene.
Chi ha voglia di contribuire si armi di routerino e, se sotto windows, un bel putty...
Startup Generale
Vista la poca memoria a disposizione del piccolino (e anche considerando che senza un discreto spazio torrent e samba non hanno molto senso) la prima cosa da fare è espandere la memoria con un "extroot", cioè si usa un supporto diverso come "disco fisso" principale del sistema operativo del router.
E' necessaria una chiavetta o altro supporto di memoria da formattare con Ext4 e collegarla. (per utenti win: io mi sono trovato bene con "MiniTool Partition Wizard Home Edition" che non è a pagamento e fa il suo lavoro)
ATTENZIONE: formattare come partizione primaria, non estesa!!!
aggiornamento del sistema:
opkg update
pacchetti ExtRoot:
opkg install kmod-usb-storage kmod-fs-ext4 block-mount
cercare il device:
ls /dev/sd*
dovrebbe dare come output un:
/dev/sda /dev/sda1
la partizione è la sda1, quindi.
Creare il punto di mount:
mkdir -p /mnt/sda1
mount /dev/sda1 /mnt/sda1
mkdir -p /tmp/cproot
mount --bind / /tmp/cproot
tar -C /tmp/cproot -cvf - . | tar -C /mnt/sda1 -xf -
umount /tmp/cproot
umount /mnt/sda1
Configurare il cproot:
vi /etc/config/fstab
(oppure, per chi preferisce nano, nano è da installare con opkg installa nano)
nano /etc/config/fstab
modificare con:
#old
option target /home
option enabled 0
#new
option target /
option enabled 1
Dare un bel reboot per riavviare.
Al riavvio nella tab "system", sotto "software" dovrebbe comparire lo spazio ampliato dall'extroot.
Bene, adesso abbiamo effettivamente spazio per installare altri pacchetti, da qui in poi si può scegliere di fare o meno i seguenti passaggi.
Transmission:
installare con:
opkg install transmission-daemon
interfaccia web:
mkdir /usr/share/transmission cd /usr/share/transmission
wget http://download.erriko.it/openwrt/transmission/web.tgz
tar xzf web.tgz && rm web.tgz
configurazione:
vi /etc/config/transmission
nano /etc/config/transmission
modifica:
option enabled da 0 a 1
modifica
option download_dir inserendo il percorso corretto di una cartella della memoria usb, ad esempio se la memoria è montata in /share avremo /share/done
anche per option incomplete_dir vale lo stesso ragionamento di cui sopra (esempio: /share/incomplete)
se si usa un range di ip diverso da 192.168.1.* devi modificare anche option rpc_whitelist
avvio e avvio automatico:
/etc/init.d/transmission start
/etc/init.d/transmission enable
collegarsi alla pagina web:
Per controllare Transmission basta aprire un browser e digitare l’indirizzo del router seguito da :9091 (di default quindi 192.168.1.1:9091).
Samba:
Dovrebbe essere una cosa immediata, ma invece io non ci sono ancora riuscito.
Si installa con:
opkg install luci-app-samba
la configurazione può essere fatta da gui LuCi (l'interfaccia web di configurazione di default della openwrt).
Io al momento non sono riuscito a configurare bene le cose da interfaccia web, mi sto attivando per fare la configurazione da shell, che è una cosa più lunga ma che da più controllo.
DLNA:
Installare miniDlna con:
opkg install minidlna
Configurare con:
nano /etc/minidlna.conf
oppure
nano /etc/config/minidlna.conf
oppure
nano /tmp/minidlna.conf
(dipende dalla versione...)
Avviare con:
/etc/init.d/minidlna enable
/etc/init.d/minidlna start
* questa non l'ho ancora provata, voglio prima far fungere samba
vpn, web cache e wifi repeater
Web cache:
installare:
opkg install luci-app-polipo
Configurare o con LuCi o con:
nano /etc/config/polipo
In Disk cache location va specificato dove salvare i file.
In truncate cache file size va specificato quanto spazio dedicare alla cache. Ne ho dedicati circa 300Mb
ln Ram cache size va specificato quanta ram usare per la cache...Ne ho dedicati 4Mb circa.
In listen address va specificata l'interfaccia da ascoltare, con 0.0.0.0 le ascolta tutte.
In listen port va specificato la porta di "ascolto" (delle richieste) per polipo.
In Allowed Client Selezioni gli ip che dovranno usufruire del servizio.
Avviare il demone:
/etc/init.d/polipo enable
/etc/init.d/polipo start
Configurare il browser con ip del router e porta impostata precedentemente
varie ed eventuali future
Debrick:
ecco, una cosa per cui mi ringrazierete (e ringrazierete qui bravi ragazzi che sviluppano la open wrt):
sapendo come fare, molti dei classici "brick" possono essere risolti in breve tempo.
Il tool recuvup, segnalato sulla pagina ufficiale delle procedure di ripristino del wiki, non fa una cippalippa... (o, almeno, io non sono riuscito ad usarlo)
La mia soluzione è:
Fare un powercycle del router e premere subito il pulsante di reset fino allo spegnimento del led, poi smettendo di premere il led deve iniziare a lampeggiare a circa 2Hz.
Adesso è attiva una interfaccia telnet (usate putty, molto più comodo del telnet di win) su 192.168.1.1:23, impostare di conseguenza l'indirizzo della scheda eth del pc nella stessa sottorete di classe c.
Collegarsi in telnet con putty:
mount_root
riparare il sistema con:
- smarrimento password: passwd
- smarrimento ip: uci get network.lan.ipaddr
- ripristino delle impostazioni iniziali (valido il primo): firstboot
- oppure (con reboot parte di processo) mtd -r erase rootfs_data
- oppure rm -r /overlay/*
Riavviare con:
reboot -f
a me, durante le varie prove, è sempre bastato il primo comando di ripristino segnalato (firstboot), ma per completezza metto anche gli altri che ho visto usare in giro.
antenore
08-08-2013, 13:33
Beh compliementi per la guida però, secondo me, attualmente non vale la pena perdere tempo con questi dispositivi quando con qualche euro in più hai a disposizione un Raspberry Pi con molta più memoria contro i 4 MB flash memory e 32 MB RAM del tplink 703n....
Poi in ogni caso il punto debole di questi dispositivi è il transfer rate verso i dischi usb.
beh, ovviamente per il costo e i consumi di questi cosi le prestazioni sono per forza di cose limitate.
però, cosa per nulla trascurabile, questo router è wifi, quindi dislocabile a piacere (con case e alimentatore, tra l'altro...)
inoltre, per utilizzo torrent e similari, nessun router o dispositivo embedded di default ha una memoria adeguata.
Ottima guida ;)
Non è assolutamente inutile come progetto. Immagina di collegarlo ad una batteria, come quelle utilizzate per estendere la durata degli smartphone. Puoi ottenere qualcosa di simile al Pineapple. Magari ci si può caricare anche lo stesso firmware. =P
Non è precisamente l'argomento della discussione, ma anche il pineapple è un firmware compatibile.
La versatilità dell'oggetto non è in discussione, viene usato anche come shield wifi per Arduino, come device domotico, ecc ecc
HoFattoSoloCosi
08-08-2013, 20:15
Neanche a farlo apposta anch'io stamane sono venuto a conoscenza di questo oggettino, e devo dire che l'idea di acquistarlo mi ha solleticato :D
Avevo visto la compatibilità alla pagina delle OpenWRT (così come su quella delle DDL-WRT) e ci ho proprio fatto un pensierino http://files.overclock.net/images/smilies/thumb.gif
Ora, non sono abbastanza pratico di queste cose per capire tutti i comandi che hai descritto, ma per quello che riesco ad interpretare stai veramente facendo un'ottima guida..magari quando torno da Londra provo a smanettarci un po' anch'io da linux!
Per ora ti posso solo augurare buon lavoro! :mano:
Come ho detto è ancora una alpha, da sviluppare, completare, spiegare bene, ecc..
Ps: il bello è che è tutto fattibile tranquillamente anche da Windows. Fondamentalmente alla fine, nella mia idea, la riga di comando serve solo per un copia incolla...
HoFattoSoloCosi
08-08-2013, 20:38
Come ho detto è ancora una alpha, da sviluppare, completare, spiegare bene, ecc..
Giusto, ma ci vuole sempre qualcuno di buona volontà che inizi ;)
Terrò sott'occhio questa discussione, molto interessante!
pegasolabs
09-08-2013, 01:20
Spostata in networking :)
piccolo uppettino e aggiornamento..
non riesco a procedere, secondo me sbaglio qualcosa nel fare l'extroot perché boh... :cry:
avrei bisogno di qualche smanettone serio per risolvere un paio di dubbi...
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.