Salve a tutti, mi è stato detto che modificando il file carrier_policy.xml del telefono è possibile aumentare il numero di bande in aggregazione. Sapreste aiutarmi?
@handymenny
Modifica carrier_policy per aumento aggregazione bande
- Modificato
Allora do per scontato che tu sappia come avere accesso alla carrier policy (avendo fatto la modifica per il 5G).
Prendendo come riferimento quella di Oneplus 8, puoi vedere che all'inizio della carrier policy sono definite varie liste. Queste liste si dividono in due tipo:
- mcc_list
Lista di MCC, dove MCC sta per Mobile Country Code, è un codice assegnato ad ogni paese per l'identificazione delle reti mobili. Nel caso dell'italia è 222.
Ecco un esempio:<!-- 1 europe_mccs --> <mcc_list name="europe_mccs"> 202 204 206 208 212 212 213 214 216 218 219 220 222 226 228 230 231 232 234 235 238 240 242 244 246 247 248 255 257 259 260 262 266 268 270 272 274 276 278 280 284 286 288 292 293 294 295 297 </mcc_list>
- plmn_list
Lista di PLMN, dove PLMN sta per Public Land Mobile Network, il codice PLMN che identifica univocamente una rete mobile è la combinazione del sopracitato MCC e dell'MNC, l'MNC (Mobile Network Code) è il codice assegnato dalle autorità nazionali a ciascuna rete mobile. Nel caso di iliad l'MNC è 50, il PLMN quindi è 222-50.
Ecco un esempio:<plmn_list name = "EU_IT_plmns"> 222-01 222-10 222-99 </plmn_list>
Generalmente le liste di PLMN hanno la priorità su quelle MCC, quindi in linea di massima se non troviamo il PLMN in alcuna lista ci concentreremo sulla lista MCC. Però, come nel caso di oneplus, le cose possono essere un po' più complesse e serve un minimo di conoscenze di programmazione di base (IF, switch, not, and, or) per capire cosa toccare e bisogna anche combattere contro gli errori di chi le ha scritte che confonde ancor di più le cose.
Nel caso della carrier policy di oneplus, quella che si applica su rete iliad è l'ultima che fa riferimento a europe_mccs (il nome della lista MCC):
Premi per mostrare Premi per nascondere
<!--1 europe_bands-->
<case>
<all_of>
<location_mcc_in list="europe_mccs" />
<not><imsi_mcc_in list="test_sim_mccs" /></not>
<not><imsi_plmn_in list="test_sim_plmns" /></not>
</all_of>
<actions>
<rat_capability base="none">
<include> G W L </include>
</rat_capability>
<rf_bands list="europe_bands" />
<ue_mode> CSFB </ue_mode>
<rat_order> L W G </rat_order>
<!-- add NoUL CA Combos of UL CA by liuweibin 2018-8-30 -->
<ca_band_combos string="3A4A-1A4-m3;3A4-1A4A-m3;7A4A-1A4-m3;7A4-1A4A-m3;20A2A-1A4-m1;20A2-1A4A-m1;32A2-1A4A-m1;7A4A-3A4-m3;7A4-3A4A-m3;20A2A-3A4-m3;20A2-3A4A-m3;32A2-3A4A-m1;38A4A-3A4-m1;38A4-3A4A-m1;20A2A-7A4-m7;20A2-7A4A-m7;32A2-7A4A-m1;32A2-20A2A-m3;38A4A-20A2-m1;38A4-20A2A-m1;3C44A-m1;7C44A-m7;38C44A-m1;46A2A-1A4-m3;46A2-1A4A-m3;46A2A-3A4-m3;46A2-3A4A-m3;46A2A-7A4-m3;46A2-7A4A-m3;3C44A-1A4-m1;3C44-1A4A-m1;7C44A-1A4-m3;7C44-1A4A-m3;7A2A-3A4-1A4-m3;7A2-3A4A-1A4-m3;7A2-3A4-1A4A-m3;7A4A-3A4-1A2-m3;7A4-3A4A-1A2-m3;7A4-3A4-1A2A-m3;7A4A-3A4-1A4-m3;7A4-3A4A-1A4-m3;7A4-3A4-1A4A-m3;20A2A-3A4-1A4-m1;20A2-3A4A-1A4-m1;20A2-3A4-1A4A-m1;20A2A-7A4-1A4-m7;20A2-7A4A-1A4-m7;20A2-7A4-1A4A-m7;7C44A-3A4-m3;7C44-3A4A-m3;7A4A-3C44-m1;7A4-3C44A-m1;7A4A-3A4-3A2-m3;7A4-3A4A-3A2-m3;7A2A-3A4-3A4-m3;7A2-3A4A-3A4-m3;8A2A-3A4-3A4-m3;8A2-3A4A-3A4-m3;8A2A-7A4-3A4-m7;8A2-7A4A-3A4-m7;8A2-7A4-3A4A-m7;20A2A-7A4-3A4-m3;20A2-7A4A-3A4-m3;20A2-7A4-3A4A-m3;38A2A-7A2-3A4-m1;38A2-7A2A-3A4-m1;38A2-7A2-3A4A-m1;38A2-7A4-3A4A-m1;38A2-7A4A-3A4-m1;38A2A-7A4-3A4-m1;38A4A-20A2-7A4-m1;38A4-20A2A-7A4-m1;38A4-20A2-7A4A-m1;20A2A-3A4A-m3;20A2A-7A4A-m7;3C44C-m1;7C44C-m7;38C44C-m1;3C44C-1A4-m1;7C44C-1A4-m3;20A2A-3A4A-1A4-m1;20A2A-7A4A-1A4-m7;7C44C-3A4-m3;7A4-3C44C-m1;20A2A-7A4-3A4A-m3;20A2A-7A4A-3A4-m3;38A4-20A2A-7A2A-m1;" />
</actions>
</case>
La riga dove vedi ca_band_combos string=
è quella che dice al dispositivo quale lista di combinazioni considerare.
Ogni singola combinazione è così composta:
LTE Band c'è poco da dire, è una delle bande lte.
Downlink Bandwidth Class e Uplink Bandwidth Class fanno riferimento rispettivamente alle CA Bandwidth Class in uplink o downlink, in parole povere quanto spettro di quel carrier può essere utilizzato in uplink o downlink. Quando la BW Class in uplink è omessa, quel carrier non è utilizzato in uplink. Quando sono presenti entrambe quel carrier viene usato in entrambe le direzioni. In Italia nessun operatore ha in uso più di 20MHz per una specifica banda 4G, quindi possiamo tranquillamente ignorare le bandwidth class diverse da A.
Number of RX Antennas letteralmente il numero di antenne riceventi, i valori più comuni sono 2 e 4. Se questo campo è omesso non viene applicata alcuna limitazione al numero di antenne riceventi. Se la bandwidth class prevede più sotto-componenti (ad esempio C ne richiede 2) viene specificato il numero di antenne RX per ogni sotto componente (es. 42 = 4RX prima sotto-componente, 2RX seconda sotto-componente)
Bandwidth Combination set è praticamente quello che nella lista di CA vedi indicato come BCS, specifica (indirettamente) quali ampiezze di spettro sono supportate per ciascuna componente.
Esistono tre modi per indicare i BCS nelle carrier policy:
- 0...N
Indica che la BCS identificata con quel numero è supportata - m0...mN
I bit a 1 della rappresentazione binaria del valore che segue M indicano le BCS supportate (quelli a 0 le non supportate) - mAll
Non viene applicata alcuna limitazioni al numero di BCS supportate.
Visto che sono troppo pigro per controllarmi ogni singola combinazione a mano ho realizzato un parser per automatizzare il processo. Una volta compilati correttamente tutti campi, ci tocca analizzare il risultato.
Sostanzialmente nella riga a sinistra ci sono le bande aggregate in download, al centro i vari 4x4 supportati e a sinistra cosa è supportato in upload (sulla wiki di lteitaly trovi qualche dettaglio in più).
Ora noi sappiamo (te lo dico io) che iliad su rete windtre aggrega 20-7-3-1¹ con qualsiasi combinazione di 2 bande in upload² e sulla loro rete aggregano 7-7-3-1³ con qualsiasi banda in upload. Aiutandoci con cacombos e smartphonecombo possiamo facilmente capire cosa manca.
Per 20-7-3-1 mancano queste combinazioni:
Premi per mostrare Premi per nascondere
20A2-7A4-3A4-1A4A-mAll;
20A2-7A4-3A4A-1A4-mAll;
20A2-7A4A-3A4-1A4-mAll;
20A2A-7A4-3A4-1A4-mAll;
20A2A-7A4-3A4A-1A4-mAll;
20A2A-7A4A-3A4-1A4-mAll;
⠀
Per 7-7-3-1 queste:
Premi per mostrare Premi per nascondere
7A2-7A4-3A4-1A4A-mAll;
7A2-7A4-3A4A-1A4-mAll;
7A2-7A4A-3A4-1A4-mAll;
7A2A-7A4-3A4-1A4-mAll;
7A4-7A4-3A4-1A2A-mAll;
7A4-7A4-3A4A-1A2-mAll;
7A4-7A4A-3A4-1A2-mAll;
7A4-7A4A-3A4-mAll;
7A4-7A4-3A4A-mAll;
7A4-7A4A-1A4-mAll;
7A4-7A4-1A4A-mAll;
7A4-7A4A-mAll;
⠀
Per semplicità usiamo mAll come BCS, così da non complicarci la vita (grazie Qualcomm!)
Aggiungiamo questo elenco di combinazioni alla fine della lista individuata poco sopra, salviamo, carichiamo la nuova configurazione sul dispositivo e lo riavviamo.
Qualche precisazione importante:
- esistono due carrier policy, carrier_policy.xml per la SIM nello slot 1 e carrier_policy.xml_Subscription01 per la SIM nello slot 2
- Questa non è una guida universale, alcuni telefoni Qualcomm gestiscono le carrier policy anche molto differentemente.
- Cambiare SIM, modificare la configurazione delle stesse o effettuare un hard-reset può annullare le modifiche applicate alla carrier policy.
- Le carrier policy vengono usate per limitare ciò che i dispositivi supportano, è consuetudine trovare cose non supportate dal terminale (o addirittura assurde) nelle carrier policy, semplicemente quelle regole vengono ignorate. Modificare le carrier policy serve solo ad eliminare le limitazioni applicate mediante essa, non può eliminare limitazioni applicate a livello firmware o hardware.
- Esiste una scorciatoia, è possibile sostituire la lista di combinazioni con "", ma tale pratica può comportare malfunzionamenti (anche gravi) su dispositivi che supportano tante combinazioni, quindi meglio evitare.
- Le info qui sopra non sono ufficiali pertanto possono essere parzialmente o completamente errate, sono frutto di mie ricerche personali in collaborazione con alcuni utenti di Cellmapper, NSG, Wndworld e 4pda.
¹ Non ha accesso alla 38
² La famosa UL CA (carrier aggregation upload), presente solo nelle aree dove WindTre usa Ericsson
³ La seconda B7 è stata assegnata temporaneamente a iliad per aiutarla a fronteggiare l'aumento del traffico causa pandemia di corona virus.
[cancellato]
Tantissima roBBa!
Ok io mi sono perso ad ad "allora cominciamo"
Grazie per questa guida handymenny , la trovo molto utile, avrei intenzione di provarla sul mio OP Nord con Fastweb Mobile. Ho estrapolato il mio carrier_policy.xml per dare una "sbirciata" a queste stringhe. Ho un dubbio, spero mi possa aiutare ahaha: nella famosa stringa seguiamo questa struttura: "Banda" + "Classe in DL" + "Numero antenne in ricezione" + "Classe in UL" con i trattini per indicare appunto un'aggregazione, bene, d'accordo. Come hai detto tu, quando la "Classe in UL" viene omessa, sta a significare che la "Banda" con "Numero antenne in ricezione" vengono utilizzate esclusivamente in downlink. Ciò quindi sta a significare che se ho sia la classe in DL che in UL la banda viaggia in entrambe le direzioni?
Cioè, dall'esempio dell'immagine con i caratteri colorati che hai inviato sta a significare:
3+7+20 in DL e 3+20 in UL dove 3 e 7 sono servite da 4 antenne e 20 da 2 (?)
E' questo diciamo il ragionamento? Oppure sto dicendo cagate colossali?
E poi, dal mio carrier_policy ho anche roba del genere:
3C44A
3C44C
7C44A
7C44C
(ovviamente alla destra di ciascuno di essi c'è il bcs)
Cosa stanno ad indicare?
Ovviamente grazie per le eventuali risposte/chiarimenti
- Modificato
sedc38 Ciò quindi sta a significare che se ho sia la classe in DL che in UL la banda viaggia in entrambe le direzioni?
Sì
sedc38 3C44A
3C sta ad indicare una B3 fino a 40MHz, il primo 4 indica le antenne riceventi per i primi 20MHz, il secondo 4 vale per i secondi 20MHz, questo perché in 4G ogni carrier non ha più di 20MHz, quindi per usarne 40 devi combinarne due vicini. In Italia nessun operatore ha in uso più di 20MHz per una specifica banda, quindi le combinazioni con BW Class diverse da A le puoi anche ignorare (meglio se le elimini proprio)
Una cosa che non ho specificato, perché può essere pericolosa, puoi mettere la lista di combinazioni uguale a "", così da eliminare qualsiasi limitazione (imposta dalla carrier policy). Su dispositivi con poche combinazioni, come il tuo, è abbastanza sicuro, su quelli con tante combinazioni (come oneplus 8T) è meglio evitare, si rischiano malfunzionamenti anche molto seri
Altra cosa, oneplus nord in 5G è limitato a 1 banda 4G + 1 banda 5G, non è una limitazione imposta dalla carrier policy ma da qualche altro "file" che non ho ancora individuato
Ho aggiornato il post prendendo spunto dalle tue domande, grazie
- Modificato
handymenny Grazie mille per le dritte!
Felice di aver contribuito ad arricchire il post ahah. Ho ascoltato il tuo consiglio di settare la stringa uguale a "" e devo dire di essere veramente soddisfatto, le prestazioni sono migliorate, prima andavo in media sui 80-90 Mbps con picchi di di 120-130Mbps massimo, ora è così: (allego immagini)
Sul fatto del 4G+5G monobanda si, purtroppo quando sono in 5G dapprima NetMonster mi dice BandaX + BandaY + BandaZ (esempio) appena inizio uno speedtest o un generico flusso di dati mi passa istantaneamente a BandaX
- Modificato
sedc38 38-20-7, è rarissimo vederle insieme (il rapporto tra 38 e 7 è un po' conflittuale )
Ma quel ping? Mi sembra un po' troppo alto
Questo credo lo faccia un po' su tutti i dispositivi, a prescindere da quella limitazione
handymenny ahaha in effetti è la primissima volta che lo vedo ahah, diciamo che il ping me lo dà così solo se uso il server Vodafone di Milano, mentre se uso server di TIM di Napoli o il server Fastweb di Roma o altri server nelle zone limitrofe di Napoli, il ping torna sui 50/60ms
handymenny ah bene bene, quindi oggi per me è boost generale sia per coincidenza sia per modifiche ahaha
Ah ok, quindi è Fastweb la causa del ping un po' sopra le righe, diciamo così
A una decina di km da te le latenze su Roma oscillato tra i 25 e i 35ms, se tu hai il doppio direi che c'entra fastweb sì
handymenny ah okok
handymenny Grazie a te il carrier policy mi è molto più chiaro, ho fatto tutto quello che hai detto e domani farò dei test in centro Milano (come al solito ) e vediamo se supero i 120mbps (il massimo che ho ottenuto in 4g+). Comunque nel mio carrier tutte le bcs erano già settate in mAll, meglio cosi
Piccolo report ad ora dopo la modifica:
- Come banda primaria ho perennemente la B20;
- L'insolita aggregazione B20+B38+B7 è diventata frequente, praticamente solo quella becco, vedo spesso anche B20+B7, mentre una B1+B3+B7 fino ad ora non l'ho vista (prima della modifica era presente);
- NetMonster è diventato un po' strano, mi fornisce sempre B20 anche se in aggregazione con uno speedtest in background, non spesso vede un B20+B7;
- L'app Netmonitor (quella a sfondo verde) ogni tanto non mi dice nulla (né banda, né larghezza, né ARFCN);
- Come "neighbour" ci sono più B38 del solito (prima della modifica ne comparivano 1-2, ora ne vedo 3-4)
- Modificato
sedc38 L'insolita aggregazione B20+B38+B7 è diventata frequente, praticamente solo quella becco
perché sei uno dei rarissimi dispositivi che la supportano e la B38 è sempre lì a prendere la polvere
handymenny ah okok va bene grazie
- Modificato
@handymenny Ho fatto i miei test nelle zone che frequento più quotidianamente, ossia la metro di Milano e i risultati sono ottimi, il miglioramento c'è stato.
Ho fatto un test per ogni stazione, il massimo che ho ottenuto é stato un bel 96mbps down, addirittura in una stazione dove mi cadeva sempre in 3g é rimasto agganciato al 4g raggiungendo i 20mbps down, ho fatto i 70mbps in media.
Anche a casa mia la situazione é migliorata, ho fatto 2 test con il vecchio carrier e i risultati erano 20mbps uno e 15mbps il secondo; ho rifatto 2 test inserendo il nuovo carrier, stando attento ad utilizzare la stessa bts dei primi due test e i risultati sono stati 35mbps e 40mbps il secondo, però ho la sensazione che sia aumentato il ping.
Infine sono tornato a Greco Pirelli e ho testato nuovamente il 5G, anche questo é migliorato ma forse é una coincidenza, 225mbps in down ma solo 4mbps in upload e ben 40ms di ping che secondo me sono tanti per un 5G.
In conclusione penso sia meglio provare la Fastweb nexxt perché con lte Italy ho notato che sono circondato dal 5g (sia n78 che dss) a casa e nei posti che frequento di più
Edit: Alla fine ho superato il mio vecchio record (120mbps) con un 130mbps e il bello é che era una bts windtre 5g n78 a 700metri da casa mia
Kevinips però ho la sensazione che sia aumentato il ping.
aggregare di più può aumentare il ping sì. È uno dei problemi della carrier aggregation
Kevinips In conclusione penso sia meglio provare la Fastweb nexxt
Lato latenze siamo lì, se non peggio di iliad
Kevinips Alla fine ho superato il mio vecchio record (120mbps) con un 130mbps e il bello é che era una bts windtre 5g n78 a 700metri da casa mia
Infatti sei passato da 3CA a 4CA anche su rete wind