[MontelLUG] Programma per openwrt

Diego diego.ml a zoho.com
Gio 3 Apr 2014 15:59:06 CEST


In data mercoledì 2 aprile 2014 21:51:11, Samuele ha scritto:
> On 02/04/2014 18:51, Diego wrote:
> > Ciao Samuele.
> > 
> > In data mercoledì 2 aprile 2014 12:36:15, Samuele ha scritto:
> >>   Tra qualche giorno dovrebbe liberarmisi il router TL-MR3020 sul quale
> >> 
> >> ho già verificato potrò installare openwrt.
> >> A meno che non riesca ad accedere ad una console anche del firmware
> >> tplink e a fare da li.
> >> Fin qui tutto ok.
> >> Ora dovrò fare un programmino che legge da seriale e scrive su file. Il
> >> router non sarà in rete.
> > 
> > Rileggi. Non mi pare. Si capisca. Tanto.
> 
> 1) volevo dire che devo vedere se il firmware che ha su il router è
> linux-based, quindi non occorre che installi openwrt oppure alla peggio
> installo openwrt;
> 
> 2) il router non sarà collegato a nessuna rete wifi/ethernet, per cui il
> programma deve per forza girare sul router e non posso per esempio
> esportare direttamente la seriale via ethernet con programmi già pronti
> e processare i dati su un pc normale.
> 

Ah, quindi il titolo "programma per openwrt" significa che vuoi scrivere uno 
script o un applicativo che gira all'interno del router...

Ma quindi il router non avrà nessun collegamento di rete ma di tutto il router 
userai solo la porta seriale? Lo userai come un "PC con una seriale"?

> >> Si riesce a fare tutto da bash? Vorrei evitare di farmi male con il
> >> cross compile e perdere giorni (nel 2011 mi sono compilato openwrt...
> >> non finiva mai, oltre a diversi giga di spazio per alla fine ottenre una
> >> immagine di una decina di MB).
> > 
> > Che io sappia si può programmare un'immagine base e poi installare
> > pacchetti, come da wiki:
> > http://wiki.openwrt.org/toh/tp-link/tl-mr3020
> > http://downloads.openwrt.org/snapshots/trunk/ar71xx/
> 
> Questo lo so, dovrei però installarmi tutto l'ambiente per compilare
> openwrt, cosa che vorrei evitare.

L'immagine base è precompilata.
Per i pacchetti dovrebbero esserci anche lì quelli precompilati:
http://wiki.openwrt.org/doc/packages

> 
> >> I dati in arrivo dalla seriale saranno binari e dovranno essere scritti
> >> paro paro (circa 8 byte/secondo).
> >> In caso di errori di lettura da seriale/chiusura porta, dovrebbe essere
> >> riaperto in automatico un nuovo file su cui continuare a scrivere.
> >> Non credo manco di poter essere in grado di inviare il comando di
> >> chiusra seriale visto che mi collegherò solo con TX, RX, GND, +5V.
> > 
> > Che altro dovrebbe avere una porta seriale?
> 
> Sui connettori a 9 poli:
> CD, RX, TX, DTR, GND, DSR, CTS, RTS, RING.
> 
> Quali siano poi i pin coinvolti quando il terminale "connection closed"
> non lo so.

Forse si ti stai riferendo più alla apertura / chiusura della porta e quindi 
del descrittore del relativo device. Una porta seriale 4 pin è connectionless, 
ovvero è un tubo che passa le cose di qua e di là. Il device per altro esiste 
anche senza un cavo collegato.

> 
> >> Le scritture su file dovranno ovviamente essere bufferizzate onde
> >> evitare usura precoce della SD.
> > 
> > Buffer is not a backup. Having two SDs is a backup. Having a dd of the SD
> > saved in a secure place is a better backup!
> 
> Che centra? Qui si parlava di evitare di fare il flush ad ogni scrittura
> e farlo solamente al termine della comunicazione.
> 

Se vuoi bufferizzare il flusso in memoria per poi scriverlo in un determinato 
momento sei libero di farlo, ma questo non impedisce al kernel, quando gli 
dici di scrivere il file stesso di farlo un po' come e quando gli pare (in base 
a mille fattori). Certo, poi puoi metterti a fare flush, sync e balle varie, ma 
questo ti dà indicazione dell' "usura" della SD in misura paragonabile a 
quella che potrebbe darti esaminare le interiora di un volatile.

Quindi se sono dati a cui tieni, fai backup, ma non perdere tempo a farti 
pippe sulla bufferizzazione, a meno che tu non abbia dati statistici *precisi* 
a riguardo della tua esatta combinazione vendor SD, modello SD, versione 
kernel, filesystem, ecc.

Questo volevo dire.

Ciao,
Diego



More information about the montellug mailing list