Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • marin/ModemManager
  • mobile-broadband/ModemManager
  • lkundrak/ModemManager
  • t-8ch/ModemManager
  • rah/ModemManager
  • benchan/ModemManager
  • claudep/ModemManager
  • ebassi/ModemManager
  • dcbw/ModemManager
  • alfonsosanchezbeato/ModemManager
  • xingnifeng/ModemManager
  • paulbartell/ModemManager
  • MiloCasagrande/ModemManager
  • afett/ModemManager
  • svenschwermer/ModemManager
  • cancanxinxin/ModemManager
  • mjablonsky/ModemManager
  • vicamo/ModemManager
  • kraj/ModemManager
  • lisablanco777/ModemManager
  • Laymer/ModemManager
  • mahatma/ModemManager
  • ejcaruso/ModemManager
  • scootergrisen/ModemManager
  • fran.dieguez/ModemManager
  • bgalvani/ModemManager
  • dnlplm/ModemManager
  • c.lobrano/ModemManager
  • lingzangwuhen/ModemManager
  • aleksm/ModemManager
  • alexanderyashin/ModemManager
  • welaq/ModemManager
  • wi24rd/ModemManager
  • sadiq/ModemManager
  • Linaro/ModemManager
  • HED-mstarr/ModemManager
  • kdrobinski/ModemManager
  • emintufan/ModemManager
  • yurchor/ModemManager
  • rafaelff/ModemManager
  • remuswu1019/ModemManager
  • Fanice.luo/ModemManager
  • roman.stratiienko/ModemManager
  • mno294163/ModemManager
  • mozzwald/ModemManager
  • andika/ModemManager
  • fiziyr/ModemManager
  • teijo.kinnunen/ModemManager
  • dakhouya/ModemManager
  • gci/ModemManager
  • alexcani109/ModemManager
  • ArenM/ModemManager
  • bpeterlytx/ModemManager
  • Hagstrom/ModemManager
  • aplazas/ModemManager
  • justinsg/ModemManager
  • carlyin/ModemManager
  • dle0/ModemManager
  • jessy.diamondman/ModemManager
  • steven831926/ModemManager
  • nytowl/ModemManager
  • prescott66/ModemManager
  • ajonsson/ModemManager
  • mkm/ModemManager
  • pholla/ModemManager
  • wicadmin/ModemManager
  • deng.yi/ModemManager
  • madhavadas/ModemManager
  • fmartinsons/ModemManager
  • Nananas/ModemManager
  • loicpoulain/ModemManager
  • rafal.mszal/ModemManager
  • dylanvanassche/ModemManager
  • myrkr/ModemManager
  • mobilekiller742/ModemManager
  • maorui/ModemManager
  • timo.jyrinki/ModemManager
  • luksen/ModemManager
  • stoehraj/ModemManager
  • vpalatin/ModemManager
  • yaron/ModemManager
  • yegorslists/ModemManager
  • NorwayFun/ModemManager
  • takc923/ModemManager
  • zrshuo.zhang/ModemManager
  • zhuzhaoyu_fibocom/ModemManager
  • bentiss/ModemManager
  • Som_SP/ModemManager
  • KingSun/ModemManager
  • eliasr/ModemManager
  • craftyguy/ModemManager
  • 3378897661/ModemManager
  • ShivakuS/ModemManager
  • bmork/ModemManager
  • ivan.mikhanchuk/ModemManager
  • SimonGuan/ModemManager
  • ziyou/ModemManager
  • juliandehm/ModemManager
  • Jarrah/ModemManager
  • a-wai/ModemManager
  • ZhangMingjie/ModemManager
  • felipeborges/ModemManager
  • dirksu/ModemManager
  • conklinjames175/ModemManager
  • agupta/ModemManager
  • Jarvis-Jiang-G/ModemManager
  • qyliss/ModemManager
  • UnitacSW/ModemManager
  • joelselvaraj/ModemManager
  • mips171/ModemManager
  • LeSpocky/ModemManager
  • Benoit_Monin/ModemManager
  • inigomartinez/ModemManager
  • humb3rtoguti3rr3z/ModemManager
  • tpikonen/ModemManager
  • awaittrot/ModemManager
  • prakash_p/ModemManager
  • florencewchan/ModemManager
  • shawnguo/ModemManager
  • seabass/ModemManager
  • laeyraud/ModemManager
  • maciejsszmigiero/ModemManager
  • dansebcar/ModemManager
  • Shiva/ModemManager
  • stranche/ModemManager
  • anugrah/ModemManager
  • matthewvia/ModemManager
  • umohr/ModemManager
  • matlinuxer2/ModemManager
  • feckert/ModemManager
  • jakko/ModemManager
  • elguap0x0/ModemManager
  • Project0/ModemManager
  • Pac-Man/ModemManager
  • raphj/ModemManager
  • DadiBit/modem-manager
  • pholla1/ModemManager
  • jinjian.song/ModemManager
  • nathangoulding/ModemManager
  • sc0w/ModemManager
  • guisil/ModemManager
  • arbruijn/ModemManager
  • alor/ModemManager
  • andrewlassalle/ModemManager
  • sdeziel/ModemManager
  • troth/ModemManager
  • Stephan/ModemManager
  • nfollens/ModemManager
  • kzapalowicz/ModemManager
  • alad/ModemManager
  • quic_akasagga/ModemManager
  • rmao/ModemManager
  • chrta/ModemManager
  • nicholas123/ModemManager
  • aa13q/ModemManager
  • chandupokuru/ModemManager
  • dskorykh/ModemManager
  • skv/ModemManager
  • shawn.xiao/ModemManager
  • pineapplefurly/ModemManager
  • tsabsch/ModemManager
  • hthiery/ModemManager
  • devrtz/ModemManager
  • haata/ModemManager
  • okaestne/ModemManager
  • nmarupaka/ModemManager
  • simdeveloper/ModemManager
  • ShaneParslow/ModemManager
  • dukexinaw/ModemManager
  • james.fu/ModemManager
  • dchard/ModemManager
  • lvoegl/ModemManager
  • zaripov-kamil/ModemManager
  • kbuksha/ModemManager
  • dos/ModemManager
  • airsoup/ModemManager
  • mafolk/ModemManager
  • tomwimmenhove/ModemManager
  • Lauszus/ModemManager
  • ujjwalpande/ModemManager
  • jordimas/ModemManager
  • diekleinekuh/ModemManager
  • agx/ModemManager
  • PeterK/ModemManager
  • QuectelDuke/ModemManager
  • Lupuliang/ModemManager
  • sinaro/ModemManager
  • Jerry.Meng/ModemManager
  • dahopem/ModemManager
  • robimarko/ModemManager
  • ausil/ModemManager
  • Ming-Pei/ModemManager
  • mkrle/ModemManager
  • PaulosV/ModemManager
  • fabio.porcedda/ModemManager
  • kop316/ModemManager
  • rgenoud/ModemManager
  • janro/ModemManager
  • RICCIARDI-Adrien/ModemManager
  • Garfield/ModemManager
  • nt8r/ModemManager
  • floris.sm/ModemManager
  • quic_krelangi/ModemManager
  • bolan/ModemManager
  • svalery/ModemManager
  • kevlhop/ModemManager
  • evetsso/ModemManager
  • i-tek/ModemManager
  • vanillan/ModemManager
  • jean/ModemManager
  • tuxor1337/ModemManager
  • lupuliang5/ModemManager
  • fuzzy7k/ModemManager
  • piotrdrag/ModemManager
  • asusmith/ModemManager
  • Mank.Wang/ModemManager
  • mank/ModemManager
  • sleirsgoevy/ModemManager
  • quic_asusmith/ModemManager
  • cs99/ModemManager
  • barracuda156/ModemManager
  • anaghg/ModemManager
  • stigma/ModemManager
  • biemster/ModemManager
  • zolfa/ModemManager
  • Mank-Netprisma/ModemManager
  • andrew-sayers/ModemManager
  • jmkim/ModemManager
  • maldiran/ModemManager
229 results
Show changes
Commits on Source (2)
  • Sven Schwermer's avatar
    ublox: Add CDC-ECM support for SARA/LISA-U2xx · 98fbc7a8
    Sven Schwermer authored
    
    The SARA-U2xx and LISA-U20x require the PDP context to be activated via
    +UCEDATA instead of +CGACT=1 when using the CDC-ECM USB profile.
    Furthermore, they expect the DHCP discover packet from the TE while the
    command is running, i.e. while the modem has not replied yet. In order
    to achieve that, the bearer is marked as connected as soon as the
    command is issued. This makes the NetworkManager start the DHCP process.
    If the modem replies with an error, the bearer will be marked
    disconnected later on.
    
    Signed-off-by: default avatarSven Schwermer <sven.schwermer@disruptive-technologies.com>
    98fbc7a8
  • Ben Chan's avatar
    broadband-modem-mbim: update ms-basic-connect-extensions naming · 2522efb3
    Ben Chan authored and Aleksander Morgado's avatar Aleksander Morgado committed
    libmbim 1.17.4 (commit 3eeaa4248b98 "ms-basic-connect-extensions: rename
    service") added a MS prefix to the Basic Connectivity Extensions
    service. This patch updates the MMBroadbandModemMbim code accordingly.
    2522efb3
......@@ -317,7 +317,7 @@ dnl-----------------------------------------------------------------------------
dnl MBIM support (enabled by default)
dnl
LIBMBIM_VERSION=1.17.3
LIBMBIM_VERSION=1.17.4
AC_ARG_WITH(mbim, AS_HELP_STRING([--without-mbim], [Build without MBIM support]), [], [with_mbim=yes])
AM_CONDITIONAL(WITH_MBIM, test "x$with_mbim" = "xyes")
......
......@@ -55,6 +55,7 @@ struct _MMBroadbandBearerUbloxPrivate {
MMUbloxNetworkingMode mode;
MMUbloxBearerAllowedAuth allowed_auths;
FeatureSupport statistics;
FeatureSupport cedata;
};
/*****************************************************************************/
......@@ -327,6 +328,25 @@ dial_3gpp_finish (MMBroadbandBearer *self,
return MM_PORT (g_task_propagate_pointer (G_TASK (res), error));
}
static void
cedata_activate_ready (MMBaseModem *modem,
GAsyncResult *res,
MMBroadbandBearerUblox *self)
{
const gchar *response;
GError *error = NULL;
response = mm_base_modem_at_command_finish (modem, res, &error);
if (!response) {
mm_warn ("ECM data connection attempt failed: %s", error->message);
mm_base_bearer_report_connection_status (MM_BASE_BEARER (self),
MM_BEARER_CONNECTION_STATUS_DISCONNECTED);
g_error_free (error);
}
/* we received a full bearer object reference */
g_object_unref (self);
}
static void
cgact_activate_ready (MMBaseModem *modem,
GAsyncResult *res,
......@@ -354,15 +374,80 @@ activate_3gpp (GTask *task)
ctx = (CommonConnectContext *) g_task_get_task_data (task);
cmd = g_strdup_printf ("+CGACT=1,%u", ctx->cid);
mm_dbg ("activating PDP context #%u...", ctx->cid);
if (ctx->self->priv->profile == MM_UBLOX_USB_PROFILE_ECM &&
ctx->self->priv->cedata == FEATURE_SUPPORTED) {
/* SARA-U2xx and LISA-U20x only expose one CDC-ECM interface. Hence,
the fixed 0 as the interface index here. When we see modems with
multiple interfaces, this needs to be revisited. */
cmd = g_strdup_printf ("+UCEDATA=%u,0", ctx->cid);
mm_dbg ("establishing ECM data connection for PDP context #%u...", ctx->cid);
mm_base_modem_at_command (MM_BASE_MODEM (ctx->modem),
cmd,
180,
FALSE,
(GAsyncReadyCallback) cedata_activate_ready,
g_object_ref (ctx->self));
/* We'll mark the task done here since the modem expects the DHCP
discover packet while +UCEDATA runs. If the command fails, we'll
mark the bearer disconnected later in the callback. */
g_task_return_pointer (task, g_object_ref (ctx->data), g_object_unref);
g_object_unref (task);
} else {
cmd = g_strdup_printf ("+CGACT=1,%u", ctx->cid);
mm_dbg ("activating PDP context #%u...", ctx->cid);
mm_base_modem_at_command (MM_BASE_MODEM (ctx->modem),
cmd,
120,
FALSE,
(GAsyncReadyCallback) cgact_activate_ready,
task);
}
g_free (cmd);
}
static void
test_cedata_ready (MMBaseModem *modem,
GAsyncResult *res,
GTask *task)
{
CommonConnectContext *ctx;
const gchar *response;
ctx = (CommonConnectContext *) g_task_get_task_data (task);
response = mm_base_modem_at_command_finish (modem, res, NULL);
if (response)
ctx->self->priv->cedata = FEATURE_SUPPORTED;
else
ctx->self->priv->cedata = FEATURE_UNSUPPORTED;
mm_dbg ("u-blox: +UCEDATA command%s available",
(ctx->self->priv->cedata == FEATURE_SUPPORTED) ? "" : " not");
activate_3gpp (task);
}
static void
test_cedata (GTask *task)
{
CommonConnectContext *ctx;
ctx = (CommonConnectContext *) g_task_get_task_data (task);
/* We don't need to test for +UCEDATA if we're not using CDC-ECM or if we
have tested before. Instead, we jump right to the activation. */
if (ctx->self->priv->profile != MM_UBLOX_USB_PROFILE_ECM ||
ctx->self->priv->cedata != FEATURE_SUPPORT_UNKNOWN) {
activate_3gpp (task);
return;
}
mm_dbg ("u-blox: checking availability of +UCEDATA command...");
mm_base_modem_at_command (MM_BASE_MODEM (ctx->modem),
cmd,
120,
FALSE,
(GAsyncReadyCallback) cgact_activate_ready,
"+UCEDATA=?",
3,
TRUE, /* allow_cached */
(GAsyncReadyCallback) test_cedata_ready,
task);
g_free (cmd);
}
static void
......@@ -388,7 +473,7 @@ uauthreq_ready (MMBaseModem *modem,
g_error_free (error);
}
activate_3gpp (task);
test_cedata (task);
}
static void
......@@ -502,10 +587,10 @@ out:
g_object_unref (task);
return;
}
/* Otherwise, ignore and jump to activate_3gpp directly as no auth setup
/* Otherwise, ignore and jump to test_cedata directly as no auth setup
* is needed */
g_error_free (error);
activate_3gpp (task);
test_cedata (task);
return;
}
......@@ -879,6 +964,7 @@ mm_broadband_bearer_ublox_init (MMBroadbandBearerUblox *self)
self->priv->mode = MM_UBLOX_NETWORKING_MODE_UNKNOWN;
self->priv->allowed_auths = MM_UBLOX_BEARER_ALLOWED_AUTH_UNKNOWN;
self->priv->statistics = FEATURE_SUPPORT_UNKNOWN;
self->priv->cedata = FEATURE_SUPPORT_UNKNOWN;
}
static void
......
......@@ -2009,9 +2009,9 @@ query_device_services_ready (MbimDevice *device,
service = mbim_uuid_to_service (&device_services[i]->device_service_id);
switch (service) {
case MBIM_SERVICE_BASIC_CONNECT_EXTENSIONS:
case MBIM_SERVICE_MS_BASIC_CONNECT_EXTENSIONS:
for (j = 0; j < device_services[i]->cids_count; j++) {
if (device_services[i]->cids[j] == MBIM_CID_BASIC_CONNECT_EXTENSIONS_PCO) {
if (device_services[i]->cids[j] == MBIM_CID_MS_BASIC_CONNECT_EXTENSIONS_PCO) {
mm_dbg ("PCO is supported");
self->priv->is_pco_supported = TRUE;
break;
......@@ -2754,7 +2754,7 @@ sms_notification (MMBroadbandModemMbim *self,
}
static void
basic_connect_extensions_notification_pco (MMBroadbandModemMbim *self,
ms_basic_connect_extensions_notification_pco (MMBroadbandModemMbim *self,
MbimMessage *notification)
{
MbimPcoValue *pco_value;
......@@ -2762,7 +2762,7 @@ basic_connect_extensions_notification_pco (MMBroadbandModemMbim *self,
gchar *pco_data_hex;
MMPco *pco;
if (!mbim_message_basic_connect_extensions_pco_notification_parse (
if (!mbim_message_ms_basic_connect_extensions_pco_notification_parse (
notification,
&pco_value,
&error)) {
......@@ -2796,13 +2796,13 @@ basic_connect_extensions_notification_pco (MMBroadbandModemMbim *self,
}
static void
basic_connect_extensions_notification (MMBroadbandModemMbim *self,
ms_basic_connect_extensions_notification (MMBroadbandModemMbim *self,
MbimMessage *notification)
{
switch (mbim_message_indicate_status_get_cid (notification)) {
case MBIM_CID_BASIC_CONNECT_EXTENSIONS_PCO:
case MBIM_CID_MS_BASIC_CONNECT_EXTENSIONS_PCO:
if (self->priv->setup_flags & PROCESS_NOTIFICATION_FLAG_PCO)
basic_connect_extensions_notification_pco (self, notification);
ms_basic_connect_extensions_notification_pco (self, notification);
break;
default:
/* Ignore */
......@@ -2846,8 +2846,8 @@ device_notification_cb (MbimDevice *device,
case MBIM_SERVICE_BASIC_CONNECT:
basic_connect_notification (self, notification);
break;
case MBIM_SERVICE_BASIC_CONNECT_EXTENSIONS:
basic_connect_extensions_notification (self, notification);
case MBIM_SERVICE_MS_BASIC_CONNECT_EXTENSIONS:
ms_basic_connect_extensions_notification (self, notification);
break;
case MBIM_SERVICE_SMS:
sms_notification (self, notification);
......@@ -3083,10 +3083,10 @@ common_enable_disable_unsolicited_events (MMBroadbandModemMbim *self,
/* Basic connect extensions service */
if (self->priv->enable_flags & PROCESS_NOTIFICATION_FLAG_PCO) {
entries[n_entries] = g_new (MbimEventEntry, 1);
memcpy (&(entries[n_entries]->device_service_id), MBIM_UUID_BASIC_CONNECT_EXTENSIONS, sizeof (MbimUuid));
memcpy (&(entries[n_entries]->device_service_id), MBIM_UUID_MS_BASIC_CONNECT_EXTENSIONS, sizeof (MbimUuid));
entries[n_entries]->cids_count = 1;
entries[n_entries]->cids = g_new0 (guint32, 1);
entries[n_entries]->cids[0] = MBIM_CID_BASIC_CONNECT_EXTENSIONS_PCO;
entries[n_entries]->cids[0] = MBIM_CID_MS_BASIC_CONNECT_EXTENSIONS_PCO;
n_entries++;
}
......