93 lines
3.1 KiB
Python
93 lines
3.1 KiB
Python
# Copyright (c) 2015 The Chromium OS Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
"""
|
|
This module defines the constants which are used in different components
|
|
within the MBIM compliance suite.
|
|
All the constants should match the values and names specified in MBIM
|
|
Specification[1].
|
|
|
|
Reference:
|
|
[1] Universal Serial Bus Communications Class Subclass Specification for
|
|
Mobile Broadband Interface Model
|
|
http://www.usb.org/developers/docs/devclass_docs/
|
|
MBIM10Errata1_073013.zip
|
|
"""
|
|
import uuid
|
|
|
|
|
|
# The following type values are defined for the MBIM control messages sent from
|
|
# the host to the device.
|
|
MBIM_OPEN_MSG = 0x00000001
|
|
MBIM_CLOSE_MSG = 0x00000002
|
|
MBIM_COMMAND_MSG = 0x00000003
|
|
MBIM_HOST_ERROR_MSG = 0x00000004
|
|
|
|
# The following type values are defined for the MBIM control messages sent from
|
|
# the device to the host.
|
|
MBIM_OPEN_DONE = 0x80000001
|
|
MBIM_CLOSE_DONE = 0x80000002
|
|
MBIM_COMMAND_DONE = 0x80000003
|
|
MBIM_FUNCTION_ERROR_MSG = 0x80000004
|
|
MBIM_INDICATE_STATUS_MSG = 0x80000007
|
|
|
|
# The following type values are defined for the MBIM status codes.
|
|
MBIM_STATUS_SUCCESS = 0x00000000
|
|
MBIM_STATUS_NO_DEVICE_SUPPORT = 0x00000009
|
|
MBIM_STATUS_CONTEXT_NOT_ACTIVATED = 0x00000010
|
|
MBIM_STATUS_INVALID_PARAMETERS = 0x00000015
|
|
|
|
# The following type values are defined for both MBIM_HOST_ERROR_MSG and
|
|
# MBIM_FUNCTION_ERROR_MSG.
|
|
MBIM_ERROR_TIMEOUT_FRAGMENT = 0x00000001
|
|
MBIM_ERROR_FRAGMENT_OUT_OF_SEQUENCE = 0x00000002
|
|
MBIM_ERROR_LENGTH_MISMATCH = 0x00000003
|
|
MBIM_ERROR_DUPLICATED_TID = 0x00000004
|
|
MBIM_ERROR_NOT_OPENED = 0x00000005
|
|
MBIM_ERROR_UNKNOWN = 0x00000006
|
|
MBIM_ERROR_CANCEL = 0x00000007
|
|
MBIM_ERROR_MAX_TRANSFER = 0x00000008
|
|
|
|
# The following command codes are defined for the MBIM command identifiers.
|
|
MBIM_CID_DEVICE_CAPS = 0x00000001
|
|
MBIM_CID_SUBSCRIBER_READY_STATUS = 0x00000002
|
|
MBIM_CID_RADIO_STATE = 0x00000003
|
|
MBIM_CID_PIN = 0x00000004
|
|
MBIM_CID_HOME_PROVIDER = 0x00000006
|
|
MBIM_CID_REGISTER_STATE = 0x00000009
|
|
MBIM_CID_PACKET_SERVICE = 0x0000000A
|
|
MBIM_CID_SIGNAL_STATE = 0x0000000B
|
|
MBIM_CID_CONNECT = 0x0000000C
|
|
MBIM_CID_SERVICE_ACTIVATION = 0x0000000E
|
|
MBIM_CID_IP_CONFIGURATION = 0x0000000F
|
|
MBIM_CID_DEVICE_SERVICES = 0x00000010
|
|
|
|
# The following command types are defined for the MBIM command message.
|
|
COMMAND_TYPE_QUERY = 0
|
|
COMMAND_TYPE_SET = 1
|
|
|
|
# The following UUID values are defined for the device service identifiers.
|
|
UUID_BASIC_CONNECT = uuid.UUID('A289CC33-BCBB-8B4F-B6B0-133EC2AAE6DF')
|
|
|
|
# The following UUID values are defined for the MBIM_CONTEXT_TYPES which are
|
|
# used in the |context_type| field of information structures.
|
|
MBIM_CONTEXT_TYPE_NONE = uuid.UUID('B43F758C-A560-4B46-B35E-C5869641FB54')
|
|
MBIM_CONTEXT_TYPE_INTERNET = uuid.UUID('7E5E2A7E-4E6F-7272-736B-656E7E5E2A7E')
|
|
|
|
# NTB formats
|
|
NTB_FORMAT_16 = 0
|
|
NTB_FORMAT_32 = 1
|
|
|
|
# MBIM Device Caps Cellular classes
|
|
CELLULAR_CLASS_MASK_GSM = 0x01
|
|
CELLULAR_CLASS_MASK_CDMA = 0x02
|
|
|
|
# MBIM CTRL Caps
|
|
CTRL_CAPS_MASK_NONE = 0x0000
|
|
CTRL_CAPS_MASK_REG_MANUAL = 0x0001
|
|
CTRL_CAPS_MASK_HW_RADIO_SWITCH = 0x0002
|
|
CTRL_CAPS_MASK_CDMA_MOBILE_IP = 0x0004
|
|
CTRL_CAPS_MASK_CDMA_SIMPLE_IP = 0x0008
|
|
CTRL_CAPS_MASK_MULTI_CARRIER = 0x0010
|