Salve a tutti,
una breve descrizione del problema. Ho un 3gs con ios 4.0 custom creato con sn0wbreeze. Tutto funzionava perfettamente finchè un bel giorno non mi viene la cattiva idea di sostituire ultrasn0w con blacksn0w rc2 (bb 05.11.07) perchè volevo provare se avesse funzionato meglio. Inizialmente tutto andava bene, poi ho iniziato a notare perdite di segnale periodiche (ogni 2 min circa), più frequenti se lasciavo attivo il 3g (per cui ho un abbonamento con la WIND).
Per cui ho provato a disinstallare la versione rc2 per installare la rc1. L’avessi mai fatto (il bello che sapevo che non era compatibile con l’ios4, ma la “disperazione” fa fare di tutto). Inutile dire che mi è entrato in un boot loop (che si bloccava ad “antenna=-1” secondo il log).
Ho ripristinato il custom custom firmware 4.0 con pre-installato ultrasn0w 1.1.1. Nulla da fare.
Ho disinstallato ultrasn0w ed ho provato a flashare manualmente la bb con BBUpdaterExtreme e ICE2_05.11.07.fls e ICE2_05.11.07.eep (estratty dal ramdisk decriptato di uno stock fw 3.1, poi di un 3.1.2 sempre stock). Poi ho reinstallato ultrasn0w, ma ancora nulla.
Allora ho ripristinato alla versione 3.1.2 (che in teoria doveva flashare la bb originale, in quanto non si trattava di un downgrade [non più consentito sul 3gs]), jailbreakato con redsn0w, attivato con iTunes e la sim originale americana. Poi ho caricato il custom fw 4.0. Ma mi si presenta il solito problema.
Che faccio provo a caricare il 3.1.3, far aggiornare la bb, poi ricaricare il 4.0 custom e vedere che fa ultrasn0w?
Altre soluzioni se no? Ho davvero bisogno di usare il mio iPhone come cellulare..
ah, dimenticavo, ho anche tolto l’opzione “Activate” da Sn0wbreeze visto che pare dia dei problemi e tanto la sim originale ce l’ho. Ho provato a disattivare le Push notifications, ma a nulla è valso.
Quando carichi i vari custom firmware tu a fine ripristino riprendi semore sul telefono il vecchio backup?
Perché se così fosse dovresti provare a non riprenderlo
Ho provato ad aggiornare la baseband alla versione 05.12.01. Installato ultrasn0w ma niente da fare. Ho notato che il segnale viene perso più lentamente in chiamata se appoggio l’iphone sul tavolo piuttosto che tenerlo in mano (sembrerebbe quasi il problema dell’iphone 4, ma il mio è un 3gs), tuttavia il problema, prima o dopo, si presenta comunque.
Ho fatto qualche passo avanti con un po’ di fuzzing.
Dopo aver installato la patch (o “il patch”, che dir si voglia) per lockdownd, ho cancellato il file “wildcard.plist” nella directory /var/root/Library/lockdownd il quale è responsabile dell’attivazione della sim (in questo caso la mia sim canadese); nel file lockdownd.log infatti risultava da allora in poi assente un wildcard record, ma lo stato della SIM risultava (per la patch) FactoryUnlocked. Tuttavia il miglioramento a quel punto è stato infinitesimale.
Il progresso più significativo l’ho fatto quando ho rinominato come “.bak” il file “com.apple.network.identification.plist” situato in “/var/preferences/SystemConfiguration/” ed ho resettato le impostazioni di rete (che se resettate senza rinominare quel file non apportavano nessun miglioramento). Fatto ciò era sparito il campo “Cellular Data Network”, che però ho ripristinato installando SupremePreferences.
Morale della favola adesso riesco a fare telefonate di durata sensata ed a connettermi con il 3g, tuttavia ancora noto rade perdite di segnale su cui investigherò ulteriormente.
Tutto ciò ha fatto sì che mi venisse il dubbio circa il processo di restore del firmware (anche in DFU): vengono davvero sovrascritti tutti i file? A quanto ne so, tale processo dovrebbe riflashare sia la NOR che la NAND e quindi sovrascrivere la partizione root (/dev/rdisk0s1)
Il fix definitivo è arrivato per caso: mi sono dimenticato di mettere in carica l’iPhone, il quale si è scaricato del tutto ed è rimasto tutta la notte spento. Dopo averlo messo in carica funzionava tutto. A questo punto mi vien da pensare a qualche registro di cache (tipo circuiteria CMOS) rovinato da Blacksn0w e mai resettato del tutto perchè mai spentosi per periodi prolungati. Bah.. Comunque sia, questo serva da lezione: prima di pensare a risolvere qualcosa di software, nei dispositivi a batteria, lasciar riposare l’hardware senza tensione.