🇬🇧 

eNB Analytics

Localisation/identification d'antennes 4G/5G et collecte de logs

- Analyse via données MLS/OCID et logs capturés
- Capture de logs en arrière-plan
- Monitoring radio
- Calcul de profils altimétriques
- Partage de logs en ligne
- Export de logs au format NetMonster
- Export de traces au format CellTracker

Nécessite Android 8.0 minimum.
Version spécifique pour Android 5 à 7 ici. (ne sera plus mis à jour)

Version actuelle : - build

Lien vers le Play Store
Téléchargement direct  (local)
Téléchargement direct  (distant)
résultat d'une recherche avec eNB Analytics

Mise en route


a. Généralités

L'application est disponible uniquement en France (Outre-mer compris), à partir du moment où les déclarations 4G sont prises en charge par l'ANFR. En revanche le monitoring et l'enregistrement des logs géolocalisés est opérationnel partout. Historiquement l'appli a été conçue pour tenter d'identifier les antennes des opérateurs autres que Free Mobile : pour ce dernier, l'intérêt est plus limité. Il est préférable de directement utiliser l'application RNC Mobile dont la base est très complète.

L'appli génère pour chaque eNB une hypothèse de localisation. Le nom du site s'affiche alors en gris dans le Journal. Pour identifier un site, on peut soit :
- Valider l'hypothèse affichée -> via le menu contextuel sur une cellule du Journal ou le bouton "Check" sur l'écran d'accueil (si disponible),
- Accéder à l'écran d'Analyse dont l'accès se fait avec le bouton Loupe disponible à différents endroits,
- Identifier directement depuis la fonction Discover. Appui sur le support puis bouton rouge. A utiliser avec prudence.

Quand un site est identifié, son nom s'affiche en noir dans le Journal et apparait sur la carte en noir avec une coche verte.


écran d'accueil de l'application eNB Analytics

b. Permissions

L'application nécessite les permissions Localisation exacte et Appels téléponiques. Concernant cette dernière, il s'agit en réalité de la permission READ_PHONE_STATE qui est utilisée pour détecter le nombre de cartes SIM et leur opérateur mais aussi pour détecter la 5G-NSA. Cela ne donne en aucun cas la possibilité de passer des appels téléphoniques.

À partir d'Android 13, une permission pour les Notifications est également demandée. Il est très fortement recommandé de l'accepter, car dans la cas contraire la notification ne s'affichera pas alors que l'application continue de fonctionner en arrière-plan et on risque de l'oublier !


c. Bases de données

Il faut télécharger la base ANFR (multi-opérateurs), la base MLS/OCID et la base NM/EA correspondant à votre opérateur. Pour l'Outre-mer, il s'agit à chaque fois d'un téléchargement unique.
L'application affiche le contenu de la base NetMonster pour les eNB déjà identifiés par les teams d'indexation. Si pas identifié, ce sera la base EA qui est consultée. Selon la source, le résultat est coloré différemment :
- NetMonster : affiche en vert foncé les données des différentes teams de chasseurs,
- eNB Analytics : affiche en rouge (thème clair) ou bleu (thème sombre) les données du projet EA.


d. Opérateurs pris en charge

■ France Métropolitaine : Bouygues Telecom, Free, Orange, SFR.
■ France d'Outre-Mer : Manu'ia (Service des Postes et de Télécommunications), Dauphin Télécom, Digicel, Free Caraïbe, GlobalTel, OPT Mobilis, Maoré Mobile, Vini (ONATI), Orange Caraïbes, Orange Réunion, Only (Outremer Télécom), PMT Vodafone, SPM Telecom, SRR, Telco OI, Viti, Zeop.
■ Monaco : Monaco Télécom.
■ Espagne : Vodafone, Orange, Yoigo, Movistar.
■ Portugal : Vodafone, DIGI, NOS, MEO.
■ Autres : l'appli peut fonctionner dans les autres pays sous réserve de produire et installer soi-même les bases de données.

Capturer


Dès le lancement de l'appli, la capture des cellules avec leur géolocalisation commence ; c'est-à-dire que pour chaque enregistrement, les coordonnées GPS du lieu où le niveau de réception du signal était le meilleur est mémorisé.

Ils sont visibles sur la carte de l'appli sous forme de marqueurs jaunes. L'idée est d'en capturer le plus possible en utilisant l'application lors de vos divers trajets. La capture continue même si l'appli est en arrière-plan (la notification reste affichée).


Les cellules géolocalisées que vous capturez apportent une réelle plus-value en permettant d'identifier un maximum de sites, car tous ne sont pas identifiables en utilisant la base MLS (manque de données, ambiguïté, etc.).


Afin de préserver la batterie, l'application désactive automatiquement le GPS lorsque le téléphone reste immobile pendant plus de 30 secondes.

Analyser


On accède à l'écran d'analyse via l'icône Loupe disponible depuis l'écran d'accueil, modes voiture/Discover pour l'eNB sur lequel on est connecté ou alors via une cellule du Journal -> menu contextuel -> Analyser eNB xxx.

Appuyer sur le bouton "+" pour avoir accès aux différentes méthodes de recherche disponibles. Si le résultat est correct, appuyer sur le bouton "Check" pour valider l'identification. Les différentes méthodes peuvent êtres testées sans crainte : rien ne se passe tant qu'on n'enregistre pas.

Le bouton "Baguette magique" teste automatiquement les différentes méthodes de recherches les plus adaptées à votre situation.

Le bouton "3 points" (ou overflow menu) ouvre un dialogue qui permet, entre autres, de réinitialiser l'affichage de la carte, d'invalider une identification ou de gérer un support bi-eNB.

Remarque concernant les supports bi-eNB : Certaines antennes émettent sur 2 eNB distincts en même temps. Dans ce cas il convient d'identifier un premier eNB de manière classique. Ensuite lancer l'analyse pour le second eNB et une fois le support choisi, aller dans le menu "3 points" et chosir "Ajouter comme bi-eNB".
Pour Free Mobile il n'y a rien à faire : la gestion bi-eNB est prise en charge de manière transparante.


Consultez la page Méthodologie pour plus de détails techniques

Interface d'anayse/identification de l'application eNB Analytics


Profil altimétrique

Il est possible de générer le profil altimétrique depuis l'antenne jusqu'à votre position. Un raccourci est disponible sur l'écran d'accueil et la carte locale (Discover).

Depuis l'écran d'analyse il est possible d'avoir plus d'options, comme par exemple choisir l'antenne quand plusieurs hypothèses sont affichées, ainsi que le site de déstination : votre position ou alors un point librement positionné sur la carte.

Il faut garder à l'esprit que le profil ne prend pas en compte les bâtiments ou la végétation.

Profil altimétrique depuis une antenne

Contribuer


a. Projets d'indexation

Vide



b. Projet eNB Analytics

Vous avez la possibilité transmettre vos logs (cellules) et identifications sur notre serveur. Ces données seront combinées avec les bases MLS & OCID. Le nombre d'antennes identifiées sera alors plus important et plus fiable.
Il suffit d'aller dans la fonction Export/Partage, veiller à ce que la case "enb-analytics.fr" soit cochée puis le bouton "Cloud" pour envoyer.

Les données les plus importantes à partager sont les cellules. Il s'agit d'un ingrédient de base qui servira pour les divers traitements. Les identifications, elles, sont a prioriser pour les sites "difficiles" qui n'ont pas été identifiés automatiquement. Leur traitement est lourd (modération, gestion des antennes obsolètes, etc..) et relève plus d'une team d'indexation ; d'ou le fait qu'elles sont sont pas systématiquement prises en compte.

Les derniers logs partagés apparaissent sur cette page. Les données collectées ne sont pas transmises à des tiers.

Exemple de contribution


c. Contribuer sans l'appli ?

C'est possible !

■ En alimentant la base OpenCellId avec l'application Tower Collector. Plus de détails ici pour la marche à suivre.
Avantage : simple à mettre en oeuvre,
Inconvénients : le PCI n'est pas restitué dans les exports à notre disposition et la prise en compte des données sera moins rapide.


Sauvegarde / Transfert des données


Il est possible de récupérer les données de l'appli pour faire une sauvegarde, une analyse perso ou les transférer vers un autre téléphone.
Concrètement, il y a 2 choses distinctes :
- les cellules capturées (logs)
- les identifications

Pour ce faire, il faut aller dans la fonction Export/Partage puis via le sous-menu "Sauvegarde..." faire Export cellules et Export identifications. Ceci va respectivement générer des fichiers nommés ExportV5_xxxx_xxx.csv et Identifications_xxxx.csv (anciennement Collection_xxx.csv).
Les fichiers se trouvent dans le dossier /Android/data/fr.enb_analytics.enb4g/files/Exports. On peut y accéder à l'aide de l'explorateur de fichiers intégré dans l'appli pour ensuite les partager par bluetooth ou alors utiliser une connexion USB vers un PC. Depuis Android 10 les applications tierces n'ont plus accès au dossier /Android/data/.

Dans le cas d'un transfert, il faut ensuite :
- copier les 2 fichiers dans le dossier /Android/data/fr.enb_analytics.enb4g/files/  du nouveau téléphone,
- Aller dans la fonction Journal, onglet Cellules : menu > "Import cellules" et ensuite choisir le fichier ExportV5_xxx.csv
- Fonction Journal, onglet Identifications : menu > "Import Identifications" et ensuite choisir le fichier Identifications_xxx.csv

Remarque: les 10 chiffres présents dans les noms de fichiers correspondent à un horodatage au format UNIX. Quand plusieurs exports sont présents, le fichier le plus récent sera celui avec le n° le plus grand. L'appli affiche les fichiers dans l'ordre, ce sera donc celui en bas de la liste qu'il faut choisir.


Fonctions avancées


a. Traces TA

L'appli enregistre automatiquement quelques mesures du Timing Advance (TA), si disponible. Cette donnée permet de déterminer la distance entre le téléphone et l'antenne. Il est possible d'enregistrer des points supplémentaires via le moniteur lorsque la donnée s'affiche en bleu : un appui dessus ouvre un menu avec une option d'enregistrement. Il est possible de forcer l'enregistrement des points avec l'option "Enr. traces TA" depuis le menu du moniteur, du mode voiture et de la Carte locale. Enregistrer un trop grand nombre de traces peut être contre-productif. Pour les raisons de performances, l'appli limite l'analyse aux 40 points les plus récents par eNB.


Les points TA s'affichent sur la carte sous forme de point bleu avec un numéro à l'intérieur qui correspond à la valeur TA. Un appui dessus affiche un cercle correspondant à la distance et qui passe probablement à proximité de l'antenne concernée.
Si le cercle semble souvent incohérent, il faudra changer l'unité de conversion dans les paramètres de l'appli. Par défaut c'est reglé sur 1 TA = 78 mètres. Le réglage 1 TA = 144 donne de meilleurs résultats sur de nombreux téléphones.



S'il y a suffisament de points, l'appli affiche sur la carte un "mappage" coloré qui permet de localiser approximativement l'antenne.



b. Observations (fonction éxpérimentale)

Avec la fonction EA Stumbler (à activer dans les paramètres) l'appli permet d'enregistrer en continu des mesures radio tous les 70 mètres environ.
La carte permet d'afficher les données de différentes façon :
- Mozilla Stumbler (par défaut)
- Signal : affiche la force du signal
- e/gNB : une couleur par eNB ou gNB
- e/gNB:CID : une couleur par cellule
- Timing Advance : affiche les données TA

Il est également possible de filtrer par e/gNB, cellule, TAC ou PCI.

Ces données peuvent êtres exportées au format CellTracker.

Remarque: Les données enregistrées par la fonction EA Stumbler ne sont pas utilisées par les autres fonctions de l'appli.



c. Support international

Il est possible d'ajouter les antennes d'un autre pays depuis un fichier CSV. Il doit être au format suivant : séparateur point-virgule (;) et pas de séparateur de chaine de caractère.

Sup_ID Adresse LAT LON Act Syst. 4G Activations 4G Syst. 5G Activations 5G PLMN Azimuths
443954 Cote de Delme 57590 XOCOURT 48.9119 6.36 1 1800,2600,2100 2018-07-17,2015-06-11, 3500 20815 0,120,240
99146 Casino Lisboa 38.7651 -9.1234 1 26803
Sup_ID : Référence du support - Format INTEGER,
Adresse : Nom du site - Format TEXT UTF-8, sans point virgule (;) et sans double quote ("),
LAT : Latitude - Format REAL (-90.0 ... 90.0),
LON : Longitude - Format REAL (-180.0 ... 180.0),
Act : 0 si l'antenne est inactive, 1 si elle émet au moins en 4G - Format TINYINT,
Syst. 4G : systèmes 4G (en MHz) déclarés sur le support - Format TEXT - [optionnel],
Activations 4G : dates d'activation des fréquences 4G - Format TEXT YYYY-MM-DD - [optionnel],
Syst. 5G : systèmes 5G (en MHz) déclarés sur le support - Format TEXT - [optionnel],
Activations 5G : dates d'activation des fréquences 5G - Format TEXT YYYY-MM-DD - [optionnel],
PLMN : MCC+MNC de l'opérateur - Format INTEGER,
Azimuths : directions (en degrés entiers) des antennes du support - Format TEXT - [optionnel]



d. Librairies radio

L'appli dispose de plusieurs moyens pour récupérer les données de l'API radio Android. Cela peut être modifié via le réglage Librairie Radio afin de tenter de résoudre des problèmes rencontrés sur certains téléphones. Attention : un mauvais réglage peut dégrader le fonctionnement de l'appli.

■ EA Telephony  (recommandé)
Librairie à privilégier au maximum.

■ EA Telephony_NoCI
Alternative quand les données CellInfo ne sont pas disponibles. Utile, entre autres, pour les Pixel 6/7 et certains OS "exotiques". Ne pas utiliser cette librairie si une autre fonctionne.
Limitations : pas de fonctionnement en arrière-plan, PCI et EARFCN souvent incohérents.

■ EA Telephony_Strict
Variante de EA Telephony. Utile si dans une configuration dual-sim il y a un mélange entre opérateur et identifiant de cellule.

■ NetMonster Core  (depuis v5.3.3 b207)
Librairie tierce-partie développée par Michal Mroček.
Limitations : pas de détection de la 5G NSA ni affichage du ssRSRP (prévu par la librairie mais pas implémenté ici et sans conséquences sur le fonctionnement de l'appli).



e. Intégration externe

Le fonctionnement de l'appli (pour la capture des logs) peut être commandé depuis une autre appli via les intents d'Android :
fr.enb_analytics.enb4g.SERVICE_START   pour démarrer l'enregistrement,
fr.enb_analytics.enb4g.SERVICE_STOP   pour arrêter.



z. Problèmes connus

- Donnée radio absentes sur les Pixels séries 6/7 et certains SoC Mediatek -> aller dans les paramètres et modifier le réglage "Librairie radio" sur "EA Telephony_NoCI". Les points négatifs de ce réglage c'est que la capture de logs en arrière-plan ne fonctionnera plus et le risque d'incohérences est accru.
- Données radio disponibles par intermittance -> dans les paramètres, augmenter de délai d'acquisition.

Les données radio issues de l'API Android peuvent êtres visualisées de façon "brutes" sur l'appli : depuis le moniteur, menu en haut à droite -> "Plus..." puis Données radio. Pour les curieux, une application spécifique permet d'afficher les données importantes de façon plus conviviale, à télécharger ici.