= GW16130 Iridium Satellite Modem = [[PageOutline]] GW16130 = GW16127 Mini-PCIe carrier + Iridium 9603 modem module Iridium 9602/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. == Modem Activation == Modems need to be activated via 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) == Turning on Modem == An FTDI FT231XQ USB UART Chip is used to communicate with the Iridium Satcom modem via its 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 a UART (default 19200 baud) AT Commands via picocom: (only works if there is one ftdi device being used) {{{#!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) {{{#!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 to configured email address in modem admin (described above in modem management) {{{ AT&K0 AT+SBDWT=Hello World AT+SBDIX }}} == Reference Links * Drifting Buoy Project using 9603 http://mdbuoyproject.wixsite.com/default