Skip to content

Instantly share code, notes, and snippets.

@nickfogle
Created October 13, 2018 18:50
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nickfogle/ce122a30d0f41da1d4efe44240f95dac to your computer and use it in GitHub Desktop.
Save nickfogle/ce122a30d0f41da1d4efe44240f95dac to your computer and use it in GitHub Desktop.
Iridium Modem and Attention Code Cheatsheet

Project Overview

Hardware

RockBlock uses an Iridium 9602 SBD Transceiver. The 9602 only supports short burst data.

Goal

Broadcast bitcoin transaction from a remote location. (a) Split up the raw transaction to meet sbd limitations (b) Send each segment to a relay server (c) The relay server assembles the transaction chunks and pushes to BTC network

Iridium Abbreviations

AT – Attention Code MO – Mobile Originated MT – Mobile Terminated SBD – Short Burst Data FA - Field Application DTE - Data Terminal Equipment LBT – L-Band Transceiver RF – Radio Frequency

Interface

3 Different Modes:

  1. Command mode - AT commands can be entered to control the 9602. In this mode, flow control has no effect, with the RTS input ignored and the CTS output driven ON (low)
  2. SBD data mode - is transferring binary or text SBD message data to or from the DTE
  3. SBD session mode - here, the DTE must wait for the +SBDI [X][A]session result code.

Note - Transitions between these modes are automatic in response to SBD AT Commands; the DTE has no other control over the mode.

AT Command Set Description

1. AT – ATtention Code

This is the prefix for all commands except A/. When entered on its own, the 9602 will respond OK.

2. A/ - Repeat Last Command

Repeat the last command issued to the 9602 unless the power was interrupted or the unit is reset. A/ is not followed by .

3. En – Echo

Echo command characters.

0 Characters are not echoed to the DTE. 1 Characters are echoed to the DTE (default).

4. In – Identification

Requests the 9602 to display information about itself.

0 “2400” (for compatibility only) 1 “0000” (for compatibility only) 2 “OK” (for compatibility only) 3 “XXXXXXXX” (Software revision level) 4 “IRIDIUM 9600 Family” (Product description) 5 “8816” (for compatibility only) 6 “XXX” (Factory identity) 7 “XXXXXXXX” (Hardware specification)

5. Qn – Quiet Mode

Control 9602 responses.

0 9602 responses are sent to the DTE (default). 1 9602 responses are NOT sent to the DTE.

6. Vn – Verbose Mode

Set the response format of the 9602, which may be either numeric or textual.

0 Numeric responses. 1 Textual responses (default).

7. Zn – Soft Reset

Reset the 9602’s data port to a user-stored configuration that has been previously stored using &Wn.

0 Restores user configuration 0. 1 Restores user configuration 1.

8. &Dn – DTR Option

Set the 9602 reaction to the DTR signal.

0 DTR is ignored. A DTR signal input is not needed when set to &D0. 1-3 DTR must be ON. If DTR transitions from ON to OFF, the data port will be locked after approximately 10 seconds to enter the UART test mode. The data port will resume when DTR is restored to ON. There is no distinction between settings 1-3. (Default is 2)

9. &Fn – Restore Factory Settings

Recall factory default configuration without resetting the data port. 0 Recall factory default 0.

10. &Kn – Flow Control

Select the flow control method between the 9602 and DTE. Flow control is only applied to the transfer of SBD message data; it does not apply to AT commands and their responses.

0 Disables flow control. 3 Enables RTS/CTS flow control (default).

11. &V – View Active and Stored Configuration

View the current active configuration and stored profiles.

12. &Wn – Store Active Configuration

Store the active profile in non-volatile memory. This is used to store user configurations for later use.

0 Store current (active) configuration as profile 0. 1 Store current (active) configuration as profile 1.

13. &Yn – Designate Default Reset Profile

Select profile for use after power-up.

0 Select profile 0 (default). 1 Select profile 1.

14. %R – Display Registers

Display all the S-registers in the system.

15. *F – Flush to EEPROM

Flush all pending writes to EEPROM, shut down the radio, and prepare the 9602 to be powered down. The command returns OK upon completion, at which point it is safe to remove the power without losing non-volatile data.

Note: This command stops the 9602 from responding to any more commands, but does not actually power it down. The only way to power down the 9602 is for the FA to remove the power or to de-assert the on/off control line. Note: After an SBD session, the new SBD MOMSN is always flushed to EEPROM before the +SBDI result is issued.

16. *Rn – Radio Activity

Control radio activity.

0 Disable radio activity. 1 Enable radio activity (default). • While the radio is disabled: • SBD sessions can not be initiated; they will fail immediately. • No SBD Automatic Notifications will be issued for automatic-MT messages. • No registration, i.e. location updates will be performed. • The baseband circuitry is still active and the 9602 still accepts AT commands. This command allows the FA to reduce detectable emissions from the RF circuitry during the idle periods between SBD sessions, and also provides some, limited, power saving in cases where it may be inconvenient for the FA to power down the 9602.

17. +CCLK – Real time clock

Exec Command: +CCLK Query the 9602 for Iridium system time if available.

18. +CGMI – Manufacturer Identification

Exec Command: +CGMI Query the 9602 manufacturer.

19. +CGMM – Model Identification

Exec Command: +CGMM Query the 9602 model.

20. +CGMR – Revision

Exec Command: +CGMR Query the 9602 revision.

21. +CGSN – Serial Number

Exec Command: +CGSN Query the 9602 IMEI.

22. +CIER – Indicator Event Reporting

Set Command: +CIER=[<mode>[,<sigind>[,<svcind>]]] The set command enables or disables sending of the +CIEV unsolicited result code from the 9602 to the DTE in case of indicator state changes. controls the processing of the +CIEV unsolicited result codes.

<mode>:

0 Disable indicator event reporting; do not send +CIEV unsolicited result codes to the DTE; buffer the most recent indicator event for each indicator in the 9602 (default). 1 Enable indicator event reporting; buffer the most recent +CIEV unsolicited result code for each indicator when the data port is reserved (e.g. in SBD data mode) and flush them to the DTE after reservation; otherwise forward them directly to the DTE.

<sigind>: Control reporting of “signal quality” indicator changes:

0 No “signal quality” indicator reporting. 1 Enable “signal quality” indicator reporting using result code +CIEV:0,<rssi> where <rssi> is: 0 Equivalent to 0 bars on the signal strength indicator 1 Equivalent to 1 bars on the signal strength indicator 2 Equivalent to 2 bars on the signal strength indicator 3 Equivalent to 3 bars on the signal strength indicator 4 Equivalent to 4 bars on the signal strength indicator 5 Equivalent to 5 bars on the signal strength indicator

The reported signal strength is the same value that would be returned by the +CSQ command. When enabled, the signal quality indicator is reported only when the signal strength changes.

<svcind>: Control reporting of “service availability” indicator changes:

0 No “service availability” indicator reporting. 1 Enable “service availability” indicator reporting using result code +CIEV:1,<value> where <value> is: 0 Network service is currently unavailable. 1 Network service is available.

Network service availability is equivalent to a signal strength greater than 0. The service availability indicator provides a way for the FA to wait until the 9602 can start an SBD session without receiving continual notifications of changes in signal strength.

Read Command: +CIER? Query the current indicator event reporting settings. The response is of the form: +CIER:<mode>,<sigind>,<svcind>,<antind> Where is not used and is included for compatibility only.

Test Command: +CIER=? List the supported settings. The response is in the form: +CIER:(supported <mode>s),(supported <sigind>s),(supported <svcind>s) ,(supported <antind>s)

Note: In 1, the DTE may miss some indicator state changes if they occur while the data port is reserved. However, the buffering mechanism ensures that the most recent change for each indicator during reservation will be flushed to the DTE after reservation; thus the DTE is always made aware of the latest state of each indicator.

Note: The DTE may initiate an SBD session even if service is unavailable; in this case, the 9602 makes an immediate search for the network and, if successful, starts the SBD session, otherwise the SBD session fails.

23. +CRIS – Ring Indication Status

Exec Command: +CRIS Query the ring indication status, returning the reason for the most recent assertion of the Ring Indicator. The response contains separate indications for telephony and SBD ring indications.

The response is in the form: +CRIS:<tri>,<sri>

where indicates the telephony ring indication status (for compatibility): 0 No telephony ring alert received. and indicates the SBD ring indication status: 0 No SBD Ring Alert received. 1 SBD Ring Alert received.

Note: The <tri> response is included for compatibility with 9522A applications. The results in the <tri> response should be ignored for 9602 applications. For the 9602 only the <sri> response should be evaluated.

24. +CSQ – Signal Quality

Exec Command: +CSQ[F] Execution command returns the received signal strength indication <rssi> from the 9602. Response is in the form: +CSQ:<rssi>

where: <rssi>:

0 Equivalent to 0 numbers displayed on the signal strength indicator. 1 Equivalent to 1 number displayed on the signal strength indicator. 2 Equivalent to 2 numbers displayed on the signal strength indicator. 3 Equivalent to 3 numbers displayed on the signal strength indicator. 4 Equivalent to 4 numbers displayed on the signal strength indicator. 5 Equivalent to 5 numbers displayed on the signal strength indicator.

Test Command: +CSQ=? List the supported signal strength indications. The response is in the form: +CSQ:(supported <rssi>s)

Each number represents about 2 dB improvement in link margin over the previous value. A reading of 0 is at or below the minimum receiver sensitivity level. A reading of 1 indicates about 2 db of link margin.

A reading of 5 indicates 10 dB or more link margin. These are not calibrated output and provides relative information about the units receive signal, and not an absolute receiver level or even a calibrated signal to noise ratio.

Note: A signal strength response may not be immediately available, but will usually be received within two seconds of issuing the command. If the 9602 is in the process of acquiring the system, a delay in response of up to 50 seconds may be experienced.

Note: The +CSQF form of the command returns immediately, reporting the last known calculated signal strength. Note that the signal strength returned by this command could be different from the current actual signal strength if the +CSQ form is used. This form is included for Product Developer application compatibility as it provides a Fast response.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment