Sì ... ma ripeto la mia impressione ... e' una richiesta che ha poco senso.
Tu fai il ping e verifichi il collegamento. Un microsecondo dopo finito il ping (che aveva avuto successo) la connessione cade (per un qualsiasi motivo) ... morale, il ping era assolutamente inutile ...
Secondo punto ... tu "misuri" in qualche modo la velocita' e trovi che e' sufficiente ... mentre il tuo programma gira (e 30 secondi sono tanti) la rete subisce una congestione e la velocita' precipita (o addirittura si blocca) ... morale, l'operazione era inutile ...
A parte il fatto che non capisco il motivo del "minimo di velocita'", mi sembra che la soluzione corretta sia tentare il collegamento e partire con il download e gestire la situazione d'errore che si potrebbe evidenziare (se si manifesta).