aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2012-06-22 12:06:08 -0500
committerDan Williams <dcbw@redhat.com>2012-06-22 12:06:08 -0500
commit0588ffc17ee31a5eedbb5d226e9dd586e374c26e (patch)
treed1ed0aa0c8b128c7c58cbaea31ccf0ccce1e456a
parent535ae3a1d6b4737b532629b54d62abde27cde0c0 (diff)
decode: update with latest QMI enums
Since QC stopped distributing the database files, we can't easily decode the TLV names unless we start parsing the C headers.
-rw-r--r--decode/packet.py7
-rwxr-xr-xdecode/qmiprotgen.py108
-rw-r--r--decode/qmiprotocol.py101
-rw-r--r--decode/qmux.py16
4 files changed, 225 insertions, 7 deletions
diff --git a/decode/packet.py b/decode/packet.py
index 246bbc56..ab40a720 100644
--- a/decode/packet.py
+++ b/decode/packet.py
@@ -31,6 +31,8 @@ URBF_GET_STATUS = 5
URBF_CONTROL = 6
URBF_SET_FEATURE = 7
URBF_ABORT_PIPE = 8
+URBF_CLEAR_FEATURE = 9
+URBF_CLASS_INTF = 10
funcs = {
"-- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:": (URBF_GET_DESC, False, None),
@@ -40,7 +42,10 @@ funcs = {
"-- 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_ABORT_PIPE:": (URBF_ABORT_PIPE, False, None),
+ "-- URB_FUNCTION_CLEAR_FEATURE_TO_DEVICE:": (URBF_CLEAR_FEATURE, False, None),
+ "-- URB_FUNCTION_CLEAR_FEATURE_TO_DEVICE:": (URBF_CLEAR_FEATURE, False, None),
+ "-- URB_FUNCTION_CLASS_INTERFACE:": (URBF_CLASS_INTF, False, None)
}
def get_urb_info(l):
diff --git a/decode/qmiprotgen.py b/decode/qmiprotgen.py
index b3692845..3114c86e 100755
--- a/decode/qmiprotgen.py
+++ b/decode/qmiprotgen.py
@@ -72,6 +72,27 @@ cmdenum = """
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
@@ -125,6 +146,8 @@ cmdenum = """
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
@@ -153,13 +176,44 @@ cmdenum = """
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_SYS_SELECT_IND = 52, // 52 System selection pref indication
eQMI_NAS_SET_DDTM_PREF = 55, // 55 Set DDTM preference
eQMI_NAS_GET_DDTM_PREF, // 56 Get DDTM preference
- eQMI_NAS_DDTM_IND = 56, // 56 DDTM preference indication
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
@@ -192,6 +246,16 @@ cmdenum = """
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
@@ -236,12 +300,28 @@ cmdenum = """
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
@@ -279,6 +359,17 @@ cmdenum = """
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
@@ -286,6 +377,18 @@ cmdenum = """
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
@@ -294,7 +397,6 @@ cmdenum = """
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
diff --git a/decode/qmiprotocol.py b/decode/qmiprotocol.py
index d9e51c81..1dcb5032 100644
--- a/decode/qmiprotocol.py
+++ b/decode/qmiprotocol.py
@@ -34,6 +34,8 @@ auth_cmds = {
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",
@@ -89,6 +91,15 @@ cat_cmds = {
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",
@@ -609,6 +620,8 @@ dms_cmds = {
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",
@@ -919,6 +932,39 @@ nas_cmds = {
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",
@@ -1367,6 +1413,19 @@ pds_cmds = {
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",
@@ -1471,6 +1530,17 @@ voice_cmds = {
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",
@@ -2076,6 +2146,27 @@ wds_cmds = {
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",
@@ -2334,6 +2425,16 @@ wms_cmds = {
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 = {
diff --git a/decode/qmux.py b/decode/qmux.py
index 4ff5cad7..b26d5345 100644
--- a/decode/qmux.py
+++ b/decode/qmux.py
@@ -60,7 +60,11 @@ class Tlv:
def show(self, prefix):
svc = services[self.service]
- cmd = svc[1][self.cmdno]
+ cmd = [ None, None, None ]
+ try:
+ cmd = svc[1][self.cmdno]
+ except KeyError:
+ pass
tlvlist = None
if self.direction == TP_REQUEST:
tlvlist = cmd[1]
@@ -69,7 +73,7 @@ class Tlv:
elif self.direction == TP_INDICATION:
tlvlist = cmd[3]
else:
- raise ValueError("Unknown TLV dir0ection %s" % self.direction)
+ raise ValueError("Unknown TLV direction %s" % self.direction)
tlvname = "!!! UNKNOWN !!!"
if self.service == 1 and self.cmdno == 77: # WDS/SET_IP_FAMILY
@@ -79,6 +83,8 @@ class Tlv:
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
@@ -173,7 +179,11 @@ def show(data, prefix, direction):
print prefix + " TXN: 0x%04x" % txnid
- scmd = qmi_cmd_to_string(cmdno, service)
+ scmd = "!!! UNKNOWN !!!"
+ try:
+ scmd = qmi_cmd_to_string(cmdno, service)
+ except KeyError:
+ pass
print prefix + " Cmd: 0x%04x (%s)" % (cmdno, scmd)
print prefix + " Size: 0x%04x" % size