diff options
-rw-r--r-- | plugins/Makefile.am | 8 | ||||
-rw-r--r-- | plugins/foxconn/mm-broadband-modem-mbim-foxconn.c | 12 | ||||
-rwxr-xr-x | plugins/foxconn/mm-foxconn-t99w175-carrier-mapping.conf | 344 | ||||
-rw-r--r-- | plugins/tests/test-keyfiles.c | 7 |
4 files changed, 368 insertions, 3 deletions
diff --git a/plugins/Makefile.am b/plugins/Makefile.am index e47d38c3..b95edba0 100644 --- a/plugins/Makefile.am +++ b/plugins/Makefile.am @@ -726,11 +726,15 @@ libmm_plugin_foxconn_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS) dist_udevrules_DATA += foxconn/77-mm-foxconn-port-types.rules -dist_pkgdata_DATA += foxconn/mm-foxconn-t77w968-carrier-mapping.conf +dist_pkgdata_DATA += \ + foxconn/mm-foxconn-t77w968-carrier-mapping.conf \ + foxconn/mm-foxconn-t99w175-carrier-mapping.conf \ + $(NULL) AM_CFLAGS += \ -DTESTUDEVRULESDIR_FOXCONN=\"${srcdir}/foxconn\" \ - -DTESTKEYFILE_FOXCONN=\"${srcdir}/foxconn/mm-foxconn-t77w968-carrier-mapping.conf\" \ + -DTESTKEYFILE_FOXCONN_T77W968=\"${srcdir}/foxconn/mm-foxconn-t77w968-carrier-mapping.conf\" \ + -DTESTKEYFILE_FOXCONN_T99W175=\"${srcdir}/foxconn/mm-foxconn-t99w175-carrier-mapping.conf\" \ $(NULL) endif diff --git a/plugins/foxconn/mm-broadband-modem-mbim-foxconn.c b/plugins/foxconn/mm-broadband-modem-mbim-foxconn.c index 5710e25f..ee160113 100644 --- a/plugins/foxconn/mm-broadband-modem-mbim-foxconn.c +++ b/plugins/foxconn/mm-broadband-modem-mbim-foxconn.c @@ -498,6 +498,16 @@ mm_broadband_modem_mbim_foxconn_new (const gchar *device, guint16 vendor_id, guint16 product_id) { + const gchar *carrier_config_mapping = NULL; + + /* T77W968 (DW5821e is also T77W968) modules use t77w968 carrier mapping table, + * T99W175 modules use t99w175 carrier mapping table. */ + if ((vendor_id == 0x0489 && (product_id == 0xe0b4 || product_id == 0xe0b5)) || + (vendor_id == 0x413c && (product_id == 0x81d7 || product_id == 0x81e0))) + carrier_config_mapping = PKGDATADIR "/mm-foxconn-t77w968-carrier-mapping.conf"; + else if (vendor_id == 0x105b && (product_id == 0xe0ab || product_id == 0xe0b0 || product_id == 0xe0b1)) + carrier_config_mapping = PKGDATADIR "/mm-foxconn-t99w175-carrier-mapping.conf"; + return g_object_new (MM_TYPE_BROADBAND_MODEM_MBIM_FOXCONN, MM_BASE_MODEM_DEVICE, device, MM_BASE_MODEM_DRIVERS, drivers, @@ -511,7 +521,7 @@ mm_broadband_modem_mbim_foxconn_new (const gchar *device, MM_IFACE_MODEM_SIM_HOT_SWAP_CONFIGURED, FALSE, MM_IFACE_MODEM_PERIODIC_SIGNAL_CHECK_DISABLED, TRUE, MM_IFACE_MODEM_LOCATION_ALLOW_GPS_UNMANAGED_ALWAYS, TRUE, - MM_IFACE_MODEM_CARRIER_CONFIG_MAPPING, PKGDATADIR "/mm-foxconn-t77w968-carrier-mapping.conf", + MM_IFACE_MODEM_CARRIER_CONFIG_MAPPING, carrier_config_mapping, NULL); } diff --git a/plugins/foxconn/mm-foxconn-t99w175-carrier-mapping.conf b/plugins/foxconn/mm-foxconn-t99w175-carrier-mapping.conf new file mode 100755 index 00000000..ee674910 --- /dev/null +++ b/plugins/foxconn/mm-foxconn-t99w175-carrier-mapping.conf @@ -0,0 +1,344 @@ + +# +# T99W175 carrier mapping table +# +# This table maps the MCCMNC of the SIM card with the corresponding +# configuration description as reported by the QMI PDC service in +# this module. +# + +[foxconn t99w175] + +# AT&T +302220=ATT +302221=ATT +31030=ATT +31070=ATT +31090=ATT +310150=ATT +310170=ATT +310280=ATT +310380=ATT +310410=ATT +310560=ATT +310650=ATT +310680=ATT +310980=ATT +311180=ATT +90118=ATT + +# FirstNet +312670=A2 +313100=A2 +313110=A2 +313120=A2 +313130=A2 +313140=A2 + +# Orange +20610=Orange +20801=Orange +20802=Orange +21403=Orange +21409=Orange +22610=Orange +23101=Orange +23105=Orange +25901=Orange +26003=Orange +26005=Orange +27099=Orange + +# Swisscom +22801=Swisscom +29501=Swisscom + +# Telefonica Movistar +21405=Telefonica +21407=Telefonica +23402=Telefonica +23410=Telefonica +23411=Telefonica +26203=Telefonica +26207=Telefonica +26208=Telefonica +26211=Telefonica +26217=Telefonica +26270=Telefonica +26277=Telefonica + +# Telstra +50501=Telstra +50506=Telstra +50571=Telstra +50572=Telstra + +# Verizon +310590=Verizon +310890=Verizon +311270=Verizon +311480=Verizon +312770=Verizon + +# Vodafone +20205=Vodafone +20404=Vodafone +21401=Vodafone +21670=Vodafone +22210=Vodafone +22601=Vodafone +23003=Vodafone +23415=Vodafone +26202=Vodafone +26209=Vodafone +26801=Vodafone +27201=Vodafone +27402=Vodafone +27602=Vodafone +27801=Vodafone +28602=Vodafone +28802=Vodafone +40004=Vodafone +40401=Vodafone +40405=Vodafone +40411=Vodafone +40413=Vodafone +40415=Vodafone +40420=Vodafone +40427=Vodafone +40430=Vodafone +40443=Vodafone +40446=Vodafone +40460=Vodafone +40484=Vodafone +40486=Vodafone +40488=Vodafone +40566=Vodafone +40567=Vodafone +405750=Vodafone +405751=Vodafone +405752=Vodafone +405753=Vodafone +405754=Vodafone +405755=Vodafone +405756=Vodafone +42702=Vodafone +46601=Vodafone +46603=Vodafone +50503=Vodafone +53001=Vodafone +54201=Vodafone +60202=Vodafone +62002=Vodafone +63001=Vodafone +63902=Vodafone +64004=Vodafone +64304=Vodafone +65101=Vodafone +65501=Vodafone +90128=Vodafone + +# NTT DoCoMo +44002=Docomo +44003=Docomo +44009=Docomo +44010=Docomo +44012=Docomo +44013=Docomo +44014=Docomo +44015=Docomo +44016=Docomo +44017=Docomo +44018=Docomo +44019=Docomo +44022=Docomo +44023=Docomo +44024=Docomo +44025=Docomo +44026=Docomo +44027=Docomo +44028=Docomo +44029=Docomo +44030=Docomo +44031=Docomo +44032=Docomo +44033=Docomo +44034=Docomo +44035=Docomo +44036=Docomo +44037=Docomo +44038=Docomo +44039=Docomo +44049=Docomo +44058=Docomo +44060=Docomo +44061=Docomo +44062=Docomo +44063=Docomo +44064=Docomo +44065=Docomo +44066=Docomo +44067=Docomo +44068=Docomo +44069=Docomo +44087=Docomo +44099=Docomo +44140=Docomo +44141=Docomo +44142=Docomo +44143=Docomo +44144=Docomo +44145=Docomo +44190=Docomo +44192=Docomo +44193=Docomo +44194=Docomo +44198=Docomo +44199=Docomo + +# KDDI +44007=KDDI +44008=KDDI +44050=KDDI +44051=KDDI +44052=KDDI +44053=KDDI +44054=KDDI +44055=KDDI +44056=KDDI +44070=KDDI +44071=KDDI +44072=KDDI +44073=KDDI +44074=KDDI +44075=KDDI +44076=KDDI +44077=KDDI +44078=KDDI +44079=KDDI +44080=KDDI +44081=KDDI +44082=KDDI +44083=KDDI +44084=KDDI +44085=KDDI +44086=KDDI +44088=KDDI +44089=KDDI +44150=KDDI +44151=KDDI +44170=KDDI + +# SoftBank +44000=SBM +44004=SBM +44006=SBM +44020=SBM +44021=SBM +44040=SBM +44041=SBM +44042=SBM +44043=SBM +44044=SBM +44045=SBM +44046=SBM +44047=SBM +44048=SBM +44090=SBM +44092=SBM +44093=SBM +44094=SBM +44095=SBM +44096=SBM +44097=SBM +44098=SBM +44101=SBM +44161=SBM +44162=SBM +44163=SBM +44164=SBM +44165=SBM + +# CMCC +46000=CMCC +46002=CMCC +46004=CMCC +46007=CMCC +46008=CMCC +46013=CMCC + +# CU +46001=CU +46006=CU +46009=CU + +# CT +46003=CT +46005=CT +46011=CT +46012=CT + +# Optus +50202=Optus + +# Deutsche Telekom +20416=DT +20420=DT +21630=DT +21901=DT +22603=DT +23001=DT +23102=DT +23202=DT +23203=DT +23213=DT +26002=DT +26010=DT +26201=DT +26206=DT +29401=DT +29702=DT + +# EE UK +23430=EE +23431=EE +23432=EE +23433=EE +23434=EE +23476=EE +23501=EE +23502=EE +23577=EE + +# SmarTone +45406=ST +45415=ST +45417=ST + +# TIM +22201=TIM + +# T-mobile +310120=T-mobile +310160=T-mobile +310200=T-mobile +310210=T-mobile +310220=T-mobile +310230=T-mobile +310240=T-mobile +310250=T-mobile +310260=T-mobile +310270=T-mobile +310310=T-mobile +310490=T-mobile +310660=T-mobile +310800=T-mobile +311490=T-mobile +311870=T-mobile +311880=T-mobile +312190=T-mobile +312530=T-mobile +31610=T-mobile + +# Others +generic=GCF diff --git a/plugins/tests/test-keyfiles.c b/plugins/tests/test-keyfiles.c index d528cac9..05725864 100644 --- a/plugins/tests/test-keyfiles.c +++ b/plugins/tests/test-keyfiles.c @@ -60,6 +60,12 @@ test_foxconn_t77w968 (void) { common_test (TESTKEYFILE_FOXCONN_T77W968); } + +static void +test_foxconn_t99w175 (void) +{ + common_test (TESTKEYFILE_FOXCONN_T99W175); +} #endif /************************************************************/ @@ -73,6 +79,7 @@ int main (int argc, char **argv) #if defined ENABLE_PLUGIN_FOXCONN g_test_add_func ("/MM/test-keyfiles/foxconn/t77w968", test_foxconn_t77w968); + g_test_add_func ("/MM/test-keyfiles/foxconn/t99w175", test_foxconn_t99w175); #endif return g_test_run (); |