TECHSHIP IS A GLOBAL SUPPLIER OF WIRELESS COMPONENTS
What Linux kernel modules and configs are commonly used for communicating with cellular modules over their USB interface?
Most cellular modules can be supported in Linux by using som of the in-kernel drivers. The physical data interface to the host Linux system is usually done over USB which enumerates a set of different endpoints/interfaces. A set of serial interfaces for Modem/PPP, AT commands, NMEA location data and chipset debug information are almost always available in all configurations.
In addition some type of network endpoint/interface are also available and exposed. This can vary between manufacturers and chipset vendors and can also commonly be configurable by using USB configuration mode switching or through vendor specific AT commands.
Recommended kernel configurations to enable are listed bellow. Many cellular modules base their Linux support on these modules and drivers. Once included in the kernel build, the USB interfaces will be detected and bound correctly out-of-the-box or after applying source code patches to the driver modules.
Configs for USB serial drivers:
Configs for Modem/PPP support:
Configs for USB network drivers:
Please relate to the Techship product specific web pages for vendor specific Linux integration guides.
Below is a selection of kernel commits relating to cellular module support in Linux kernels:
qmi_wwan: Add support for Fibocom NL678 series
qmi_wwan: Added support for Telit LN940 series
qmi_wwan: Added support for Fibocom NL668 series
USB: serial: option: add support for GosunCn ME3630 RNDIS mode
USB: serial: option: add support for Simcom SIM7500/SIM7600 RNDIS mode
USB: serial: option: add Simcom SIM7500/SIM7600 (MBIM mode)
USB: serial: option: add Fibocom NL678 series
USB: serial: option: add Telit LN940 series
USB: serial: option: add Fibocom NL668 series
USB: serial: option: add GosunCn ZTE WeLink ME3630
qmi_wwan: apply SET_DTR quirk to the SIMCOM shared device ID
If you use any of the listed cellular modules, drivers and specified USB modes in the commits above, ensure that your kernel version already include the patch or apply it to your build.
How to collect initial diagnostics data and logs for Fibocom cellular modules needed when requesting Techship technical support?
In order to ease the troubleshooting of technical problems and understand your end-product or application and its usage scenario we ask you to please provide the following information when creating a technical support ticket at: techship.com/technical_support/
Please give a detailed problem description and in what precise circumstances it is present.
Describe the host system:
-Hardware (system board, processor architecture, other peripheral devices...)
-Operating system with detailed versions (E.g. Windows version and build, Linux distribution, kernel version)
-Drivers used and versions (Linux: out-of-tree vendor drivers or in-kernel drivers?)
Details from the cellular module label:
-SKU/BOM or P/N code
For Linux systems, capture terminal logs from commands:
ls -l /dev/serial/by-id
ls -l /sys/bus/usb-serial/devices
The cellular module logs can be acquired by accessing one of the USB enumerated serial (COM) interfaces or physical UART serial interfaces accepting AT commands. In Windows device manager they are generally found as modem infterface or serial and ports interface types).
Send AT commands to module and capture the text output:
Test that you get a OK reply:
Enable AT command echo:
Verbose error reporting:
USB endpoint configuration:
Serial port configuration:
Selected network access techniques:
List network operator info:
Network registration status:
Signal quality parameters:
List APN details:
List Packet switch enable/disable status:
List PDP profiles status:
List bearers and IP addresses:
Check SIM status:
Selected radio access technology:
Selected RAT and active frequency band(s):
For modems supporting 5G
List CA information:
When trying to send AT commands in ModemManager I get the following error:
"Cannot send AT command to modem: operation only allowed in debug mode"
AT commands can only be sent to your cellular modem when you're running ModemManager in debug mode. This FAQ will show you how this is done as well as explain some syntax standards.
To set ModemManager into debug mode you will first have to stop the process. This needs to be done for NetworkManager as well because NetworkManager runs ModemManager as a child process.
Mask and stop the services:
$> sudo systemctl disable NetworkManager ModemManager
$> sudo systemctl stop NetworkManager ModemManager
Manually run with debug enabled:
$> sudo /usr/sbin/ModemManager --debug
Open a new terminal, find the modem index and send the AT command:
$> sudo mmcli -m
If you write a command without the prefix it will automatically put an "AT" right before it. So sudo mmcli -m
You can write sudo mmcli -m
To send a command you should therefore either write out the whole command as "AT+CGMR" or "+CGMR".
Sierra Wireless syntax
Sierra Wireless specific commands that uses the prefix ! has a specific way in which the command needs to be written. Instead of enclosing the command in " " you now need to use single quotation marks ' ' instead.
The beginning of the command follow the same convention as above. So for example one can write sudo mmcli -m
The commands which includes a string uses double quotation marks for that string. Example sudo mmcli -m
How can the Telit FN980 be used to survey 5G networks?
The Telit FN980 is equipped with a function called Easy Scan. This function can be utilized by issuing the following AT command:
The new Qualcomm baseline (LE 1.4) also introduces the possibility of performing 5G SA network surveys with this command. The 5G feature is available starting from firmware version B009.
To perform a 5G SA network survey, utilize the following procedure:
Use AT#5GCTL=2 or 3 (SA only, SA for FR2 is not supported currently.)
Reboot the module
Use AT+WS46=38(Default) or 36 or 37 or 40, but just to be strict, you can set this value to 36 (NG-RAN only).
Optionally, use AT#BND can select specific RF bands.
Currently, the firmware versions that are using the new Qualcomm baseline are still under certification, making them unsuitable for finished products. However, there are beta firmware versions that can be used to test this feature for development purposes.
Please create a technical support ticket if you are interested in testing 5G network surveys on the Telit FN980. You can create a technical support ticket by clicking the following link: https://techship.com/support/new/
Which antenna ports should I connect antennas to on the LTE or 5G module?
It is important to understand the functionality of the different antenna ports on the cellular module when deciding which ports to use. There is a risk of underutilizing the module by not connecting antennas to the right ports. This guide aims to explain some general terms and abbreviations used to label and describe antenna ports and their different functionalities.
Some antenna port labels that are commonly used on cellular modules are listed below:
MAIN – Primary transmit and receive antenna port. Required for basic functionality.
DIV – Diversity receive port. This port is used to receive the same signal as the primary port, but at a different spatial point. By receiving the same signal at two different spatial points, the module can mitigate destructive effects that might be present on one of the different spatial points. The diversity receive functionality is especially useful in urban environments where the interference environments may be radically different between two spatial points. It is always recommended to use the diversity receive port as this functionality improves the quality and reliability of the overall link.
GNSS – GNSS receive port. GNSS stands for Global Navigation Satellite System, examples of such systems are GPS, Galileo, GLONASS and BeiDou. The available systems may differ between different modules. To see what systems are available for a specific module, please consult the modules hardware documentation. As this antenna port is used for positioning applications, a suitable GNSS antenna needs to be connected to this port in order to utilize this functionality.
MIMO – MIMO port. MIMO stands for Multiple Input Multiple Output and refers to the amount of antennas used at each side of the link. For example, 4x4 DL MIMO means that the base station and the module each use 4 antennas for the modules downlink. Usually, the MIMO label is used to denote antenna ports that are used for spatial multiplexing which is a technique used for increasing the bitrate. This is achieved by splitting the signal into different streams that are transmitted and received on spatially separated antennas on each side of the link. For the majority of cellular modules, spatial multiplexing is only available for the module's downlink.
AUX – Auxiliary antenna port. The available functions on this port may differ between modules. Examples of functionalities that can be present on this port are diversity receive, DL-MIMO and GNSS. Please consult the module's hardware documentation to see which functionalities are present on this port.
Some cellular modules have numeric, non-descriptive labels on their antenna ports. These modules can have different functionalities for different frequency intervals/bands, on one single antenna port. For these modules, consult the hardware documentation to find what functionalities are present for which frequency intervals/bands one the different antenna ports. Please note that antenna ports with transmit functionality for certain frequency bands need to have a antenna connected in order to utilize these frequency bands.
If you have further inquiries regarding antenna ports on cellular modules, please create a Support Ticket by visiting the following link: https://techship.com/support/new/
What is LPWAN and what are its use cases?
LPWAN stands for Low Power Wide Area Network and describes physical and link layer protocols for smart meters, sensors and other low data rate IoT products. LoRaWAN (Long Range Wide Area Network) is one of several LPWAN networks using the unlicensed spectrum for IoT deplayment. The lower frequencies utilized makes for longer ranges while cutting back on data rate seldom needed for sensors and other similar products.
In Europe, LoRaWAN for example uses EU863 and EU433 frequencies.
NB-IoT is another LPWAN technology that utilizes a very narrow bandiwdth of around 200 kHz. It is optimized for indoor use with low cost, long battery life and high connection density. It is based on the LTE standard and can be used for smart metering, indoor tracking, alarms, connected tools and more.
If higher data rates are required the CAT-M1 technology provides up to 1 Mbps compared to NB-IoT rates of up to around 250 kbps and is also more suitable for moving applications involving base station switching. Both these technologies also supports PSM and eDRX modes, more information available here.
There are many different platforms and technologies in the LPWAN category such as Wize, DASH7, Sigfox, MIoTy and many more. What is similar for all of these platforms and technologies is the simple cost effective products with long range and low power usage ideal for IoT deployment on a large scale.
What are eDRX and PSM modes and how can they be used with the SIM7000 series?
NB-IoT supports the following three power saving modes that can be used with the SIM7000 series depending on the use case and need. The main idea is to cut the time the modem is open for paging to save power, especially useful for battery or other similar solutions wanting to minimize power usage.
DRX, Discontinuous Reception Mode means that the module more or less can be reached at any given time with a small delay paging every 1.28, 2.56, 5.12 or 10.24 depending on operator.
eDRX, extended Discontinuous Reception Mode is an extension of the DRX interval. I.e. skipping intervals being idle for up to several hours. Uses 10-30 microampere while idle. Good in cases where latency is not of importance and power saving is of more importance without having to sacrifice the module being reachable at reasonable time intervals. Below, eDRX related AT-commands can be found.
AT+CEDRXS Extended-DRX Setting
AT+CEDRXRDP eDRX Read Dynamic Parameters
AT+CEDRX Configure EDRX parameters
AT+CEDRXS Extended-DRX Setting
PSM, Power Saving Mode is a deep sleep kind of mode where the modem almost completely turns off. This means that the modem is completely idle until set timer expires or PWRKEY is pulled low by host. This results in very low power usage (around 3.5 microampere) but the modem won't be reachable until woken up by timer or host which can bring considerable delays. Below, PSM related AT-commands can be found.
AT+CPSMS Power Saving Mode Setting
AT+CPSMRDP Read PSM Dynamic Parameters
AT+CPSMSTATUS Enable Deep Sleep Wakeup Indication
AT+CPSMCFG Configure PSM version and Minimum Threshold Value
AT+CPSMCFGEXT Configure Modem Optimization of PSM
There is also a Sleep mode available where the modem is idle until paged meaning the modem is always reachable but with lower power usage than normal. It can be enabled with AT+CSCLK=1 or by pulling DTR-pin high to set modem to sleep state and pulling it down to wake modem.
For more information and examples please refer to the respective modems' AT-command guide as well as the SIM7000 series Low Power Mode Application guide!
How do we connect to a 5G NR network?
To be able to connect to a 5G network both the module and SIM card need to have 5G technology support. If you have problems with NSA or SA for a specific band make sure that your module actually supports this as well. Read through your product’s hardware guide which can be found on the product’s page.
Support for 5G NSA/SA on a specific band can also be firmware dependent. Make sure that you have the latest firmware installed on your module.
This FAQ includes many different AT commands, both 3GPP standard and vendor specific commands, so it’s recommended to have your module’s AT guide with you while troubleshooting.
Perform a network scan with AT+COPS=? and check if your module can find any 5G networks. You can see if it’s a 5G network by looking at the last value in the quadruple. Depending on which technology you use this should be set to:
11 - NR_5GCN (NR connected to a 5G core Network)
12 - NGRAN (NG-RAN access technology)
13 - EUTRA_NR (Dual connectivity of LTE with NR)
If your module can find the 5G network, check your current network configuration with the read command AT+COPS? to make sure it’s set to the correct value. Similarly you can check the NR5G network registration status with the following AT command sequence (note this command only applies for 5G SA) :
You can select the Wireless Data Service with AT+WS46:
36 - NG-RAN only
37 - NG-RAN and E-UTRAN
38 - NG-RAN, E-UTRAN and UTRAN
40 - NG-RAN and UTRAN
Telit 5G related AT commands:
Enable your 5G band with AT#BND
To enable/disable only the 5G bands AT#5GCTL can be used
FN980 does not have SA enabled by default. To enable it run the following commands:
AT#BND=(Fill in you bands here, see AT guide)
If you are using a Windows PC change the USBCFG to option 2
SIMCom 5G related AT commands:
Enable both SA and NSA with AT+CSYSSEL=”nr5g_disable”,0
Disable SA with AT+CSYSSEL="nr5g_disable",1
Disable NSA with AT+CSYSSEL=”nr5g_disable”,2
Configure 5G NSA bands with AT+CSYSSEL=”nsa_nr5g_band”
Configure 5G SA bands with AT+CSYSSEL=”nr5g_band”
Set your preferred mode with AT+CNMP
55 - WCDMA+LTE+NR5G
71 - NR5G
109 - LTE+NR5G
Sierra Wireless 5G related AT commands:
Display your 5GNR information with AT!NRINFO?
Enable/disable ENDC (NSA) and SA with AT!RTCA (note that these settings are not persistent across power cycles)
AT!GSTATUS not responding with NR5G fields and looks similar to:
NR5G RSRP (dBm): --- NR5G RSRQ (dB): ---
NR5G SINR (dB): —
The response details are dependent on the network providing the necessary information to the modem. To be sure you get these values the modem has to be in a data call in SA mode
Fibocom 5G related AT commands:
Select RAT with AT+GTRAT or RAT and Bands with AT+GTACT
14 - NR-RAN
16 - NR-RAN/WCDMA
17 - NR-RAN/LTE
20 - NR-RAN/WCDMA/LT
For more general information about 5G see FAQ “What is 5G NR?”.
If you are still encountering problems connecting to a 5G network you can create a support ticket: https://techship.com/page/support/technical_support/. Please describe your problem and set up thoroughly and include the logs from this troubleshooting.
What is 5G NR?
5G New Radio (NR) is the fifth-generation technology standard for cellular networks which offers higher data capacities and download speeds with less latency than its predecessors. With increased bandwidth 5G makes it possible for many different devices to be connected on a smaller surface.
The 5G technology does not consist of a single framework but multiple different technologies. It’s important to know about these so you can make the right decisions for your IoT products.
NSA or SA?
When you connect to a 5G network this could be either to a Non-Standalone (NSA) or Standalone (SA) network.
5G NSA, as the name suggests, does not only utilize 5G but 4G as well. The 4G LTE network is still the core and controlling network, and 5G technology is used concurrently to offload the 4G network.
The 5G SA network however consists only of its own 5G NR core network which handles everything.
Note that not every module supports both these technologies and may not support 5G SA for every band. Make sure you read through the product’s data sheet and hardware guide for the specifics. These can be found on every product’s page on our web shop.
FR1 and FR2
The frequency bands for 5G NR technology are classified into so-called FR1 and FR2 frequency ranges. The FR1 class is in the Sub-6 GHz band range. Other technologies such as 3G and 4G also have frequencies transmitted that are below 6 GHz. Whereas the FR2 class consists of frequency bands above 24 GHz, also called millimeter wave (mmWave).
FR1 bands are fit for better range. While the higher frequencies of FR2 with larger bandwidths are used for short-range, higher data rates and lower latency.
Are you having trouble connecting to a 5G NR network? See FAQ “How to troubleshoot your 5G connection issues”
After successfully establishing a connection to the network you can then start making/recieving calls and sms if supported by your modem.
The modem has functions to store different phonenumbers, voice messages, sms etc.
Below are some basic examples with SIMCom modems of how to use these functions as well as utilizing USB Audio for external audio sources.
On SIM76xx /75xx/71xx series
Save a number to the modem's internal memory:
Command AT+CPBS? returns all available types of storage that following phonebook AT commands operate on. For example AT+CPBS="SM" selects the sim card memory as working memory where you then can read from and write to with additional commands.
You can read phonebook entries with the AT+CPBR=? And write entries with eg AT+CPBW= 2,"1234567890",129,"Emma" where 2 is the location of the contact, followed by number in " ". The 129 specifies whether or not you included country code eg "+00" in the number string. Without country code it is 129 and with it is instead 145.
To make a simple call use ATD>2 where this command will result in a VoLTE call to Emma which we defined above. To end a call set AT+CVHU=0 then simply write ATH.
To answer an incoming call manually(when the RING prompt shows up) use the command ATA and for automatic answering use ATS0=, where n defines what number should be automatically answered fetched from the phonebook's memory locations.
For further documentation please see the modems' respective AT command guides.
USB Audio (SIM76xx /75xx/71xx series )
Some modems support USB audio that can be used to utilize external speakerphones and mics during a voice call using a USB port. The modem will relay the audio data between the speakerphone and the caller using PCM data format. If needed, the command AT+CPCMFRM=1 can be used to change the sample rate from 8 kHz (default) to 16 kHz which will reset after modem resets (Only supported on 7500/7600 series).
To dial the destination number use ATD> "name" or from memory slot ATD> 2 as decribed above.
When the modem reports that the voice call has begun the command AT+CPCMREG=1 can be entered. This will transfer PCM data to and from the USB COM port where speakerphone can be connected.
After voice call has ended use AT+CPCMFRM=0 to stop sending/recieving PCM data on the USB audio port.
For further documentation see respective modems' USB audio application note.
There are several terms that are good to have a basic understanding about when working with LTE modems and cellular technology. Below you can read about a few of them!
Recieved Signal Strength Indication, RSSI is measured in dBm and the better the signal the closer it is to 0 dBm.
It is a measure of how well your device picks up a certain signal.
Channel Bit Error Rate, BER is measured in percent where the lower the value the better.
A measure of how many error bits being transferred per minute due to noise, signal distortion etc.
Reference Signal Recieved Power, RSRP is a measure of the power of the recieved current reference signal in dBm.
It is used to compare signal strength of different cells in the network where a signal closer to 0 dBm is better.
Reference Signal Recieved Quality, RSRQ is the measure of the quality of the recieved reference signal.
Ranges from 0 dBm (highest quality) to around –20 dBm (lowest quality)
Reference Signal Signal to Noise Ratio, RSSNR is the average reference signal-to-noise ratio of the cell.
It is measured in dBm and the higher the number the stronger the signal compared to the noise.
For most modules the AT+CSQ can be used to gather some of these values.
For the SIM75xx/76xx series additional values can be accessed with the AT+CPSI command!
For Telit FN980 series an extended signal report can be accessed with AT+CESQ.
Modules from Sierra Wireless like the EM9191 utilizes the same commands as the FN980 in this regard.
For Fibocom modules, the AT+GTCCINFO? can be used instead!
For further documentation see respective AT command guides for the different modules on our website.
To read about how to maximize these parameters see FAQ "the importance of using multiple antennas on LTE and 3G cellular modules"