Ao precisar baixar um fonte de 20MB para fazer correções de emergencia, me vi desesperado ao usar uma conxão gprs (que deveria ser 3g) e ter o wget caindo a cada 6 segundos. Como eu nao podia ficar a todo tempo dando ctrl+c e pedindo novamente o arquivo, deixei o wget fazer isso por mim desse jeito:

wget -c --tries=inf --read-timeout=5 'url'

onde:
-c continua o download do ponto onde parou.
–tries=inf quantas tentativas antes de desistir do download. Embora o valor seja geralmente numerico, aceita inf para infinito.
–read-timeout=5 seta o timeout da leitura e escrita para o valor definido em segundos, no caso, 5. O tempo se refere ao tempo ocioso, quando nenhum dado é recebido ou enviado.
Demorou, mas ele fez o download.
Depois disso pus um alias no meu .bashrc

function pget(){ wget -c --tries=inf --read-timeout=10 $(echo $*) ; }

Escolhi ‘pget’ por representar ‘persistent wget’.
Bom, só caso isso seja util a alguem.