aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksandermj@chromium.org>2022-12-06 22:48:07 +0000
committerAleksander Morgado <aleksandermj@chromium.org>2022-12-06 22:49:22 +0000
commit53c5e23bba987fbb370cfe7ed1cc9689366470ae (patch)
treeb349a024d3d007a715c8da7a9140d307eecc090b
parenta4b6b33cf4f2c143894687066f7867ff2971b8bf (diff)
decode: remove legacy tool
-rwxr-xr-xdecode/analyze.py179
-rwxr-xr-xdecode/decode.py57
-rw-r--r--decode/defs.py20
-rw-r--r--decode/packet.py232
-rwxr-xr-xdecode/qmiprotgen.py596
-rw-r--r--decode/qmiprotocol.py2453
-rw-r--r--decode/qmux.py205
-rw-r--r--decode/wmc.py410
-rwxr-xr-xdecode/xml2ascii.py82
9 files changed, 0 insertions, 4234 deletions
diff --git a/decode/analyze.py b/decode/analyze.py
deleted file mode 100755
index c72a1d32..00000000
--- a/decode/analyze.py
+++ /dev/null
@@ -1,179 +0,0 @@
-#!/usr/bin/python
-# -*- Mode: python; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details:
-#
-# Copyright (C) 2011 Red Hat, Inc.
-#
-# ---- Dumps UsbSnoopy XML captures of WMC traffic
-
-from xml.sax import saxutils
-from xml.sax import handler
-import binascii
-import string
-
-packets = []
-counts = {}
-
-TO_UNKNOWN = 0
-TO_MODEM = 1
-TO_HOST = 2
-
-class Packet:
- def __init__(self, data, idx):
- if len(data) % 2 != 0:
- raise Exception("bad data length")
-
- self.idx = idx
- self.type = TO_UNKNOWN
- if data[:14] == "41542a574d433d":
- # host->device: remove the AT*WMC= bits and newline at the end
- data = data[14:]
- if data[len(data) - 2:] == "0d":
- data = data[:len(data) - 2]
- self.type = TO_MODEM
-# elif data[len(data) - 6:] == "30307e":
-# # device->host: remove HDLC terminator and fake CRC
-# data = data[:len(data) - 6]
-# self.type = TO_HOST
- elif data[len(data) - 2:] == "7e":
- # device->host: remove HDLC terminator and CRC
- data = data[:len(data) - 6]
- self.type = TO_HOST
-
- self.data = binascii.unhexlify(data)
- self.four = data[:4]
-
- # PPP-unescape TO_MODEM data
- escape = False
- new_data = ""
- for i in self.data:
- if ord(i) == 0x7D:
- escape = True
- elif escape == True:
- new_data += chr(ord(i) ^ 0x20)
- escape = False
- else:
- new_data += i
- self.data = new_data
-
- def add_ascii(self, line, items):
- if len(line) < 53:
- line += " " * (53 - len(line))
- for i in items:
- if chr(i) in string.printable and i >= 32:
- line += chr(i)
- else:
- line += "."
- return line
-
- def show(self):
- line = "*"
- if self.type == TO_MODEM:
- line = ">"
- elif self.type == TO_HOST:
- line = "<"
-
- offset = 0
- items = []
- printed = False
- for i in self.data:
- printed = False
- line += " %02x" % ord(i)
- items.append(ord(i))
- if len(items) % 16 == 0:
- print "%03d: %s" % (offset, self.add_ascii(line, items))
- line = " "
- items = []
- printed = True
- offset += 16
- if not printed:
- print "%03d: %s" % (offset, self.add_ascii(line, items))
- print ""
-
-class FindPackets(handler.ContentHandler):
- def __init__(self):
- self.inFunction = False
- self.inPayload = False
- self.ignore = False
- self.inTimestamp = False
- self.timestamp = None
- self.packet = None
- self.idx = 1
-
- def startElement(self, name, attrs):
- if name == "function":
- self.inFunction = True
- elif name == "payloadbytes":
- self.inPayload = True
- elif name == "timestamp":
- self.inTimestamp = True
-
- def characters(self, ch):
- if self.ignore:
- return
-
- stripped = ch.strip()
- if self.inFunction and ch != "BULK_OR_INTERRUPT_TRANSFER":
- self.ignore = True
- return
- elif self.inTimestamp:
- self.timestamp = stripped
- elif self.inPayload and len(stripped) > 0:
- if self.packet == None:
- self.packet = stripped
- else:
- self.packet += stripped
-
- def endElement(self, name):
- if name == "function":
- self.inFunction = False
- elif name == "payloadbytes":
- self.inPayload = False
- elif name == "payload":
- if self.packet:
- p = Packet(self.packet, self.idx)
- self.idx = self.idx + 1
- packets.append(p)
- self.packet = None
-
- self.ignore = False
- self.timestamp = None
- elif name == "timestamp":
- self.inTimestamp = False
-
-
-from xml.sax import make_parser
-from xml.sax import parse
-import sys
-
-if __name__ == "__main__":
- dh = FindPackets()
- parse(sys.argv[1], dh)
-
- cmds = {}
- for p in packets:
- if cmds.has_key(p.four):
- cmds[p.four].append(p)
- else:
- cmds[p.four] = [p]
- if len(sys.argv) > 2:
- if p.four == sys.argv[2]:
- p.show()
- else:
- p.show()
-
- print ""
- print "cmd #tot"
- for k in cmds.keys():
- print "%s (%d)" % (k, len(cmds[k]))
- print ""
-
diff --git a/decode/decode.py b/decode/decode.py
deleted file mode 100755
index 7196f9de..00000000
--- a/decode/decode.py
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/usr/bin/python
-# -*- Mode: python; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details:
-#
-# Copyright (C) 2011 Red Hat, Inc.
-#
-
-import binascii
-import string
-import sys
-import defs
-from packet import Packet
-
-packets = []
-control = None
-transfer = None
-
-def get_protocol(arg):
- return arg[arg.index("=") + 1:]
-
-if __name__ == "__main__":
- i = 1
- if sys.argv[i].startswith("--control="):
- control = get_protocol(sys.argv[i])
- i = i + 1
- if sys.argv[i].startswith("--transfer="):
- transfer = get_protocol(sys.argv[i])
- i = i + 1
-
- path = sys.argv[i]
- f = open(path, 'r')
- lines = f.readlines()
- f.close()
-
- packet = None
- for l in lines:
- if packet:
- done = packet.add_line(l)
- if done:
- packets.append(packet)
- packet = None
- else:
- packet = Packet(l, control, transfer)
- if packet.direction == defs.TO_UNKNOWN:
- packet = None
-
- for p in packets:
- p.show()
diff --git a/decode/defs.py b/decode/defs.py
deleted file mode 100644
index 847b67f4..00000000
--- a/decode/defs.py
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/usr/bin/python
-# -*- Mode: python; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details:
-#
-# Copyright (C) 2011 Red Hat, Inc.
-#
-
-TO_UNKNOWN = 0
-TO_MODEM = 1
-TO_HOST = 2
-
diff --git a/decode/packet.py b/decode/packet.py
deleted file mode 100644
index 97daee1e..00000000
--- a/decode/packet.py
+++ /dev/null
@@ -1,232 +0,0 @@
-#!/usr/bin/python
-# -*- Mode: python; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details:
-#
-# Copyright (C) 2011 Red Hat, Inc.
-#
-
-import binascii
-import string
-import sys
-
-import defs
-
-import wmc
-
-URBF_UNKNOWN = 0
-URBF_GET_DESC = 1
-URBF_SEL_CONF = 2
-URBF_RESET_PIPE = 3
-URBF_TRANSFER = 4
-URBF_GET_STATUS = 5
-URBF_CONTROL = 6
-URBF_SET_FEATURE = 7
-URBF_ABORT_PIPE = 8
-URBF_CLASS_IFACE = 9
-URBF_CLEAR_FEATURE = 10
-URBF_VENDOR_DEVICE = 11
-
-funcs = {
- "-- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:": (URBF_GET_DESC, False, None),
- "-- URB_FUNCTION_SELECT_CONFIGURATION:": (URBF_SEL_CONF, False, None),
- "-- URB_FUNCTION_RESET_PIPE:": (URBF_RESET_PIPE, False, None),
- "-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:": (URBF_TRANSFER, True, "T"),
- "-- URB_FUNCTION_GET_STATUS_FROM_DEVICE:": (URBF_GET_STATUS, False, None),
- "-- URB_FUNCTION_CONTROL_TRANSFER:": (URBF_CONTROL, True, "C"),
- "-- URB_FUNCTION_SET_FEATURE_TO_DEVICE:": (URBF_SET_FEATURE, False, None),
- "-- URB_FUNCTION_ABORT_PIPE:": (URBF_SET_FEATURE, False, None),
- "-- URB_FUNCTION_CLASS_INTERFACE:": (URBF_CLASS_IFACE, True, "C"),
- "-- URB_FUNCTION_CLEAR_FEATURE_TO_DEVICE:": (URBF_CLEAR_FEATURE, False, None),
- "-- URB_FUNCTION_VENDOR_DEVICE:": (URBF_VENDOR_DEVICE, False, None)
-}
-
-def get_urb_info(l):
- direction = defs.TO_UNKNOWN
-
- tsstr = ""
- if l[0] == '[':
- idx = l.find(" ms]")
- if idx <= 0:
- return (defs.TO_UNKNOWN, -1, -1)
- tsstr = l[1:idx]
-
- idx = string.find(l, ">>> URB ")
- if idx >= 0:
- direction = defs.TO_MODEM
- else:
- idx = string.find(l, "<<< URB ")
- if idx >= 0:
- direction = defs.TO_HOST
- else:
- return (defs.TO_UNKNOWN, -1, -1)
-
- # Yay, valid packet, grab URB number
- numstr = ""
- for c in l[idx + 9:]:
- if c.isdigit():
- numstr = numstr + c
- else:
- break
-
- if not len(numstr):
- raise Exception("Failed to get URB number ('%s')" % l)
-
- return (direction, int(numstr), int(tsstr))
-
-class Packet:
- def __init__(self, line, control_prot, transfer_prot):
- self.direction = defs.TO_UNKNOWN
- self.func = URBF_UNKNOWN
- self.control_prot = control_prot
- self.transfer_prot = transfer_prot
- self.data = None
- self.urbnum = 0
- self.timestamp = 0
- self.protocol = None
- self.has_data = False
- self.typecode = None
- self.lines = []
- self.in_data = False
- self.data_complete = False
- self.tmpdata = ""
- self.fcomplete = None
- self.funpack = None
- self.fshow = None
-
- # Check if this is actually a packet
- self.lines.append(line)
- (self.direction, self.urbnum, self.timestamp) = get_urb_info(line)
-
- def add_line(self, line):
- line = line.strip()
- if not len(line):
- return
- self.lines.append(line)
-
- if line[0] == '[':
- # Usually the end of a packet, but if we need data from the next
- # packet keep going
- if self.has_data and not self.data_complete:
- return False
- return True
-
- if not self.typecode:
- # haven't gotten our "-- URB_FUNCTION_xxxx" line yet
- if line.find("-- URB_FUNCTION_") >= 0:
- try:
- (self.func, self.has_data, self.typecode) = funcs[line]
- except KeyError:
- raise KeyError("URB function %s not handled" % line)
-
- if self.func == URBF_TRANSFER:
- self.protocol = self.transfer_prot
- elif self.func == URBF_CONTROL or self.func == URBF_CLASS_IFACE:
- self.protocol = self.control_prot
-
- if self.protocol:
- exec "from %s import get_funcs" % self.protocol
- (self.fcomplete, self.funpack, self.fshow) = get_funcs()
- else:
- return False # not done; need more lines
-
- if line.find("TransferBufferMDL = ") >= 0 and self.has_data:
- self.in_data = True
- return False # not done; need more lines
-
- if line.find("UrbLink = ") >= 0 or line.find("UrbLink =") >= 0:
- if self.in_data:
- self.in_data = False
-
- # special case: zero-length data means complete
- if len(self.tmpdata) == 0:
- self.data_complete = True
- return True
-
- if self.fcomplete:
- self.data_complete = self.fcomplete(self.tmpdata, self.direction)
- if self.data_complete:
- self.data = self.funpack(self.tmpdata, self.direction)
- return self.data_complete
- else:
- self.data = binascii.unhexlify(self.tmpdata)
- self.data_complete = True
- return False # not done; need more lines
-
- if self.in_data:
- if len(line) and not "no data supplied" in line:
- d = line[line.index(": ") + 2:] # get data alone
- self.tmpdata += d.replace(" ", "")
-
- return False # not done; need more lines
-
- def add_ascii(self, line, items):
- if len(line) < 53:
- line += " " * (53 - len(line))
- for i in items:
- if chr(i) in string.printable and i >= 32:
- line += chr(i)
- else:
- line += "."
- return line
-
- def show(self):
- if not self.has_data or not self.data:
- return
-
- # Ignore URBF_TRANSFER packets that appear to be returning SetupPacket data
- if self.data == chr(0xa1) + chr(0x01) + chr(0x00) + chr(0x00) + chr(0x05) + chr(0x00) + chr(0x00) + chr(0x00):
- return
-
- offset = 0
- items = []
- printed = False
- line = ""
-
- prefix = "*"
- if self.direction == defs.TO_MODEM:
- prefix = ">"
- elif self.direction == defs.TO_HOST:
- prefix = "<"
-
- if self.typecode:
- prefix = prefix + " " + self.typecode + " "
- else:
- prefix = prefix + " "
-
- prefix_printed = False
- for i in self.data:
- printed = False
- line += " %02x" % ord(i)
- items.append(ord(i))
- if len(items) % 16 == 0:
- output = "%04d: %s" % (offset, self.add_ascii(line, items))
- if offset == 0:
- print prefix + output
- else:
- print " " + output
- line = ""
- items = []
- printed = True
- offset += 16
- prefix_printed = True
-
- if not printed:
- output = "%04d: %s" % (offset, self.add_ascii(line, items))
- if prefix_printed:
- print " " + output
- else:
- print prefix + output
- print ""
-
- if self.fshow:
- self.fshow(self.data, " " * 8, self.direction)
-
diff --git a/decode/qmiprotgen.py b/decode/qmiprotgen.py
deleted file mode 100755
index 3114c86e..00000000
--- a/decode/qmiprotgen.py
+++ /dev/null
@@ -1,596 +0,0 @@
-#!/bin/env python
-# -*- Mode: python; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
-
-# Takes an Entity.txt and generates the Python dicts defining the commands
-# and the TLVs associated with those commands
-
-import sys
-
-TP_REQUEST = 0
-TP_RESPONSE = 1
-TP_INDICATION = 2
-
-cmdenum = """
- eQMI_CTL_SET_INSTANCE_ID = 32, // 32 Set the unique link instance ID
- eQMI_CTL_GET_VERSION_INFO, // 33 Get supported service version info
- eQMI_CTL_GET_CLIENT_ID, // 34 Get a unique client ID
- eQMI_CTL_RELEASE_CLIENT_ID, // 35 Release the unique client ID
- eQMI_CTL_REVOKE_CLIENT_ID_IND, // 36 Indication of client ID revocation
- eQMI_CTL_INVALID_CLIENT_ID, // 37 Indication of invalid client ID
- eQMI_CTL_SET_DATA_FORMAT, // 38 Set host driver data format
- eQMI_CTL_SYNC, // 39 Synchronize client/server
- eQMI_CTL_SYNC_IND = 39, // 39 Synchronize indication
- eQMI_CTL_SET_EVENT, // 40 Set event report conditions
- eQMI_CTL_EVENT_IND = 40, // 40 Event report indication
- eQMI_CTL_SET_POWER_SAVE_CFG, // 41 Set power save config
- eQMI_CTL_SET_POWER_SAVE_MODE, // 42 Set power save mode
- eQMI_CTL_GET_POWER_SAVE_MODE, // 43 Get power save mode
-
- eQMI_WDS_RESET, // 00 Reset WDS service state variables
- eQMI_WDS_SET_EVENT, // 01 Set connection state report conditions
- eQMI_WDS_EVENT_IND = 1, // 01 Connection state report indication
- eQMI_WDS_ABORT, // 02 Abort previously issued WDS command
- eQMI_WDS_START_NET = 32, // 32 Start WDS network interface
- eQMI_WDS_STOP_NET, // 33 Stop WDS network interface
- eQMI_WDS_GET_PKT_STATUS, // 34 Get packet data connection status
- eQMI_WDS_PKT_STATUS_IND = 34, // 34 Packet data connection status indication
- eQMI_WDS_GET_RATES, // 35 Get current bit rates of the connection
- eQMI_WDS_GET_STATISTICS, // 36 Get the packet data transfer statistics
- eQMI_WDS_G0_DORMANT, // 37 Go dormant
- eQMI_WDS_G0_ACTIVE, // 38 Go active
- eQMI_WDS_CREATE_PROFILE, // 39 Create profile with specified settings
- eQMI_WDS_MODIFY_PROFILE, // 40 Modify profile with specified settings
- eQMI_WDS_DELETE_PROFILE, // 41 Delete the specified profile
- eQMI_WDS_GET_PROFILE_LIST, // 42 Get all profiles
- eQMI_WDS_GET_PROFILE, // 43 Get the specified profile
- eQMI_WDS_GET_DEFAULTS, // 44 Get the default data session settings
- eQMI_WDS_GET_SETTINGS, // 45 Get the runtime data session settings
- eQMI_WDS_SET_MIP, // 46 Get the mobile IP setting
- eQMI_WDS_GET_MIP, // 47 Set the mobile IP setting
- eQMI_WDS_GET_DORMANCY, // 48 Get the dormancy status
- eQMI_WDS_GET_AUTOCONNECT = 52, // 52 Get the NDIS autoconnect setting
- eQMI_WDS_GET_DURATION, // 53 Get the duration of data session
- eQMI_WDS_GET_MODEM_STATUS, // 54 Get the modem status
- eQMI_WDS_MODEM_IND = 54, // 54 Modem status indication
- eQMI_WDS_GET_DATA_BEARER, // 55 Get the data bearer type
- eQMI_WDS_GET_MODEM_INFO, // 56 Get the modem info
- eQMI_WDS_MODEM_INFO_IND = 56, // 56 Modem info indication
- eQMI_WDS_GET_ACTIVE_MIP = 60, // 60 Get the active mobile IP profile
- eQMI_WDS_SET_ACTIVE_MIP, // 61 Set the active mobile IP profile
- eQMI_WDS_GET_MIP_PROFILE, // 62 Get mobile IP profile settings
- eQMI_WDS_SET_MIP_PROFILE, // 63 Set mobile IP profile settings
- eQMI_WDS_GET_MIP_PARAMS, // 64 Get mobile IP parameters
- eQMI_WDS_SET_MIP_PARAMS, // 65 Set mobile IP parameters
- eQMI_WDS_GET_LAST_MIP_STATUS, // 66 Get last mobile IP status
- eQMI_WDS_GET_AAA_AUTH_STATUS, // 67 Get AN-AAA authentication status
- eQMI_WDS_GET_CUR_DATA_BEARER, // 68 Get current data bearer
- eQMI_WDS_GET_CALL_LIST, // 69 Get the call history list
- eQMI_WDS_GET_CALL_ENTRY, // 70 Get an entry from the call history list
- eQMI_WDS_CLEAR_CALL_LIST, // 71 Clear the call history list
- eQMI_WDS_GET_CALL_LIST_MAX, // 72 Get maximum size of call history list
- eQMI_WDS_SET_IP_FAMILY = 77, // 77 Set the client IP family preference
- eQMI_WDS_SET_AUTOCONNECT = 81, // 81 Set the NDIS autoconnect setting
- eQMI_WDS_GET_DNS, // 82 Get the DNS setting
- eQMI_WDS_SET_DNS, // 83 Set the DNS setting
- eQMI_WDS_GET_PRE_DORMANCY, // 084 Get the CDMA pre-dormancy settings
- eQMI_WDS_SET_CAM_TIMER, // 085 Set the CAM timer
- eQMI_WDS_GET_CAM_TIMER, // 086 Get the CAM timer
- eQMI_WDS_SET_SCRM, // 087 Set SCRM status
- eQMI_WDS_GET_SCRM, // 088 Get SCRM status
- eQMI_WDS_SET_RDUD, // 089 Set RDUD status
- eQMI_WDS_GET_RDUD, // 090 Get RDUD status
- eQMI_WDS_GET_SIPMIP_CALL_TYPE, // 091 Set SIP/MIP call type
- eQMI_WDS_SET_PM_PERIOD, // 092 Set EV-DO page monitor period
- eQMI_WDS_SET_FORCE_LONG_SLEEP, // 093 Set EV-DO force long sleep feature
- eQMI_WDS_GET_PM_PERIOD, // 094 Get EV-DO page monitor period
- eQMI_WDS_GET_CALL_THROTTLE, // 095 Get call throttle info
- eQMI_WDS_GET_NSAPI, // 096 Get NSAPI
- eQMI_WDS_SET_DUN_CTRL_PREF, // 097 Set DUN control preference
- eQMI_WDS_GET_DUN_CTRL_INFO, // 098 Set DUN control info
- eQMI_WDS_SET_DUN_CTRL_EVENT, // 099 Set DUN control event preference
- eQMI_WDS_PENDING_DUN_CTRL, // 100 Control pending DUN call
- eQMI_WDS_GET_DATA_SYS = 105, // 105 Get preferred data system
- eQMI_WDS_GET_LAST_DATA_STATUS, // 106 Get last data call status
- eQMI_WDS_GET_CURR_DATA_SYS, // 107 Get current data systems status
- eQMI_WDS_GET_PDN_THROTTLE, // 108 Get PDN throttle info
-
- eQMI_DMS_RESET, // 00 Reset DMS service state variables
- eQMI_DMS_SET_EVENT, // 01 Set connection state report conditions
- eQMI_DMS_EVENT_IND = 1, // 01 Connection state report indication
- eQMI_DMS_GET_CAPS = 32, // 32 Get the device capabilities
- eQMI_DMS_GET_MANUFACTURER, // 33 Get the device manfacturer
- eQMI_DMS_GET_MODEL_ID, // 34 Get the device model ID
- eQMI_DMS_GET_REV_ID, // 35 Get the device revision ID
- eQMI_DMS_GET_NUMBER, // 36 Get the assigned voice number
- eQMI_DMS_GET_IDS, // 37 Get the ESN/IMEI/MEID
- eQMI_DMS_GET_POWER_STATE, // 38 Get the get power state
- eQMI_DMS_UIM_SET_PIN_PROT, // 39 UIM - Set PIN protection
- eQMI_DMS_UIM_PIN_VERIFY, // 40 UIM - Verify PIN
- eQMI_DMS_UIM_PIN_UNBLOCK, // 41 UIM - Unblock PIN
- eQMI_DMS_UIM_PIN_CHANGE, // 42 UIM - Change PIN
- eQMI_DMS_UIM_GET_PIN_STATUS, // 43 UIM - Get PIN status
- eQMI_DMS_GET_MSM_ID = 44, // 44 Get MSM ID
- eQMI_DMS_GET_OPERTAING_MODE, // 45 Get the operating mode
- eQMI_DMS_SET_OPERATING_MODE, // 46 Set the operating mode
- eQMI_DMS_GET_TIME, // 47 Get timestamp from the device
- eQMI_DMS_GET_PRL_VERSION, // 48 Get the PRL version
- eQMI_DMS_GET_ACTIVATED_STATE, // 49 Get the activation state
- eQMI_DMS_ACTIVATE_AUTOMATIC, // 50 Perform an automatic activation
- eQMI_DMS_ACTIVATE_MANUAL, // 51 Perform a manual activation
- eQMI_DMS_GET_USER_LOCK_STATE, // 52 Get the lock state
- eQMI_DMS_SET_USER_LOCK_STATE, // 53 Set the lock state
- eQMI_DMS_SET_USER_LOCK_CODE, // 54 Set the lock PIN
- eQMI_DMS_READ_USER_DATA, // 55 Read user data
- eQMI_DMS_WRITE_USER_DATA, // 56 Write user data
- eQMI_DMS_READ_ERI_FILE, // 57 Read the enhanced roaming indicator file
- eQMI_DMS_FACTORY_DEFAULTS, // 58 Reset to factory defaults
- eQMI_DMS_VALIDATE_SPC, // 59 Validate service programming code
- eQMI_DMS_UIM_GET_ICCID, // 60 Get UIM ICCID
- eQMI_DMS_GET_FIRWARE_ID, // 61 Get firmware ID
- eQMI_DMS_SET_FIRMWARE_ID, // 62 Set firmware ID
- eQMI_DMS_GET_HOST_LOCK_ID, // 63 Get host lock ID
- eQMI_DMS_UIM_GET_CK_STATUS, // 64 UIM - Get control key status
- eQMI_DMS_UIM_SET_CK_PROT, // 65 UIM - Set control key protection
- eQMI_DMS_UIM_UNBLOCK_CK, // 66 UIM - Unblock facility control key
- eQMI_DMS_GET_IMSI, // 67 Get the IMSI
- eQMI_DMS_UIM_GET_STATE, // 68 UIM - Get the UIM state
- eQMI_DMS_GET_BAND_CAPS, // 69 Get the device band capabilities
- eQMI_DMS_GET_FACTORY_ID, // 70 Get the device factory ID
- eQMI_DMS_GET_FIRMWARE_PREF, // 71 Get firmware preference
- eQMI_DMS_SET_FIRMWARE_PREF, // 72 Set firmware preference
- eQMI_DMS_LIST_FIRMWARE, // 73 List all stored firmware
- eQMI_DMS_DELETE_FIRMWARE, // 74 Delete specified stored firmware
- eQMI_DMS_SET_TIME, // 75 Set device time
- eQMI_DMS_GET_FIRMWARE_INFO, // 76 Get stored firmware info
- eQMI_DMS_GET_ALT_NET_CFG, // 77 Get alternate network config
- eQMI_DMS_SET_ALT_NET_CFG, // 78 Set alternate network config
- eQMI_DMS_GET_IMG_DLOAD_MODE, // 79 Get next image download mode
- eQMI_DMS_SET_IMG_DLOAD_MODE, // 80 Set next image download mod
- eQMI_DMS_GET_SW_VERSION, // 81 Get software version
- eQMI_DMS_SET_SPC, // 82 Set SPC
-
- eQMI_NAS_RESET, // 00 Reset NAS service state variables
- eQMI_NAS_ABORT, // 01 Abort previously issued NAS command
- eQMI_NAS_SET_EVENT, // 02 Set NAS state report conditions
- eQMI_NAS_EVENT_IND = 2, // 02 Connection state report indication
- eQMI_NAS_SET_REG_EVENT, // 03 Set NAS registration report conditions
- eQMI_NAS_GET_RSSI = 32, // 32 Get the signal strength
- eQMI_NAS_SCAN_NETS, // 33 Scan for visible network
- eQMI_NAS_REGISTER_NET, // 34 Initiate a network registration
- eQMI_NAS_ATTACH_DETACH, // 35 Initiate an attach or detach action
- eQMI_NAS_GET_SS_INFO, // 36 Get info about current serving system
- eQMI_NAS_SS_INFO_IND = 36, // 36 Current serving system info indication
- eQMI_NAS_GET_HOME_INFO, // 37 Get info about home network
- eQMI_NAS_GET_NET_PREF_LIST, // 38 Get the list of preferred networks
- eQMI_NAS_SET_NET_PREF_LIST, // 39 Set the list of preferred networks
- eQMI_NAS_GET_NET_BAN_LIST, // 40 Get the list of forbidden networks
- eQMI_NAS_SET_NET_BAN_LIST, // 41 Set the list of forbidden networks
- eQMI_NAS_SET_TECH_PREF, // 42 Set the technology preference
- eQMI_NAS_GET_TECH_PREF, // 43 Get the technology preference
- eQMI_NAS_GET_ACCOLC, // 44 Get the Access Overload Class
- eQMI_NAS_SET_ACCOLC, // 45 Set the Access Overload Class
- eQMI_NAS_GET_SYSPREF, // 46 Get the CDMA system preference
- eQMI_NAS_GET_NET_PARAMS, // 47 Get various network parameters
- eQMI_NAS_SET_NET_PARAMS, // 48 Set various network parameters
- eQMI_NAS_GET_RF_INFO, // 49 Get the SS radio/band channel info
- eQMI_NAS_GET_AAA_AUTH_STATUS, // 50 Get AN-AAA authentication status
- eQMI_NAS_SET_SYS_SELECT_PREF, // 51 Set system selection preference
- eQMI_NAS_GET_SYS_SELECT_PREF, // 52 Get system selection preference
- eQMI_NAS_SET_DDTM_PREF = 55, // 55 Set DDTM preference
- eQMI_NAS_GET_DDTM_PREF, // 56 Get DDTM preference
- eQMI_NAS_GET_PLMN_MODE = 59, // 59 Get PLMN mode bit from CSP
- eQMI_NAS_PLMN_MODE_IND, // 60 CSP PLMN mode bit indication
- eQMI_NAS_GET_PLMN_NAME = 68, // 68 Get operator name for specified network
- eQMI_NAS_BIND_SUBS, // 69 Bind client to a specific subscription
- eQMI_NAS_MANAGED_ROAMING_IND, // 70 Managed roaming indication
- eQMI_NAS_DSB_PREF_IND, // 71 Dual standby preference indication
- eQMI_NAS_SUBS_INFO_IND, // 72 Subscription info indication
- eQMI_NAS_GET_MODE_PREF, // 73 Get mode preference
- eQMI_NAS_SET_DSB_PREF = 75, // 75 Set dual standby preference
- eQMI_NAS_NETWORK_TIME_IND, // 76 Network time indication
- eQMI_NAS_GET_SYSTEM_INFO, // 77 Get system info
- eQMI_NAS_SYSTEM_INFO_IND, // 78 System info indication
- eQMI_NAS_GET_SIGNAL_INFO, // 79 Get signal info
- eQMI_NAS_CFG_SIGNAL_INFO, // 80 Configure signal info report
- eQMI_NAS_SIGNAL_INFO_IND, // 81 Signal info indication
- eQMI_NAS_GET_ERROR_RATE, // 82 Get error rate info
- eQMI_NAS_ERROR_RATE_IND, // 83 Error rate indication
- eQMI_NAS_EVDO_SESSION_IND, // 84 CDMA 1xEV-DO session close indication
- eQMI_NAS_EVDO_UATI_IND, // 85 CDMA 1xEV-DO UATI update indication
- eQMI_NAS_GET_EVDO_SUBTYPE, // 86 Get CDMA 1xEV-DO protocol subtype
- eQMI_NAS_GET_EVDO_COLOR_CODE, // 87 Get CDMA 1xEV-DO color code
- eQMI_NAS_GET_ACQ_SYS_MODE, // 88 Get current acquisition system mode
- eQMI_NAS_SET_RX_DIVERSITY, // 89 Set the RX diversity
- eQMI_NAS_GET_RX_TX_INFO, // 90 Get detailed RX/TX information
- eQMI_NAS_UPDATE_AKEY_EXT, // 91 Update the A-KEY (extended)
- eQMI_NAS_GET_DSB_PREF, // 92 Get dual standby preference
- eQMI_NAS_DETACH_LTE, // 093 Detach the current LTE system
- eQMI_NAS_BLOCK_LTE_PLMN, // 094 Block LTE PLMN
- eQMI_NAS_UNBLOCK_LTE_PLMN, // 095 Unblock LTE PLMN
- eQMI_NAS_RESET_LTE_PLMN_BLK, // 096 Reset LTE PLMN blocking
- eQMI_NAS_CUR_PLMN_NAME_IND, // 097 Current PLMN name indication
- eQMI_NAS_CONFIG_EMBMS, // 098 Configure eMBMS
- eQMI_NAS_GET_EMBMS_STATUS, // 099 Get eMBMS status
- eQMI_NAS_EMBMS_STATUS_IND, // 100 eMBMS status indication
- eQMI_NAS_GET_CDMA_POS_INFO, // 101 Get CDMA position info
- eQMI_NAS_RF_BAND_INFO_IND, // 102 RF band info indication
-
- eQMI_WMS_RESET, // 00 Reset WMS service state variables
- eQMI_WMS_SET_EVENT, // 01 Set new message report conditions
- eQMI_WMS_EVENT_IND = 1, // 01 New message report indication
- eQMI_WMS_RAW_SEND = 32, // 32 Send a raw message
- eQMI_WMS_RAW_WRITE, // 33 Write a raw message to the device
- eQMI_WMS_RAW_READ, // 34 Read a raw message from the device
- eQMI_WMS_MODIFY_TAG, // 35 Modify message tag on the device
- eQMI_WMS_DELETE, // 36 Delete message by index/tag/memory
- eQMI_WMS_GET_MSG_PROTOCOL = 48, // 48 Get the current message protocol
- eQMI_WMS_GET_MSG_LIST, // 49 Get list of messages from the device
- eQMI_WMS_SET_ROUTES, // 50 Set routes for message memory storage
- eQMI_WMS_GET_ROUTES, // 51 Get routes for message memory storage
- eQMI_WMS_GET_SMSC_ADDR, // 52 Get SMSC address
- eQMI_WMS_SET_SMSC_ADDR, // 53 Set SMSC address
- eQMI_WMS_GET_MSG_LIST_MAX, // 54 Get maximum size of SMS storage
- eQMI_WMS_SEND_ACK, // 55 Send ACK
- eQMI_WMS_SET_RETRY_PERIOD, // 56 Set retry period
- eQMI_WMS_SET_RETRY_INTERVAL, // 57 Set retry interval
- eQMI_WMS_SET_DC_DISCO_TIMER, // 58 Set DC auto-disconnect timer
- eQMI_WMS_SET_MEMORY_STATUS, // 59 Set memory storage status
- eQMI_WMS_SET_BC_ACTIVATION, // 60 Set broadcast activation
- eQMI_WMS_SET_BC_CONFIG, // 61 Set broadcast config
- eQMI_WMS_GET_BC_CONFIG, // 62 Get broadcast config
- eQMI_WMS_MEMORY_FULL_IND, // 63 Memory full indication
- eQMI_WMS_GET_DOMAIN_PREF, // 64 Get domain preference
- eQMI_WMS_SET_DOMAIN_PREF, // 65 Set domain preference
- eQMI_WMS_MEMORY_SEND, // 66 Send message from memory store
- eQMI_WMS_GET_MSG_WAITING, // 67 Get message waiting info
- eQMI_WMS_MSG_WAITING_IND, // 68 Message waiting indication
- eQMI_WMS_SET_PRIMARY_CLIENT, // 69 Set client as primary client
- eQMI_WMS_SMSC_ADDR_IND, // 70 SMSC address indication
- eQMI_WMS_INDICATOR_REG, // 71 Register for indicators
- eQMI_WMS_GET_TRANSPORT_INFO, // 72 Get transport layer info
- eQMI_WMS_TRANSPORT_INFO_IND, // 73 Transport layer info indication
- eQMI_WMS_GET_NW_REG_INFO, // 74 Get network registration info
- eQMI_WMS_NW_REG_INFO_IND, // 75 Network registration info indication
- eQMI_WMS_BIND_SUBSCRIPTION, // 76 Bind client to a subscription
- eQMI_WMS_GET_INDICATOR_REG, // 77 Get indicator registration
- eQMI_WMS_GET_SMS_PARAMETERS, // 78 Get SMS EF-SMSP parameters
- eQMI_WMS_SET_SMS_PARAMETERS, // 79 Set SMS EF-SMSP parameters
- eQMI_WMS_CALL_STATUS_IND, // 80 Call status indication
-
- eQMI_PDS_RESET, // 00 Reset PDS service state variables
- eQMI_PDS_SET_EVENT, // 01 Set PDS report conditions
- eQMI_PDS_EVENT_IND = 1, // 01 PDS report indication
- eQMI_PDS_GET_STATE = 32, // 32 Return PDS service state
- eQMI_PDS_STATE_IND = 32, // 32 PDS service state indication
- eQMI_PDS_SET_STATE, // 33 Set PDS service state
- eQMI_PDS_START_SESSION, // 34 Start a PDS tracking session
- eQMI_PDS_GET_SESSION_INFO, // 35 Get PDS tracking session info
- eQMI_PDS_FIX_POSITION, // 36 Manual tracking session position
- eQMI_PDS_END_SESSION, // 37 End a PDS tracking session
- eQMI_PDS_GET_NMEA_CFG, // 38 Get NMEA sentence config
- eQMI_PDS_SET_NMEA_CFG, // 39 Set NMEA sentence config
- eQMI_PDS_INJECT_TIME, // 40 Inject a time reference
- eQMI_PDS_GET_DEFAULTS, // 41 Get default tracking session config
- eQMI_PDS_SET_DEFAULTS, // 42 Set default tracking session config
- eQMI_PDS_GET_XTRA_PARAMS, // 43 Get the GPS XTRA parameters
- eQMI_PDS_SET_XTRA_PARAMS, // 44 Set the GPS XTRA parameters
- eQMI_PDS_FORCE_XTRA_DL, // 45 Force a GPS XTRA database download
- eQMI_PDS_GET_AGPS_CONFIG, // 46 Get the AGPS mode configuration
- eQMI_PDS_SET_AGPS_CONFIG, // 47 Set the AGPS mode configuration
- eQMI_PDS_GET_SVC_AUTOTRACK, // 48 Get the service auto-tracking state
- eQMI_PDS_SET_SVC_AUTOTRACK, // 49 Set the service auto-tracking state
- eQMI_PDS_GET_COM_AUTOTRACK, // 50 Get COM port auto-tracking config
- eQMI_PDS_SET_COM_AUTOTRACK, // 51 Set COM port auto-tracking config
- eQMI_PDS_RESET_DATA, // 52 Reset PDS service data
- eQMI_PDS_SINGLE_FIX, // 53 Request single position fix
- eQMI_PDS_GET_VERSION, // 54 Get PDS service version
- eQMI_PDS_INJECT_XTRA, // 55 Inject XTRA data
- eQMI_PDS_INJECT_POSITION, // 56 Inject position data
- eQMI_PDS_INJECT_WIFI, // 57 Inject Wi-Fi obtained data
- eQMI_PDS_GET_SBAS_CONFIG, // 58 Get SBAS config
- eQMI_PDS_SET_SBAS_CONFIG, // 59 Set SBAS config
- eQMI_PDS_SEND_NI_RESPONSE, // 60 Send network initiated response
- eQMI_PDS_INJECT_ABS_TIME, // 61 Inject absolute time
- eQMI_PDS_INJECT_EFS, // 62 Inject EFS data
- eQMI_PDS_GET_DPO_CONFIG, // 63 Get DPO config
- eQMI_PDS_SET_DPO_CONFIG, // 64 Set DPO config
- eQMI_PDS_GET_ODP_CONFIG, // 65 Get ODP config
- eQMI_PDS_SET_ODP_CONFIG, // 66 Set ODP config
- eQMI_PDS_CANCEL_SINGLE_FIX, // 67 Cancel single position fix
- eQMI_PDS_GET_GPS_STATE, // 68 Get GPS state
- eQMI_PDS_GET_METHODS = 80, // 80 Get GPS position methods state
- eQMI_PDS_SET_METHODS, // 81 Set GPS position methods state
- eQMI_PDS_INJECT_SENSOR, // 82 Inject sensor data
- eQMI_PDS_INJECT_TIME_SYNC, // 83 Inject time sync data
- eQMI_PDS_GET_SENSOR_CFG, // 84 Get sensor config
- eQMI_PDS_SET_SENSOR_CFG, // 85 Set sensor config
- eQMI_PDS_GET_NAV_CFG, // 86 Get navigation config
- eQMI_PDS_SET_NAV_CFG, // 87 Set navigation config
- eQMI_PDS_SET_WLAN_BLANK = 90, // 90 Set WLAN blanking
- eQMI_PDS_SET_LBS_SC_RPT, // 91 Set LBS security challenge reporting
- eQMI_PDS_LBS_SC_IND = 91, // 91 LBS security challenge indication
- eQMI_PDS_SET_LBS_SC, // 92 Set LBS security challenge
- eQMI_PDS_GET_LBS_ENCRYPT_CFG, // 93 Get LBS security encryption config
- eQMI_PDS_SET_LBS_UPDATE_RATE, // 94 Set LBS security update rate
- eQMI_PDS_SET_CELLDB_CONTROL, // 95 Set cell database control
- eQMI_PDS_READY_IND, // 96 Ready indication
-
- eQMI_AUTH_START_EAP = 32, // 32 Start the EAP session
- eQMI_AUTH_SEND_EAP, // 33 Send and receive EAP packets
- eQMI_AUTH_EAP_RESULT_IND, // 34 EAP session result indication
- eQMI_AUTH_GET_EAP_KEYS, // 35 Get the EAP session keys
- eQMI_AUTH_END_EAP, // 36 End the EAP session
- eQMI_AUTH_RUN_AKA, // 37 Runs the AKA algorithm
- eQMI_AUTH_AKA_RESULT_IND, // 38 AKA algorithm result indication
-
- eQMI_VOICE_INDICATION_REG = 3, // 03 Set indication registration state
- eQMI_VOICE_CALL_ORIGINATE = 32, // 32 Originate a voice call
- eQMI_VOICE_CALL_END, // 33 End a voice call
- eQMI_VOICE_CALL_ANSWER, // 34 Answer incoming voice call
- eQMI_VOICE_GET_CALL_INFO = 36, // 36 Get call information
- eQMI_VOICE_OTASP_STATUS_IND, // 37 OTASP/OTAPA event indication
- eQMI_VOICE_INFO_REC_IND, // 38 New info record indication
- eQMI_VOICE_SEND_FLASH, // 39 Send a simple flash
- eQMI_VOICE_BURST_DTMF, // 40 Send a burst DTMF
- eQMI_VOICE_START_CONT_DTMF, // 41 Starts a continuous DTMF
- eQMI_VOICE_STOP_CONT_DTMF, // 42 Stops a continuous DTMF
- eQMI_VOICE_DTMF_IND, // 43 DTMF event indication
- eQMI_VOICE_SET_PRIVACY_PREF, // 44 Set privacy preference
- eQMI_VOICE_PRIVACY_IND, // 45 Privacy change indication
- eQMI_VOICE_ALL_STATUS_IND, // 46 Voice all call status indication
- eQMI_VOICE_GET_ALL_STATUS, // 47 Get voice all call status
- eQMI_VOICE_MANAGE_CALLS = 49, // 49 Manage calls
- eQMI_VOICE_SUPS_NOTIFICATION_IND, // 50 Supplementary service notifications
- eQMI_VOICE_SET_SUPS_SERVICE, // 51 Manage supplementary service
- eQMI_VOICE_GET_CALL_WAITING, // 52 Query sup service call waiting
- eQMI_VOICE_GET_CALL_BARRING, // 53 Query sup service call barring
- eQMI_VOICE_GET_CLIP, // 54 Query sup service CLIP
- eQMI_VOICE_GET_CLIR, // 55 Query sup service CLIR
- eQMI_VOICE_GET_CALL_FWDING, // 56 Query sup service call forwarding
- eQMI_VOICE_SET_CALL_BARRING_PWD, // 57 Set call barring password
- eQMI_VOICE_ORIG_USSD, // 58 Initiate USSD operation
- eQMI_VOICE_ANSWER_USSD, // 59 Answer USSD request
- eQMI_VOICE_CANCEL_USSD, // 60 Cancel USSD operation
- eQMI_VOICE_USSD_RELEASE_IND, // 61 USSD release indication
- eQMI_VOICE_USSD_IND, // 62 USSD request/notification indication
- eQMI_VOICE_UUS_IND, // 63 UUS information indication
- eQMI_VOICE_SET_CONFIG, // 64 Set config
- eQMI_VOICE_GET_CONFIG, // 65 Get config
- eQMI_VOICE_SUPS_IND, // 66 Sup service request indication
- eQMI_VOICE_ASYNC_ORIG_USSD, // 67 Initiate USSD operation
- eQMI_VOICE_ASYNC_USSD_IND = 67, // 67 USSD request/notification indication
- eQMI_VOICE_BIND_SUBSCRIPTION, // 68 Bind subscription
- eQMI_VOICE_ALS_SET_LINE_SW, // 69 ALS set line switching
- eQMI_VOICE_ALS_SELECT_LINE, // 70 ALS select line
- eQMI_VOICE_AOC_RESET_ACM, // 71 AOC reset ACM
- eQMI_VOICE_AOC_SET_ACM_MAX, // 72 ACM set ACM maximum
- eQMI_VOICE_AOC_GET_CM_INFO, // 73 AOC get call meter info
- eQMI_VOICE_AOC_LOW_FUNDS_IND, // 74 AOC low funds indication
- eQMI_VOICE_GET_COLP, // 75 Get COLP info
- eQMI_VOICE_GET_COLR, // 76 Get COLR info
- eQMI_VOICE_GET_CNAP, // 77 Get CNAP info
- eQMI_VOICE_MANAGE_IP_CALLS, // 78 Manage VoIP calls
-
- eQMI_CAT_RESET, // 00 Reset CAT service state variables
- eQMI_CAT_SET_EVENT, // 01 Set new message report conditions
- eQMI_CAT_EVENT_IND = 1, // 01 New message report indication
- eQMI_CAT_GET_STATE = 32, // 32 Get service state information
- eQMI_CAT_SEND_TERMINAL, // 33 Send a terminal response
- eQMI_CAT_SEND_ENVELOPE, // 34 Send an envelope command
- eQMI_CAT_GET_EVENT, // 35 Get last message report
- eQMI_CAT_SEND_DECODED_TERMINAL, // 36 Send a decoded terminal response
- eQMI_CAT_SEND_DECODED_ENVELOPE, // 37 Send a decoded envelope command
- eQMI_CAT_EVENT_CONFIRMATION, // 38 Event confirmation
- eQMI_CAT_SCWS_OPEN_CHANNEL, // 39 Open a channel to a SCWS
- eQMI_CAT_SCWS_OPEN_IND = 39, // 39 SCWS open channel indication
- eQMI_CAT_SCWS_CLOSE_CHANNEL, // 40 Close a channel to a SCWS
- eQMI_CAT_SCWS_CLOSE_IND = 40, // 40 SCWS close channel indication
- eQMI_CAT_SCWS_SEND_DATA, // 41 Send data to a SCWS
- eQMI_CAT_SCWS_SEND_IND = 41, // 41 SCWS send data indication
- eQMI_CAT_SCWS_DATA_AVAILABLE, // 42 Indicate that data is available
- eQMI_CAT_SCWS_CHANNEL_STATUS, // 43 Provide channel status
-
- eQMI_RMS_RESET, // 00 Reset RMS service state variables
- eQMI_RMS_GET_SMS_WAKE = 32, // 32 Get SMS wake settings
- eQMI_RMS_SET_SMS_WAKE, // 33 Set SMS wake settings
-
- eQMI_OMA_RESET, // 00 Reset OMA service state variables
- eQMI_OMA_SET_EVENT, // 01 Set OMA report conditions
- eQMI_OMA_EVENT_IND = 1, // 01 OMA report indication
- eQMI_OMA_START_SESSION = 32, // 32 Start client inititated session
- eQMI_OMA_CANCEL_SESSION, // 33 Cancel session
- eQMI_OMA_GET_SESSION_INFO, // 34 Get session information
- eQMI_OMA_SEND_SELECTION, // 35 Send selection for net inititated msg
- eQMI_OMA_GET_FEATURES, // 36 Get feature settings
- eQMI_OMA_SET_FEATURES, // 37 Set feature settings
-"""
-
-entities = { 30: TP_REQUEST, # 30 QMI CTL request
- 31: TP_RESPONSE, # 31 QMI CTL response
- 32: TP_INDICATION, # 32 QMI CTL indication
- 33: TP_REQUEST, # 33 QMI WDS request
- 34: TP_RESPONSE, # 34 QMI WDS response
- 35: TP_INDICATION, # 35 QMI WDS indication
- 36: TP_REQUEST, # 36 QMI DMS request
- 37: TP_RESPONSE, # 37 QMI DMS response
- 38: TP_INDICATION, # 38 QMI DMS indication
- 39: TP_REQUEST, # 39 QMI NAS request
- 40: TP_RESPONSE, # 40 QMI NAS response
- 41: TP_INDICATION, # 41 QMI NAS indication
- 42: TP_REQUEST, # 42 QMI QOS request
- 43: TP_RESPONSE, # 43 QMI QOS response
- 44: TP_INDICATION, # 44 QMI QOS indication
- 45: TP_REQUEST, # 45 QMI WMS request
- 46: TP_RESPONSE, # 46 QMI WMS response
- 47: TP_INDICATION, # 47 QMI WMS indication
- 48: TP_REQUEST, # 48 QMI PDS request
- 49: TP_RESPONSE, # 49 QMI PDS response
- 50: TP_INDICATION, # 50 QMI PDS indication
- 51: TP_REQUEST, # 51 QMI AUTH request
- 52: TP_RESPONSE, # 52 QMI AUTH response
- 53: TP_INDICATION, # 53 QMI AUTH indication
- 54: TP_REQUEST, # 54 QMI CAT request
- 55: TP_RESPONSE, # 55 QMI CAT response
- 56: TP_INDICATION, # 56 QMI CAT indication
- 57: TP_REQUEST, # 57 QMI RMS request
- 58: TP_RESPONSE, # 58 QMI RMS response
- 59: TP_INDICATION, # 59 QMI RMS indication
- 60: TP_REQUEST, # 60 QMI OMA request
- 61: TP_RESPONSE, # 61 QMI OMA response
- 62: TP_INDICATION, # 62 QMI OMA indication
- 63: TP_REQUEST, # 63 QMI voice request
- 64: TP_RESPONSE, # 64 QMI voice response
- 65: TP_INDICATION # 65 QMI voice indication
- }
-
-class Tlv:
- def __init__(self, entno, cmdno, tlvno, service, cmdname, tlvname, direction):
- self.entno = entno
- self.cmdno = cmdno
- self.tlvno = tlvno
- self.service = service
- self.cmdname = cmdname
- self.name = tlvname
- self.direction = direction
-
- def show(self):
- print (" " * 10) + '%s: "%s/%s/%s",' % (self.tlvno, self.service, self.cmdname, self.name)
-
-
-class Cmd:
- def __init__(self, service, cmdno, name):
- self.service = service
- self.cmdno = cmdno
- self.name = name
- self.tlvs = { TP_REQUEST: {}, TP_RESPONSE: {}, TP_INDICATION: {} }
-
- def add_tlv(self, direction, tlv):
- if self.tlvs[direction].has_key(tlv.tlvno):
- old = self.tlvs[direction][tlv.tlvno]
- raise ValueError("Tried to add duplicate TLV [%s %d:%d (%s/%s/%s)] had [%s %d:%d (%s/%s/%s)]" % (self.service, \
- self.cmdno, tlv.tlvno, self.service, self.name, tlv.name, self.service, self.cmdno, old.tlvno, self.service, \
- self.name, old.name))
- self.tlvs[direction][tlv.tlvno] = tlv
-
- def show_direction(self, direction):
- if len(self.tlvs[direction].keys()) == 0:
- return
-
- print "%s = { # %d" % (self.get_array_name(direction), self.cmdno)
- keys = self.tlvs[direction].keys()
- keys.sort()
- for k in keys:
- tlv = self.tlvs[direction][k]
- tlv.show()
- print (" " * 8) + "}\n"
-
- def show_tlvs(self):
- self.show_direction(TP_REQUEST)
- self.show_direction(TP_RESPONSE)
- self.show_direction(TP_INDICATION)
-
- def get_array_name(self, direction):
- if len(self.tlvs[direction].keys()) == 0:
- return "None"
- tags = { TP_REQUEST: "req", TP_RESPONSE: "rsp", TP_INDICATION: "ind" }
- return "%s_%s_%s_tlvs" % (self.service, self.name.lower(), tags[direction])
-
-# parse list of services and their commands
-services = {}
-for l in cmdenum.split("\n"):
- l = l.strip()
- if not len(l):
- continue
- l = l.replace("eQMI_", "")
- svcend = l.find("_")
- if svcend < 0:
- raise ValueError("Failed to get service")
- svc = l[:svcend].lower()
- l = l[svcend + 1:]
-
- comma = l.find(",")
- space = l.find(" =")
- idx = -1
- if comma >= 0 and (space < 0 or comma < space):
- idx = comma
- elif space >= 0 and (comma < 0 or space < comma):
- idx = space
- else:
- raise ValueError("Couldn't determine command name")
- cmdname = l[:idx]
- l = l[idx:]
- comment = l.index("// ")
- l = l[comment + 3:]
- end = l.index(" ")
- cmdno = int(l[:end])
-
- cmd = Cmd(svc, cmdno, cmdname)
-
- if not services.has_key(svc):
- services[svc] = {}
- if services[svc].has_key(cmdno):
- # ignore duplicat indication numbers
- if cmdname.find("_IND") >= 0:
- continue
- raise KeyError("Already have %s/%s/%d" % (svc, cmdname, cmdno))
- services[svc][cmdno] = cmd
-
-# read in Entity.txt
-f = open(sys.argv[1])
-lines = f.readlines()
-f.close()
-
-for line in lines:
- parts = line.split("^")
- struct = int(parts[3])
-
- entno = int(parts[0])
-
- ids = parts[1].replace('"', "").split(",")
- cmdno = int(ids[0])
- tlvno = int(ids[1])
-
- name = parts[2].replace('"', "").split("/")
- service = name[0]
- cmdname = name[1]
- tlvname = name[2]
-
- direction = entities[entno]
-
- tlv = Tlv(entno, cmdno, tlvno, service, cmdname, tlvname, direction)
- services[service.lower()][cmdno].add_tlv(direction, tlv)
-
-svcsorted = services.keys()
-svcsorted.sort()
-for s in svcsorted:
- # print each service's command's TLVs
- cmdssorted = services[s].keys()
- cmdssorted.sort()
- for c in cmdssorted:
- cmd = services[s][c]
- cmd.show_tlvs()
-
- # print each service's command dict
- print "%s_cmds = {" % s
- for c in cmdssorted:
- cmd = services[s][c]
- print ' %d: ("%s", %s, %s, %s),' % (cmd.cmdno, cmd.name, \
- cmd.get_array_name(TP_REQUEST), cmd.get_array_name(TP_RESPONSE), cmd.get_array_name(TP_INDICATION))
- print " }"
-print ""
-
-# print out services
-slist = { 0: "ctl", 1: "wds", 2: "dms", 3: "nas", 4: "qos", 5: "wms",
- 6: "pds", 7: "auth", 9: "voice", 224: "cat", 225: "rms", 226: "oma" }
-
-slistsorted = slist.keys()
-slistsorted.sort()
-print "services = {"
-for s in slistsorted:
- cmdlistname = "None"
- if slist[s] != "qos":
- # QoS doesn't appear to have any commands
- cmdlistname = slist[s] + "_cmds"
- print ' %d: ("%s", %s),' % (s, slist[s], cmdlistname)
-print " }"
-
diff --git a/decode/qmiprotocol.py b/decode/qmiprotocol.py
deleted file mode 100644
index 1dcb5032..00000000
--- a/decode/qmiprotocol.py
+++ /dev/null
@@ -1,2453 +0,0 @@
-auth_start_eap_req_tlvs = { # 32
- 16: "AUTH/Start EAP Session Request/Method Mask",
- }
-
-auth_start_eap_rsp_tlvs = { # 32
- 2: "AUTH/Start EAP Session Response/Result Code",
- }
-
-auth_send_eap_req_tlvs = { # 33
- 1: "AUTH/Send EAP Packet Request/Request Packet",
- }
-
-auth_send_eap_rsp_tlvs = { # 33
- 1: "AUTH/Send EAP Packet Response/Response Packet",
- 2: "AUTH/Send EAP Packet Response/Result Code",
- }
-
-auth_eap_result_ind_rsp_tlvs = { # 34
- 1: "AUTH/EAP Session Result/Result",
- }
-
-auth_get_eap_keys_rsp_tlvs = { # 35
- 1: "AUTH/Get EAP Session Keys Response/Session Keys",
- 2: "AUTH/Get EAP Session Keys Response/Result Code",
- }
-
-auth_end_eap_rsp_tlvs = { # 36
- 2: "AUTH/End EAP Session Response/Result Code",
- }
-
-auth_cmds = {
- 32: ("START_EAP", auth_start_eap_req_tlvs, auth_start_eap_rsp_tlvs, None),
- 33: ("SEND_EAP", auth_send_eap_req_tlvs, auth_send_eap_rsp_tlvs, None),
- 34: ("EAP_RESULT_IND", None, auth_eap_result_ind_rsp_tlvs, None),
- 35: ("GET_EAP_KEYS", None, auth_get_eap_keys_rsp_tlvs, None),
- 36: ("END_EAP", None, auth_end_eap_rsp_tlvs, None),
- 37: ("RUN_AKA", None, None, None),
- 38: ("AKA_RESULT_IND", None, None, None),
- }
-cat_reset_rsp_tlvs = { # 0
- 2: "CAT/Reset Response/Result Code",
- }
-
-cat_set_event_req_tlvs = { # 1
- 16: "CAT/Set Event Report Request/Report Mask",
- }
-
-cat_set_event_rsp_tlvs = { # 1
- 2: "CAT/Set Event Report Response/Result Code",
- 16: "CAT/Set Event Report Response/Reg Status Mask",
- }
-
-cat_set_event_ind_tlvs = { # 1
- 16: "CAT/Event Report/Display Text Event",
- 17: "CAT/Event Report/Get Inkey Event",
- 18: "CAT/Event Report/Get Input Event",
- 19: "CAT/Event Report/Setup Menu Event",
- 20: "CAT/Event Report/Select Item Event",
- 21: "CAT/Event Report/Alpha ID Available",
- 22: "CAT/Event Report/Setup Event List",
- 23: "CAT/Event Report/Setup Idle Mode Text Event",
- 24: "CAT/Event Report/Language Notification Event",
- 25: "CAT/Event Report/Refresh Event",
- 26: "CAT/Event Report/End Proactive Session",
- }
-
-cat_get_state_rsp_tlvs = { # 32
- 1: "CAT/Get Service State Response/CAT Service State",
- 2: "CAT/Get Service State Response/Result Code",
- }
-
-cat_send_terminal_req_tlvs = { # 33
- 1: "CAT/Send Terminal Response Request/Terminal Response Type",
- }
-
-cat_send_terminal_rsp_tlvs = { # 33
- 2: "CAT/Send Terminal Response Response/Result Code",
- }
-
-cat_send_envelope_req_tlvs = { # 34
- 1: "CAT/Envelope Command Request/Envelope Command",
- }
-
-cat_send_envelope_rsp_tlvs = { # 34
- 2: "CAT/Envelope Command Response/Result Code",
- }
-
-cat_cmds = {
- 0: ("RESET", None, cat_reset_rsp_tlvs, None),
- 1: ("SET_EVENT", cat_set_event_req_tlvs, cat_set_event_rsp_tlvs, cat_set_event_ind_tlvs),
- 32: ("GET_STATE", None, cat_get_state_rsp_tlvs, None),
- 33: ("SEND_TERMINAL", cat_send_terminal_req_tlvs, cat_send_terminal_rsp_tlvs, None),
- 34: ("SEND_ENVELOPE", cat_send_envelope_req_tlvs, cat_send_envelope_rsp_tlvs, None),
- 35: ("GET_EVENT", None, None, None),
- 36: ("SEND_DECODED_TERMINAL", None, None, None),
- 37: ("SEND_DECODED_ENVELOPE", None, None, None),
- 38: ("EVENT_CONFIRMATION", None, None, None),
- 39: ("SCWS_OPEN_CHANNEL", None, None, None),
- 40: ("SCWS_CLOSE_CHANNEL", None, None, None),
- 41: ("SCWS_SEND_DATA", None, None, None),
- 42: ("SCWS_DATA_AVAILABLE", None, None, None),
- 43: ("SCWS_CHANNEL_STATUS", None, None, None),
- }
-ctl_set_instance_id_req_tlvs = { # 32
- 1: "CTL/Set Instance ID Request/Instance",
- }
-
-ctl_set_instance_id_rsp_tlvs = { # 32
- 1: "CTL/Set Instance ID Response/Link",
- 2: "CTL/Set Instance ID Response/Result Code",
- }
-
-ctl_get_version_info_rsp_tlvs = { # 33
- 1: "CTL/Get Version Info Response/List",
- 2: "CTL/Get Version Info Response/Result Code",
- 16: "CTL/Get Version Info Response/Addendum",
- }
-
-ctl_get_client_id_req_tlvs = { # 34
- 1: "CTL/Get Client ID Request/Type",
- }
-
-ctl_get_client_id_rsp_tlvs = { # 34
- 1: "CTL/Get Client ID Response/ID",
- 2: "CTL/Get Client ID Response/Result Code",
- }
-
-ctl_release_client_id_req_tlvs = { # 35
- 1: "CTL/Release Client ID Request/ID",
- }
-
-ctl_release_client_id_rsp_tlvs = { # 35
- 1: "CTL/Release Client ID Response/ID",
- 2: "CTL/Release Client ID Response/Result Code",
- }
-
-ctl_revoke_client_id_ind_ind_tlvs = { # 36
- 1: "CTL/Release Client ID Indication/ID",
- }
-
-ctl_invalid_client_id_ind_tlvs = { # 37
- 1: "CTL/Invalid Client ID Indication/ID",
- }
-
-ctl_set_data_format_req_tlvs = { # 38
- 1: "CTL/Set Data Format Request/Format",
- 16: "CTL/Set Data Format Request/Protocol",
- }
-
-ctl_set_data_format_rsp_tlvs = { # 38
- 2: "CTL/Set Data Format Response/Result Code",
- 16: "CTL/Set Data Format Response/Protocol",
- }
-
-ctl_set_event_req_tlvs = { # 40
- 1: "CTL/Set Event Report Request/Report",
- }
-
-ctl_set_event_rsp_tlvs = { # 40
- 2: "CTL/Set Event Report Response/Result Code",
- }
-
-ctl_set_event_ind_tlvs = { # 40
- 1: "CTL/Event Report Indication/Report",
- }
-
-ctl_set_power_save_cfg_req_tlvs = { # 41
- 1: "CTL/Set Power Save Config Request/Descriptor",
- 17: "CTL/Set Power Save Config Request/Permitted Set",
- }
-
-ctl_set_power_save_cfg_rsp_tlvs = { # 41
- 2: "CTL/Set Power Save Config Response/Result Code",
- }
-
-ctl_set_power_save_mode_req_tlvs = { # 42
- 1: "CTL/Set Power Save Mode Request/Mode",
- }
-
-ctl_set_power_save_mode_rsp_tlvs = { # 42
- 2: "CTL/Set Power Save Mode Response/Result Code",
- }
-
-ctl_get_power_save_mode_rsp_tlvs = { # 43
- 1: "CTL/Get Power Save Mode Response/Mode",
- 2: "CTL/Get Power Save Mode Response/Result Code",
- }
-
-ctl_cmds = {
- 32: ("SET_INSTANCE_ID", ctl_set_instance_id_req_tlvs, ctl_set_instance_id_rsp_tlvs, None),
- 33: ("GET_VERSION_INFO", None, ctl_get_version_info_rsp_tlvs, None),
- 34: ("GET_CLIENT_ID", ctl_get_client_id_req_tlvs, ctl_get_client_id_rsp_tlvs, None),
- 35: ("RELEASE_CLIENT_ID", ctl_release_client_id_req_tlvs, ctl_release_client_id_rsp_tlvs, None),
- 36: ("REVOKE_CLIENT_ID_IND", None, None, ctl_revoke_client_id_ind_ind_tlvs),
- 37: ("INVALID_CLIENT_ID", None, None, ctl_invalid_client_id_ind_tlvs),
- 38: ("SET_DATA_FORMAT", ctl_set_data_format_req_tlvs, ctl_set_data_format_rsp_tlvs, None),
- 39: ("SYNC", None, None, None),
- 40: ("SET_EVENT", ctl_set_event_req_tlvs, ctl_set_event_rsp_tlvs, ctl_set_event_ind_tlvs),
- 41: ("SET_POWER_SAVE_CFG", ctl_set_power_save_cfg_req_tlvs, ctl_set_power_save_cfg_rsp_tlvs, None),
- 42: ("SET_POWER_SAVE_MODE", ctl_set_power_save_mode_req_tlvs, ctl_set_power_save_mode_rsp_tlvs, None),
- 43: ("GET_POWER_SAVE_MODE", None, ctl_get_power_save_mode_rsp_tlvs, None),
- }
-dms_reset_rsp_tlvs = { # 0
- 2: "DMS/Reset Response/Result Code",
- }
-
-dms_set_event_req_tlvs = { # 1
- 16: "DMS/Set Event Report Request/Power State",
- 17: "DMS/Set Event Report Request/Battery Level",
- 18: "DMS/Set Event Report Request/PIN Status",
- 19: "DMS/Set Event Report Request/Activation State",
- 20: "DMS/Set Event Report Request/Operating Mode",
- 21: "DMS/Set Event Report Request/UIM State",
- 22: "DMS/Set Event Report Request/Wireless Disable State",
- }
-
-dms_set_event_rsp_tlvs = { # 1
- 2: "DMS/Set Event Report Response/Result Code",
- }
-
-dms_set_event_ind_tlvs = { # 1
- 16: "DMS/Event Report/Power State",
- 17: "DMS/Event Report/PIN1 State",
- 18: "DMS/Event Report/PIN2 State",
- 19: "DMS/Event Report/Activation State",
- 20: "DMS/Event Report/Operating Mode",
- 21: "DMS/Event Report/UIM State",
- 22: "DMS/Event Report/Wireless Disable State",
- }
-
-dms_get_caps_rsp_tlvs = { # 32
- 1: "DMS/Get Device Capabilities Response/Capabilities",
- 2: "DMS/Get Device Capabilities Response/Result Code",
- }
-
-dms_get_manufacturer_rsp_tlvs = { # 33
- 1: "DMS/Get Device Manfacturer Response/Manfacturer",
- 2: "DMS/Get Device Manfacturer Response/Result Code",
- }
-
-dms_get_model_id_rsp_tlvs = { # 34
- 1: "DMS/Get Device Model Response/Model",
- 2: "DMS/Get Device Model Response/Result Code",
- }
-
-dms_get_rev_id_rsp_tlvs = { # 35
- 1: "DMS/Get Device Revision Response/Revision",
- 2: "DMS/Get Device Revision Response/Result Code",
- 16: "DMS/Get Device Revision Response/Boot Code Revision",
- 17: "DMS/Get Device Revision Response/UQCN Revision",
- }
-
-dms_get_number_rsp_tlvs = { # 36
- 1: "DMS/Get Device Voice Number Response/Voice Number",
- 2: "DMS/Get Device Voice Number Response/Result Code",
- 16: "DMS/Get Device Voice Number Response/Mobile ID Number",
- 17: "DMS/Get Device Voice Number Response/IMSI",
- }
-
-dms_get_ids_rsp_tlvs = { # 37
- 2: "DMS/Get Device Serial Numbers Response/Result Code",
- 16: "DMS/Get Device Serial Numbers Response/ESN",
- 17: "DMS/Get Device Serial Numbers Response/IMEI",
- 18: "DMS/Get Device Serial Numbers Response/MEID",
- }
-
-dms_get_power_state_rsp_tlvs = { # 38
- 1: "DMS/Get Power State Response/Power State",
- 2: "DMS/Get Power State Response/Result Code",
- }
-
-dms_uim_set_pin_prot_req_tlvs = { # 39
- 1: "DMS/UIM Set PIN Protection Request/Info",
- }
-
-dms_uim_set_pin_prot_rsp_tlvs = { # 39
- 2: "DMS/UIM Set PIN Protection Response/Result Code",
- 16: "DMS/UIM Set PIN Protection Response/Retry Info",
- }
-
-dms_uim_pin_verify_req_tlvs = { # 40
- 1: "DMS/UIM Verify PIN Request/Info",
- }
-
-dms_uim_pin_verify_rsp_tlvs = { # 40
- 2: "DMS/UIM Verify PIN Response/Result Code",
- 16: "DMS/UIM Verify PIN Response/Retry Info",
- }
-
-dms_uim_pin_unblock_req_tlvs = { # 41
- 1: "DMS/UIM Unblock PIN Request/Info",
- }
-
-dms_uim_pin_unblock_rsp_tlvs = { # 41
- 2: "DMS/UIM Unblock PIN Response/Result Code",
- 16: "DMS/UIM Unblock PIN Response/Retry Info",
- }
-
-dms_uim_pin_change_req_tlvs = { # 42
- 1: "DMS/UIM Change PIN Request/Info",
- }
-
-dms_uim_pin_change_rsp_tlvs = { # 42
- 2: "DMS/UIM Change PIN Response/Result Code",
- 16: "DMS/UIM Change PIN Response/Retry Info",
- }
-
-dms_uim_get_pin_status_rsp_tlvs = { # 43
- 2: "DMS/UIM Get PIN Status Response/Result Code",
- 17: "DMS/UIM Get PIN Status Response/PIN1 Status",
- 18: "DMS/UIM Get PIN Status Response/PIN2 Status",
- }
-
-dms_get_msm_id_rsp_tlvs = { # 44
- 1: "DMS/Get Hardware Revision Response/Hardware Revision",
- 2: "DMS/Get Hardware Revision Response/Result Code",
- }
-
-dms_get_opertaing_mode_rsp_tlvs = { # 45
- 1: "DMS/Get Operating Mode Response/Operating Mode",
- 2: "DMS/Get Operating Mode Response/Result Code",
- 16: "DMS/Get Operating Mode Response/Offline Reason",
- 17: "DMS/Get Operating Mode Response/Platform Restricted",
- }
-
-dms_set_operating_mode_req_tlvs = { # 46
- 1: "DMS/Set Operating Mode Request/Operating Mode",
- }
-
-dms_set_operating_mode_rsp_tlvs = { # 46
- 2: "DMS/Set Operating Mode Response/Result Code",
- }
-
-dms_get_time_rsp_tlvs = { # 47
- 1: "DMS/Get Timestamp Response/Timestamp",
- 2: "DMS/Get Timestamp Response/Result Code",
- }
-
-dms_get_prl_version_rsp_tlvs = { # 48
- 1: "DMS/Get PRL Version Response/PRL Version",
- 2: "DMS/Get PRL Version Response/Result Code",
- }
-
-dms_get_activated_state_rsp_tlvs = { # 49
- 1: "DMS/Get Activation State Response/Activation State",
- 2: "DMS/Get Activation State Response/Result Code",
- }
-
-dms_activate_automatic_req_tlvs = { # 50
- 1: "DMS/Activate Automatic Request/Activation Code",
- }
-
-dms_activate_automatic_rsp_tlvs = { # 50
- 2: "DMS/Activate Automatic Response/Result Code",
- }
-
-dms_activate_manual_req_tlvs = { # 51
- 1: "DMS/Activate Manual Request/Activation Data",
- 16: "DMS/Activate Manual Request/PRL (Obsolete)",
- 17: "DMS/Activate Manual Request/MN-HA Key",
- 18: "DMS/Activate Manual Request/MN-AAA Key",
- 19: "DMS/Activate Manual Request/PRL",
- }
-
-dms_activate_manual_rsp_tlvs = { # 51
- 2: "DMS/Activate Manual Response/Result Code",
- }
-
-dms_get_user_lock_state_rsp_tlvs = { # 52
- 1: "DMS/Get Lock State Response/Lock State",
- 2: "DMS/Get Lock State Response/Result Code",
- }
-
-dms_set_user_lock_state_req_tlvs = { # 53
- 1: "DMS/Set Lock State Request/Lock State",
- }
-
-dms_set_user_lock_state_rsp_tlvs = { # 53
- 2: "DMS/Set Lock State Response/Result Code",
- }
-
-dms_set_user_lock_code_req_tlvs = { # 54
- 1: "DMS/Set Lock Code Request/Lock Code",
- }
-
-dms_set_user_lock_code_rsp_tlvs = { # 54
- 2: "DMS/Set Lock Code Response/Result Code",
- }
-
-dms_read_user_data_rsp_tlvs = { # 55
- 1: "DMS/Read User Data Response/User Data",
- 2: "DMS/Read User Data Response/Result Code",
- }
-
-dms_write_user_data_req_tlvs = { # 56
- 1: "DMS/Write User Data Request/User Data",
- }
-
-dms_write_user_data_rsp_tlvs = { # 56
- 2: "DMS/Write User Data Response/Result Code",
- }
-
-dms_read_eri_file_rsp_tlvs = { # 57
- 1: "DMS/Read ERI Data Response/User Data",
- 2: "DMS/Read ERI Data Response/Result Code",
- }
-
-dms_factory_defaults_req_tlvs = { # 58
- 1: "DMS/Reset Factory Defaults Request/SPC",
- }
-
-dms_factory_defaults_rsp_tlvs = { # 58
- 2: "DMS/Reset Factory Defaults Response/Result Code",
- }
-
-dms_validate_spc_req_tlvs = { # 59
- 1: "DMS/Validate SPC Request/SPC",
- }
-
-dms_validate_spc_rsp_tlvs = { # 59
- 2: "DMS/Validate SPC Response/Result Code",
- }
-
-dms_uim_get_iccid_rsp_tlvs = { # 60
- 1: "DMS/UIM Get ICCID Response/ICCID",
- 2: "DMS/UIM Get ICCID Response/Result Code",
- }
-
-dms_get_firware_id_rsp_tlvs = { # 61
- 1: "DMS/UIM Get Firmware ID Response/ID",
- 2: "DMS/UIM Get Firmware ID Response/Result Code",
- }
-
-dms_set_firmware_id_req_tlvs = { # 62
- 1: "DMS/UIM Set Firmware ID Request/ID",
- }
-
-dms_set_firmware_id_rsp_tlvs = { # 62
- 2: "DMS/UIM Set Firmware ID Response/Result Code",
- }
-
-dms_get_host_lock_id_rsp_tlvs = { # 63
- 1: "DMS/UIM Get Host Lock ID Response/ID",
- 2: "DMS/UIM Get Host Lock ID Response/Result Code",
- }
-
-dms_uim_get_ck_status_req_tlvs = { # 64
- 1: "DMS/UIM Get Control Key Status Request/Facility",
- }
-
-dms_uim_get_ck_status_rsp_tlvs = { # 64
- 1: "DMS/UIM Get Control Key Status Response/Status",
- 2: "DMS/UIM Get Control Key Status Response/Result Code",
- 16: "DMS/UIM Get Control Key Status Response/Blocking",
- }
-
-dms_uim_set_ck_prot_req_tlvs = { # 65
- 1: "DMS/UIM Set Control Key Protection Request/Facility",
- }
-
-dms_uim_set_ck_prot_rsp_tlvs = { # 65
- 2: "DMS/UIM Set Control Key Protection Response/Result Code",
- 16: "DMS/UIM Set Control Key Protection Response/Status",
- }
-
-dms_uim_unblock_ck_req_tlvs = { # 66
- 1: "DMS/UIM Unblock Control Key Request/Facility",
- }
-
-dms_uim_unblock_ck_rsp_tlvs = { # 66
- 2: "DMS/UIM Unblock Control Key Response/Result Code",
- 16: "DMS/UIM Unblock Control Key Response/Status",
- }
-
-dms_get_imsi_rsp_tlvs = { # 67
- 1: "DMS/Get IMSI Response/IMSI",
- 2: "DMS/Get IMSI Response/Result Code",
- }
-
-dms_uim_get_state_rsp_tlvs = { # 68
- 1: "DMS/Get UIM State Response/State",
- 2: "DMS/Get UIM State Response/Result Code",
- }
-
-dms_get_band_caps_rsp_tlvs = { # 69
- 1: "DMS/Get Band Capabilities Response/Bands",
- 2: "DMS/Get Band Capabilities Response/Result Code",
- }
-
-dms_get_factory_id_rsp_tlvs = { # 70
- 1: "DMS/Get Factory Serial Number Response/ID",
- 2: "DMS/Get Factory Serial Number Response/Result Code",
- }
-
-dms_get_firmware_pref_rsp_tlvs = { # 71
- 1: "DMS/Get Firmware Preference Response/Image List",
- 2: "DMS/Get Firmware Preference Response/Result Code",
- }
-
-dms_set_firmware_pref_req_tlvs = { # 72
- 1: "DMS/Set Firmware Preference Request/Image List",
- 16: "DMS/Set Firmware Preference Request/Override",
- 17: "DMS/Set Firmware Preference Request/Index",
- }
-
-dms_set_firmware_pref_rsp_tlvs = { # 72
- 1: "DMS/Set Firmware Preference Response/Image List",
- 2: "DMS/Set Firmware Preference Response/Result Code",
- 16: "DMS/Set Firmware Preference Response/Maximum",
- }
-
-dms_list_firmware_rsp_tlvs = { # 73
- 1: "DMS/List Stored Firmware Response/Image List",
- 2: "DMS/List Stored Firmware Response/Result Code",
- }
-
-dms_delete_firmware_req_tlvs = { # 74
- 1: "DMS/Delete Stored Firmware Request/Image",
- }
-
-dms_delete_firmware_rsp_tlvs = { # 74
- 2: "DMS/Delete Stored Firmware Response/Result Code",
- }
-
-dms_set_time_req_tlvs = { # 75
- 1: "DMS/Set Device Time Request/Time",
- 16: "DMS/Set Device Time Request/Type",
- }
-
-dms_set_time_rsp_tlvs = { # 75
- 2: "DMS/Set Device Time Response/Result Code",
- }
-
-dms_get_firmware_info_req_tlvs = { # 76
- 1: "DMS/Get Stored Firmware Info Request/Image",
- }
-
-dms_get_firmware_info_rsp_tlvs = { # 76
- 2: "DMS/Get Stored Firmware Info Response/Result Code",
- 16: "DMS/Get Stored Firmware Info Response/Boot Version",
- 17: "DMS/Get Stored Firmware Info Response/PRI Version",
- 18: "DMS/Get Stored Firmware Info Response/OEM Lock ID",
- }
-
-dms_get_alt_net_cfg_rsp_tlvs = { # 77
- 1: "DMS/Get Alternate Net Config Response/Config",
- 2: "DMS/Get Alternate Net Config Response/Result Code",
- }
-
-dms_set_alt_net_cfg_req_tlvs = { # 78
- 1: "DMS/Set Alternate Net Config Request/Config",
- }
-
-dms_set_alt_net_cfg_rsp_tlvs = { # 78
- 2: "DMS/Set Alternate Net Config Response/Result Code",
- }
-
-dms_get_img_dload_mode_rsp_tlvs = { # 79
- 2: "DMS/Get Image Download Mode Response/Result Code",
- 16: "DMS/Get Image Download Mode Response/Mode",
- }
-
-dms_set_img_dload_mode_req_tlvs = { # 80
- 1: "DMS/Set Image Download Mode Request/Mode",
- }
-
-dms_set_img_dload_mode_rsp_tlvs = { # 80
- 2: "DMS/Set Image Download Mode Response/Result Code",
- }
-
-dms_cmds = {
- 0: ("RESET", None, dms_reset_rsp_tlvs, None),
- 1: ("SET_EVENT", dms_set_event_req_tlvs, dms_set_event_rsp_tlvs, dms_set_event_ind_tlvs),
- 32: ("GET_CAPS", None, dms_get_caps_rsp_tlvs, None),
- 33: ("GET_MANUFACTURER", None, dms_get_manufacturer_rsp_tlvs, None),
- 34: ("GET_MODEL_ID", None, dms_get_model_id_rsp_tlvs, None),
- 35: ("GET_REV_ID", None, dms_get_rev_id_rsp_tlvs, None),
- 36: ("GET_NUMBER", None, dms_get_number_rsp_tlvs, None),
- 37: ("GET_IDS", None, dms_get_ids_rsp_tlvs, None),
- 38: ("GET_POWER_STATE", None, dms_get_power_state_rsp_tlvs, None),
- 39: ("UIM_SET_PIN_PROT", dms_uim_set_pin_prot_req_tlvs, dms_uim_set_pin_prot_rsp_tlvs, None),
- 40: ("UIM_PIN_VERIFY", dms_uim_pin_verify_req_tlvs, dms_uim_pin_verify_rsp_tlvs, None),
- 41: ("UIM_PIN_UNBLOCK", dms_uim_pin_unblock_req_tlvs, dms_uim_pin_unblock_rsp_tlvs, None),
- 42: ("UIM_PIN_CHANGE", dms_uim_pin_change_req_tlvs, dms_uim_pin_change_rsp_tlvs, None),
- 43: ("UIM_GET_PIN_STATUS", None, dms_uim_get_pin_status_rsp_tlvs, None),
- 44: ("GET_MSM_ID", None, dms_get_msm_id_rsp_tlvs, None),
- 45: ("GET_OPERTAING_MODE", None, dms_get_opertaing_mode_rsp_tlvs, None),
- 46: ("SET_OPERATING_MODE", dms_set_operating_mode_req_tlvs, dms_set_operating_mode_rsp_tlvs, None),
- 47: ("GET_TIME", None, dms_get_time_rsp_tlvs, None),
- 48: ("GET_PRL_VERSION", None, dms_get_prl_version_rsp_tlvs, None),
- 49: ("GET_ACTIVATED_STATE", None, dms_get_activated_state_rsp_tlvs, None),
- 50: ("ACTIVATE_AUTOMATIC", dms_activate_automatic_req_tlvs, dms_activate_automatic_rsp_tlvs, None),
- 51: ("ACTIVATE_MANUAL", dms_activate_manual_req_tlvs, dms_activate_manual_rsp_tlvs, None),
- 52: ("GET_USER_LOCK_STATE", None, dms_get_user_lock_state_rsp_tlvs, None),
- 53: ("SET_USER_LOCK_STATE", dms_set_user_lock_state_req_tlvs, dms_set_user_lock_state_rsp_tlvs, None),
- 54: ("SET_USER_LOCK_CODE", dms_set_user_lock_code_req_tlvs, dms_set_user_lock_code_rsp_tlvs, None),
- 55: ("READ_USER_DATA", None, dms_read_user_data_rsp_tlvs, None),
- 56: ("WRITE_USER_DATA", dms_write_user_data_req_tlvs, dms_write_user_data_rsp_tlvs, None),
- 57: ("READ_ERI_FILE", None, dms_read_eri_file_rsp_tlvs, None),
- 58: ("FACTORY_DEFAULTS", dms_factory_defaults_req_tlvs, dms_factory_defaults_rsp_tlvs, None),
- 59: ("VALIDATE_SPC", dms_validate_spc_req_tlvs, dms_validate_spc_rsp_tlvs, None),
- 60: ("UIM_GET_ICCID", None, dms_uim_get_iccid_rsp_tlvs, None),
- 61: ("GET_FIRWARE_ID", None, dms_get_firware_id_rsp_tlvs, None),
- 62: ("SET_FIRMWARE_ID", dms_set_firmware_id_req_tlvs, dms_set_firmware_id_rsp_tlvs, None),
- 63: ("GET_HOST_LOCK_ID", None, dms_get_host_lock_id_rsp_tlvs, None),
- 64: ("UIM_GET_CK_STATUS", dms_uim_get_ck_status_req_tlvs, dms_uim_get_ck_status_rsp_tlvs, None),
- 65: ("UIM_SET_CK_PROT", dms_uim_set_ck_prot_req_tlvs, dms_uim_set_ck_prot_rsp_tlvs, None),
- 66: ("UIM_UNBLOCK_CK", dms_uim_unblock_ck_req_tlvs, dms_uim_unblock_ck_rsp_tlvs, None),
- 67: ("GET_IMSI", None, dms_get_imsi_rsp_tlvs, None),
- 68: ("UIM_GET_STATE", None, dms_uim_get_state_rsp_tlvs, None),
- 69: ("GET_BAND_CAPS", None, dms_get_band_caps_rsp_tlvs, None),
- 70: ("GET_FACTORY_ID", None, dms_get_factory_id_rsp_tlvs, None),
- 71: ("GET_FIRMWARE_PREF", None, dms_get_firmware_pref_rsp_tlvs, None),
- 72: ("SET_FIRMWARE_PREF", dms_set_firmware_pref_req_tlvs, dms_set_firmware_pref_rsp_tlvs, None),
- 73: ("LIST_FIRMWARE", None, dms_list_firmware_rsp_tlvs, None),
- 74: ("DELETE_FIRMWARE", dms_delete_firmware_req_tlvs, dms_delete_firmware_rsp_tlvs, None),
- 75: ("SET_TIME", dms_set_time_req_tlvs, dms_set_time_rsp_tlvs, None),
- 76: ("GET_FIRMWARE_INFO", dms_get_firmware_info_req_tlvs, dms_get_firmware_info_rsp_tlvs, None),
- 77: ("GET_ALT_NET_CFG", None, dms_get_alt_net_cfg_rsp_tlvs, None),
- 78: ("SET_ALT_NET_CFG", dms_set_alt_net_cfg_req_tlvs, dms_set_alt_net_cfg_rsp_tlvs, None),
- 79: ("GET_IMG_DLOAD_MODE", None, dms_get_img_dload_mode_rsp_tlvs, None),
- 80: ("SET_IMG_DLOAD_MODE", dms_set_img_dload_mode_req_tlvs, dms_set_img_dload_mode_rsp_tlvs, None),
- 81: ("GET_SW_VERSION", None, None, None),
- 82: ("SET_SPC", None, None, None),
- }
-nas_reset_rsp_tlvs = { # 0
- 2: "NAS/Reset Response/Result Code",
- }
-
-nas_abort_req_tlvs = { # 1
- 1: "NAS/Abort Request/Transaction ID",
- }
-
-nas_abort_rsp_tlvs = { # 1
- 2: "NAS/Abort Response/Result Code",
- }
-
-nas_set_event_req_tlvs = { # 2
- 16: "NAS/Set Event Report Request/Signal Indicator",
- 17: "NAS/Set Event Report Request/RF Indicator",
- 18: "NAS/Set Event Report Request/Registration Reject Indicator",
- 19: "NAS/Set Event Report Request/RSSI Indicator",
- 20: "NAS/Set Event Report Request/ECIO Indicator",
- 21: "NAS/Set Event Report Request/IO Indicator",
- 22: "NAS/Set Event Report Request/SINR Indicator",
- 23: "NAS/Set Event Report Request/Error Rate Indicator",
- 24: "NAS/Set Event Report Request/RSRQ Indicator",
- }
-
-nas_set_event_rsp_tlvs = { # 2
- 2: "NAS/Set Event Report Response/Result Code",
- }
-
-nas_set_event_ind_tlvs = { # 2
- 16: "NAS/Event Report/Signal Strength",
- 17: "NAS/Event Report/RF Info",
- 18: "NAS/Event Report/Registration Reject",
- 19: "NAS/Event Report/RSSI",
- 20: "NAS/Event Report/ECIO",
- 21: "NAS/Event Report/IO",
- 22: "NAS/Event Report/SINR",
- 23: "NAS/Event Report/Error Rate",
- 24: "NAS/Event Report/RSRQ",
- }
-
-nas_set_reg_event_req_tlvs = { # 3
- 16: "NAS/Set Registration Event Report Request/System Select Indicator",
- 18: "NAS/Set Registration Event Report Request/DDTM Indicator",
- 19: "NAS/Set Registration Event Report Request/Serving System Indicator",
- }
-
-nas_set_reg_event_rsp_tlvs = { # 3
- 2: "NAS/Set Registration Event Report Response/Result Code",
- }
-
-nas_get_rssi_req_tlvs = { # 32
- 16: "NAS/Get Signal Strength Request/Request Mask",
- }
-
-nas_get_rssi_rsp_tlvs = { # 32
- 1: "NAS/Get Signal Strength Response/Signal Strength",
- 2: "NAS/Get Signal Strength Response/Result Code",
- 16: "NAS/Get Signal Strength Response/Signal Strength List",
- 17: "NAS/Get Signal Strength Response/RSSI List",
- 18: "NAS/Get Signal Strength Response/ECIO List",
- 19: "NAS/Get Signal Strength Response/IO",
- 20: "NAS/Get Signal Strength Response/SINR",
- 21: "NAS/Get Signal Strength Response/Error Rate List",
- }
-
-nas_scan_nets_rsp_tlvs = { # 33
- 2: "NAS/Perform Network Scan Response/Result Code",
- 16: "NAS/Perform Network Scan Response/Network Info",
- 17: "NAS/Perform Network Scan Response/Network RAT",
- }
-
-nas_register_net_req_tlvs = { # 34
- 1: "NAS/Initiate Network Register Request/Action",
- 16: "NAS/Initiate Network Register Request/Manual Info",
- 17: "NAS/Initiate Network Register Request/Change Duration",
- }
-
-nas_register_net_rsp_tlvs = { # 34
- 2: "NAS/Initiate Network Register Response/Result Code",
- }
-
-nas_attach_detach_req_tlvs = { # 35
- 16: "NAS/Initiate Attach Request/Action",
- }
-
-nas_attach_detach_rsp_tlvs = { # 35
- 2: "NAS/Initiate Attach Response/Result Code",
- }
-
-nas_get_ss_info_rsp_tlvs = { # 36
- 1: "NAS/Get Serving System Response/Serving System",
- 2: "NAS/Get Serving System Response/Result Code",
- 16: "NAS/Get Serving System Response/Roaming Indicator",
- 17: "NAS/Get Serving System Response/Data Services",
- 18: "NAS/Get Serving System Response/Current PLMN",
- 19: "NAS/Get Serving System Response/System ID",
- 20: "NAS/Get Serving System Response/Base Station",
- 21: "NAS/Get Serving System Response/Roaming List",
- 22: "NAS/Get Serving System Response/Default Roaming",
- 23: "NAS/Get Serving System Response/Time Zone",
- 24: "NAS/Get Serving System Response/Protocol Revision",
- }
-
-nas_get_ss_info_ind_tlvs = { # 36
- 1: "NAS/Serving System Indication/Serving System",
- 16: "NAS/Serving System Indication/Roaming Indicator",
- 17: "NAS/Serving System Indication/Data Services",
- 18: "NAS/Serving System Indication/Current PLMN",
- 19: "NAS/Serving System Indication/System ID",
- 20: "NAS/Serving System Indication/Base Station",
- 21: "NAS/Serving System Indication/Roaming List",
- 22: "NAS/Serving System Indication/Default Roaming",
- 23: "NAS/Serving System Indication/Time Zone",
- 24: "NAS/Serving System Indication/Protocol Revision",
- 25: "NAS/Serving System Indication/PLMN Change",
- }
-
-nas_get_home_info_rsp_tlvs = { # 37
- 1: "NAS/Get Home Network Response/Home Network",
- 2: "NAS/Get Home Network Response/Result Code",
- 16: "NAS/Get Home Network Response/Home IDs",
- 17: "NAS/Get Home Network Response/Extended Home Network",
- }
-
-nas_get_net_pref_list_rsp_tlvs = { # 38
- 2: "NAS/Get Preferred Networks Response/Result Code",
- 16: "NAS/Get Preferred Networks Response/Networks",
- 17: "NAS/Get Preferred Networks Response/Static Networks",
- }
-
-nas_set_net_pref_list_req_tlvs = { # 39
- 16: "NAS/Set Preferred Networks Request/Networks",
- }
-
-nas_set_net_pref_list_rsp_tlvs = { # 39
- 2: "NAS/Set Preferred Networks Response/Result Code",
- }
-
-nas_get_net_ban_list_rsp_tlvs = { # 40
- 2: "NAS/Get Forbidden Networks Response/Result Code",
- 16: "NAS/Get Forbidden Networks Response/Networks",
- }
-
-nas_set_net_ban_list_req_tlvs = { # 41
- 16: "NAS/Set Forbidden Networks Request/Networks",
- }
-
-nas_set_net_ban_list_rsp_tlvs = { # 41
- 2: "NAS/Set Forbidden Networks Response/Result Code",
- }
-
-nas_set_tech_pref_req_tlvs = { # 42
- 1: "NAS/Set Technology Preference Request/Preference",
- }
-
-nas_set_tech_pref_rsp_tlvs = { # 42
- 2: "NAS/Set Technology Preference Response/Result Code",
- }
-
-nas_get_tech_pref_rsp_tlvs = { # 43
- 1: "NAS/Get Technology Preference Response/Active Preference",
- 2: "NAS/Get Technology Preference Response/Result Code",
- 16: "NAS/Get Technology Preference Response/Persistent Preference",
- }
-
-nas_get_accolc_rsp_tlvs = { # 44
- 1: "NAS/Get ACCOLC Response/ACCOLC",
- 2: "NAS/Get ACCOLC Response/Result Code",
- }
-
-nas_set_accolc_req_tlvs = { # 45
- 1: "NAS/Set ACCOLC Request/ACCOLC",
- }
-
-nas_set_accolc_rsp_tlvs = { # 45
- 2: "NAS/Set ACCOLC Response/Result Code",
- }
-
-nas_get_syspref_rsp_tlvs = { # 46
- 1: "NAS/Get System Preference/Pref",
- 2: "NAS/Get System Preference/Result Code",
- }
-
-nas_get_net_params_rsp_tlvs = { # 47
- 2: "NAS/Get Network Parameters Response/Result Code",
- 17: "NAS/Get Network Parameters Response/SCI",
- 18: "NAS/Get Network Parameters Response/SCM",
- 19: "NAS/Get Network Parameters Response/Registration",
- 20: "NAS/Get Network Parameters Response/CDMA 1xEV-DO Revision",
- 21: "NAS/Get Network Parameters Response/CDMA 1xEV-DO SCP Custom",
- 22: "NAS/Get Network Parameters Response/Roaming",
- }
-
-nas_set_net_params_req_tlvs = { # 48
- 16: "NAS/Set Network Parameters Request/SPC",
- 20: "NAS/Set Network Parameters Request/CDMA 1xEV-DO Revision",
- 21: "NAS/Set Network Parameters Request/CDMA 1xEV-DO SCP Custom",
- 22: "NAS/Set Network Parameters Request/Roaming",
- }
-
-nas_set_net_params_rsp_tlvs = { # 48
- 2: "NAS/Set Network Parameters Response/Result Code",
- }
-
-nas_get_rf_info_rsp_tlvs = { # 49
- 1: "NAS/Get RF Info Response/RF Info",
- 2: "NAS/Get RF Info Response/Result Code",
- }
-
-nas_get_aaa_auth_status_rsp_tlvs = { # 50
- 1: "NAS/Get AN-AAA Authentication Status Response/Status",
- 2: "NAS/Get AN-AAA Authentication Status Response/Result Code",
- }
-
-nas_set_sys_select_pref_req_tlvs = { # 51
- 16: "NAS/Set System Selection Pref Request/Emergency Mode",
- 17: "NAS/Set System Selection Pref Request/Mode",
- 18: "NAS/Set System Selection Pref Request/Band",
- 19: "NAS/Set System Selection Pref Request/PRL",
- 20: "NAS/Set System Selection Pref Request/Roaming",
- }
-
-nas_set_sys_select_pref_rsp_tlvs = { # 51
- 2: "NAS/Set System Selection Pref Response/Result Code",
- }
-
-nas_get_sys_select_pref_rsp_tlvs = { # 52
- 2: "NAS/Get System Selection Pref Response/Result Code",
- 16: "NAS/Get System Selection Pref Response/Emergency Mode",
- 17: "NAS/Get System Selection Pref Response/Mode",
- 18: "NAS/Get System Selection Pref Response/Band",
- 19: "NAS/Get System Selection Pref Response/PRL",
- 20: "NAS/Get System Selection Pref Response/Roaming",
- }
-
-nas_get_sys_select_pref_ind_tlvs = { # 52
- 16: "NAS/System Selection Pref Indication/Emergency Mode",
- 17: "NAS/System Selection Pref Indication/Mode",
- 18: "NAS/System Selection Pref Indication/Band",
- 19: "NAS/System Selection Pref Indication/PRL",
- 20: "NAS/System Selection Pref Indication/Roaming",
- }
-
-nas_set_ddtm_pref_req_tlvs = { # 55
- 1: "NAS/Set DDTM Preference Request/DDTM",
- }
-
-nas_set_ddtm_pref_rsp_tlvs = { # 55
- 2: "NAS/Set DDTM Preference Response/Result Code",
- }
-
-nas_get_ddtm_pref_rsp_tlvs = { # 56
- 1: "NAS/Get DDTM Preference Response/DDTM",
- 2: "NAS/Get DDTM Preference Response/Result Code",
- }
-
-nas_get_ddtm_pref_ind_tlvs = { # 56
- 1: "NAS/DDTM Preference Indication/DDTM",
- }
-
-nas_get_plmn_mode_rsp_tlvs = { # 59
- 2: "NAS/Get CSP PLMN Mode Response/Result Code",
- 16: "NAS/Get CSP PLMN Mode Response/Mode",
- }
-
-nas_plmn_mode_ind_ind_tlvs = { # 60
- 16: "NAS/CSP PLMN Mode Indication/Mode",
- }
-
-nas_get_plmn_name_req_tlvs = { # 68
- 1: "NAS/Get PLMN Name Request/PLMN",
- }
-
-nas_get_plmn_name_rsp_tlvs = { # 68
- 2: "NAS/Get PLMN Name Response/Result Code",
- 16: "NAS/Get PLMN Name Response/Name",
- }
-
-nas_cmds = {
- 0: ("RESET", None, nas_reset_rsp_tlvs, None),
- 1: ("ABORT", nas_abort_req_tlvs, nas_abort_rsp_tlvs, None),
- 2: ("SET_EVENT", nas_set_event_req_tlvs, nas_set_event_rsp_tlvs, nas_set_event_ind_tlvs),
- 3: ("SET_REG_EVENT", nas_set_reg_event_req_tlvs, nas_set_reg_event_rsp_tlvs, None),
- 32: ("GET_RSSI", nas_get_rssi_req_tlvs, nas_get_rssi_rsp_tlvs, None),
- 33: ("SCAN_NETS", None, nas_scan_nets_rsp_tlvs, None),
- 34: ("REGISTER_NET", nas_register_net_req_tlvs, nas_register_net_rsp_tlvs, None),
- 35: ("ATTACH_DETACH", nas_attach_detach_req_tlvs, nas_attach_detach_rsp_tlvs, None),
- 36: ("GET_SS_INFO", None, nas_get_ss_info_rsp_tlvs, nas_get_ss_info_ind_tlvs),
- 37: ("GET_HOME_INFO", None, nas_get_home_info_rsp_tlvs, None),
- 38: ("GET_NET_PREF_LIST", None, nas_get_net_pref_list_rsp_tlvs, None),
- 39: ("SET_NET_PREF_LIST", nas_set_net_pref_list_req_tlvs, nas_set_net_pref_list_rsp_tlvs, None),
- 40: ("GET_NET_BAN_LIST", None, nas_get_net_ban_list_rsp_tlvs, None),
- 41: ("SET_NET_BAN_LIST", nas_set_net_ban_list_req_tlvs, nas_set_net_ban_list_rsp_tlvs, None),
- 42: ("SET_TECH_PREF", nas_set_tech_pref_req_tlvs, nas_set_tech_pref_rsp_tlvs, None),
- 43: ("GET_TECH_PREF", None, nas_get_tech_pref_rsp_tlvs, None),
- 44: ("GET_ACCOLC", None, nas_get_accolc_rsp_tlvs, None),
- 45: ("SET_ACCOLC", nas_set_accolc_req_tlvs, nas_set_accolc_rsp_tlvs, None),
- 46: ("GET_SYSPREF", None, nas_get_syspref_rsp_tlvs, None),
- 47: ("GET_NET_PARAMS", None, nas_get_net_params_rsp_tlvs, None),
- 48: ("SET_NET_PARAMS", nas_set_net_params_req_tlvs, nas_set_net_params_rsp_tlvs, None),
- 49: ("GET_RF_INFO", None, nas_get_rf_info_rsp_tlvs, None),
- 50: ("GET_AAA_AUTH_STATUS", None, nas_get_aaa_auth_status_rsp_tlvs, None),
- 51: ("SET_SYS_SELECT_PREF", nas_set_sys_select_pref_req_tlvs, nas_set_sys_select_pref_rsp_tlvs, None),
- 52: ("GET_SYS_SELECT_PREF", None, nas_get_sys_select_pref_rsp_tlvs, nas_get_sys_select_pref_ind_tlvs),
- 55: ("SET_DDTM_PREF", nas_set_ddtm_pref_req_tlvs, nas_set_ddtm_pref_rsp_tlvs, None),
- 56: ("GET_DDTM_PREF", None, nas_get_ddtm_pref_rsp_tlvs, nas_get_ddtm_pref_ind_tlvs),
- 59: ("GET_PLMN_MODE", None, nas_get_plmn_mode_rsp_tlvs, None),
- 60: ("PLMN_MODE_IND", None, None, nas_plmn_mode_ind_ind_tlvs),
- 68: ("GET_PLMN_NAME", nas_get_plmn_name_req_tlvs, nas_get_plmn_name_rsp_tlvs, None),
- 69: ("BIND_SUBS", None, None, None),
- 70: ("MANAGED_ROAMING_IND", None, None, None),
- 71: ("DSB_PREF_IND", None, None, None),
- 72: ("SUBS_INFO_IND", None, None, None),
- 73: ("GET_MODE_PREF", None, None, None),
- 75: ("SET_DSB_PREF", None, None, None),
- 76: ("NETWORK_TIME_IND", None, None, None),
- 77: ("GET_SYSTEM_INFO", None, None, None),
- 78: ("SYSTEM_INFO_IND", None, None, None),
- 79: ("GET_SIGNAL_INFO", None, None, None),
- 80: ("CFG_SIGNAL_INFO", None, None, None),
- 81: ("SIGNAL_INFO_IND", None, None, None),
- 82: ("GET_ERROR_RATE", None, None, None),
- 83: ("ERROR_RATE_IND", None, None, None),
- 84: ("EVDO_SESSION_IND", None, None, None),
- 85: ("EVDO_UATI_IND", None, None, None),
- 86: ("GET_EVDO_SUBTYPE", None, None, None),
- 87: ("GET_EVDO_COLOR_CODE", None, None, None),
- 88: ("GET_ACQ_SYS_MODE", None, None, None),
- 89: ("SET_RX_DIVERSITY", None, None, None),
- 90: ("GET_RX_TX_INFO", None, None, None),
- 91: ("UPDATE_AKEY_EXT", None, None, None),
- 92: ("GET_DSB_PREF", None, None, None),
- 93: ("DETACH_LTE", None, None, None),
- 94: ("BLOCK_LTE_PLMN", None, None, None),
- 95: ("UNBLOCK_LTE_PLMN", None, None, None),
- 96: ("RESET_LTE_PLMN_BLK", None, None, None),
- 97: ("CUR_PLMN_NAME_IND", None, None, None),
- 98: ("CONFIG_EMBMS", None, None, None),
- 99: ("GET_EMBMS_STATUS", None, None, None),
- 100: ("EMBMS_STATUS_IND", None, None, None),
- 101: ("GET_CDMA_POS_INFO", None, None, None),
- 102: ("RF_BAND_INFO_IND", None, None, None),
- }
-oma_reset_rsp_tlvs = { # 0
- 2: "OMA/Reset Response/Result Code",
- }
-
-oma_set_event_req_tlvs = { # 1
- 16: "OMA/Set Event Report Request/NIA",
- 17: "OMA/Set Event Report Request/Status",
- }
-
-oma_set_event_rsp_tlvs = { # 1
- 2: "OMA/Set Event Report Response/Result Code",
- }
-
-oma_set_event_ind_tlvs = { # 1
- 16: "OMA/Event Report/NIA",
- 17: "OMA/Event Report/Status",
- 18: "OMA/Event Report/Failure",
- }
-
-oma_start_session_req_tlvs = { # 32
- 16: "OMA/Start Session Request/Type",
- }
-
-oma_start_session_rsp_tlvs = { # 32
- 2: "OMA/Start Session Response/Result Code",
- }
-
-oma_cancel_session_rsp_tlvs = { # 33
- 2: "OMA/Cancel Session Response/Result Code",
- }
-
-oma_get_session_info_rsp_tlvs = { # 34
- 2: "OMA/Get Session Info Response/Result Code",
- 16: "OMA/Get Session Info Response/Info",
- 17: "OMA/Get Session Info Response/Failure",
- 18: "OMA/Get Session Info Response/Retry",
- 19: "OMA/Get Session Info Response/NIA",
- }
-
-oma_send_selection_req_tlvs = { # 35
- 16: "OMA/Send Selection Request/Type",
- }
-
-oma_send_selection_rsp_tlvs = { # 35
- 2: "OMA/Send Selection Response/Result Code",
- }
-
-oma_get_features_rsp_tlvs = { # 36
- 2: "OMA/Get Features Response/Result Code",
- 16: "OMA/Get Features Response/Provisioning",
- 17: "OMA/Get Features Response/PRL Update",
- 18: "OMA/Get Features Response/HFA Feature",
- 19: "OMA/Get Features Response/HFA Done State",
- }
-
-oma_set_features_req_tlvs = { # 37
- 16: "OMA/Set Features Response/Provisioning",
- 17: "OMA/Set Features Response/PRL Update",
- 18: "OMA/Set Features Response/HFA Feature",
- }
-
-oma_set_features_rsp_tlvs = { # 37
- 2: "OMA/Set Features Response/Result Code",
- }
-
-oma_cmds = {
- 0: ("RESET", None, oma_reset_rsp_tlvs, None),
- 1: ("SET_EVENT", oma_set_event_req_tlvs, oma_set_event_rsp_tlvs, oma_set_event_ind_tlvs),
- 32: ("START_SESSION", oma_start_session_req_tlvs, oma_start_session_rsp_tlvs, None),
- 33: ("CANCEL_SESSION", None, oma_cancel_session_rsp_tlvs, None),
- 34: ("GET_SESSION_INFO", None, oma_get_session_info_rsp_tlvs, None),
- 35: ("SEND_SELECTION", oma_send_selection_req_tlvs, oma_send_selection_rsp_tlvs, None),
- 36: ("GET_FEATURES", None, oma_get_features_rsp_tlvs, None),
- 37: ("SET_FEATURES", oma_set_features_req_tlvs, oma_set_features_rsp_tlvs, None),
- }
-pds_reset_rsp_tlvs = { # 0
- 2: "PDS/Reset Response/Result Code",
- }
-
-pds_set_event_req_tlvs = { # 1
- 16: "PDS/Set Event Report Request/NMEA Indicator",
- 17: "PDS/Set Event Report Request/Mode Indicator",
- 18: "PDS/Set Event Report Request/Raw Indicator",
- 19: "PDS/Set Event Report Request/XTRA Request Indicator",
- 20: "PDS/Set Event Report Request/Time Injection Indicator",
- 21: "PDS/Set Event Report Request/Wi-Fi Indicator",
- 22: "PDS/Set Event Report Request/Satellite Indicator",
- 23: "PDS/Set Event Report Request/VX Network Indicator",
- 24: "PDS/Set Event Report Request/SUPL Network Indicator",
- 25: "PDS/Set Event Report Request/UMTS CP Network Indicator",
- 26: "PDS/Set Event Report Request/PDS Comm Indicator",
- }
-
-pds_set_event_rsp_tlvs = { # 1
- 2: "PDS/Set Event Report Response/Result Code",
- }
-
-pds_set_event_ind_tlvs = { # 1
- 16: "PDS/Event Report/NMEA Sentence",
- 17: "PDS/Event Report/NMEA Sentence Plus Mode",
- 18: "PDS/Event Report/Position Session Status",
- 19: "PDS/Event Report/Parsed Position Data",
- 20: "PDS/Event Report/External XTRA Request",
- 21: "PDS/Event Report/External Time Injection Request",
- 22: "PDS/Event Report/External Wi-Fi Position Request",
- 23: "PDS/Event Report/Satellite Info",
- 24: "PDS/Event Report/VX Network Initiated Prompt",
- 25: "PDS/Event Report/SUPL Network Initiated Prompt",
- 26: "PDS/Event Report/UMTS CP Network Initiated Prompt",
- 27: "PDS/Event Report/Comm Events",
- }
-
-pds_get_state_rsp_tlvs = { # 32
- 1: "PDS/Get Service State Response/State",
- 2: "PDS/Get Service State Response/Result Code",
- }
-
-pds_get_state_ind_tlvs = { # 32
- 1: "PDS/Service State Indication/State",
- }
-
-pds_set_state_req_tlvs = { # 33
- 1: "PDS/Set Service State Request/State",
- }
-
-pds_set_state_rsp_tlvs = { # 33
- 2: "PDS/Set Service State Response/Result Code",
- }
-
-pds_start_session_req_tlvs = { # 34
- 1: "PDS/Start Tracking Session Request/Session",
- }
-
-pds_start_session_rsp_tlvs = { # 34
- 2: "PDS/Start Tracking Session Response/Result Code",
- }
-
-pds_get_session_info_rsp_tlvs = { # 35
- 1: "PDS/Get Tracking Session Info Response/Info",
- 2: "PDS/Get Tracking Session Info Response/Result Code",
- }
-
-pds_fix_position_rsp_tlvs = { # 36
- 2: "PDS/Fix Position Response/Result Code",
- }
-
-pds_end_session_rsp_tlvs = { # 37
- 2: "PDS/End Tracking Session Response/Result Code",
- }
-
-pds_get_nmea_cfg_rsp_tlvs = { # 38
- 1: "PDS/Get NMEA Config Response/Config",
- 2: "PDS/Get NMEA Config Response/Result Code",
- }
-
-pds_set_nmea_cfg_req_tlvs = { # 39
- 1: "PDS/Set NMEA Config Request/Config",
- }
-
-pds_set_nmea_cfg_rsp_tlvs = { # 39
- 2: "PDS/Set NMEA Config Response/Result Code",
- }
-
-pds_inject_time_req_tlvs = { # 40
- 1: "PDS/Inject Time Reference Request/Time",
- }
-
-pds_inject_time_rsp_tlvs = { # 40
- 2: "PDS/Inject Time Reference Response/Result Code",
- }
-
-pds_get_defaults_rsp_tlvs = { # 41
- 1: "PDS/Get Defaults Response/Defaults",
- 2: "PDS/Get Defaults Response/Result Code",
- }
-
-pds_set_defaults_req_tlvs = { # 42
- 1: "PDS/Set Defaults Request/Defaults",
- }
-
-pds_set_defaults_rsp_tlvs = { # 42
- 2: "PDS/Set Defaults Response/Result Code",
- }
-
-pds_get_xtra_params_rsp_tlvs = { # 43
- 2: "PDS/Get XTRA Parameters Response/Result Code",
- 16: "PDS/Get XTRA Parameters Response/Automatic",
- 17: "PDS/Get XTRA Parameters Response/Medium",
- 18: "PDS/Get XTRA Parameters Response/Network",
- 19: "PDS/Get XTRA Parameters Response/Validity",
- 20: "PDS/Get XTRA Parameters Response/Embedded",
- }
-
-pds_set_xtra_params_req_tlvs = { # 44
- 16: "PDS/Set XTRA Parameters Request/Automatic",
- 17: "PDS/Set XTRA Parameters Request/Medium",
- 18: "PDS/Set XTRA Parameters Request/Network",
- 20: "PDS/Set XTRA Parameters Request/Embedded",
- }
-
-pds_set_xtra_params_rsp_tlvs = { # 44
- 2: "PDS/Set XTRA Parameters Response/Result Code",
- }
-
-pds_force_xtra_dl_rsp_tlvs = { # 45
- 2: "PDS/Force XTRA Download Response/Result Code",
- }
-
-pds_get_agps_config_req_tlvs = { # 46
- 18: "PDS/Get AGPS Config Request/Network Mode",
- }
-
-pds_get_agps_config_rsp_tlvs = { # 46
- 2: "PDS/Get AGPS Config Response/Result Code",
- 16: "PDS/Get AGPS Config Response/Server",
- 17: "PDS/Get AGPS Config Response/Server URL",
- }
-
-pds_set_agps_config_req_tlvs = { # 47
- 16: "PDS/Set AGPS Config Request/Server",
- 17: "PDS/Set AGPS Config Request/Server URL",
- 18: "PDS/Set AGPS Config Request/Network Mode",
- }
-
-pds_set_agps_config_rsp_tlvs = { # 47
- 2: "PDS/Set AGPS Config Response/Result Code",
- }
-
-pds_get_svc_autotrack_rsp_tlvs = { # 48
- 1: "PDS/Get Service Auto-Tracking State Response/State",
- 2: "PDS/Get Service Auto-Tracking State Response/Result Code",
- }
-
-pds_set_svc_autotrack_req_tlvs = { # 49
- 1: "PDS/Set Service Auto-Tracking State Request/State",
- }
-
-pds_set_svc_autotrack_rsp_tlvs = { # 49
- 2: "PDS/Set Service Auto-Tracking State Response/Result Code",
- }
-
-pds_get_com_autotrack_rsp_tlvs = { # 50
- 1: "PDS/Get COM Port Auto-Tracking Config Response/Config",
- 2: "PDS/Get COM Port Auto-Tracking Config Response/Result Code",
- }
-
-pds_set_com_autotrack_req_tlvs = { # 51
- 1: "PDS/Set COM Port Auto-Tracking Config Request/Config",
- }
-
-pds_set_com_autotrack_rsp_tlvs = { # 51
- 2: "PDS/Set COM Port Auto-Tracking Config Response/Result Code",
- }
-
-pds_reset_data_req_tlvs = { # 52
- 16: "PDS/Reset PDS Data Request/GPS Data",
- 17: "PDS/Reset PDS Data Request/Cell Data",
- }
-
-pds_reset_data_rsp_tlvs = { # 52
- 2: "PDS/Reset PDS Data Response/Result Code",
- }
-
-pds_single_fix_req_tlvs = { # 53
- 16: "PDS/Single Position Fix Request/Mode",
- 17: "PDS/Single Position Fix Request/Timeout",
- 18: "PDS/Single Position Fix Request/Accuracy",
- }
-
-pds_single_fix_rsp_tlvs = { # 53
- 2: "PDS/Single Position Fix Response/Result Code",
- }
-
-pds_get_version_rsp_tlvs = { # 54
- 1: "PDS/Get Service Version Response/Version",
- 2: "PDS/Get Service Version Response/Result Code",
- }
-
-pds_inject_xtra_req_tlvs = { # 55
- 1: "PDS/Inject XTRA Data Request/Data",
- }
-
-pds_inject_xtra_rsp_tlvs = { # 55
- 2: "PDS/Inject XTRA Data Response/Result Code",
- }
-
-pds_inject_position_req_tlvs = { # 56
- 16: "PDS/Inject Position Data Request/Timestamp",
- 17: "PDS/Inject Position Data Request/Latitude",
- 18: "PDS/Inject Position Data Request/Longitude",
- 19: "PDS/Inject Position Data Request/Altitude Ellipsoid",
- 20: "PDS/Inject Position Data Request/Altitude Sea Level",
- 21: "PDS/Inject Position Data Request/Horizontal Uncertainty",
- 22: "PDS/Inject Position Data Request/Vertical Uncertainty",
- 23: "PDS/Inject Position Data Request/Horizontal Confidence",
- 24: "PDS/Inject Position Data Request/Vertical Confidence",
- 25: "PDS/Inject Position Data Request/Source",
- }
-
-pds_inject_position_rsp_tlvs = { # 56
- 2: "PDS/Inject Position Data Response/Result Code",
- }
-
-pds_inject_wifi_req_tlvs = { # 57
- 16: "PDS/Inject Wi-Fi Position Data Request/Time",
- 17: "PDS/Inject Wi-Fi Position Data Request/Position",
- 18: "PDS/Inject Wi-Fi Position Data Request/AP Info",
- }
-
-pds_inject_wifi_rsp_tlvs = { # 57
- 2: "PDS/Inject Wi-Fi Position Data Response/Result Code",
- }
-
-pds_get_sbas_config_rsp_tlvs = { # 58
- 2: "PDS/Get SBAS Config Response/Result Code",
- 16: "PDS/Get SBAS Config Response/Config",
- }
-
-pds_set_sbas_config_req_tlvs = { # 59
- 16: "PDS/Set SBAS Config Request/Config",
- }
-
-pds_set_sbas_config_rsp_tlvs = { # 59
- 2: "PDS/Set SBAS Config Response/Result Code",
- }
-
-pds_send_ni_response_req_tlvs = { # 60
- 1: "PDS/Send Network Initiated Response Request/Action",
- 16: "PDS/Send Network Initiated Response Request/VX",
- 17: "PDS/Send Network Initiated Response Request/SUPL",
- 18: "PDS/Send Network Initiated Response Request/UMTS CP",
- }
-
-pds_send_ni_response_rsp_tlvs = { # 60
- 2: "PDS/Send Network Initiated Response Response/Result Code",
- }
-
-pds_inject_abs_time_req_tlvs = { # 61
- 1: "PDS/Inject Absolute Time Request/Time",
- }
-
-pds_inject_abs_time_rsp_tlvs = { # 61
- 2: "PDS/Inject Absolute Time Response/Result Code",
- }
-
-pds_inject_efs_req_tlvs = { # 62
- 1: "PDS/Inject EFS Data Request/Date File",
- }
-
-pds_inject_efs_rsp_tlvs = { # 62
- 2: "PDS/Inject EFS Data Response/Result Code",
- }
-
-pds_get_dpo_config_rsp_tlvs = { # 63
- 2: "PDS/Get DPO Config Response/Result Code",
- 16: "PDS/Get DPO Config Response/Config",
- }
-
-pds_set_dpo_config_req_tlvs = { # 64
- 1: "PDS/Set DPO Config Request/Config",
- }
-
-pds_set_dpo_config_rsp_tlvs = { # 64
- 2: "PDS/Set DPO Config Response/Result Code",
- }
-
-pds_get_odp_config_rsp_tlvs = { # 65
- 2: "PDS/Get ODP Config Response/Result Code",
- 16: "PDS/Get ODP Config Response/Config",
- }
-
-pds_set_odp_config_req_tlvs = { # 66
- 16: "PDS/Set ODP Config Request/Config",
- }
-
-pds_set_odp_config_rsp_tlvs = { # 66
- 2: "PDS/Set ODP Config Response/Result Code",
- }
-
-pds_cancel_single_fix_rsp_tlvs = { # 67
- 2: "PDS/Cancel Single Position Fix Response/Result Code",
- }
-
-pds_get_gps_state_rsp_tlvs = { # 68
- 2: "PDS/Get GPS State Response/Result Code",
- 16: "PDS/Get GPS State Response/State",
- }
-
-pds_get_methods_rsp_tlvs = { # 80
- 2: "PDS/Get Position Methods State Response/Result Code",
- 16: "PDS/Get Position Methods State Response/XTRA Time",
- 17: "PDS/Get Position Methods State Response/XTRA Data",
- 18: "PDS/Get Position Methods State Response/Wi-Fi",
- }
-
-pds_set_methods_req_tlvs = { # 81
- 16: "PDS/Set Position Methods State Request/XTRA Time",
- 17: "PDS/Set Position Methods State Request/XTRA Data",
- 18: "PDS/Set Position Methods State Request/Wi-Fi",
- }
-
-pds_set_methods_rsp_tlvs = { # 81
- 2: "PDS/Set Position Methods State Response/Result Code",
- }
-
-pds_cmds = {
- 0: ("RESET", None, pds_reset_rsp_tlvs, None),
- 1: ("SET_EVENT", pds_set_event_req_tlvs, pds_set_event_rsp_tlvs, pds_set_event_ind_tlvs),
- 32: ("GET_STATE", None, pds_get_state_rsp_tlvs, pds_get_state_ind_tlvs),
- 33: ("SET_STATE", pds_set_state_req_tlvs, pds_set_state_rsp_tlvs, None),
- 34: ("START_SESSION", pds_start_session_req_tlvs, pds_start_session_rsp_tlvs, None),
- 35: ("GET_SESSION_INFO", None, pds_get_session_info_rsp_tlvs, None),
- 36: ("FIX_POSITION", None, pds_fix_position_rsp_tlvs, None),
- 37: ("END_SESSION", None, pds_end_session_rsp_tlvs, None),
- 38: ("GET_NMEA_CFG", None, pds_get_nmea_cfg_rsp_tlvs, None),
- 39: ("SET_NMEA_CFG", pds_set_nmea_cfg_req_tlvs, pds_set_nmea_cfg_rsp_tlvs, None),
- 40: ("INJECT_TIME", pds_inject_time_req_tlvs, pds_inject_time_rsp_tlvs, None),
- 41: ("GET_DEFAULTS", None, pds_get_defaults_rsp_tlvs, None),
- 42: ("SET_DEFAULTS", pds_set_defaults_req_tlvs, pds_set_defaults_rsp_tlvs, None),
- 43: ("GET_XTRA_PARAMS", None, pds_get_xtra_params_rsp_tlvs, None),
- 44: ("SET_XTRA_PARAMS", pds_set_xtra_params_req_tlvs, pds_set_xtra_params_rsp_tlvs, None),
- 45: ("FORCE_XTRA_DL", None, pds_force_xtra_dl_rsp_tlvs, None),
- 46: ("GET_AGPS_CONFIG", pds_get_agps_config_req_tlvs, pds_get_agps_config_rsp_tlvs, None),
- 47: ("SET_AGPS_CONFIG", pds_set_agps_config_req_tlvs, pds_set_agps_config_rsp_tlvs, None),
- 48: ("GET_SVC_AUTOTRACK", None, pds_get_svc_autotrack_rsp_tlvs, None),
- 49: ("SET_SVC_AUTOTRACK", pds_set_svc_autotrack_req_tlvs, pds_set_svc_autotrack_rsp_tlvs, None),
- 50: ("GET_COM_AUTOTRACK", None, pds_get_com_autotrack_rsp_tlvs, None),
- 51: ("SET_COM_AUTOTRACK", pds_set_com_autotrack_req_tlvs, pds_set_com_autotrack_rsp_tlvs, None),
- 52: ("RESET_DATA", pds_reset_data_req_tlvs, pds_reset_data_rsp_tlvs, None),
- 53: ("SINGLE_FIX", pds_single_fix_req_tlvs, pds_single_fix_rsp_tlvs, None),
- 54: ("GET_VERSION", None, pds_get_version_rsp_tlvs, None),
- 55: ("INJECT_XTRA", pds_inject_xtra_req_tlvs, pds_inject_xtra_rsp_tlvs, None),
- 56: ("INJECT_POSITION", pds_inject_position_req_tlvs, pds_inject_position_rsp_tlvs, None),
- 57: ("INJECT_WIFI", pds_inject_wifi_req_tlvs, pds_inject_wifi_rsp_tlvs, None),
- 58: ("GET_SBAS_CONFIG", None, pds_get_sbas_config_rsp_tlvs, None),
- 59: ("SET_SBAS_CONFIG", pds_set_sbas_config_req_tlvs, pds_set_sbas_config_rsp_tlvs, None),
- 60: ("SEND_NI_RESPONSE", pds_send_ni_response_req_tlvs, pds_send_ni_response_rsp_tlvs, None),
- 61: ("INJECT_ABS_TIME", pds_inject_abs_time_req_tlvs, pds_inject_abs_time_rsp_tlvs, None),
- 62: ("INJECT_EFS", pds_inject_efs_req_tlvs, pds_inject_efs_rsp_tlvs, None),
- 63: ("GET_DPO_CONFIG", None, pds_get_dpo_config_rsp_tlvs, None),
- 64: ("SET_DPO_CONFIG", pds_set_dpo_config_req_tlvs, pds_set_dpo_config_rsp_tlvs, None),
- 65: ("GET_ODP_CONFIG", None, pds_get_odp_config_rsp_tlvs, None),
- 66: ("SET_ODP_CONFIG", pds_set_odp_config_req_tlvs, pds_set_odp_config_rsp_tlvs, None),
- 67: ("CANCEL_SINGLE_FIX", None, pds_cancel_single_fix_rsp_tlvs, None),
- 68: ("GET_GPS_STATE", None, pds_get_gps_state_rsp_tlvs, None),
- 80: ("GET_METHODS", None, pds_get_methods_rsp_tlvs, None),
- 81: ("SET_METHODS", pds_set_methods_req_tlvs, pds_set_methods_rsp_tlvs, None),
- 82: ("INJECT_SENSOR", None, None, None),
- 83: ("INJECT_TIME_SYNC", None, None, None),
- 84: ("GET_SENSOR_CFG", None, None, None),
- 85: ("SET_SENSOR_CFG", None, None, None),
- 86: ("GET_NAV_CFG", None, None, None),
- 87: ("SET_NAV_CFG", None, None, None),
- 90: ("SET_WLAN_BLANK", None, None, None),
- 91: ("SET_LBS_SC_RPT", None, None, None),
- 92: ("SET_LBS_SC", None, None, None),
- 93: ("GET_LBS_ENCRYPT_CFG", None, None, None),
- 94: ("SET_LBS_UPDATE_RATE", None, None, None),
- 95: ("SET_CELLDB_CONTROL", None, None, None),
- 96: ("READY_IND", None, None, None),
- }
-rms_reset_rsp_tlvs = { # 0
- 2: "RMS/Reset Response/Result Code",
- }
-
-rms_get_sms_wake_rsp_tlvs = { # 32
- 2: "RMS/Get SMS Wake Response/Result Code",
- 16: "RMS/Get SMS Wake Response/State",
- 17: "RMS/Get SMS Wake Request/Mask",
- }
-
-rms_set_sms_wake_req_tlvs = { # 33
- 16: "RMS/Set SMS Wake Request/State",
- 17: "RMS/Set SMS Wake Request/Mask",
- }
-
-rms_set_sms_wake_rsp_tlvs = { # 33
- 2: "RMS/Set SMS Wake Response/Result Code",
- }
-
-rms_cmds = {
- 0: ("RESET", None, rms_reset_rsp_tlvs, None),
- 32: ("GET_SMS_WAKE", None, rms_get_sms_wake_rsp_tlvs, None),
- 33: ("SET_SMS_WAKE", rms_set_sms_wake_req_tlvs, rms_set_sms_wake_rsp_tlvs, None),
- }
-voice_orig_ussd_req_tlvs = { # 58
- 1: "Voice/Initiate USSD Request/Info",
- }
-
-voice_orig_ussd_rsp_tlvs = { # 58
- 2: "Voice/Initiate USSD Response/Result Code",
- 16: "Voice/Initiate USSD Response/Fail Cause",
- 17: "Voice/Initiate USSD Response/Alpha ID",
- 18: "Voice/Initiate USSD Response/Data",
- }
-
-voice_answer_ussd_req_tlvs = { # 59
- 1: "Voice/Answer USSD Request/Info",
- }
-
-voice_answer_ussd_rsp_tlvs = { # 59
- 2: "Voice/Answer USSD Response/Result Code",
- }
-
-voice_cancel_ussd_rsp_tlvs = { # 60
- 2: "Voice/Cancel USSD Response/Result Code",
- }
-
-voice_ussd_ind_ind_tlvs = { # 62
- 1: "Voice/USSD Indication/Type",
- 16: "Voice/USSD Indication/Data",
- }
-
-voice_async_orig_ussd_req_tlvs = { # 67
- 1: "Voice/Async Initiate USSD Request/Info",
- }
-
-voice_async_orig_ussd_rsp_tlvs = { # 67
- 2: "Voice/Async Initiate USSD Response/Result Code",
- }
-
-voice_async_orig_ussd_ind_tlvs = { # 67
- 16: "Voice/USSD Async Indication/Error",
- 17: "Voice/USSD Async Indication/Fail Cause",
- 18: "Voice/USSD Async Indication/Info",
- 19: "Voice/USSD Async Indication/Alpha ID",
- }
-
-voice_cmds = {
- 3: ("INDICATION_REG", None, None, None),
- 32: ("CALL_ORIGINATE", None, None, None),
- 33: ("CALL_END", None, None, None),
- 34: ("CALL_ANSWER", None, None, None),
- 36: ("GET_CALL_INFO", None, None, None),
- 37: ("OTASP_STATUS_IND", None, None, None),
- 38: ("INFO_REC_IND", None, None, None),
- 39: ("SEND_FLASH", None, None, None),
- 40: ("BURST_DTMF", None, None, None),
- 41: ("START_CONT_DTMF", None, None, None),
- 42: ("STOP_CONT_DTMF", None, None, None),
- 43: ("DTMF_IND", None, None, None),
- 44: ("SET_PRIVACY_PREF", None, None, None),
- 45: ("PRIVACY_IND", None, None, None),
- 46: ("ALL_STATUS_IND", None, None, None),
- 47: ("GET_ALL_STATUS", None, None, None),
- 49: ("MANAGE_CALLS", None, None, None),
- 50: ("SUPS_NOTIFICATION_IND", None, None, None),
- 51: ("SET_SUPS_SERVICE", None, None, None),
- 52: ("GET_CALL_WAITING", None, None, None),
- 53: ("GET_CALL_BARRING", None, None, None),
- 54: ("GET_CLIP", None, None, None),
- 55: ("GET_CLIR", None, None, None),
- 56: ("GET_CALL_FWDING", None, None, None),
- 57: ("SET_CALL_BARRING_PWD", None, None, None),
- 58: ("ORIG_USSD", voice_orig_ussd_req_tlvs, voice_orig_ussd_rsp_tlvs, None),
- 59: ("ANSWER_USSD", voice_answer_ussd_req_tlvs, voice_answer_ussd_rsp_tlvs, None),
- 60: ("CANCEL_USSD", None, voice_cancel_ussd_rsp_tlvs, None),
- 61: ("USSD_RELEASE_IND", None, None, None),
- 62: ("USSD_IND", None, None, voice_ussd_ind_ind_tlvs),
- 63: ("UUS_IND", None, None, None),
- 64: ("SET_CONFIG", None, None, None),
- 65: ("GET_CONFIG", None, None, None),
- 66: ("SUPS_IND", None, None, None),
- 67: ("ASYNC_ORIG_USSD", voice_async_orig_ussd_req_tlvs, voice_async_orig_ussd_rsp_tlvs, voice_async_orig_ussd_ind_tlvs),
- 68: ("BIND_SUBSCRIPTION", None, None, None),
- 69: ("ALS_SET_LINE_SW", None, None, None),
- 70: ("ALS_SELECT_LINE", None, None, None),
- 71: ("AOC_RESET_ACM", None, None, None),
- 72: ("AOC_SET_ACM_MAX", None, None, None),
- 73: ("AOC_GET_CM_INFO", None, None, None),
- 74: ("AOC_LOW_FUNDS_IND", None, None, None),
- 75: ("GET_COLP", None, None, None),
- 76: ("GET_COLR", None, None, None),
- 77: ("GET_CNAP", None, None, None),
- 78: ("MANAGE_IP_CALLS", None, None, None),
- }
-wds_reset_rsp_tlvs = { # 0
- 2: "WDS/Reset Response/Result Code",
- }
-
-wds_set_event_req_tlvs = { # 1
- 16: "WDS/Set Event Report Request/Channel Rate Indicator",
- 17: "WDS/Set Event Report Request/Transfer Statistics Indicator",
- 18: "WDS/Set Event Report Request/Data Bearer Technology Indicator",
- 19: "WDS/Set Event Report Request/Dormancy Status Indicator",
- 20: "WDS/Set Event Report Request/MIP Status Indicator",
- 21: "WDS/Set Event Report Request/Current Data Bearer Technology Indicator",
- }
-
-wds_set_event_rsp_tlvs = { # 1
- 2: "WDS/Set Event Report Response/Result Code",
- }
-
-wds_set_event_ind_tlvs = { # 1
- 16: "WDS/Event Report/TX Packet Successes",
- 17: "WDS/Event Report/RX Packet Successes",
- 18: "WDS/Event Report/TX Packet Errors",
- 19: "WDS/Event Report/RX Packet Errors",
- 20: "WDS/Event Report/TX Overflows",
- 21: "WDS/Event Report/RX Overflows",
- 22: "WDS/Event Report/Channel Rates",
- 23: "WDS/Event Report/Data Bearer Technology",
- 24: "WDS/Event Report/Dormancy Status",
- 25: "WDS/Event Report/TX Bytes",
- 26: "WDS/Event Report/RX Bytes",
- 27: "WDS/Event Report/MIP Status",
- 29: "WDS/Event Report/Current Data Bearer Technology",
- }
-
-wds_abort_req_tlvs = { # 2
- 1: "WDS/Abort Request/Transaction ID",
- }
-
-wds_abort_rsp_tlvs = { # 2
- 2: "WDS/Abort Response/Result Code",
- }
-
-wds_start_net_req_tlvs = { # 32
- 16: "WDS/Start Network Interface Request/Primary DNS",
- 17: "WDS/Start Network Interface Request/Secondary DNS",
- 18: "WDS/Start Network Interface Request/Primary NBNS",
- 19: "WDS/Start Network Interface Request/Secondary NBNS",
- 20: "WDS/Start Network Interface Request/Context APN Name",
- 21: "WDS/Start Network Interface Request/IP Address",
- 22: "WDS/Start Network Interface Request/Authentication",
- 23: "WDS/Start Network Interface Request/Username",
- 24: "WDS/Start Network Interface Request/Password",
- 25: "WDS/Start Network Interface Request/IP Family",
- 48: "WDS/Start Network Interface Request/Technology Preference",
- 49: "WDS/Start Network Interface Request/3GPP Profile Identifier",
- 50: "WDS/Start Network Interface Request/3GPP2 Profile Identifier",
- 51: "WDS/Start Network Interface Request/Autoconnect",
- 52: "WDS/Start Network Interface Request/Extended Technology Preference",
- 53: "WDS/Start Network Interface Request/Call Type",
- }
-
-wds_start_net_rsp_tlvs = { # 32
- 1: "WDS/Start Network Interface Response/Packet Data Handle",
- 2: "WDS/Start Network Interface Response/Result Code",
- 16: "WDS/Start Network Interface Response/Call End Reason",
- 17: "WDS/Start Network Interface Response/Verbose Call End Reason",
- }
-
-wds_stop_net_req_tlvs = { # 33
- 1: "WDS/Stop Network Interface Request/Packet Data Handle",
- 16: "WDS/Stop Network Interface Request/Autoconnect",
- }
-
-wds_stop_net_rsp_tlvs = { # 33
- 2: "WDS/Stop Network Interface Response/Result Code",
- }
-
-wds_get_pkt_status_rsp_tlvs = { # 34
- 1: "WDS/Get Packet Service Status Response/Status",
- 2: "WDS/Get Packet Service Status Response/Result Code",
- }
-
-wds_get_pkt_status_ind_tlvs = { # 34
- 1: "WDS/Packet Service Status Report/Status",
- 16: "WDS/Packet Service Status Report/Call End Reason",
- 17: "WDS/Packet Service Status Report/Verbose Call End Reason",
- }
-
-wds_get_rates_rsp_tlvs = { # 35
- 1: "WDS/Get Channel Rates Response/Channel Rates",
- 2: "WDS/Get Channel Rates Response/Result Code",
- }
-
-wds_get_statistics_req_tlvs = { # 36
- 1: "WDS/Get Packet Statistics Request/Packet Stats Mask",
- }
-
-wds_get_statistics_rsp_tlvs = { # 36
- 2: "WDS/Get Packet Statistics Response/Result Code",
- 16: "WDS/Get Packet Statistics Response/TX Packet Successes",
- 17: "WDS/Get Packet Statistics Response/RX Packet Successes",
- 18: "WDS/Get Packet Statistics Response/TX Packet Errors",
- 19: "WDS/Get Packet Statistics Response/RX Packet Errors",
- 20: "WDS/Get Packet Statistics Response/TX Overflows",
- 21: "WDS/Get Packet Statistics Response/RX Overflows",
- 25: "WDS/Get Packet Statistics Response/TX Bytes",
- 26: "WDS/Get Packet Statistics Response/RX Bytes",
- 27: "WDS/Get Packet Statistics Response/Previous TX Bytes",
- 28: "WDS/Get Packet Statistics Response/Previous RX Bytes",
- }
-
-wds_g0_dormant_rsp_tlvs = { # 37
- 2: "WDS/Go Dormant Response/Result Code",
- }
-
-wds_g0_active_rsp_tlvs = { # 38
- 2: "WDS/Go Active Response/Result Code",
- }
-
-wds_create_profile_req_tlvs = { # 39
- 1: "WDS/Create Profile Request/Profile Type",
- 16: "WDS/Create Profile Request/Profile Name",
- 17: "WDS/Create Profile Request/PDP Type",
- 20: "WDS/Create Profile Request/APN Name",
- 21: "WDS/Create Profile Request/Primary DNS",
- 22: "WDS/Create Profile Request/Secondary DNS",
- 23: "WDS/Create Profile Request/UMTS Requested QoS",
- 24: "WDS/Create Profile Request/UMTS Minimum QoS",
- 25: "WDS/Create Profile Request/GPRS Requested QoS",
- 26: "WDS/Create Profile Request/GPRS Minimum QoS",
- 27: "WDS/Create Profile Request/Username",
- 28: "WDS/Create Profile Request/Password",
- 29: "WDS/Create Profile Request/Authentication",
- 30: "WDS/Create Profile Request/IP Address",
- 31: "WDS/Create Profile Request/P-CSCF",
- }
-
-wds_create_profile_rsp_tlvs = { # 39
- 1: "WDS/Create Profile Response/Profile Identifier",
- 2: "WDS/Create Profile Response/Result Code",
- }
-
-wds_modify_profile_req_tlvs = { # 40
- 1: "WDS/Modify Profile Request/Profile Identifier",
- 16: "WDS/Modify Profile Request/Profile Name",
- 17: "WDS/Modify Profile Request/PDP Type",
- 20: "WDS/Modify Profile Request/APN Name",
- 21: "WDS/Modify Profile Request/Primary DNS",
- 22: "WDS/Modify Profile Request/Secondary DNS",
- 23: "WDS/Modify Profile Request/UMTS Requested QoS",
- 24: "WDS/Modify Profile Request/UMTS Minimum QoS",
- 25: "WDS/Modify Profile Request/GPRS Requested QoS",
- 26: "WDS/Modify Profile Request/GPRS Minimum QoS",
- 27: "WDS/Modify Profile Request/Username",
- 28: "WDS/Modify Profile Request/Password",
- 29: "WDS/Modify Profile Request/Authentication",
- 30: "WDS/Modify Profile Request/IP Address",
- 31: "WDS/Modify Profile Request/P-CSCF",
- 32: "WDS/Modify Profile Request/PDP Access Control Flag",
- 33: "WDS/Modify Profile Request/P-CSCF Address Using DHCP",
- 34: "WDS/Modify Profile Request/IM CN Flag",
- 35: "WDS/Modify Profile Request/Traffic Flow Template ID1 Parameters",
- 36: "WDS/Modify Profile Request/Traffic Flow Template ID2 Parameters",
- 37: "WDS/Modify Profile Request/PDP Context Number",
- 38: "WDS/Modify Profile Request/PDP Context Secondary Flag",
- 39: "WDS/Modify Profile Request/PDP Context Primary ID",
- 40: "WDS/Modify Profile Request/IPv6 Address",
- 41: "WDS/Modify Profile Request/Requested QoS",
- 42: "WDS/Modify Profile Request/Minimum QoS",
- 43: "WDS/Modify Profile Request/Primary IPv6",
- 44: "WDS/Modify Profile Request/Secondary IPv6",
- 45: "WDS/Modify Profile Request/Address Allocation Preference",
- 46: "WDS/Modify Profile Request/LTE QoS Parameters",
- 144: "WDS/Modify Profile Request/Negotiate DNS Server Prefrence",
- 145: "WDS/Modify Profile Request/PPP Session Close Timer DO",
- 146: "WDS/Modify Profile Request/PPP Session Close Timer 1X",
- 147: "WDS/Modify Profile Request/Allow Linger",
- 148: "WDS/Modify Profile Request/LCP ACK Timeout",
- 149: "WDS/Modify Profile Request/IPCP ACK Timeout",
- 150: "WDS/Modify Profile Request/Authentication Timeout",
- 154: "WDS/Modify Profile Request/Authentication Protocol",
- 155: "WDS/Modify Profile Request/User ID",
- 156: "WDS/Modify Profile Request/Authentication Password",
- 157: "WDS/Modify Profile Request/Data Rate",
- 158: "WDS/Modify Profile Request/Application Type",
- 159: "WDS/Modify Profile Request/Data Mode",
- 160: "WDS/Modify Profile Request/Application Priority",
- 161: "WDS/Modify Profile Request/APN String",
- 162: "WDS/Modify Profile Request/PDN Type",
- 163: "WDS/Modify Profile Request/P-CSCF Address Needed",
- 164: "WDS/Modify Profile Request/Primary IPv4 Address",
- 165: "WDS/Modify Profile Request/Secondary IPv4 Address",
- 166: "WDS/Modify Profile Request/Primary IPv6 Address",
- 167: "WDS/Modify Profile Request/Secondary IPv6 Address",
- }
-
-wds_modify_profile_rsp_tlvs = { # 40
- 2: "WDS/Modify Profile Response/Result Code",
- 151: "WDS/Modify Profile Request/LCP Config Retry Count",
- 152: "WDS/Modify Profile Request/IPCP Config Retry Count",
- 153: "WDS/Modify Profile Request/Authentication Retry",
- 224: "WDS/Modify Profile Request/Extended Error Code",
- }
-
-wds_delete_profile_req_tlvs = { # 41
- 1: "WDS/Delete Profile Request/Profile Identifier",
- }
-
-wds_delete_profile_rsp_tlvs = { # 41
- 2: "WDS/Delete Profile Response/Result Code",
- }
-
-wds_get_profile_list_rsp_tlvs = { # 42
- 1: "WDS/Get Profile List Response/Profile List",
- 2: "WDS/Get Profile List Response/Result Code",
- }
-
-wds_get_profile_req_tlvs = { # 43
- 1: "WDS/Get Profile Settings Request/Profile Identifier",
- }
-
-wds_get_profile_rsp_tlvs = { # 43
- 2: "WDS/Get Profile Settings Response/Result Code",
- 16: "WDS/Get Profile Settings Response/Profile Name",
- 17: "WDS/Get Profile Settings Response/PDP Type",
- 20: "WDS/Get Profile Settings Response/APN Name",
- 21: "WDS/Get Profile Settings Response/Primary DNS",
- 22: "WDS/Get Profile Settings Response/Secondary DNS",
- 23: "WDS/Get Profile Settings Response/UMTS Requested QoS",
- 24: "WDS/Get Profile Settings Response/UMTS Minimum QoS",
- 25: "WDS/Get Profile Settings Response/GPRS Requested QoS",
- 26: "WDS/Get Profile Settings Response/GPRS Minimum QoS",
- 27: "WDS/Get Profile Settings Response/Username",
- 29: "WDS/Get Profile Settings Response/Authentication",
- 30: "WDS/Get Profile Settings Response/IP Address",
- 31: "WDS/Get Profile Settings Response/P-CSCF",
- }
-
-wds_get_defaults_req_tlvs = { # 44
- 1: "WDS/Get Default Settings Request/Profile Type",
- }
-
-wds_get_defaults_rsp_tlvs = { # 44
- 2: "WDS/Get Default Settings Response/Result Code",
- 16: "WDS/Get Default Settings Response/Profile Name",
- 17: "WDS/Get Default Settings Response/PDP Type",
- 20: "WDS/Get Default Settings Response/APN Name",
- 21: "WDS/Get Default Settings Response/Primary DNS",
- 22: "WDS/Get Default Settings Response/Secondary DNS",
- 23: "WDS/Get Default Settings Response/UMTS Requested QoS",
- 24: "WDS/Get Default Settings Response/UMTS Minimum QoS",
- 25: "WDS/Get Default Settings Response/GPRS Requested QoS",
- 26: "WDS/Get Default Settings Response/GPRS Minimum QoS",
- 27: "WDS/Get Default Settings Response/Username",
- 28: "WDS/Get Default Settings Response/Password",
- 29: "WDS/Get Default Settings Response/Authentication",
- 30: "WDS/Get Default Settings Response/IP Address",
- 31: "WDS/Get Default Settings Response/P-CSCF",
- 32: "WDS/Get Default Settings Response/PDP Access Control Flag",
- 33: "WDS/Get Default Settings Response/P-CSCF Address Using DHCP",
- 34: "WDS/Get Default Settings Response/IM CN Flag",
- 35: "WDS/Get Default Settings Response/Traffic Flow Template ID1 Parameters",
- 36: "WDS/Get Default Settings Response/Traffic Flow Template ID2 Parameters",
- 37: "WDS/Get Default Settings Response/PDP Context Number",
- 38: "WDS/Get Default Settings Response/PDP Context Secondary Flag",
- 39: "WDS/Get Default Settings Response/PDP Context Primary ID",
- 40: "WDS/Get Default Settings Response/IPv6 Address",
- 41: "WDS/Get Default Settings Response/Requested QoS",
- 42: "WDS/Get Default Settings Response/Minimum QoS",
- 43: "WDS/Get Default Settings Response/Primary DNS IPv6 Address",
- 44: "WDS/Get Default Settings Response/Secondary DNS IPv6 Address",
- 45: "WDS/Get Default Settings Response/DHCP NAS Preference",
- 46: "WDS/Get Default Settings Response/LTE QoS Parameters",
- 144: "WDS/Get Default Settings Response/Negotiate DSN Server Preferences",
- 145: "WDS/Get Default Settings Response/PPP Session CLose Timer DO",
- 146: "WDS/Get Default Settings Response/PPP Session Close Timer 1X",
- 147: "WDS/Get Default Settings Response/Allow Lingering Interface",
- 148: "WDS/Get Default Settings Response/LCP ACK Timeout",
- 149: "WDS/Get Default Settings Response/IPCP ACK Timeout",
- 150: "WDS/Get Default Settings Response/Authentication Timeout",
- 151: "WDS/Get Default Settings Response/LCP Config Retry Count",
- 152: "WDS/Get Default Settings Response/IPCP Config Retry Count",
- 153: "WDS/Get Default Settings Response/Authentication Retry",
- 154: "WDS/Get Default Settings Response/Authentication Protocol",
- 155: "WDS/Get Default Settings Response/User ID",
- 156: "WDS/Get Default Settings Response/Authentication Password",
- 157: "WDS/Get Default Settings Response/Data Rate",
- 158: "WDS/Get Default Settings Response/Application Type",
- 159: "WDS/Get Default Settings Response/Data Mode",
- 160: "WDS/Get Default Settings Response/Application Priority",
- 161: "WDS/Get Default Settings Response/APN String",
- 162: "WDS/Get Default Settings Response/PDN Type",
- 163: "WDS/Get Default Settings Response/P-CSCF Address Needed",
- 164: "WDS/Get Default Settings Response/Primary DNS Address",
- 165: "WDS/Get Default Settings Response/Secondary DNS Address",
- 166: "WDS/Get Default Settings Response/Primary IPv6 Address",
- 167: "WDS/Get Default Settings Response/Secondary IPv6 Address",
- 224: "WDS/Get Default Settings Response/Extended Error Code",
- }
-
-wds_get_settings_req_tlvs = { # 45
- 16: "WDS/Get Current Settings Request/Requested Settings",
- }
-
-wds_get_settings_rsp_tlvs = { # 45
- 2: "WDS/Get Current Settings Response/Result Code",
- 16: "WDS/Get Current Settings Response/Profile Name",
- 17: "WDS/Get Current Settings Response/PDP Type",
- 20: "WDS/Get Current Settings Response/APN Name",
- 21: "WDS/Get Current Settings Response/Primary DNS",
- 22: "WDS/Get Current Settings Response/Secondary DNS",
- 23: "WDS/Get Current Settings Response/UMTS Granted QoS",
- 25: "WDS/Get Current Settings Response/GPRS Granted QoS",
- 27: "WDS/Get Current Settings Response/Username",
- 29: "WDS/Get Current Settings Response/Authentication",
- 30: "WDS/Get Current Settings Response/IP Address",
- 31: "WDS/Get Current Settings Response/Profile ID",
- 32: "WDS/Get Current Settings Response/Gateway Address",
- 33: "WDS/Get Current Settings Response/Gateway Subnet Mask",
- 34: "WDS/Get Current Settings Response/P-CSCF",
- 35: "WDS/Get Current Settings Response/P-CSCF Server Address List",
- 36: "WDS/Get Current Settings Response/P-CSCF Domain Name List",
- 37: "WDS/Get Current Settings Response/IPv6 Address",
- 38: "WDS/Get Current Settings Response/IPv6 Gateway Address",
- 39: "WDS/Get Current Settings Response/Primary IPv6 DNS",
- 40: "WDS/Get Current Settings Response/Secondary IPv6 DNS",
- 41: "WDS/Get Current Settings Response/MTU",
- 42: "WDS/Get Current Settings Response/Domain Name List",
- 43: "WDS/Get Current Settings Response/IP Family",
- 44: "WDS/Get Current Settings Response/IM CN Flag",
- 45: "WDS/Get Current Settings Response/Extended Technology",
- 46: "WDS/Get Current Settings Response/P-CSCF IPv6 Address List",
- }
-
-wds_set_mip_req_tlvs = { # 46
- 1: "WDS/Set MIP Mode Request/Mobile IP Mode",
- }
-
-wds_set_mip_rsp_tlvs = { # 46
- 2: "WDS/Set MIP Mode Response/Result Code",
- }
-
-wds_get_mip_rsp_tlvs = { # 47
- 1: "WDS/Get MIP Mode Response/Mobile IP Mode",
- 2: "WDS/Get MIP Mode Response/Result Code",
- }
-
-wds_get_dormancy_rsp_tlvs = { # 48
- 1: "WDS/Get Dormancy Response/Dormancy Status",
- 2: "WDS/Get Dormancy Response/Result Code",
- }
-
-wds_get_autoconnect_rsp_tlvs = { # 52
- 1: "WDS/Get Autoconnect Setting Response/Autoconnect",
- 2: "WDS/Get Autoconnect Setting Response/Result Code",
- 16: "WDS/Get Autoconnect Setting Response/Roam",
- }
-
-wds_get_duration_rsp_tlvs = { # 53
- 1: "WDS/Get Data Session Duration Response/Duration",
- 2: "WDS/Get Data Session Duration Response/Result Code",
- 16: "WDS/Get Data Session Duration Response/Previous Duration",
- 17: "WDS/Get Data Session Duration Response/Active Duration",
- 18: "WDS/Get Data Session Duration Response/Previous Active Duration",
- }
-
-wds_get_modem_status_rsp_tlvs = { # 54
- 1: "WDS/Get Modem Status Response/Status",
- 2: "WDS/Get Modem Status Response/Result Code",
- 16: "WDS/Get Modem Status Response/Call End Reason",
- }
-
-wds_get_modem_status_ind_tlvs = { # 54
- 1: "WDS/Modem Status Report/Status",
- 16: "WDS/Modem Status Report/Call End Reason",
- }
-
-wds_get_data_bearer_rsp_tlvs = { # 55
- 1: "WDS/Get Data Bearer Technology Response/Technology",
- 2: "WDS/Get Data Bearer Technology Response/Result Code",
- 16: "WDS/Get Data Bearer Technology Response/Last Call Technology",
- }
-
-wds_get_modem_info_req_tlvs = { # 56
- 1: "WDS/Get Modem Info Request/Requested Status",
- 16: "WDS/Get Modem Info Request/Connection Status Indicator",
- 17: "WDS/Get Modem Info Request/Transfer Statistics Indicator",
- 18: "WDS/Get Modem Info Request/Dormancy Status Indicator",
- 19: "WDS/Get Modem Info Request/Data Bearer Technology Indicator",
- 20: "WDS/Get Modem Info Request/Channel Rate Indicator",
- }
-
-wds_get_modem_info_rsp_tlvs = { # 56
- 2: "WDS/Get Modem Info Response/Result Code",
- 16: "WDS/Get Modem Info Response/Status",
- 17: "WDS/Get Modem Info Response/Call End Reason",
- 18: "WDS/Get Modem Info Response/TX Bytes",
- 19: "WDS/Get Modem Info Response/RX Bytes",
- 20: "WDS/Get Modem Info Response/Dormancy Status",
- 21: "WDS/Get Modem Info Response/Technology",
- 22: "WDS/Get Modem Info Response/Rates",
- 23: "WDS/Get Modem Info Response/Previous TX Bytes",
- 24: "WDS/Get Modem Info Response/Previous RX Bytes",
- 25: "WDS/Get Modem Info Duration Response/Active Duration",
- }
-
-wds_get_modem_info_ind_tlvs = { # 56
- 16: "WDS/Modem Info Report/Status",
- 17: "WDS/Modem Info Report/Call End Reason",
- 18: "WDS/Modem Info Report/TX Bytes",
- 19: "WDS/Modem Info Report/RX Bytes",
- 20: "WDS/Modem Info Report/Dormancy Status",
- 21: "WDS/Modem Info Report/Technology",
- 22: "WDS/Modem Info Report/Rates",
- }
-
-wds_get_active_mip_rsp_tlvs = { # 60
- 1: "WDS/Get Active MIP Profile Response/Index",
- 2: "WDS/Get Active MIP Profile Response/Result Code",
- }
-
-wds_set_active_mip_req_tlvs = { # 61
- 1: "WDS/Set Active MIP Profile Request/Index",
- }
-
-wds_set_active_mip_rsp_tlvs = { # 61
- 2: "WDS/Set Active MIP Profile Response/Result Code",
- }
-
-wds_get_mip_profile_req_tlvs = { # 62
- 1: "WDS/Get MIP Profile Request/Index",
- }
-
-wds_get_mip_profile_rsp_tlvs = { # 62
- 2: "WDS/Get MIP Profile Response/Result Code",
- 16: "WDS/Get MIP Profile Response/State",
- 17: "WDS/Get MIP Profile Response/Home Address",
- 18: "WDS/Get MIP Profile Response/Primary Home Agent Address",
- 19: "WDS/Get MIP Profile Response/Secondary Home Agent Address",
- 20: "WDS/Get MIP Profile Response/Reverse Tunneling",
- 21: "WDS/Get MIP Profile Response/NAI",
- 22: "WDS/Get MIP Profile Response/HA SPI",
- 23: "WDS/Get MIP Profile Response/AAA SPI",
- 26: "WDS/Get MIP Profile Response/HA State",
- 27: "WDS/Get MIP Profile Response/AAA State",
- }
-
-wds_set_mip_profile_req_tlvs = { # 63
- 1: "WDS/Set MIP Profile Request/Index",
- 16: "WDS/Set MIP Profile Request/State",
- 17: "WDS/Set MIP Profile Request/Home Address",
- 18: "WDS/Set MIP Profile Request/Primary Home Agent Address",
- 19: "WDS/Set MIP Profile Request/Secondary Home Agent Address",
- 20: "WDS/Set MIP Profile Request/Reverse Tunneling",
- 21: "WDS/Set MIP Profile Request/NAI",
- 22: "WDS/Set MIP Profile Request/HA SPI",
- 23: "WDS/Set MIP Profile Requeste/AAA SPI",
- 24: "WDS/Set MIP Profile Request/MN-HA",
- 25: "WDS/Set MIP Profile Request/MN-AAA",
- }
-
-wds_set_mip_profile_rsp_tlvs = { # 63
- 2: "WDS/Set MIP Profile Response/Result Code",
- }
-
-wds_get_mip_params_rsp_tlvs = { # 64
- 2: "WDS/Get MIP Parameters Response/Result Code",
- 16: "WDS/Get MIP Parameters Response/Mobile IP Mode",
- 17: "WDS/Get MIP Parameters Response/Retry Attempt Limit",
- 18: "WDS/Get MIP Parameters Response/Retry Attempt Interval",
- 19: "WDS/Get MIP Parameters Response/Re-Registration Period",
- 20: "WDS/Get MIP Parameters Response/Re-Registration Only With Traffic",
- 21: "WDS/Get MIP Parameters Response/MN-HA Authenticator Calculator",
- 22: "WDS/Get MIP Parameters Response/MN-HA RFC 2002 BIS Authentication",
- }
-
-wds_set_mip_params_req_tlvs = { # 65
- 1: "WDS/Set MIP Parameters Request/SPC",
- 16: "WDS/Set MIP Parameters Request/Mobile IP Mode",
- 17: "WDS/Set MIP Parameters Request/Retry Attempt Limit",
- 18: "WDS/Set MIP Parameters Request/Retry Attempt Interval",
- 19: "WDS/Set MIP Parameters Request/Re-Registration Period",
- 20: "WDS/Set MIP Parameters Request/Re-Registration Only With Traffic",
- 21: "WDS/Set MIP Parameters Request/MN-HA Authenticator Calculator",
- 22: "WDS/Set MIP Parameters Request/MN-HA RFC 2002 BIS Authentication",
- }
-
-wds_set_mip_params_rsp_tlvs = { # 65
- 2: "WDS/Set MIP Parameters Response/Result Code",
- }
-
-wds_get_last_mip_status_rsp_tlvs = { # 66
- 1: "WDS/Get Last MIP Status Response/Status",
- 2: "WDS/Get Last MIP Status Response/Result Code",
- }
-
-wds_get_aaa_auth_status_rsp_tlvs = { # 67
- 1: "WDS/Get AN-AAA Authentication Status Response/Status",
- 2: "WDS/Get AN-AAA Authentication Status Response/Result Code",
- }
-
-wds_get_cur_data_bearer_rsp_tlvs = { # 68
- 1: "WDS/Get Current Data Bearer Technology Response/Technology",
- 2: "WDS/Get Current Data Bearer Technology Response/Result Code",
- }
-
-wds_get_call_list_req_tlvs = { # 69
- 16: "WDS/Get Call List Request/List Type",
- }
-
-wds_get_call_list_rsp_tlvs = { # 69
- 2: "WDS/Get Call List Response/Result Code",
- 16: "WDS/Get Call List Response/Full List",
- 17: "WDS/Get Call List Response/ID List",
- }
-
-wds_get_call_entry_req_tlvs = { # 70
- 1: "WDS/Get Call Record Request/Record ID",
- }
-
-wds_get_call_entry_rsp_tlvs = { # 70
- 1: "WDS/Get Call Record Response/Record",
- 2: "WDS/Get Call Record Response/Result Code",
- }
-
-wds_clear_call_list_rsp_tlvs = { # 71
- 2: "WDS/Clear Call List Response/Result Code",
- }
-
-wds_get_call_list_max_rsp_tlvs = { # 72
- 1: "WDS/Get Call List Max Size Response/Maximum",
- 2: "WDS/Get Call List Max Size Response/Result Code",
- }
-
-wds_set_autoconnect_req_tlvs = { # 81
- 1: "WDS/Set Autoconnect Setting Request/Autoconnect",
- 16: "WDS/Set Autoconnect Setting Request/Roam",
- }
-
-wds_set_autoconnect_rsp_tlvs = { # 81
- 2: "WDS/Set Autoconnect Setting Response/Result Code",
- }
-
-wds_get_dns_rsp_tlvs = { # 82
- 2: "WDS/Get DNS Setting Response/Result Code",
- 16: "WDS/Get DNS Setting Response/Primary",
- 17: "WDS/Get DNS Setting Response/Secondary",
- 18: "WDS/Get DNS Setting Response/Primary IPv6",
- 19: "WDS/Get DNS Setting Response/Secondary IPv6",
- }
-
-wds_set_dns_req_tlvs = { # 83
- 16: "WDS/Set DNS Setting Request/Primary",
- 17: "WDS/Set DNS Setting Request/Secondary",
- 18: "WDS/Set DNS Setting Request/Primary IPv6 Address",
- 19: "WDS/Set DNS Setting Request/Secondary IPv6 Address",
- }
-
-wds_set_dns_rsp_tlvs = { # 83
- 2: "WDS/Set DNS Setting Response/Result Code",
- }
-
-wds_cmds = {
- 0: ("RESET", None, wds_reset_rsp_tlvs, None),
- 1: ("SET_EVENT", wds_set_event_req_tlvs, wds_set_event_rsp_tlvs, wds_set_event_ind_tlvs),
- 2: ("ABORT", wds_abort_req_tlvs, wds_abort_rsp_tlvs, None),
- 32: ("START_NET", wds_start_net_req_tlvs, wds_start_net_rsp_tlvs, None),
- 33: ("STOP_NET", wds_stop_net_req_tlvs, wds_stop_net_rsp_tlvs, None),
- 34: ("GET_PKT_STATUS", None, wds_get_pkt_status_rsp_tlvs, wds_get_pkt_status_ind_tlvs),
- 35: ("GET_RATES", None, wds_get_rates_rsp_tlvs, None),
- 36: ("GET_STATISTICS", wds_get_statistics_req_tlvs, wds_get_statistics_rsp_tlvs, None),
- 37: ("G0_DORMANT", None, wds_g0_dormant_rsp_tlvs, None),
- 38: ("G0_ACTIVE", None, wds_g0_active_rsp_tlvs, None),
- 39: ("CREATE_PROFILE", wds_create_profile_req_tlvs, wds_create_profile_rsp_tlvs, None),
- 40: ("MODIFY_PROFILE", wds_modify_profile_req_tlvs, wds_modify_profile_rsp_tlvs, None),
- 41: ("DELETE_PROFILE", wds_delete_profile_req_tlvs, wds_delete_profile_rsp_tlvs, None),
- 42: ("GET_PROFILE_LIST", None, wds_get_profile_list_rsp_tlvs, None),
- 43: ("GET_PROFILE", wds_get_profile_req_tlvs, wds_get_profile_rsp_tlvs, None),
- 44: ("GET_DEFAULTS", wds_get_defaults_req_tlvs, wds_get_defaults_rsp_tlvs, None),
- 45: ("GET_SETTINGS", wds_get_settings_req_tlvs, wds_get_settings_rsp_tlvs, None),
- 46: ("SET_MIP", wds_set_mip_req_tlvs, wds_set_mip_rsp_tlvs, None),
- 47: ("GET_MIP", None, wds_get_mip_rsp_tlvs, None),
- 48: ("GET_DORMANCY", None, wds_get_dormancy_rsp_tlvs, None),
- 52: ("GET_AUTOCONNECT", None, wds_get_autoconnect_rsp_tlvs, None),
- 53: ("GET_DURATION", None, wds_get_duration_rsp_tlvs, None),
- 54: ("GET_MODEM_STATUS", None, wds_get_modem_status_rsp_tlvs, wds_get_modem_status_ind_tlvs),
- 55: ("GET_DATA_BEARER", None, wds_get_data_bearer_rsp_tlvs, None),
- 56: ("GET_MODEM_INFO", wds_get_modem_info_req_tlvs, wds_get_modem_info_rsp_tlvs, wds_get_modem_info_ind_tlvs),
- 60: ("GET_ACTIVE_MIP", None, wds_get_active_mip_rsp_tlvs, None),
- 61: ("SET_ACTIVE_MIP", wds_set_active_mip_req_tlvs, wds_set_active_mip_rsp_tlvs, None),
- 62: ("GET_MIP_PROFILE", wds_get_mip_profile_req_tlvs, wds_get_mip_profile_rsp_tlvs, None),
- 63: ("SET_MIP_PROFILE", wds_set_mip_profile_req_tlvs, wds_set_mip_profile_rsp_tlvs, None),
- 64: ("GET_MIP_PARAMS", None, wds_get_mip_params_rsp_tlvs, None),
- 65: ("SET_MIP_PARAMS", wds_set_mip_params_req_tlvs, wds_set_mip_params_rsp_tlvs, None),
- 66: ("GET_LAST_MIP_STATUS", None, wds_get_last_mip_status_rsp_tlvs, None),
- 67: ("GET_AAA_AUTH_STATUS", None, wds_get_aaa_auth_status_rsp_tlvs, None),
- 68: ("GET_CUR_DATA_BEARER", None, wds_get_cur_data_bearer_rsp_tlvs, None),
- 69: ("GET_CALL_LIST", wds_get_call_list_req_tlvs, wds_get_call_list_rsp_tlvs, None),
- 70: ("GET_CALL_ENTRY", wds_get_call_entry_req_tlvs, wds_get_call_entry_rsp_tlvs, None),
- 71: ("CLEAR_CALL_LIST", None, wds_clear_call_list_rsp_tlvs, None),
- 72: ("GET_CALL_LIST_MAX", None, wds_get_call_list_max_rsp_tlvs, None),
- 77: ("SET_IP_FAMILY", None, None, None),
- 81: ("SET_AUTOCONNECT", wds_set_autoconnect_req_tlvs, wds_set_autoconnect_rsp_tlvs, None),
- 82: ("GET_DNS", None, wds_get_dns_rsp_tlvs, None),
- 83: ("SET_DNS", wds_set_dns_req_tlvs, wds_set_dns_rsp_tlvs, None),
- 84: ("GET_PRE_DORMANCY", None, None, None),
- 85: ("SET_CAM_TIMER", None, None, None),
- 86: ("GET_CAM_TIMER", None, None, None),
- 87: ("SET_SCRM", None, None, None),
- 88: ("GET_SCRM", None, None, None),
- 89: ("SET_RDUD", None, None, None),
- 90: ("GET_RDUD", None, None, None),
- 91: ("GET_SIPMIP_CALL_TYPE", None, None, None),
- 92: ("SET_PM_PERIOD", None, None, None),
- 93: ("SET_FORCE_LONG_SLEEP", None, None, None),
- 94: ("GET_PM_PERIOD", None, None, None),
- 95: ("GET_CALL_THROTTLE", None, None, None),
- 96: ("GET_NSAPI", None, None, None),
- 97: ("SET_DUN_CTRL_PREF", None, None, None),
- 98: ("GET_DUN_CTRL_INFO", None, None, None),
- 99: ("SET_DUN_CTRL_EVENT", None, None, None),
- 100: ("PENDING_DUN_CTRL", None, None, None),
- 105: ("GET_DATA_SYS", None, None, None),
- 106: ("GET_LAST_DATA_STATUS", None, None, None),
- 107: ("GET_CURR_DATA_SYS", None, None, None),
- 108: ("GET_PDN_THROTTLE", None, None, None),
- }
-wms_reset_rsp_tlvs = { # 0
- 2: "WMS/Reset Response/Result Code",
- }
-
-wms_set_event_req_tlvs = { # 1
- 16: "WMS/Set Event Report Request/New MT Message Indicator",
- }
-
-wms_set_event_rsp_tlvs = { # 1
- 2: "WMS/Set Event Report Response/Result Code",
- }
-
-wms_set_event_ind_tlvs = { # 1
- 16: "WMS/Event Report/Received MT Message",
- 17: "WMS/Event Report/Transfer Route MT Message",
- 18: "WMS/Event Report/Message Mode",
- }
-
-wms_raw_send_req_tlvs = { # 32
- 1: "WMS/Raw Send Request/Message Data",
- 16: "WMS/Raw Send Request/Force On DC",
- 17: "WMS/Raw Send Request/Follow On DC",
- 18: "WMS/Raw Send Request/Link Control",
- }
-
-wms_raw_send_rsp_tlvs = { # 32
- 2: "WMS/Raw Send Response/Result Code",
- 16: "WMS/Raw Send Response/Cause Code",
- 17: "WMS/Raw Send Response/Error Class",
- 18: "WMS/Raw Send Response/Cause Info",
- }
-
-wms_raw_write_req_tlvs = { # 33
- 1: "WMS/Raw Write Request/Message Data",
- }
-
-wms_raw_write_rsp_tlvs = { # 33
- 1: "WMS/Raw Write Response/Message Index",
- 2: "WMS/Raw Write Response/Result Code",
- }
-
-wms_raw_read_req_tlvs = { # 34
- 1: "WMS/Raw Read Request/Message Index",
- 16: "WMS/Raw Read Request/Message Mode",
- }
-
-wms_raw_read_rsp_tlvs = { # 34
- 1: "WMS/Raw Read Response/Message Data",
- 2: "WMS/Raw Read Response/Result Code",
- }
-
-wms_modify_tag_req_tlvs = { # 35
- 1: "WMS/Modify Tag Request/Message Tag",
- 16: "WMS/Modify Tag Request/Message Mode",
- }
-
-wms_modify_tag_rsp_tlvs = { # 35
- 2: "WMS/Modify Tag Response/Result Code",
- }
-
-wms_delete_req_tlvs = { # 36
- 1: "WMS/Delete Request/Memory Storage",
- 16: "WMS/Delete Request/Message Index",
- 17: "WMS/Delete Request/Message Tag",
- 18: "WMS/Delete Request/Message Mode",
- }
-
-wms_delete_rsp_tlvs = { # 36
- 2: "WMS/Delete Response/Result Code",
- }
-
-wms_get_msg_protocol_rsp_tlvs = { # 48
- 1: "WMS/Get Message Protocol Response/Message Protocol",
- 2: "WMS/Get Message Protocol Response/Result Code",
- }
-
-wms_get_msg_list_req_tlvs = { # 49
- 1: "WMS/List Messages Request/Memory Storage",
- 16: "WMS/List Messages Request/Message Tag",
- 17: "WMS/List Messages Request/Message Mode",
- }
-
-wms_get_msg_list_rsp_tlvs = { # 49
- 1: "WMS/List Messages Response/Message List",
- 2: "WMS/List Messages Response/Result Code",
- }
-
-wms_set_routes_req_tlvs = { # 50
- 1: "WMS/Set Routes Request/Route List",
- 16: "WMS/Set Routes Request/Transfer Status Report",
- }
-
-wms_set_routes_rsp_tlvs = { # 50
- 2: "WMS/Set Routes Response/Result Code",
- }
-
-wms_get_routes_rsp_tlvs = { # 51
- 1: "WMS/Get Routes Response/Route List",
- 2: "WMS/Get Routes Response/Result Code",
- 16: "WMS/Get Routes Response/Transfer Status Report",
- }
-
-wms_get_smsc_addr_rsp_tlvs = { # 52
- 1: "WMS/Get SMSC Address Response/Address",
- 2: "WMS/Get SMSC Address Response/Result Code",
- }
-
-wms_set_smsc_addr_req_tlvs = { # 53
- 1: "WMS/Set SMSC Address Request/Address",
- 16: "WMS/Set SMSC Address Request/Address Type",
- }
-
-wms_get_msg_list_max_req_tlvs = { # 54
- 1: "WMS/Get Storage Max Size Request/Memory Storage",
- 16: "WMS/Get Storage Max Size Request/Message Mode",
- }
-
-wms_get_msg_list_max_rsp_tlvs = { # 54
- 1: "WMS/Get Storage Max Size Response/Max Size",
- 2: "WMS/Get Storage Max Size Response/Result Code",
- 16: "WMS/Get Storage Max Size Response/Available Size",
- }
-
-wms_send_ack_req_tlvs = { # 55
- 1: "WMS/Send ACK Request/ACK",
- 16: "WMS/Send ACK Request/3GPP2 Failure Info",
- 17: "WMS/Send ACK Request/3GPP Failure Info",
- }
-
-wms_send_ack_rsp_tlvs = { # 55
- 2: "WMS/Send ACK Response/Result Code",
- }
-
-wms_set_retry_period_req_tlvs = { # 56
- 1: "WMS/Set Retry Period Request/Period",
- }
-
-wms_set_retry_period_rsp_tlvs = { # 56
- 2: "WMS/Set Retry Period Response/Result Code",
- }
-
-wms_set_retry_interval_req_tlvs = { # 57
- 1: "WMS/Set Retry Interval Request/Interval",
- }
-
-wms_set_retry_interval_rsp_tlvs = { # 57
- 2: "WMS/Set Retry Interval Response/Result Code",
- }
-
-wms_set_dc_disco_timer_req_tlvs = { # 58
- 1: "WMS/Set DC Disconnect Timer Request/Timer",
- }
-
-wms_set_dc_disco_timer_rsp_tlvs = { # 58
- 2: "WMS/Set DC Disconnect Timer Response/Result Code",
- }
-
-wms_set_memory_status_req_tlvs = { # 59
- 1: "WMS/Set Memory Status Request/Status",
- }
-
-wms_set_memory_status_rsp_tlvs = { # 59
- 2: "WMS/Set Memory Status Response/Result Code",
- }
-
-wms_set_bc_activation_req_tlvs = { # 60
- 1: "WMS/Set Broadcast Activation Request/BC Info",
- }
-
-wms_set_bc_activation_rsp_tlvs = { # 60
- 2: "WMS/Set Broadcast Activation Response/Result Code",
- }
-
-wms_set_bc_config_req_tlvs = { # 61
- 1: "WMS/Set Broadcast Config Request/Mode",
- 16: "WMS/Set Broadcast Config Request/3GPP Info",
- 17: "WMS/Set Broadcast Config Request/3GPP2 Info",
- }
-
-wms_set_bc_config_rsp_tlvs = { # 61
- 2: "WMS/Set Broadcast Config Response/Result Code",
- }
-
-wms_get_bc_config_req_tlvs = { # 62
- 1: "WMS/Get Broadcast Config Request/Mode",
- }
-
-wms_get_bc_config_rsp_tlvs = { # 62
- 2: "WMS/Get Broadcast Config Response/Result Code",
- 16: "WMS/Get Broadcast Config Response/3GPP Info",
- 17: "WMS/Get Broadcast Config Response/3GPP2 Info",
- }
-
-wms_memory_full_ind_ind_tlvs = { # 63
- 1: "WMS/Memory Full Indication/Info",
- }
-
-wms_get_domain_pref_rsp_tlvs = { # 64
- 1: "WMS/Get Domain Preference Response/Pref",
- 2: "WMS/Get Domain Preference Response/Result Code",
- }
-
-wms_set_domain_pref_req_tlvs = { # 65
- 1: "WMS/Set Domain Preference Request/Pref",
- }
-
-wms_set_domain_pref_rsp_tlvs = { # 65
- 2: "WMS/Set Domain Preference Response/Result Code",
- }
-
-wms_memory_send_req_tlvs = { # 66
- 1: "WMS/Send From Memory Store Request/Info",
- }
-
-wms_memory_send_rsp_tlvs = { # 66
- 2: "WMS/Send From Memory Store Response/Result Code",
- 16: "WMS/Send From Memory Store Response/Message ID",
- 17: "WMS/Send From Memory Store Response/Cause Code",
- 18: "WMS/Send From Memory Store Response/Error Class",
- 19: "WMS/Send From Memory Store Response/Cause Info",
- }
-
-wms_smsc_addr_ind_ind_tlvs = { # 70
- 1: "WMS/SMSC Address Indication/Address",
- }
-
-wms_cmds = {
- 0: ("RESET", None, wms_reset_rsp_tlvs, None),
- 1: ("SET_EVENT", wms_set_event_req_tlvs, wms_set_event_rsp_tlvs, wms_set_event_ind_tlvs),
- 32: ("RAW_SEND", wms_raw_send_req_tlvs, wms_raw_send_rsp_tlvs, None),
- 33: ("RAW_WRITE", wms_raw_write_req_tlvs, wms_raw_write_rsp_tlvs, None),
- 34: ("RAW_READ", wms_raw_read_req_tlvs, wms_raw_read_rsp_tlvs, None),
- 35: ("MODIFY_TAG", wms_modify_tag_req_tlvs, wms_modify_tag_rsp_tlvs, None),
- 36: ("DELETE", wms_delete_req_tlvs, wms_delete_rsp_tlvs, None),
- 48: ("GET_MSG_PROTOCOL", None, wms_get_msg_protocol_rsp_tlvs, None),
- 49: ("GET_MSG_LIST", wms_get_msg_list_req_tlvs, wms_get_msg_list_rsp_tlvs, None),
- 50: ("SET_ROUTES", wms_set_routes_req_tlvs, wms_set_routes_rsp_tlvs, None),
- 51: ("GET_ROUTES", None, wms_get_routes_rsp_tlvs, None),
- 52: ("GET_SMSC_ADDR", None, wms_get_smsc_addr_rsp_tlvs, None),
- 53: ("SET_SMSC_ADDR", wms_set_smsc_addr_req_tlvs, None, None),
- 54: ("GET_MSG_LIST_MAX", wms_get_msg_list_max_req_tlvs, wms_get_msg_list_max_rsp_tlvs, None),
- 55: ("SEND_ACK", wms_send_ack_req_tlvs, wms_send_ack_rsp_tlvs, None),
- 56: ("SET_RETRY_PERIOD", wms_set_retry_period_req_tlvs, wms_set_retry_period_rsp_tlvs, None),
- 57: ("SET_RETRY_INTERVAL", wms_set_retry_interval_req_tlvs, wms_set_retry_interval_rsp_tlvs, None),
- 58: ("SET_DC_DISCO_TIMER", wms_set_dc_disco_timer_req_tlvs, wms_set_dc_disco_timer_rsp_tlvs, None),
- 59: ("SET_MEMORY_STATUS", wms_set_memory_status_req_tlvs, wms_set_memory_status_rsp_tlvs, None),
- 60: ("SET_BC_ACTIVATION", wms_set_bc_activation_req_tlvs, wms_set_bc_activation_rsp_tlvs, None),
- 61: ("SET_BC_CONFIG", wms_set_bc_config_req_tlvs, wms_set_bc_config_rsp_tlvs, None),
- 62: ("GET_BC_CONFIG", wms_get_bc_config_req_tlvs, wms_get_bc_config_rsp_tlvs, None),
- 63: ("MEMORY_FULL_IND", None, None, wms_memory_full_ind_ind_tlvs),
- 64: ("GET_DOMAIN_PREF", None, wms_get_domain_pref_rsp_tlvs, None),
- 65: ("SET_DOMAIN_PREF", wms_set_domain_pref_req_tlvs, wms_set_domain_pref_rsp_tlvs, None),
- 66: ("MEMORY_SEND", wms_memory_send_req_tlvs, wms_memory_send_rsp_tlvs, None),
- 67: ("GET_MSG_WAITING", None, None, None),
- 68: ("MSG_WAITING_IND", None, None, None),
- 69: ("SET_PRIMARY_CLIENT", None, None, None),
- 70: ("SMSC_ADDR_IND", None, None, wms_smsc_addr_ind_ind_tlvs),
- 71: ("INDICATOR_REG", None, None, None),
- 72: ("GET_TRANSPORT_INFO", None, None, None),
- 73: ("TRANSPORT_INFO_IND", None, None, None),
- 74: ("GET_NW_REG_INFO", None, None, None),
- 75: ("NW_REG_INFO_IND", None, None, None),
- 76: ("BIND_SUBSCRIPTION", None, None, None),
- 77: ("GET_INDICATOR_REG", None, None, None),
- 78: ("GET_SMS_PARAMETERS", None, None, None),
- 79: ("SET_SMS_PARAMETERS", None, None, None),
- 80: ("CALL_STATUS_IND", None, None, None),
- }
-
-services = {
- 0: ("ctl", ctl_cmds),
- 1: ("wds", wds_cmds),
- 2: ("dms", dms_cmds),
- 3: ("nas", nas_cmds),
- 4: ("qos", None),
- 5: ("wms", wms_cmds),
- 6: ("pds", pds_cmds),
- 7: ("auth", auth_cmds),
- 9: ("voice", voice_cmds),
- 224: ("cat", cat_cmds),
- 225: ("rms", rms_cmds),
- 226: ("oma", oma_cmds),
- }
diff --git a/decode/qmux.py b/decode/qmux.py
deleted file mode 100644
index a5543ac2..00000000
--- a/decode/qmux.py
+++ /dev/null
@@ -1,205 +0,0 @@
-#!/usr/bin/python
-# -*- Mode: python; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details:
-#
-# Copyright (C) 2011 Red Hat, Inc.
-#
-
-import binascii
-import defs
-import struct
-
-from qmiprotocol import services
-
-TP_REQUEST = 0x00
-TP_RESPONSE = 0x02
-TP_INDICATION = 0x04
-
-def complete(data, direction):
- # We don't handle QMUX frames spanning packets yet
- return True
-
-def unpack(data, direction):
- return binascii.unhexlify(data)
-
-def service_to_string(s):
- try:
- return services[s][0]
- except KeyError:
- return ""
-
-def qmi_cmd_to_string(cmdno, service):
- (name, cmds) = services[service]
- return cmds[cmdno][0]
-
-class Tlv:
- def __init__(self, tlvid, size, data, service, cmdno, direction):
- self.id = tlvid
- self.size = size
- self.data = data
- if size != len(data):
- raise ValueError("Mismatched TLV size! (got %d expected %d)" % (len(data), size))
- self.service = service
- self.cmdno = cmdno
- self.direction = direction
-
- def show_data(self, prefix):
- line = ""
- for i in self.data:
- line += " %02x" % ord(i)
- print prefix + " Data: %s" % line
-
- def show(self, prefix):
- svc = services[self.service]
- cmd = [ None, None, None ]
- try:
- cmd = svc[1][self.cmdno]
- except KeyError:
- pass
- except TypeError:
- pass
- tlvlist = None
- if self.direction == TP_REQUEST:
- tlvlist = cmd[1]
- elif self.direction == TP_RESPONSE:
- tlvlist = cmd[2]
- elif self.direction == TP_INDICATION:
- tlvlist = cmd[3]
- else:
- raise ValueError("Unknown TLV direction %s" % self.direction)
-
- tlvname = "!!! UNKNOWN !!!"
- if self.service == 1 and self.cmdno == 77: # WDS/SET_IP_FAMILY
- tlvname = "WDS/Set IP Family/IP Family !!! NOT DEFINED !!!"
- else:
- try:
- tlvname = tlvlist[self.id]
- except KeyError:
- pass
- except TypeError:
- pass
-
- print prefix + " TLV: 0x%02x (%s)" % (self.id, tlvname)
- print prefix + " Size: 0x%04x" % self.size
- if self.id == 2:
- # Status response
- (status, error) = struct.unpack("<HH", self.data)
- if status == 0:
- sstatus = "SUCCESS"
- else:
- sstatus = "ERROR"
- print prefix + " Status: %d (%s)" % (status, sstatus)
-
- print prefix + " Error: %d" % error
- else:
- self.show_data(prefix)
- print ""
-
-def get_tlvs(data, service, cmdno, direction):
- tlvs = []
- while len(data) >= 3:
- (tlvid, size) = struct.unpack("<BH", data[:3])
- if size > len(data) - 3:
- raise ValueError("Malformed TLV ID %d size %d (len left %d)" % (tlvid, size, len(data)))
- tlvs.append(Tlv(tlvid, size, data[3:3 + size], service, cmdno, direction))
- data = data[size + 3:]
- if len(data) != 0:
- raise ValueError("leftover data parsing tlvs")
- return tlvs
-
-def show(data, prefix, direction):
- if len(data) < 7:
- return
-
- qmuxfmt = "<BHBBB"
- sz = struct.calcsize(qmuxfmt)
- (ifc, l, sender, service, cid) = struct.unpack(qmuxfmt, data[:sz])
-
- if ifc != 0x01:
- raise ValueError("Packet not QMUX")
-
- print prefix + "QMUX Header:"
- print prefix + " len: 0x%04x" % l
-
- ssender = ""
- if sender == 0x00:
- ssender = "(client)"
- elif sender == 0x80:
- ssender = "(service)"
- print prefix + " sender: 0x%02x %s" % (sender, ssender)
-
- sservice = service_to_string(service)
- print prefix + " svc: 0x%02x (%s)" % (service, sservice)
-
- scid = ""
- if cid == 0xff:
- scid = "(broadcast)"
- print prefix + " cid: 0x%02x %s" % (cid, scid)
-
- print ""
-
- # QMI header
- data = data[sz:]
- if service == 0:
- qmifmt = "<BBHH"
- else:
- qmifmt = "<BHHH"
-
- sz = struct.calcsize(qmifmt)
- (flags, txnid, cmdno, size) = struct.unpack(qmifmt, data[:sz])
-
- print prefix + "QMI Header:"
-
- sflags = ""
- if service == 0:
- # Besides the CTL service header being shorter, the flags are different
- if flags == 0x00:
- flags = TP_REQUEST
- elif flags == 0x01:
- flags = TP_RESPONSE
- elif flags == 0x02:
- flags = TP_INDICATION
-
- if flags == TP_REQUEST:
- sflags = "(request)"
- elif flags == TP_RESPONSE:
- sflags = "(response)"
- elif flags == TP_INDICATION:
- sflags = "(indication)"
- else:
- raise ValueError("Unknown flags %d" % flags)
- print prefix + " Flags: 0x%02x %s" % (flags, sflags)
-
- print prefix + " TXN: 0x%04x" % txnid
-
- scmd = "!!! UNKNOWN !!!"
- try:
- scmd = qmi_cmd_to_string(cmdno, service)
- except KeyError:
- pass
- except TypeError:
- pass
- print prefix + " Cmd: 0x%04x (%s)" % (cmdno, scmd)
-
- print prefix + " Size: 0x%04x" % size
- print ""
-
- data = data[sz:]
- tlvs = get_tlvs(data, service, cmdno, flags)
- for tlv in tlvs:
- tlv.show(prefix)
-
- print ""
-
-def get_funcs():
- return (complete, unpack, show)
-
diff --git a/decode/wmc.py b/decode/wmc.py
deleted file mode 100644
index f710407f..00000000
--- a/decode/wmc.py
+++ /dev/null
@@ -1,410 +0,0 @@
-#!/usr/bin/python
-# -*- Mode: python; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details:
-#
-# Copyright (C) 2011 Red Hat, Inc.
-#
-
-import binascii
-import struct
-import defs
-
-def complete(data, direction):
- if direction == defs.TO_MODEM:
- if data[len(data) - 2:] == "0d" or data[len(data) - 2:] == "7e":
- return True
- elif direction == defs.TO_HOST:
- if data[len(data) - 6:] == "30307e":
- # UML190 and UML290 fake CRC + term
- return True
- elif data[len(data) - 2:] == "7e":
- # PC5740 uses a real CRC
- return True
- else:
- raise ValueError("No data direction")
- return False
-
-
-def unpack(data, direction):
- # unpack the data
- if direction == defs.TO_MODEM:
- if data[:14] == "41542a574d433d":
- # remove the AT*WMC= bits, and the newline and CRC at the end
- data = data[14:]
- if data[len(data) - 2:] == "0d":
- data = data[:len(data) - 6]
- elif data[:2] == "c8" and data[len(data) - 2:] == "7e":
- # PC5740 doesn't use AT*WMC= framing
- data = data[:len(data) - 6]
- else:
- print "asdfasdfasfaf"
- elif direction == defs.TO_HOST:
- if data[len(data) - 2:] == "7e":
- # remove HDLC terminator and CRC
- data = data[:len(data) - 6]
- else:
- raise ValueError("No data direction")
-
- data = binascii.unhexlify(data)
-
- # PPP-unescape it
- escape = False
- new_data = ""
- for i in data:
- if ord(i) == 0x7D:
- escape = True
- elif escape == True:
- new_data += chr(ord(i) ^ 0x20)
- escape = False
- else:
- new_data += i
-
- return new_data
-
-def show_data(data, prefix):
- line = ""
- for i in data:
- line += " %02x" % ord(i)
- print prefix + " Data: %s" % line
-
-def show_device_info(data, prefix, direction):
- if direction != defs.TO_HOST:
- return
-
- fmt = "<"
- fmt += "27s" # unknown1
- fmt += "64s" # manf
- fmt += "64s" # model
- fmt += "64s" # fwrev
- fmt += "64s" # hwrev
- fmt += "64s" # unknown2
- fmt += "64s" # unknown3
- fmt += "10s" # min
- fmt += "12s" # unknown4
- fmt += "H" # home_sid
- fmt += "2s" # unknown5
- fmt += "H" # prlver
- fmt += "2s" # unknown6
- fmt += "H" # eriver
- fmt += "4s" # unknown7
-
- expected = struct.calcsize(fmt)
- if len(data) >= expected:
- (u1, manf, model, fwrev, hwrev, u2, u3, cdmamin, u4, homesid, u5, prlver, \
- u6, eriver, u7) = struct.unpack(fmt, data[:expected])
- print prefix + " Manf: %s" % manf
- print prefix + " Model: %s" % model
- print prefix + " FW Rev: %s" % fwrev
- print prefix + " HW Rev: %s" % hwrev
- print prefix + " MIN: %s" % cdmamin
- print prefix + " Home SID: %d" % homesid
- print prefix + " PRL Ver: %d" % prlver
- print prefix + " ERI Ver: %d" % eriver
- else:
- raise ValueError("Unexpected Info command response len (got %d expected %d)" % (len(data), expected))
-
- fmt2 = "<"
- fmt2 += "64s" # unknown8
- fmt2 += "14s" # meid
- fmt2 += "6s" # unknown10
- fmt2 += "16s" # imei
- fmt2 += "6s" # unknown11
- fmt2 += "16s" # unknown12
- fmt2 += "20s" # iccid
- fmt2 += "6s" # unknown13
-
- expected2 = struct.calcsize(fmt2)
- if len(data) >= expected + expected2:
- (u8, meid, u10, imei, u11, something, iccid, u13) = struct.unpack(fmt2, data[expected:expected + expected2])
- print prefix + " MEID: %s" % meid
- print prefix + " IMEI: %s" % imei
- print prefix + " ??? : %s" % something
- print prefix + " ICCID: %s" % iccid
-
- fmt3 = "<"
- fmt3 += "16s" # MCC
- fmt3 += "16s" # MNC
- fmt3 += "4s" # unknown11
- fmt3 += "4s" # unknown12
- fmt3 += "4s" # unknown13
- expected3 = struct.calcsize(fmt3)
- if len(data) >= expected + expected2 + expected3:
- (mcc, mnc, u11, u12, u13) = struct.unpack(fmt3, data[expected + expected2:])
- print prefix + " MCC: %s" % mcc
- print prefix + " MNC: %s" % mnc
-
-
-def state_to_string(state):
- states = { 0: "unknown",
- 1: "idle",
- 2: "connecting",
- 3: "authenticating",
- 4: "connected",
- 5: "dormant",
- 6: "updating NAM",
- 7: "updating PRL",
- 8: "disconnecting",
- 9: "error",
- 10: "updating UICC",
- 11: "updating PLMN" }
- try:
- return states[state]
- except KeyError:
- return "unknown"
-
-def show_connection_info(data, prefix, direction):
- if direction != defs.TO_HOST:
- return
-
- fmt = "<"
- fmt += "I" # rx_bytes
- fmt += "I" # tx_bytes
- fmt += "8s" # unknown1
- fmt += "B" # state
- fmt += "3s" # unknown2
-
- expected = struct.calcsize(fmt)
- if len(data) >= expected:
- (rxb, txb, u1, state, u2) = struct.unpack(fmt, data[:expected])
- print prefix + " RX Bytes: %d" % rxb
- print prefix + " TX Bytes: %d" % txb
- print prefix + " State: %d (%s)" % (state, state_to_string (state))
- else:
- raise ValueError("Unexpected Connection Info command response len (got %d expected %d)" % (len(data), expected))
-
- fmt3 = "<"
- fmt3 += "4s" # unknown3
- fmt3 += "16s" # ip4_address
- fmt3 += "8s" # netmask?
- fmt3 += "40s" # ip6_address
- expected3 = struct.calcsize(fmt3)
- if len(data) >= expected + expected3:
- (u3, ip4addr, netmask, ip6addr) = struct.unpack(fmt3, data[expected:])
- print prefix + " IP4 Addr: %s" % ip4addr
- print prefix + " IP6 Addr: %s" % ip6addr
-
-def get_signal(item):
- if item == 0x7D:
- return (item * -1, "(NO SIGNAL)")
- else:
- return (item * -1, "")
-
-def service_to_string(service):
- services = { 0: "none",
- 1: "AMPS",
- 2: "IS95-A",
- 3: "IS95-B",
- 4: "GSM",
- 5: "GPRS",
- 6: "1xRTT",
- 7: "EVDO r0",
- 8: "UMTS",
- 9: "EVDO rA",
- 10: "EDGE",
- 11: "HSDPA",
- 12: "HSUPA",
- 13: "HSPA",
- 14: "LTE",
- 15: "EVDO rA eHRPD" }
- try:
- return services[service]
- except KeyError:
- return "unknown"
-
-def show_network_info(data, prefix, direction):
- if direction != defs.TO_HOST:
- return
-
- fmt = "<"
- fmt += "B" # unknown1
- fmt += "3s" # unknown2
- fmt += "B" # service
- fmt += "B" # unknown3
- fmt += "H" # year
- fmt += "B" # month
- fmt += "B" # zero
- fmt += "B" # day
- fmt += "B" # zero
- fmt += "B" # hours
- fmt += "B" # zero
- fmt += "B" # minutes
- fmt += "B" # zero
- fmt += "B" # seconds
- fmt += "H" # counter1
- fmt += "H" # unknown4
- fmt += "3s" # unknown5
- fmt += "B" # 2g_dbm
-
- expected = struct.calcsize(fmt)
- if len(data) >= expected:
- (u1, u2, service, u3, year, month, z1, day, z2, hours, z3, minutes, z4, \
- seconds, counter1, u4, u5, two_g_dbm) = struct.unpack(fmt, data[:expected])
- print prefix + " Time: %04d/%02d/%02d %02d:%02d:%02d" % (year, month, day, hours, minutes, seconds)
- print prefix + " Service: %d (%s)" % (service, service_to_string (service))
- print prefix + " 2G dBm: %d dBm %s" % get_signal(two_g_dbm)
- else:
- raise ValueError("Unexpected Network Info command response len (got %d expected %d)" % (len(data), expected))
-
- fmt2 = "<"
- fmt2 += "3s" # unknown7
- fmt2 += "16s" # cdma_opname
- fmt2 += "18s" # unknown8
- fmt2 += "B" # 3g_dbm
- fmt2 += "3s" # unknown9
- fmt2 += "B" # unknown10
- fmt2 += "3s" # unknown11
- fmt2 += "B" # unknown12
- fmt2 += "8s" # 3gpp_opname
- fmt2 += "4s" # unknown13
- fmt2 += "I" # unknown14
- fmt2 += "I" # unknown15
- fmt2 += "44s" # unknown16
- fmt2 += "I" # mcc/mnc
-
- expected2 = struct.calcsize(fmt2)
- if len(data) >= expected + expected2:
- (u7, cdma_opname, u8, three_g_dbm, u9, u10, u11, u12, tgpp_opname, u13, \
- u14, u15, u16, mccmnc) = struct.unpack(fmt2, data[expected:expected + expected2])
- print prefix + " 3G dBm: %d dBm %s" % get_signal(three_g_dbm)
- print prefix + " CDMA Op: %s" % cdma_opname
- print prefix + " 3GPP Op: %s" % tgpp_opname
-
- # handle 2-digit MNC
- if mccmnc < 100000:
- mccmnc *= 10;
-
- mcc = mccmnc / 1000
- mnc = mccmnc - (mcc * 1000)
- if mcc > 100:
- print prefix + " MCC/MNC: %u-%u" % (mcc, mnc)
-
- fmt3 = "<"
- fmt3 += "B" # lte_dbm
- fmt3 += "3s" # unknown15
- fmt3 += "4s" # unknown16
- expected3 = struct.calcsize(fmt3)
- if len(data) >= expected + expected2 + expected3:
- (lte_dbm, u17, u18) = struct.unpack(fmt3, data[expected + expected2:])
- print prefix + " LTE dBm: %d dBm %s" % get_signal(lte_dbm)
-
-
-def show_init(data, prefix, direction):
- if len(data) == 0:
- # PC5740/old format
- return
-
- if direction == defs.TO_HOST:
- show_data(data, prefix)
- return
-
- fmt = "<"
- fmt += "H" # year
- fmt += "B" # month
- fmt += "B" # zero
- fmt += "B" # day
- fmt += "B" # zero
- fmt += "B" # hours
- fmt += "B" # zero
- fmt += "B" # minutes
- fmt += "B" # zero
- fmt += "B" # seconds
- expected = struct.calcsize(fmt)
- if len(data) >= expected:
- (year, month, z1, day, z2, hours, z3, minutes, z4, seconds) = struct.unpack(fmt, data[:expected])
- print prefix + " Time: %04d/%02d/%02d %02d:%02d:%02d" % (year, month, day, hours, minutes, seconds)
- else:
- raise ValueError ("Unexpected Init command length (got %d expected %d)" % (len(data), expected))
-
-def show_bearer_info(data, prefix, direction):
- pass
-
-def mode_to_string(mode):
- if mode == 0x00:
- return "CDMA/EVDO"
- elif mode == 0x01:
- return "CDMA only"
- elif mode == 0x02:
- return "EVDO only"
- elif mode == 0x0A:
- return "GSM/UMTS"
- elif mode == 0x0B:
- return "GSM/GPRS/EDGE only"
- elif mode == 0x0C:
- return "UMTS/HSPA only"
- elif mode == 0x14:
- return "Auto"
- return "unknown"
-
-def show_get_global_mode(data, prefix, direction):
- if direction != defs.TO_HOST:
- return
-
- fmt = "<"
- fmt += "B" # unknown1
- fmt += "B" # mode
- fmt += "B" # unknown2
- fmt += "B" # unknown3
-
- expected = struct.calcsize(fmt)
- if len(data) != expected:
- raise ValueError("Unexpected GET_GLOBAL_MODE command response len (got %d expected %d)" % (len(data), expected))
- (u1, mode, u2, u3) = struct.unpack(fmt, data)
-
- print prefix + " Mode: 0x%X (%s)" % (mode, mode_to_string(mode))
-
-def show_set_global_mode(data, prefix, direction):
- if direction != defs.TO_MODEM:
- return;
-
- fmt = "<"
- fmt += "B" # unknown1
- fmt += "B" # mode
- fmt += "B" # unknown2
- fmt += "B" # unknown3
-
- expected = struct.calcsize(fmt)
- if len(data) != expected:
- raise ValueError("Unexpected SET_GLOBAL_MODE command response len (got %d expected %d)" % (len(data), expected))
- (u1, mode, u2, u3) = struct.unpack(fmt, data)
-
- print prefix + " Mode: 0x%X (%s)" % (mode, mode_to_string(mode))
-
-
-cmds = { 0x03: ("GET_GLOBAL_MODE", show_get_global_mode),
- 0x04: ("SET_GLOBAL_MODE", show_set_global_mode),
- 0x06: ("DEVICE_INFO", show_device_info),
- 0x0A: ("CONNECTION_INFO", show_connection_info),
- 0x0B: ("NETWORK_INFO", show_network_info),
- 0x0D: ("INIT", show_init),
- 0x4D: ("EPS_BEARER_INFO", show_bearer_info)
- }
-
-def show(data, prefix, direction):
- if ord(data[:1]) != 0xC8:
- return
-
- data = data[1:] # skip 0xC8 header
- cmdno = ord(data[:1])
- try:
- cmdinfo = cmds[cmdno]
- except KeyError:
- return
- data = data[1:] # skip cmdno
-
- print prefix + "WMC Packet:"
- print prefix + " Cmd: 0x%02x (%s)" % (cmdno, cmdinfo[0])
- cmdinfo[1](data, prefix, direction)
- print ""
-
-def get_funcs():
- return (complete, unpack, show)
-
diff --git a/decode/xml2ascii.py b/decode/xml2ascii.py
deleted file mode 100755
index b14b0894..00000000
--- a/decode/xml2ascii.py
+++ /dev/null
@@ -1,82 +0,0 @@
-#!/usr/bin/python
-# -*- Mode: python; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details:
-#
-# Copyright (C) 2011 Red Hat, Inc.
-#
-# --- Dumps UsbSnoopy XML export files
-
-from xml.sax import saxutils
-from xml.sax import handler
-
-packets = []
-counts = {}
-
-class FindPackets(handler.ContentHandler):
- def __init__(self):
- self.inFunction = False
- self.inPayload = False
- self.ignore = False
- self.inTimestamp = False
- self.timestamp = None
- self.packet = None
-
- def startElement(self, name, attrs):
- if name == "function":
- self.inFunction = True
- elif name == "payloadbytes":
- self.inPayload = True
- elif name == "timestamp":
- self.inTimestamp = True
-
- def characters(self, ch):
- if self.ignore:
- return
-
- stripped = ch.strip()
- if self.inFunction and ch != "BULK_OR_INTERRUPT_TRANSFER":
- self.ignore = True
- return
- elif self.inTimestamp:
- self.timestamp = stripped
- elif self.inPayload and len(stripped) > 0:
- if self.packet == None:
- self.packet = stripped
- else:
- self.packet += stripped
-
- def endElement(self, name):
- if name == "function":
- self.inFunction = False
- elif name == "payloadbytes":
- self.inPayload = False
- elif name == "payload":
- if self.packet:
- import binascii
- bytes = binascii.a2b_hex(self.packet)
- print bytes
- self.packet = None
-
- self.ignore = False
- self.timestamp = None
- elif name == "timestamp":
- self.inTimestamp = False
-
-
-from xml.sax import make_parser
-from xml.sax import parse
-import sys
-
-if __name__ == "__main__":
- dh = FindPackets()
- parse(sys.argv[1], dh)
-