[PATCH] libmbim-glib: add additional cause codes to MbimNwError
Ben Chan
benchan at chromium.org
Fri Jun 1 23:15:01 UTC 2018
A bit more context: I'm mostly interested in those cause codes like
#29 (User authentication failed), #50 (PDP type IPv4 only allowed),
#51 (PDP type IPv6 only allowed), which will be propagated through
ModemManager (I'll post a follow-up MM patch) to our connection
manager to determine if the user enters incorrect APN or IP-type
parameters. This patch includes other cause codes for completeness.
On Fri, Jun 1, 2018 at 4:10 PM Ben Chan <benchan at chromium.org> wrote:
>
> This patch updates MbimNwError to include additional cause codes, which
> are related to PDP context activation, defined in the 3GPP TS 24.008
> specification section 6.1.3.1.3.1.
> ---
> src/libmbim-glib/mbim-enums.h | 92 ++++++++++++++++++++++-------------
> 1 file changed, 57 insertions(+), 35 deletions(-)
>
> diff --git a/src/libmbim-glib/mbim-enums.h b/src/libmbim-glib/mbim-enums.h
> index d3d4fbc..0dedfc8 100644
> --- a/src/libmbim-glib/mbim-enums.h
> +++ b/src/libmbim-glib/mbim-enums.h
> @@ -390,11 +390,20 @@ typedef enum {
> * @MBIM_NW_ERROR_CONGESTION: Congestion.
> * @MBIM_NW_ERROR_GSM_AUTHENTICATION_UNACCEPTABLE: GSM authentication unacceptable.
> * @MBIM_NW_ERROR_NOT_AUTHORIZED_FOR_CSG: Not authorized for this CSG.
> + * @MBIM_NW_ERROR_INSUFFICIENT_RESOURCES: Insufficient resources.
> * @MBIM_NW_ERROR_MISSING_OR_UNKNOWN_APN: Missing or unknown access point name.
> + * @MBIM_NW_ERROR_UNKNOWN_PDP_ADDRESS_OR_PDP_TYPE: Unknown PDP address or PDP type.
> + * @MBIM_NW_ERROR_USER_AUTHENTICATION_FAILED: User authentication failed.
> + * @MBIM_NW_ERROR_ACTIVATION_REJECTED_BY_GGSN_SERVING_GW_OR_PDN_GW: Activation rejected by GGSN, Serving GW or PDN GW.
> + * @MBIM_NW_ERROR_ACTIVATION_REJECTED_UNSPECIFIED: Activation rejected, unspecified.
> * @MBIM_NW_ERROR_SERVICE_OPTION_NOT_SUPPORTED: Service option not supported.
> * @MBIM_NW_ERROR_REQUESTED_SERVICE_OPTION_NOT_SUBSCRIBED: Requested service option not subscribed.
> * @MBIM_NW_ERROR_SERVICE_OPTION_TEMPORARILY_OUT_OF_ORDER: Service option temporarily out of order.
> * @MBIM_NW_ERROR_NO_PDP_CONTEXT_ACTIVATED: No PDP context activated.
> + * @MBIM_NW_ERROR_PDP_TYPE_IPV4_ONLY_ALLOWED: PDP type IPv4 only allowed.
> + * @MBIM_NW_ERROR_PDP_TYPE_IPV6_ONLY_ALLOWED: PDP type IPv6 only allowed.
> + * @MBIM_NW_ERROR_MAXIMUM_NUMBER_OF_PDP_CONTEXTS_REACHED: Maximum number of PDP contexts reached.
> + * @MBIM_NW_ERROR_REQUESTED_APN_NOT_SUPPORTED_IN_CURRENT_RAT_AND_PLMN: Requested APN not supported in current RAT and PLMN combination.
> * @MBIM_NW_ERROR_SEMANTICALLY_INCORRECT_MESSAGE: Semantically incorrect message.
> * @MBIM_NW_ERROR_INVALID_MANDATORY_INFORMATION: Invalid mandatory information.
> * @MBIM_NW_ERROR_MESSAGE_TYPE_NON_EXISTENT_OR_NOT_IMPLEMENTED: Message type non-existent or not implemented.
> @@ -403,45 +412,58 @@ typedef enum {
> * @MBIM_NW_ERROR_CONDITIONAL_IE_ERROR: Conditional IE error.
> * @MBIM_NW_ERROR_MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE: Message not compatible with protocol state.
> * @MBIM_NW_ERROR_PROTOCOL_ERROR_UNSPECIFIED: Protocol error, unspecified.
> + * @MBIM_NW_ERROR_APN_RESTRICTION_VALUE_INCOMPATIBLE_WITH_ACTIVE_PDP_CONTEXT: APN restriction value incompatible with active PDP context.
> + * @MBIM_NW_ERROR_MULTIPLE_ACCESSES_TO_A_PDN_CONNECTION_NOT_ALLOWED: Multiple accesses to a PDN connection not allowed.
> *
> * Network errors.
> */
> typedef enum {
> - MBIM_NW_ERROR_UNKNOWN = 0,
> - MBIM_NW_ERROR_IMSI_UNKNOWN_IN_HLR = 2,
> - MBIM_NW_ERROR_ILLEGAL_MS = 3,
> - MBIM_NW_ERROR_IMSI_UNKNOWN_IN_VLR = 4,
> - MBIM_NW_ERROR_IMEI_NOT_ACCEPTED = 5,
> - MBIM_NW_ERROR_ILLEGAL_ME = 6,
> - MBIM_NW_ERROR_GPRS_NOT_ALLOWED = 7,
> - MBIM_NW_ERROR_GPRS_AND_NON_GPRS_NOT_ALLOWED = 8,
> - MBIM_NW_ERROR_MS_IDENTITY_NOT_DERIVED_BY_NETWORK = 9,
> - MBIM_NW_ERROR_IMPLICITLY_DETACHED = 10,
> - MBIM_NW_ERROR_PLMN_NOT_ALLOWED = 11,
> - MBIM_NW_ERROR_LOCATION_AREA_NOT_ALLOWED = 12,
> - MBIM_NW_ERROR_ROAMING_NOT_ALLOWED_IN_LOCATION_AREA = 13,
> - MBIM_NW_ERROR_GPRS_NOT_ALLOWED_IN_PLMN = 14,
> - MBIM_NW_ERROR_NO_CELLS_IN_LOCATION_AREA = 15,
> - MBIM_NW_ERROR_MSC_TEMPORARILY_NOT_REACHABLE = 16,
> - MBIM_NW_ERROR_NETWORK_FAILURE = 17,
> - MBIM_NW_ERROR_MAC_FAILURE = 20,
> - MBIM_NW_ERROR_SYNCH_FAILURE = 21,
> - MBIM_NW_ERROR_CONGESTION = 22,
> - MBIM_NW_ERROR_GSM_AUTHENTICATION_UNACCEPTABLE = 23,
> - MBIM_NW_ERROR_NOT_AUTHORIZED_FOR_CSG = 25,
> - MBIM_NW_ERROR_MISSING_OR_UNKNOWN_APN = 27,
> - MBIM_NW_ERROR_SERVICE_OPTION_NOT_SUPPORTED = 32,
> - MBIM_NW_ERROR_REQUESTED_SERVICE_OPTION_NOT_SUBSCRIBED = 33,
> - MBIM_NW_ERROR_SERVICE_OPTION_TEMPORARILY_OUT_OF_ORDER = 34,
> - MBIM_NW_ERROR_NO_PDP_CONTEXT_ACTIVATED = 40,
> - MBIM_NW_ERROR_SEMANTICALLY_INCORRECT_MESSAGE = 95,
> - MBIM_NW_ERROR_INVALID_MANDATORY_INFORMATION = 96,
> - MBIM_NW_ERROR_MESSAGE_TYPE_NON_EXISTENT_OR_NOT_IMPLEMENTED = 97,
> - MBIM_NW_ERROR_MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 98,
> - MBIM_NW_ERROR_INFORMATION_ELEMENT_NON_EXISTENT_OR_NOT_IMPLEMENTED = 99,
> - MBIM_NW_ERROR_CONDITIONAL_IE_ERROR = 100,
> - MBIM_NW_ERROR_MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101,
> - MBIM_NW_ERROR_PROTOCOL_ERROR_UNSPECIFIED = 111
> + MBIM_NW_ERROR_UNKNOWN = 0,
> + MBIM_NW_ERROR_IMSI_UNKNOWN_IN_HLR = 2,
> + MBIM_NW_ERROR_ILLEGAL_MS = 3,
> + MBIM_NW_ERROR_IMSI_UNKNOWN_IN_VLR = 4,
> + MBIM_NW_ERROR_IMEI_NOT_ACCEPTED = 5,
> + MBIM_NW_ERROR_ILLEGAL_ME = 6,
> + MBIM_NW_ERROR_GPRS_NOT_ALLOWED = 7,
> + MBIM_NW_ERROR_GPRS_AND_NON_GPRS_NOT_ALLOWED = 8,
> + MBIM_NW_ERROR_MS_IDENTITY_NOT_DERIVED_BY_NETWORK = 9,
> + MBIM_NW_ERROR_IMPLICITLY_DETACHED = 10,
> + MBIM_NW_ERROR_PLMN_NOT_ALLOWED = 11,
> + MBIM_NW_ERROR_LOCATION_AREA_NOT_ALLOWED = 12,
> + MBIM_NW_ERROR_ROAMING_NOT_ALLOWED_IN_LOCATION_AREA = 13,
> + MBIM_NW_ERROR_GPRS_NOT_ALLOWED_IN_PLMN = 14,
> + MBIM_NW_ERROR_NO_CELLS_IN_LOCATION_AREA = 15,
> + MBIM_NW_ERROR_MSC_TEMPORARILY_NOT_REACHABLE = 16,
> + MBIM_NW_ERROR_NETWORK_FAILURE = 17,
> + MBIM_NW_ERROR_MAC_FAILURE = 20,
> + MBIM_NW_ERROR_SYNCH_FAILURE = 21,
> + MBIM_NW_ERROR_CONGESTION = 22,
> + MBIM_NW_ERROR_GSM_AUTHENTICATION_UNACCEPTABLE = 23,
> + MBIM_NW_ERROR_NOT_AUTHORIZED_FOR_CSG = 25,
> + MBIM_NW_ERROR_INSUFFICIENT_RESOURCES = 26,
> + MBIM_NW_ERROR_MISSING_OR_UNKNOWN_APN = 27,
> + MBIM_NW_ERROR_UNKNOWN_PDP_ADDRESS_OR_PDP_TYPE = 28,
> + MBIM_NW_ERROR_USER_AUTHENTICATION_FAILED = 29,
> + MBIM_NW_ERROR_ACTIVATION_REJECTED_BY_GGSN_SERVING_GW_OR_PDN_GW = 30,
> + MBIM_NW_ERROR_ACTIVATION_REJECTED_UNSPECIFIED = 31,
> + MBIM_NW_ERROR_SERVICE_OPTION_NOT_SUPPORTED = 32,
> + MBIM_NW_ERROR_REQUESTED_SERVICE_OPTION_NOT_SUBSCRIBED = 33,
> + MBIM_NW_ERROR_SERVICE_OPTION_TEMPORARILY_OUT_OF_ORDER = 34,
> + MBIM_NW_ERROR_NO_PDP_CONTEXT_ACTIVATED = 40,
> + MBIM_NW_ERROR_PDP_TYPE_IPV4_ONLY_ALLOWED = 50,
> + MBIM_NW_ERROR_PDP_TYPE_IPV6_ONLY_ALLOWED = 51,
> + MBIM_NW_ERROR_MAXIMUM_NUMBER_OF_PDP_CONTEXTS_REACHED = 65,
> + MBIM_NW_ERROR_REQUESTED_APN_NOT_SUPPORTED_IN_CURRENT_RAT_AND_PLMN = 66,
> + MBIM_NW_ERROR_SEMANTICALLY_INCORRECT_MESSAGE = 95,
> + MBIM_NW_ERROR_INVALID_MANDATORY_INFORMATION = 96,
> + MBIM_NW_ERROR_MESSAGE_TYPE_NON_EXISTENT_OR_NOT_IMPLEMENTED = 97,
> + MBIM_NW_ERROR_MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 98,
> + MBIM_NW_ERROR_INFORMATION_ELEMENT_NON_EXISTENT_OR_NOT_IMPLEMENTED = 99,
> + MBIM_NW_ERROR_CONDITIONAL_IE_ERROR = 100,
> + MBIM_NW_ERROR_MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101,
> + MBIM_NW_ERROR_PROTOCOL_ERROR_UNSPECIFIED = 111,
> + MBIM_NW_ERROR_APN_RESTRICTION_VALUE_INCOMPATIBLE_WITH_ACTIVE_PDP_CONTEXT = 112,
> + MBIM_NW_ERROR_MULTIPLE_ACCESSES_TO_A_PDN_CONNECTION_NOT_ALLOWED = 113
> } MbimNwError;
>
> /**
> --
> 2.17.1.1185.g55be947832-goog
>
> _______________________________________________
> libmbim-devel mailing list
> libmbim-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/libmbim-devel
More information about the libmbim-devel
mailing list