feat(ui): improve network connection display with operator lookup

Add operators.json with MCC/MNC codes for common operators.
Parse AT+COPS? response to show operator name, country, technology,
and connection mode in a user-friendly format.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
PaulVua
2026-02-10 10:10:42 +01:00
parent 20ba897cde
commit 53e7c77322
2 changed files with 218 additions and 6 deletions

View File

@@ -0,0 +1,66 @@
{
"operators": {
"20801": { "name": "Orange", "country": "France" },
"20802": { "name": "Orange", "country": "France" },
"20810": { "name": "SFR", "country": "France" },
"20811": { "name": "SFR", "country": "France" },
"20813": { "name": "SFR", "country": "France" },
"20815": { "name": "Free Mobile", "country": "France" },
"20816": { "name": "Free Mobile", "country": "France" },
"20820": { "name": "Bouygues Telecom", "country": "France" },
"20821": { "name": "Bouygues Telecom", "country": "France" },
"20826": { "name": "NRJ Mobile", "country": "France" },
"20888": { "name": "Bouygues Telecom", "country": "France" },
"22201": { "name": "TIM", "country": "Italy" },
"22210": { "name": "Vodafone", "country": "Italy" },
"22288": { "name": "WIND", "country": "Italy" },
"22299": { "name": "3 Italia", "country": "Italy" },
"23410": { "name": "O2", "country": "UK" },
"23415": { "name": "Vodafone", "country": "UK" },
"23420": { "name": "3", "country": "UK" },
"23430": { "name": "EE", "country": "UK" },
"23433": { "name": "EE", "country": "UK" },
"26201": { "name": "Telekom", "country": "Germany" },
"26202": { "name": "Vodafone", "country": "Germany" },
"26203": { "name": "O2", "country": "Germany" },
"26207": { "name": "O2", "country": "Germany" },
"21401": { "name": "Vodafone", "country": "Spain" },
"21403": { "name": "Orange", "country": "Spain" },
"21404": { "name": "Yoigo", "country": "Spain" },
"21407": { "name": "Movistar", "country": "Spain" },
"22801": { "name": "Swisscom", "country": "Switzerland" },
"22802": { "name": "Sunrise", "country": "Switzerland" },
"22803": { "name": "Salt", "country": "Switzerland" },
"20601": { "name": "Proximus", "country": "Belgium" },
"20610": { "name": "Orange", "country": "Belgium" },
"20620": { "name": "Base", "country": "Belgium" },
"20404": { "name": "Vodafone", "country": "Netherlands" },
"20408": { "name": "KPN", "country": "Netherlands" },
"20412": { "name": "T-Mobile", "country": "Netherlands" },
"20416": { "name": "T-Mobile", "country": "Netherlands" },
"26801": { "name": "Vodafone", "country": "Portugal" },
"26803": { "name": "NOS", "country": "Portugal" },
"26806": { "name": "MEO", "country": "Portugal" },
"29340": { "name": "SI Mobil", "country": "Slovenia" },
"29341": { "name": "Mobitel", "country": "Slovenia" }
},
"modes": {
"0": "Automatic",
"1": "Manual",
"2": "Deregistered",
"3": "Format only",
"4": "Manual/Automatic"
},
"accessTechnology": {
"0": "GSM",
"1": "GSM Compact",
"2": "UTRAN (3G)",
"3": "GSM/GPRS with EDGE",
"4": "UTRAN with HSDPA",
"5": "UTRAN with HSUPA",
"6": "UTRAN with HSDPA/HSUPA",
"7": "LTE (4G)",
"8": "EC-GSM-IoT",
"9": "LTE Cat-M / NB-IoT"
}
}