Compatible mPCIe Modems
There are a variety of mPCIe USB modems available providing HDSPA/3G/4G functionality
Sierra Wireless MC AirPrime series are well supported LTE offerings, with global coverage models available, and have the advantage of older models being widely available in bulk at low cost from various wholesale sources. SIMCOM and QUECTEL also supply 3G/LTE/LTE-M modems aimed for industrial usage and are available from various resellers world wide at more competitive prices.
mPCIe modems provide several ports for communicating including serial port(s) for communicating with the modem via AT commands and a optional additonal one for a GPS feed if the modem supports it and more recent models have the faster direct QMI interface. OS Support for most of the mPCIe modems available is included within the Linux kernel so no additional drivers are needed, see below list of modems we have tested.
The modem is connected to the host via the mPCIe slot's USB connections and appears as several /dev/ttyUSBx serial ports (and where appicable QMI devices as /dev/cdc-wdmx devices) after boot up, the amount of serial ports and port number for the AT and GPS interfaces varies from modem to modem.
On boot-up the OS will show multiple ttyUSB serial port end points attached to the modem however only a maximum of 3 will be usable for our purposes, the remainder being for other proprietary software interfaces. The specific ttyUSBx port assigned to each modem function can vary between modem vendor/model.
To complicate matters further the on-board RJ45 RS232 serial port is interfaced using a USB-to-UART converter and as such will also present a ttyUSB port at boot. Due to the USB device detection/enumeration order not being guaranteed if a modem is also attached the specific port numbers assigned to the USB-UART and modem device can vary between boots.
For convenience we have provided some pre-written udev rules for several modem types (as well as the on board USB RS232 adapter) which will consistantly create the below symlink shortcuts at each boot cycle :
|/dev/modemAT||Modem Primary AT Command Port|
|/dev/modemPPP||Modem Legacy PPP Connection Port|
|/dev/modemGPS||Modem GPS NEMA Feed*|
|/dev/ttyS1||USB RS232 UART|
* Older Sierra Wireless modems require the use of a special passive GPS antenna fitted to the AUX/GPS connector, check modem datasheet for antenna specification needed
In order to configure these symlinks the respective udev rule should be placed in /etc/udev/rules.d
The rules as downloaded are mutually exclusive so please only install the rule needed to match the modem type installed.
||GPS Option||Connection Method||udev rule|
|MC7304/7354 LTE||Yes||QMI Direct IP||20-modem-7304.rules|
|MC7455 LTE||Yes||QMI Direct IP||20-modem-7304.rules|
|QUECTEL EC20 LTE***||Yes||QMI Direct IP||20-modem-ec20.rules|
|QUECTEL EC21 LTE***||Yes||QMI Direct IP||20-modem-ec21.rules|
|QUECTEL EC25 LTE***||Yes||QMI Direct IP||20-modem-ec21.rules|
|SIMCOM 7100 LTE***||Yes||QMI Direct IP||20-modem-7100.rules|
|SIMCOM 7600 LTE***||Yes||QMI Direct IP||20-modem-7100.rules|
*** Requires Raspberry Pi Kernel 4.9.19 or later
LTE Modems for North America are often carrier locked, and so require matching firmware pre-loading onto them before they will work, the chosen carrier type (e.g. AT&T, Verizon) should be specified during the purchasing process to ensure compatibility with your chosen cellular network.
Many of the modems above cover different regions and additionaly in the case of LTE modems cover different LTE Bands, so it's worth double checking with your modem vendor which modem is most suitable for the target region.
[ wget --no-check-certificate 'https://drive.google.com/uc?export=download&id=0B8gkYppHOJNMVC01TldjbHVEM1U' -O modem-rules.tar ]