= GW16130 Iridium Satellite Modem = [[PageOutline]] GW16130 = GW16127 Mini-PCIe carrier + Iridium 9603 modem module Iridium 9603 SBD (short burst data) modem is capable of transmitting ASCII or Binary messages in packets of up to 340 bytes, and receiving packets of up to 270 bytes. == Single Board Computer Support == The modem has been tested and verified on Gateworks SBCs in a Mini-PCIe slot with USB 2.0 routed. The modem is supported on a wide variety of software, as it works over AT commands using a USB to UART adapter. The FTDI USB to UART driver must be installed on the operating system, however, this is default on Gateworks BSPs. [[Image(GW16130_Pinout.png, 300px)]] == Modem Activation == Modems need to be activated using an approved Iridium carrier/provider. During the activation, the modem is configured for the destination of the messages: * Direct IP * Email address * Another modem Some providers found on the internet, but not endorsed or approved by Gateworks: * https://www.northernaxcess.com/sbd-short-burst-data-airtime-plans * https://satellitephonestore.com/iridium-sdb * https://www.satphonestore.com/airtime/iridium-sbd.html * http://www.rock7mobile.com/products-rockblock-9603 * http://www.nalresearch.com/Airtime.html#Short%20Burst%20Data%20(Standard%20Plan) == Antenna == An Iridium certified antenna must be used. Please see below recommended antennas: * Taoglas Limited IAA.01.121111 * [https://www.digikey.com/product-detail/en/taoglas-limited/IAA.01.121111/931-1034-ND/2332661 Digi-Key] * Note: Requires u.Fl to SMA pigtail, [https://shop.gateworks.com/index.php?route=product/product&product_id=42&search=sma Gateworks Shop GW10036] == Turning on Modem == An FTDI FT231XQ USB to UART Chip is used to communicate with the Iridium Satcom modem via its serial UART. The FTDI GPIO pins control the modem: * CBUS0: SAT_ON (input to modem; 10k pull-down) * CBUS1: SAT_FND (output from modem) * CBUS2: SAT_SUPPLY_OUT (output from modem) * CBUS3: not connected Configure GPIO: {{{ base=$(for i in $(ls -1d /sys/class/gpio/gpiochip*); do [ "ftdi-cbus" = "$(cat $i/label)" ] && cat $i/base; done) [ "$base" ] || { echo "Error: could not find ftdi-cbus device"; } echo $((base+0)) > /sys/class/gpio/export echo out > /sys/class/gpio/gpio$((base+0))/direction echo 1 > /sys/class/gpio/gpio$((base+0))/value # enable modem echo $((base+1)) > /sys/class/gpio/export echo in > /sys/class/gpio/gpio$((base+1))/direction echo $((base+2)) > /sys/class/gpio/export echo in > /sys/class/gpio/gpio$((base+2))/direction }}} == Modem AT Commands The Iridium SBD modems communicate via AT commands over the UART (default 19200 baud). In a Linux system the UART mapping is dynamic. See the following for examples on determining the correct port mapping. Note these commands only work if there is a single FTDI device in the system. AT Commands via picocom: (only works if there is one ftdi device being used in the system) {{{#!bash DEVICE=/dev/$(basename $(ls -d /sys/bus/usb/drivers/ftdi_sio/*/ttyUSB*)) picocom $DEVICE -b 19200 --omap lfcr }}} AT Commands via shell: (only works if there is one ftdi device being used in the system) {{{#!bash DEVICE=/dev/$(basename $(ls -d /sys/bus/usb/drivers/ftdi_sio/*/ttyUSB*)) stty -F $DEVICE 19200 ignbrk -brkint -icrnl -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke cat $DEVICE & at() { echo -n -e "$1\r" > $DEVICE; } at "AT+GMI" # Manufacturer Identification 'Iridium' at "AT+GMM" # Model Identification 'IRIDIUM 9600 Family SBD Transceiver' at "AT+GMR" # Revision details at "AT+GSN" # serial number (IEMI) at "AT+CSQ" # signal strength (0 to 5): '+CSQ:0' }}} Additional commands: * Send message on Modem (to destination configured in modem admin where modem is registered) {{{ AT&K0 AT+SBDWT=Hello World AT+SBDIX }}} == Reference Links * Iridium 9603 https://www.iridium.com/products/iridium-9603/ * Iridium 9603 AT Commands https://www.google.com/search?q=iridium+9603+at+commands * Drifting Buoy Project using 9603 http://mdbuoyproject.wixsite.com/default