FreeCalypso > hg > fc-magnetite
view cdg-hybrid/sap/mnsms.pdf @ 636:57e67ca2e1cb
pcmdata.c: default +CGMI to "FreeCalypso" and +CGMM to model
The present change has no effect whatsoever on Falconia-made and Openmoko-made
devices on which /pcm/CGMI and /pcm/CGMM files have been programmed in FFS
with sensible ID strings by the respective factories, but what should AT+CGMI
and AT+CGMM queries return when the device is a Huawei GTM900 or Tango modem
that has been converted to FreeCalypso with a firmware change? Before the
present change they would return compiled-in defaults of "<manufacturer>" and
"<model>", respectively; with the present change the firmware will self-identify
as "FreeCalypso GTM900-FC" or "FreeCalypso Tango" on the two respective targets.
This firmware identification will become important if someone incorporates an
FC-converted GTM900 or Tango modem into a ZeroPhone-style smartphone where some
high-level software like ofono will be talking to the modem and will need to
properly identify this modem as FreeCalypso, as opposed to some other AT command
modem flavor with different quirks.
In technical terms, the compiled-in default for the AT+CGMI query (which will
always be overridden by the /pcm/CGMI file in FFS if one is present) is now
"FreeCalypso" in all configs on all targets; the compiled-in default for the
AT+CGMM query (likewise always overridden by /pcm/CGMM if present) is
"GTM900-FC" if CONFIG_TARGET_GTM900 or "Tango" if CONFIG_TARGET_TANGO or the
original default of "<model>" otherwise.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 19 Jan 2020 20:14:58 +0000 |
parents | e7a67accfad9 |
children |
line wrap: on
line source
;******************************************************************************** ;*** File : mnsms.pdf ;*** Creation : Wed Mar 11 09:58:26 CST 2009 ;*** XSLT Processor : Apache Software Foundation / http://xml.apache.org/xalan-j / supports XSLT-Ver: 1 ;*** Copyright : (c) Texas Instruments AG, Berlin Germany 2002 ;******************************************************************************** ;*** Document Type : Service Access Point Specification ;*** Document Name : mnsms ;*** Document No. : 6147.103.96.107 ;*** Document Date : 2002-04-19 ;*** Document Status: BEING_PROCESSED ;*** Document Author: SBK ;******************************************************************************** PRAGMA SRC_FILE_TIME "Thu Nov 29 09:48:28 2007" PRAGMA LAST_MODIFIED "2002-04-19" PRAGMA ID_AND_VERSION "6147.103.96.107" CONST SMS_MSG_LEN 140 ; Length of message text counted as octets CONST SMS_CMD_LEN 157 ; Length of command data (number of octets) CONST SIM_PDU_LEN 175 ; Length of SMS data stored in nonvolatile memory (SIM/ME) EXTERN CONST @p_gsmcom - SMSCP_ORIGINATING_ENTITY@ SMSCP_ORIGINATING_ENTITY ; mask for indicating the originating entity of a cause is SMS-CP EXTERN CONST @p_gsmcom - SMSRP_ORIGINATING_ENTITY@ SMSRP_ORIGINATING_ENTITY ; mask for indicating the originating entity of a cause is SMS-RP EXTERN CONST @p_gsmcom - SMSTP_ORIGINATING_ENTITY@ SMSTP_ORIGINATING_ENTITY ; mask for indicating the originating entity of a cause is SMS-CP VALTAB VAL_mem_type VAL 1 MEM_ME "mobile equipment memory 1" VAL 3 MEM_SM "subscriber identity module memory" VAL 5 MEM_SR "status report memory" VALTAB VAL_cause VAL 0b1000100111111111 SMS_NO_ERROR "No error" VAL 0b1100100100000000 SMS_CAUSE_PARAM_WRONG "Wrong parameter in primitive" VAL 0b1100100100000001 SMS_CAUSE_ENTITY_BUSY "Entity is busy" VAL 0b1100100100000010 SMS_CAUSE_OPER_NOT_ALLW "Operation not allowed" VAL 0b1100100100000011 SMS_CAUSE_OPER_NOT_SUPP "Operation not supported" VAL 0b1100100100000100 SMS_CAUSE_SIM_BUSY "SIM busy" VAL 0b1100100100000101 SMS_CAUSE_MEM_FAIL "Memory failure" VAL 0b1100100100000110 SMS_CAUSE_INV_INDEX "Invalid memory index" VAL 0b1100100100001000 SMS_CAUSE_MEM_FULL "Memory full" VAL 0b1100100100001001 SMS_CAUSE_NO_SERVICE "No network service" VAL 0b1100100100001010 SMS_CAUSE_NET_TIMEOUT "Network timeout" VAL 0b1100100100001011 SMS_CAUSE_UNEXP_CNMA "No +CNMA acknowledgement expected" VAL 0b1100100100001111 SMS_CAUSE_OTHER_ERROR "Any other error" VAL 0b1100100100001100 SMS_CAUSE_MEM_AVAIL "Memory available after full" VAL 0b1100100100001110 SMS_CAUSE_FAILED_MSG_NOT_FOUND %REL99% "Failed Message not found during Transmission" VALTAB VAL_state VAL 0x3 - 0xFE "reserved, to be treated as SMS inoperable" VAL 0 SMS_STATE_READY "SMS is full operable" VAL 1 SMS_STATE_INITIALISING "SMS is in initialisation state" VAL 2 SMS_STATE_BUSY "SMS is in a busy condition" VAL 0xFF SMS_STATE_NOT_AVAILABLE "SMS is inoperable" VALTAB VAL_condx VAL 3 - 255 "reserved, interpret as 'overwrite any'" VAL 0 SMS_CONDX_OVR_NON "do not overwrite an existing message" VAL 1 SMS_CONDX_OVR_MO "overwrite only an exisiting mobile originated message" VAL 2 SMS_CONDX_OVR_ANY "overwrite any existing message" VALTAB VAL_modify VAL 5 - 255 "reserved, interpret as 'complete substitution'" VAL 0 SMS_MODIFY_NON "no modification" VAL 1 SMS_MODIFY_TPOA "substitution of TP-OA" VAL 2 SMS_MODIFY_SCA "substitution of SCA" VAL 3 SMS_MODIFY_TPOA_SCA "substitution of TP-OA and SCA" VAL 4 SMS_MODIFY_ALL "substitution of the complete message" VALTAB VAL_rec_num VAL 0x0 SMS_RECORD_NOT_EXIST "record is not existing" VALTAB VAL_status VAL 0x0 SMS_RECORD_FREE "Free record" VAL 0x3 SMS_RECORD_REC_UNREAD "MT record, not read" VAL 0x1 SMS_RECORD_REC_READ "MT record, already read" VAL 0x7 SMS_RECORD_STO_UNSENT "MO record, not sent" VAL 0x5 SMS_RECORD_STO_SENT "MO record, already sent, status report not requested" VAL 0x0D SMS_RECORD_STAT_UNRCVD "MO record, already sent, status report requested, not received" VAL 0x15 SMS_RECORD_STAT_UNSTRD "MO record, already sent, status report received, not stored" VAL 0x1D SMS_RECORD_STAT_STRD "MO record, already sent, status report received and stored" VAL 0xE0 SMS_RECORD_INVALID "The record keeps unrecognizable data" VALTAB VAL_mt VAL 0 MT0 "Mobile Terminated Mode 0" VAL 1 MT1 "Mobile Terminated Mode 1" VAL 2 MT2 "Mobile Terminated Mode 2" VAL 3 MT3 "Mobile Terminated Mode 3" VAL 4 MT_DEF "Mobile Terminated Mode Default" VALTAB VAL_ds VAL 0 DS0 "Status Report Mode 0: no status report to be returned" VAL 1 DS1 "Status Report Mode 1: status report returned to MMI" VAL 2 DS2 "Status Report Mode 2: status report stored, if possible" VALTAB VAL_mhc VAL 0 SMS_MHC_DEF "default (Phase 2)" VAL 2 SMS_MHC_PH2 "Phase 2" VAL 3 SMS_MHC_PH2PLUS "Phase 2+" VALTAB VAL_read_mode VAL 0 READ_NORMAL "Normal reading" VAL 1 READ_PREVIEW "Reading without preview" VAL 2 READ_STATUS_CHANGE "Change only status" VALTAB VAL_resp VAL 0 SMS_RP_ACK "send RP-ACK to network" VAL 1 SMS_RP_ERROR "send RP-ERROR to network" VALTAB VAL_mo_sms_serv VAL 0 GPRS_SMS_GPRS_ONLY "Use GPRS only for MO SMS" VAL 1 GPRS_SMS_CCT_ONLY "Use CCT only for MO SMS" VAL 2 GPRS_SMS_GPRS_PREF "Use GPRS in preference for MO SMS" VAL 3 GPRS_SMS_CCT_PREF "Use CCT in preference for MO SMS" VALTAB VAL_query VAL 1 SMS_QUERY_DELIVER_STATUS "Query Request is for delivery status (pause or resume)" VALTAB VAL_deliver_status VAL 0x10 SMS_DELIVER_STATUS_PAUSE "SMS delivery paused by user" VAL 0x11 SMS_DELIVER_STATUS_RESUME "SMS delivery to user allowed" VALTAB VAL_cmms_mode VAL 0 CMMS_MODE_DEF "Default value of 0 for +CMMS mode. The mode switches to 0 when timer expires if the mode set was 1. " VAL 1 CMMS_MODE_ONE "Mode value of one for +CMMS mode. For this mode set, when the timer expires, mode is switched back to 0." VAL 2 CMMS_MODE_TWO "Mode value of two for +CMMS mode. For this mode set, even after the timer expiry mode is not switched to 0" VALTAB VAL_delete_status VAL 0 CMGD_DEL_INDEX "Delete the messages specified by the index." VAL 1 CMGD_DEL_READ "Ignore the index and delete all the read messages." VAL 2 CMGD_DEL_READ_SENT "Ignore the index and delete all the read and sent messages." VAL 3 CMGD_DEL_READ_SENT_UNSENT "Ignore the index and delete all the read, send and unsent messages." VAL 4 CMGD_DEL_ALL "Ignore the index and delete all the messages whatever the status it is." VALTAB VAL_auto_rep_flag %REL99% VAL 0 AUTO_REP_FLAG_DISABLED %REL99% "Do not attempt retransmission" VAL 1 AUTO_REP_FLAG_ENABLED %REL99% "Attempt retransmission " VAR mem_type "memory type" B VAL @p_mnsms - VAL_mem_type@ VAR pref_mem_3 "memory type" B VAR cause "error code" S VAL @p_mnsms - VAL_cause@ VAR state "State of the SMS Entity" B VAL @p_mnsms - VAL_state@ VAR condx "write condition" B VAL @p_mnsms - VAL_condx@ VAR tp_mr "TP message reference" B VAR modify "Modifier" B VAL @p_mnsms - VAL_modify@ VAR rec_num "record number" B VAL @p_mnsms - VAL_rec_num@ VAR rec_next "number of a following record with a valid message, if existent" B VAL @p_mnsms - VAL_rec_num@ VAR rec_max "maximum number of records (1..255) in EF(SMS) or other memory" B VAL @p_mnsms - VAL_rec_num@ VAR rec_status "number of a record in EF(SMSR) related to the given stored message" B VAL @p_mnsms - VAL_rec_num@ VAR status "message status" B VAL @p_mnsms - VAL_status@ VAR mt "mobile terminated message handling" B VAL @p_mnsms - VAL_mt@ VAR ds "status report message handling" B VAL @p_mnsms - VAL_ds@ VAR mhc "status report message handling" B VAL @p_mnsms - VAL_mhc@ VAR read_mode "Read Mode" B VAL @p_mnsms - VAL_read_mode@ VAR resp "type of response" B VAL @p_mnsms - VAL_resp@ VAR mo_sms_serv "MO SMS Service" B VAL @p_mnsms - VAL_mo_sms_serv@ VAR l_buf "command length" S VAR o_buf "command offset" S VAR buf "command data" B VAR query_type "specifies to which status the query request refers to" B VAL @p_mnsms - VAL_query@ VAR deliver_status "sms delivery status - pause or resume" B VAL @p_mnsms - VAL_deliver_status@ VAR cmms_mode "Specifies the mode for +CMMS" B VAL @p_mnsms - VAL_cmms_mode@ VAR tmms_val "Timer value for +CMMS command" S VAR delete_status "Delete flag" B VAL @p_mnsms - VAL_delete_status@ VAR delete_rec_next "Next Record to be deleted." B VAR data "IMEI and category status of the mobile to be extracted from TP user data" B VAR len "length of the OTA response" B VAR packedlen "length of the OTA response" B VAR auto_rep_flag %REL99% "Added auto_rep_flag variable" B VAR resend_count %REL99% "To resend the count to MMI during retransmission" B VAR max_retrans %REL99% "Maximum number of retransmission allowed which is communicated to MMI" B COMP sms_sdu "SIM-PDU" { l_buf ; command length o_buf ; command offset buf [SIM_PDU_LEN] ; command data } ; MNSMS_MESSAGE_IND 0x8008400D ; MNSMS_REPORT_IND 0x8006400D ; MNSMS_STATUS_IND 0x8007400D ; MNSMS_DELETE_REQ 0x8000000D ; MNSMS_DELETE_CNF 0x8000400D ; MNSMS_READ_REQ 0x8001000D ; MNSMS_READ_CNF 0x8001400D ; MNSMS_STORE_REQ 0x8002000D ; MNSMS_STORE_CNF 0x8002400D ; MNSMS_SUBMIT_REQ 0x8003000D ; MNSMS_SUBMIT_CNF 0x8003400D ; MNSMS_COMMAND_REQ 0x8004000D ; MNSMS_COMMAND_CNF 0x8004400D ; MNSMS_ACK_RES 0x8008000D ; MNSMS_CONFIGURE_REQ 0x8005000D ; MNSMS_ERROR_IND 0x8009400D ; MNSMS_MO_SERV_REQ 0x800C000D ; MNSMS_MO_SERV_CNF 0x800C400D ; MNSMS_PAUSE_REQ 0x8006000D ; MNSMS_RESUME_REQ 0x8007000D ; MNSMS_RESUME_CNF 0x800A400D ; MNSMS_QUERY_REQ 0x800B000D ; MNSMS_QUERY_CNF 0x800B400D ; MNSMS_OTA_MESSAGE_IND 0x800D400D ; MNSMS_OTA_MESSAGE_RES 0x800D000D ; MNSMS_RETRANS_REQ 0x8009000D ; MNSMS_RETRANS_CNF 0x8005400D ; MNSMS_SEND_PROG_IND 0x800E400D PRIM MNSMS_MESSAGE_IND 0x8008400D { mem_type ; memory type rec_num ; record number rec_max ; maximum number of records status ; sms status sms_sdu ; SIM-PDU } PRIM MNSMS_REPORT_IND 0x8006400D { state ; SMS state < () cmms_mode > ; Mode value for +CMMS command } PRIM MNSMS_STATUS_IND 0x8007400D { sms_sdu ; SIM-PDU } PRIM MNSMS_DELETE_REQ 0x8000000D { mem_type ; memory type rec_num ; record number delete_status ; Delete flag } PRIM MNSMS_DELETE_CNF 0x8000400D { mem_type ; memory type rec_num ; record number cause ; Error code delete_rec_next ; Next Record } PRIM MNSMS_READ_REQ 0x8001000D { mem_type ; memory type rec_num ; record number read_mode ; read mode status ; message status } PRIM MNSMS_READ_CNF 0x8001400D { mem_type ; memory type rec_num ; record number rec_next ; number of next record rec_max ; maximum number of records cause ; Error code rec_status ; status record status ; message status sms_sdu ; SIM-PDU } PRIM MNSMS_STORE_REQ 0x8002000D { mem_type ; memory type rec_num ; record number condx ; write condition status ; message status sms_sdu ; SIM-PDU } PRIM MNSMS_STORE_CNF 0x8002400D { mem_type ; memory type rec_num ; record number cause ; Error code } PRIM MNSMS_SUBMIT_REQ 0x8003000D { mem_type ; memory type rec_num ; record number condx ; write condition modify ; Modifier auto_rep_flag %REL99% ; Automatic repeat sms_sdu ; SIM-PDU } PRIM MNSMS_SUBMIT_CNF 0x8003400D { mem_type ; memory type rec_num ; record number cause ; Error code tp_mr ; TP Message Reference sms_sdu ; SIM-PDU } PRIM MNSMS_COMMAND_REQ 0x8004000D { auto_rep_flag %REL99% ; Automatic repeat sms_sdu ; SIM-PDU } PRIM MNSMS_COMMAND_CNF 0x8004400D { cause ; Error code tp_mr ; TP Message Reference sms_sdu ; SIM-PDU } PRIM MNSMS_ACK_RES 0x8008000D { resp ; type of response sms_sdu ; SIM-PDU } PRIM MNSMS_CONFIGURE_REQ 0x8005000D { pref_mem_3 ; preferred memory 3 mt ; mobile terminated message handling ds ; status report handling mhc ; message handling compatibility < () cmms_mode > ; mode value of +CMMS command < () tmms_val > ; timer Value for +CMMS comamnd } PRIM MNSMS_ERROR_IND 0x8009400D { cause ; Error code } PRIM MNSMS_MO_SERV_REQ 0x800C000D { mo_sms_serv ; MO SMS Service } PRIM MNSMS_MO_SERV_CNF 0x800C400D { mo_sms_serv ; MO SMS Service } PRIM MNSMS_PAUSE_REQ 0x8006000D { } PRIM MNSMS_RESUME_REQ 0x8007000D { } PRIM MNSMS_RESUME_CNF 0x800A400D { cause ; Error Code } PRIM MNSMS_QUERY_REQ 0x800B000D { query_type ; Primitive Item } PRIM MNSMS_QUERY_CNF 0x800B400D { query_type ; Primitive Item < () deliver_status > ; Primitive Item } PRIM MNSMS_OTA_MESSAGE_IND 0x800D400D { EXTERN @m_sms - tp_pid@ tp_pid ; Primitive Item EXTERN @m_sms - tp_dcs@ tp_dcs ; Primitive Item EXTERN @m_sms - tp_ud@ tp_ud ; Primitive Item } PRIM MNSMS_OTA_MESSAGE_RES 0x800D000D { EXTERN @m_sms - tp_pid@ tp_pid ; Primitive Item EXTERN @m_sms - tp_dcs@ tp_dcs ; Primitive Item len ; Primitive Item packedlen ; Primitive Item data [20] ; Primitive Item } PRIM MNSMS_RETRANS_REQ 0x8009000D %REL99% { auto_rep_flag %REL99% ; auto repeat flag } PRIM MNSMS_RETRANS_CNF 0x8005400D %REL99% { cause ; error cause mem_type ; memory type rec_num ; record number tp_mr ; message reference sms_sdu ; Primitive Item } PRIM MNSMS_SEND_PROG_IND 0x800E400D %REL99% { resend_count %REL99% ; Resend count to MMI max_retrans %REL99% ; Max retrans allowed(=1) }