wiki:expansion/gw16130

Version 18 (modified by Ryan Erbstoesser, 6 years ago) ( diff )

add section for pre-4.20 workaround FTDI

GW16130 Iridium Satellite Modem

The GW16130 is a Mini-PCIe Satellite Modem that provides cost-effective, short burst satellite connectivity for asset tracking, fleet management, telemetry, oceanographic data, grid monitoring and Internet of Things (IoT) applications. The GW16130 features an Iridium 9603N satellite transceiver which allows two-way communications anywhere in the world with a clear line of sight to the sky. The Iridium network consists of 66 satellites and provides 24/7 world wide coverage. The 9603N module is used for short burst data packets (340bytes uplink, 270bytes downlink) and perfect for IoT remote sensor applications with minimal non-realtime data requirements. The GW16130 modem will work in a full size Mini-PCIe socket that includes a USB 2.0 interface. See the Gateworks website for suggested single board computers that can be used with this modem. Serial communications to the module is through an onboard FTDI USB to UART bridge. All power conditioning circuitry is contained on the board in addition to an u.Fl antenna connector for connecting an external satellite antenna. Note that an Iridium approved satellite antenna must be used when operating on the Iridium network. The GW16130 modem requires a monthly data plan which can be established with a number of 3rd party providers. Typical data charges are ~$20 USD per month with 12Kbytes of data included.

GW16130 Mini-PCIe Satellite Modem

GW16130 = GW16127 Mini-PCIe carrier + Iridium 9603 modem module

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. The GW16130 utilizes the FT231XQ USB to UART device.

See below for the Mini-PCIe edge finger pinout on the GW16130. The USB signals are mapped to the standard pins specified in the Mini-PCIe specification (pins 36 & 38).

Mini-PCIe Edge Finger Pinout

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:

Antenna

An Iridium certified antenna must be used.

Please see below recommended antennas:

A small u.Fl patch cable (GW10135, included) is connected from the modem module to J6 or J7 (interchangeable) on the Mini-PCIe base board. The modem would then be connected to either J6 or J7, whichever is not used by the modem module. This is purely for convenience, if required, antenna can be connected directly to the modem module. See below schematic snippet.

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

Important Run the following to configure GPIO & enable the modem (only works with 4.20 kernel or newer. Note that Newport is on 4.14) :

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

Workaround for 4.20 kernel or prior

Because support for controlling the FTDI GPIOs was introduced in Kernel 4.20, a program (ftx_prog) can be used to control GPIO via the EEPROM on the FTDI chip on earlier kernels.

This is an open source program located here: https://github.com/richardeoin/ftx-prog

It has been precompiled for Newport Bionic Ubuntu using the 4.14 kernel. The file can be downloaded at the attachments section at the bottom of this page.

The following commands are used to control the GPIO:

sudo ./ftx_prog --cbus 3 Keep_Awake #prevent suspend mode
sudo ./ftx_prog --load-vcp true #force the loading of the virtual com port
sudo ./ftx_prog --cbus 0 Drive_1 #drive GPIO 0 high to enable modem
sudo ./ftx_prog --dump #print FTDI EEPROM Configuration

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.

If there is only a single FTDI device in the system, it typically will enumerate as /dev/ttyUSB0

AT Commands via picocom: (only works if there is one ftdi device being used in the system)

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)

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 # Prepare
    AT+SBDWT=Hello World #enter message as string
    AT+SBDIX # Send message
    +SBDIX: 0, 4, 0, 0, 0, 0 #Response saying it was successful
    

Troubleshooting:

  • If no AT commands are working, verify the modem is enabled using the FTDI CBUS GPIOs.

Mechanicals

Dimensions: 30.00 wide x 50.95 long x 11.60 mm tall (1.18 x 2.00 x 0.46 in)

Note that the GW16130 will not fit inside of a standard Gateworks Indoor Enclosure.

Attachments (6)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.