aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKristian Sloth Lauszus <lauszus@gmail.com>2023-05-22 14:06:29 +0200
committerKristian Sloth Lauszus <lauszus@gmail.com>2023-05-22 19:48:48 +0200
commitf32a625a569b5ed9c6508adfdca0791d2274964e (patch)
treebce3376f235a4fea21148b0f63ef57776f8dcad0
parentb70fd80c0fb3ce56e6722898eadee38a945e1cbb (diff)
mm-modem-helpers-ublox: added support for ublox LARA-R6001 / LARA-R6001D modules
-rw-r--r--src/plugins/ublox/77-mm-ublox-port-types.rules17
-rw-r--r--src/plugins/ublox/mm-modem-helpers-ublox.c34
2 files changed, 50 insertions, 1 deletions
diff --git a/src/plugins/ublox/77-mm-ublox-port-types.rules b/src/plugins/ublox/77-mm-ublox-port-types.rules
index c2a1ac99..f478464e 100644
--- a/src/plugins/ublox/77-mm-ublox-port-types.rules
+++ b/src/plugins/ublox/77-mm-ublox-port-types.rules
@@ -1,6 +1,7 @@
# do not edit this file, it will be overwritten on update
ACTION!="add|change|move|bind", GOTO="mm_ublox_port_types_end"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1546", GOTO="mm_ublox_port_types"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="05c6", GOTO="mm_qualcomm_port_types"
GOTO="mm_ublox_port_types_end"
LABEL="mm_ublox_port_types"
@@ -75,4 +76,20 @@ ATTRS{idVendor}=="1546", ATTRS{idProduct}=="1104", ENV{.MM_USBIFNUM}=="02", ENV{
ATTRS{idVendor}=="1546", ATTRS{idProduct}=="1104", ENV{.MM_USBIFNUM}=="04", ENV{ID_MM_PORT_IGNORE}="1"
ATTRS{idVendor}=="1546", ATTRS{idProduct}=="1104", ENV{.MM_USBIFNUM}=="06", ENV{ID_MM_PORT_IGNORE}="1"
+GOTO="mm_ublox_port_types_end"
+
+LABEL="mm_qualcomm_port_types"
+
+SUBSYSTEMS=="usb", ATTRS{bInterfaceNumber}=="?*", ENV{.MM_USBIFNUM}="$attr{bInterfaceNumber}"
+
+# LARA-R6001 / LARA-R6001D port types
+# ttyUSB0 (if #0): diagnostic log (ignore)
+# ttyUSB1 (if #1): primary
+# ttyUSB2 (if #2): secondary
+# ttyUSB3 (if #3): unused (ignore)
+ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="908b", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_PORT_IGNORE}="1"
+ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="908b", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_PORT_TYPE_AT_PRIMARY}="1", ENV{ID_MM_DEVICE_PROCESS}="1"
+ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="908b", ENV{.MM_USBIFNUM}=="02", ENV{ID_MM_PORT_TYPE_AT_SECONDARY}="1", ENV{ID_MM_DEVICE_PROCESS}="1"
+ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="908b", ENV{.MM_USBIFNUM}=="03", ENV{ID_MM_PORT_IGNORE}="1"
+
LABEL="mm_ublox_port_types_end"
diff --git a/src/plugins/ublox/mm-modem-helpers-ublox.c b/src/plugins/ublox/mm-modem-helpers-ublox.c
index 84a7cf27..0fd1c5b0 100644
--- a/src/plugins/ublox/mm-modem-helpers-ublox.c
+++ b/src/plugins/ublox/mm-modem-helpers-ublox.c
@@ -452,11 +452,43 @@ typedef struct {
MMModemMode mode;
MMModemBand bands_2g[4];
MMModemBand bands_3g[6];
- MMModemBand bands_4g[12];
+ MMModemBand bands_4g[18];
} BandConfiguration;
static const BandConfiguration band_configuration[] = {
{
+ .model = "LARA-R6001",
+ .method = SETTINGS_UPDATE_METHOD_COPS,
+ .uact = FEATURE_UNSUPPORTED,
+ .ubandsel = FEATURE_UNSUPPORTED,
+ .mode = MM_MODEM_MODE_2G | MM_MODEM_MODE_3G | MM_MODEM_MODE_4G,
+ .bands_2g = { MM_MODEM_BAND_G850, MM_MODEM_BAND_EGSM, MM_MODEM_BAND_DCS, MM_MODEM_BAND_PCS }, /* Quad-band */
+ .bands_3g = { MM_MODEM_BAND_UTRAN_2, MM_MODEM_BAND_UTRAN_1,
+ MM_MODEM_BAND_UTRAN_5, MM_MODEM_BAND_UTRAN_8 }, /* 1900, 2100, 850, 900 */
+ .bands_4g = { MM_MODEM_BAND_EUTRAN_1, MM_MODEM_BAND_EUTRAN_2, MM_MODEM_BAND_EUTRAN_3,
+ MM_MODEM_BAND_EUTRAN_4, MM_MODEM_BAND_EUTRAN_5, MM_MODEM_BAND_EUTRAN_7,
+ MM_MODEM_BAND_EUTRAN_8, MM_MODEM_BAND_EUTRAN_12, MM_MODEM_BAND_EUTRAN_13,
+ MM_MODEM_BAND_EUTRAN_18, MM_MODEM_BAND_EUTRAN_19, MM_MODEM_BAND_EUTRAN_20,
+ MM_MODEM_BAND_EUTRAN_26, MM_MODEM_BAND_EUTRAN_28, MM_MODEM_BAND_EUTRAN_38,
+ MM_MODEM_BAND_EUTRAN_39, MM_MODEM_BAND_EUTRAN_40, MM_MODEM_BAND_EUTRAN_41 }
+ },
+ {
+ .model = "LARA-R6001D",
+ .method = SETTINGS_UPDATE_METHOD_COPS,
+ .uact = FEATURE_UNSUPPORTED,
+ .ubandsel = FEATURE_UNSUPPORTED,
+ .mode = MM_MODEM_MODE_2G | MM_MODEM_MODE_3G | MM_MODEM_MODE_4G,
+ .bands_2g = { MM_MODEM_BAND_G850, MM_MODEM_BAND_EGSM, MM_MODEM_BAND_DCS, MM_MODEM_BAND_PCS }, /* Quad-band */
+ .bands_3g = { MM_MODEM_BAND_UTRAN_2, MM_MODEM_BAND_UTRAN_1,
+ MM_MODEM_BAND_UTRAN_5, MM_MODEM_BAND_UTRAN_8 }, /* 1900, 2100, 850, 900 */
+ .bands_4g = { MM_MODEM_BAND_EUTRAN_1, MM_MODEM_BAND_EUTRAN_2, MM_MODEM_BAND_EUTRAN_3,
+ MM_MODEM_BAND_EUTRAN_4, MM_MODEM_BAND_EUTRAN_5, MM_MODEM_BAND_EUTRAN_7,
+ MM_MODEM_BAND_EUTRAN_8, MM_MODEM_BAND_EUTRAN_12, MM_MODEM_BAND_EUTRAN_13,
+ MM_MODEM_BAND_EUTRAN_18, MM_MODEM_BAND_EUTRAN_19, MM_MODEM_BAND_EUTRAN_20,
+ MM_MODEM_BAND_EUTRAN_26, MM_MODEM_BAND_EUTRAN_28, MM_MODEM_BAND_EUTRAN_38,
+ MM_MODEM_BAND_EUTRAN_39, MM_MODEM_BAND_EUTRAN_40, MM_MODEM_BAND_EUTRAN_41 }
+ },
+ {
.model = "SARA-G300",
.method = SETTINGS_UPDATE_METHOD_COPS,
.uact = FEATURE_UNSUPPORTED,