- Modificato
spnick Se hai già il jailbreak basta solo un tweak scaricabile da Cydia che si chiama CCPatch13. Quest'ultimo serve a patchare il CommCenter ed evitare che controlli le firme sui carrier bundle modificati che andrai a caricare.
Dopodiché basta caricare il nuovo carrier bundle modificato (file .ipcc) da PC/Mac e riavviare il CommCenter. Io ho usato 3UTools su una VM Windows per caricare il file ma credo ci sia anche qualche tool per Mac. Una volta bastava iTunes.
Per quanto riguarda la modifica del carrier bundle, qui ci sono i miei file come riferimento.
Procedura:
- scaricate il carrier bundle attuale dal vs telefono (da /var/mobile/Library/Carrier Bundles/ o /System/Library/Carrier Bundles/) oppure da un firmware pulito per il vostro modello (file .ipsw). In quest'ultimo caso estraete il file .ipsw come se fosse uno .zip, all'interno troverete 3 immagini disco .dmg, montate la più grande (diversi GB) e trovate i file .ipcc di tutti gli operatori in /System/Library/Carrier Bundles/. Il file di vs interesse si chiama Hutchison_Wind_it_iPhone.ipcc (per WINDTRE) oppure Wind_Very_it_iPhone.ipcc (per VERY).
- estraete il file .ipcc come se fosse uno .zip;
- nella cartella Payload troverete un file .bundle, su Mac tasto destro e selezionate "Mostra contenuto pacchetto" oppure estraete come se fosse uno .zip;
- ora con un buon editor di testo (io ho usato BBEdit) editate il file override_Dxxx.plist corrispondente al vostro modello (trovate il codename esatto del vs modello su Wikipedia);
- Aggiungete il contenuto dal file overrides_D20_D21_D22.plist del sottoscritto (le key vanno in ordine alfabetico) e salvate;
- Aggiungete (se mancante) o sostituite il file di aggiornamento della baseband override_Dxxx.der.pri (in base al vs modello) preso dal carrier bundle di TIM (TIM_Italy_iPhone.ipcc) dato che quello di W3 non funziona (almeno su modem Qualcomm, forse per i modelli Intel questo passaggio non serve). Se avete un iPhone 8, 8 Plus o X (Global ovvero GSM/CDMA, non italiani) prendete pure il mio. Per i suddetti modelli italiani il file giusto si chiama override_D201_D211_D221.der.pri;
- Nella sottocartella signatures sostituite il file override_Dxxx.plist con quello corrispondente dalla stessa cartella nel bundle di TIM;
- Editate i file Info.plist e version.plist andando ad incrementare la versione (due valori per ciascun file). Ad esempio, se il carrier bundle attuale è 45.1, il nuovo deve essere 45.1.1 altrimenti il device non lo prenderà in considerazione;
- Chiudete il file .bundle (ricomprimetelo se necessario);
- Comprimete in formato zip la cartella Payload;
- Rinominate Payload.zip esattamente come il file .ipcc originario (es. Hutchison_Wind_Very_it.ipcc);
- Caricate il file sul telefono con 3UTools (funzione Update IPCC file) o altro tool simile;
- Collegatevi in ssh al telefono (root/alpine) e riavviate il CommCenter con il comando "killall CommCenter" oppure, se non perdete il jailbreak con il riavvio, riavviate.
Nel mio file .plist, ricordatevi di cambiare alla riga 6 il nome del file .der.pri con quello per il vostro modello (dal bundle di TIM) e alla riga 109 scrivete VERY Wi-Fi o WINDTRE Wi-Fi o quello che volete che appaia sul telefono quando siete collegati in Wi-Fi.
That's it! Sembra difficile ma non lo è, certo un po' di dimestichezza ci vuole... Ovviamente il tutto è puramente a scopo di studio.
Ps. Anche se fate tutto correttamente, si collegherà in Wi-Fi 1 volta su 10 circa, perché questo problema per il momento rimane:
dariuccio83 Anche puntando direttamente al primo gateway, il più delle volte da errore 36 InternalAddressFailure durante la creazione del tunnel IPSec per l'apn ims. Mentre per l'apn xcap (dedicato alla configurazione dei servizi di rete) il tunnel si instaura e il passaggio in Wi-Fi avviene correttamente. Ho notato che le poche volte che funziona sono quelle in cui il telefono ottiene un IP del tipo 10.216.. su ims via cellular. In tal caso lo switchover avviene in pochi secondi, in tutti gli altri casi non va neanche all'infinito. Credo sia dovuto al fatto che per ora abbiano collegato correttamente all'ePDG soltanto un gateway IMS (PGW ?) oppure hanno configurato un pool ridotto di indirizzi IP interni solo a scopo di test.