Seeder è una fantastica applicazione che noi di AndroidABA usiamo già da diversi anni; è uno strumento che riduce i lag e ne migliora di conseguenza la rapidità e la fuildità mantendno inalterato il consumo della batteria 😀
Compatibile con tutte le versioni di android, sia firmware stock che ROM! e per tutti i device!
Necessita di ROOT! (Trovi tutte le guide per il Root cliccando QUI e scorrendo fra le pagine)
Due parole sulla app prese dal web riferiti alla v1.1!:
Android, come molti sapranno, si muove anche grazie ad una Java Virtual Machine presente su tutti i dispositivi che, tra le altre cose, sfrutta una serie di dati e parametri generati in modo casuale che vengono inseriti all’interno della cartella /dev/random. Si chiamano in gergo tecnico entropy pool e di fatto servono al sistema operativo per UUID, chiavi di sessione, SSL e molte altre cose che ovviamente difficilmente conosciamo se non siamo espertissimi. Tutto normale se Android trova sempre dati all’interno della cartella citata ma diventa un problema se questi dati non sono presenti e devono essere creati al momento, in frazioni di secondo ovviamente, ma tali da mostrare quei lag che ogni tanto tutti noi abbiamo visto.
L’autore lambgx02, senior member di XDA, ha pensato che se fosse possibile generare dati ad intervalli di tempo inferiori, il kernel non si troverebbe nelle condizioni di dover creare questi parametri su richiesta generando lag ma li troverebbe sempre pronti. Ecco quindi che arriva Seeder entropy generator che crea nuove chiavi e dati ad intervalli di un secondo permettendo al sistema di essere fino a cinque volte più veloce eliminando qualsiasi lag.
Ovviamente il tutto dipende dal device utilizzato e dall’ottimizzazione del telefono in se, ma le testimonianze sono molte e la maggior parte ha notato un effettivo miglioramento della qualità di gestione della UI e delle applicazioni.
In linea di massima non ci dovrebbero essere controindicazioni importanti per questa modifica sebbene ovviamente ci siano dei rischi teorici maggiori per la sicurezza dei nostri dati. I dati generati, sebbene siano più frequenti, sono minori come numero e questo potrebbe esporre il nostro device ad eventuali attacchi maggiori (in linea teorica). Inoltre potrebbero esserci dei cambiamenti negativi sulla durata della batteria anche se non vi sono basi certe per dirlo al momento.
invece riporto ora le dirette parole dello sviluppatore!:
Hey everyone,
Version 2.0.0 released!
This version introduces performance tuning, power management control, and an optional MMC I/O queue extension/timing change.
For those of you who have seen reboots / black screens that seem to be caused by Seeder, I suspect it may be due to the power management implemented in previous versions. Disabling power management (by unchecking “Suspend RNG service while screen off”) may help. In my testing, battery impact was negligible (less than 2% per 24h).
The performance profiles are Light, Moderate, and Aggressive, and they control how frequently rngd wakes. The default configuration (Light) is unchanged from previous versions. Moderate and Aggressive may impact battery life (slightly), but may also help on devices where the entropy pool is drained quickly and often.
Last but not least, the “Extend I/O queue” option increases the nr_requests on MMC devices to 1024, and increases the dirty page expiry time, allowing more outstanding writes to accumulate. This may allow the I/O scheduler to make better decisions and combine more writes; some users have reported an improvement under heavy I/O.
On some (older) versions of Android, the JVM (and other components) often read random data from the blocking /dev/random device. On newer builds, this problem has been solved, yet depletion of the input entropy pool still seems to slow devices.
So, I cross-compiled rngd, and used it to feed /dev/urandom into /dev/random at 1 second intervals.
Result? Significant lag reduction (for some people)!
Note – if you want to try it, you must be running a rooted device, and you only need to install one of the APKs (latest version is best). Then, just open it, and turn it on. The other files (patches / .zips) are intended for recompiling, packaging, and init.d integration. If you uninstall the app, either turn off rngd first (open, and click the on/off button), or reboot afterwards; the UI does not presently kill the daemon on uninstallation.
Updates
There has been a lot of controversy about Seeder/rngd. In newer versions of Dalvik, nothing touches /dev/random, and yet many users (including myself) still notice a lag reduction. There are theories ranging from kernel lock contention to UI polling load when crediting the entropy pool to simply kicking the governor. And many who believe it’s all placebo. I’m trying my best to figure out what exactly is happening, and others are as well.
Someone asked how I arrived at the conclusion I did when I started the thread back in November, and I posted this; I think it might be better served here:
A while back one of the webapps I was hosting on Tomcat (server-side) was experiencing some inexplicable latency and while stracing java I saw it frequently hanging on read()’s from /dev/random. I checked the available entropy, and it was constantly under 250 or so. It was a VM, no HWRNG, so I decided to use rngd to push urandom->random.
Dropped session creation times under load from 5-10 seconds to less than a second.
It’s worth noting that Linux is one of very few OSes that have a blocking RNG device. Free/OpenBSD, Windows, etc.. essentially only provide urandom. It’s generally considered secure, even for long-term crypto keys, so long as the initial seed is big (and random) enough.
Checked on my device, and saw a few processes grabbing /dev/random. /proc/sys/kernel/random/entropy_avail reporting depleted input pool. Figured it was worth a shot, so I rebuilt rngd for arm (with a few patches, linked on first page), and tried it out. It made a significant difference. Posted it up on this thread, and had a lot of positive feedback. Wanted to get into Android development, so figured.. why not wrap a little UI around it. More positive feedback, so I threw it on the market as well.
I had no idea it would take off like this and was shocked when I saw it Thursday morning. I’m in the awkward position now of explaining why it seems to work for some people, and not for others, especially given the fact Dalvik doesn’t have references to /dev/random as of ICS. Theories abound, but it looks like it might be an issue of polling the UI for input events when the entropy pool drops (which never happens so long as rngd is running).
I’m doing this as a hobby. I’m a *nix admin by trade, and can only spend time working on this stuff on evenings and weekends, and the last few weeks have been kinda nuts.
I want to stress to everyone that:
a) It doesn’t work the way I thought it did on later Android builds, but it does reduce latency for me and many others even on these builds,
b) I’m offering (and always will offer) Seeder for free to everyone on XDA,
c) Like I say in the market description, if anyone has purchased it and it isn’t working, PLEASE email me for a refund (and let me know what device you’re on if you’re willing).
I was one of the first to root the Captivate glide (my first Android phone), and submitted the A2DP bitpool patch; I was active in the n900 community. I hope everyone understands that I’m doing my best here!
I hope the technique proves useful to people, and if there is in fact contention at the kernel level, I hope it’s solved so we all benefit.
This version fixes the issue some users were seeing on later Jellybean ROMs, where the UI would misreport the RNG service status.
Caveats
There is a (theoretical) security risk, in that seeding /dev/random with /dev/urandom decreases the quality of the random data. In practice, the odds of this being cryptographically exploited are far lower than the odds of someone attacking the OS itself (a much simpler challenge). It’s worth noting that as of ICS, Dalvik uses /dev/urandom exclusively, anyway, and that Linux is one of very few modern operating systems that even offer a blocking RNG device to begin with.
Support for rngd suspend-on-sleep was added to Seeder 1.2. It should no longer impact battery life while the device is asleep.
There has been a large amount of speculation on why/if this actually improves performance on ICS+ devices. I’m continuing to investigate and will post updates to this thread.
If you try it, let me know how it goes.
Installazione/avvio:
– Scaricate l’ ultima versione dell’ app in formato .apk qui sotto
– Copiatela sulla memoria SD del vostro device
– Attraverso un qualsiasi gestore file entrate nella cartella dove avete copiato l’ app
– Cliccateci sopra e installatela come una solita app
– dopo averla installata avviatela, concedete i permessi e premete sull’ unico tasto che c’è per avviarla o fermarla quando volete!
– Enjoy!
Disinstallazione:
Nel caso vogliate disinstallare l’ app dovete prima stopparla!
– Quindi aprite l app
– spingete sul pulsante in modo che si disattivi
– potete disinstallarla
***DOWNLOAD*** Seeder v2.0.0 (22.01.13)