TECHSHIP IS A GLOBAL SUPPLIER OF WIRELESS COMPONENTS
Simcom SIM7500 series and SIM7600 series AT commands manual
This Application Note PDF document describes how the USB Voice/Audio feature for Simcom SIM7x00 series modules.
This manual gives general guidelines worth considering when designing and selecting main and diversity antennas for cellular applications.
This Zip archive contains the Simcom SIM7500 Series Application Notes.
This document is a reference guide to all the AT commands defined for FTP(S). Through these FTP AT commands, you can download files from FTP(S) server or upload files to FTP(S) server.
This document is a reference guide to all the AT commands defined for HTTP(S). Through these HTTP AT commands, you can send HTTP GET/POST request to HTTP server and read HTTP response from HTTP server.
This archive contains the SIMcom SIM7500 and SIM7600 series modules Linux base firmware update tool and source code and update guide.
This Zip archive contains the Windows operating system drivers for the SIM7xxx series Qualcomm chipset based cellular modules. Please refer to the included PDF manual for installation instructions for each system and USB endpoint selection.
This archive contains the Simcom SIM7500 and SIM7600 Series Linux Network NDIS driver installation files and guide on how to install them without rebuilding the kernel.
Please relate to FAQ "How to integrate Simcom SIM7500/SIM7600 Series Linux NDIS driver without rebuilding kernel" for further details.
This archive contains the RIL library and drivers for Android versions 4.0, 4.2, 4.4, 5.0, 5.1, 6.0 and 7.0.
Included is also the related user guide.
This archive contains the Windows firmware update tool for SIM7500 and SIM7600-series modules.
Please follow the included instructions regarding usage.
This archive contains the SIMCom SIM7500 - SIM7600 series modules Linux NDIS driver and system integration guide
This archive contains the Windows firmware update tool for SIM53-series, SIM7-series and SIM89-series modules.
Please follow the included instructions regarding installation and usage.
This archive contains the firmware update files and release notes for all SIM7500 series, except SIM7500A SIM7500V SIM7500JC versions.
The release notes introduces SIM7500M21 Firmware versions and briefly describes the benefits over preceding release. You can also find differences compared with preceding releases.
Useful Linux kernel configs to have enableb when integrating cellular modules in the Linux kernel
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 either as part of kernel or modules are listed bellow. Many cellular modules base their Linux support on these, either supported out-of-the-box or by applying source code modifications to them.
Configs for USB serial drivers:
Configs for Modem/PPP support:
Configs for USB network drivers:
Please relate to our product specific web pages for vendor details on Linux integration.
How to step by step set up a data connection over QMI interface using qmicli and in-kernel driver qmi_wwan in Linux?
Several cellular modules based on Qualcomm chipsets implements the Qualcomm Qualcomm MSM (QMI) Interface.
There is a open source Linux in-kernel driver supporting this interface and it is called qmi_wwan. The library libqmi can be used to communicate with the cellular devices over the interface and do necessary configurations to trigger the data connection over the cellular network.
Sierra Wireless MC74**/EM74** series: requires RAW-IP configuration.
Sierra Wireless EM75** series: requires RAW-IP configuration.
Telit LM940: requires RAW-IP configuration.
Telit LN94x series: requires RAW-IP configuration.
Simcom SIM7500/SIM7600/SIM7600*-H series: requires RAW-IP configuration (supported in qmi_wwan driver kernel 4.18+).
Simcom SIM7100 series: 802.3 IP framing supported.
Sierra Wireless MC73**/EM73** series: 802.3 IP framing supported.
First install the libqmi Linux library e.g. by using your system package manager like apt etc. (more details about libqmi here: https://www.freedesktop.org/wiki/Software/libqmi/)
Verify that you have the Linux in-kernel qmi_wwan driver installed for the cellular modules exposed QMI interface endpoint over USB:
Can look e.g. like this:
|__ Port 1: Dev 3, If 2, Class=Vendor Specific Class, Driver=qmi_wwan, 480M
If the driver is not correctly loaded, please verify that the module is set to expose the correct USB endpoints configuration toward the host system and that you have followed the provided guides from the cellular module vendors, regarding how to implement the module in Linux.
Libqmi expose a command line interface that can be used to communication with the module over QMI interface.
The qmicli help will output information about all commands available:
The cellular modules QMI control interface are usually named cdc-wdm* e.g.:
In order to allow parallel commands to be execute on the module over QMI interface, it is recommended to use the libqmi proxy function. This can be done by including the attribute -p or --device-open-proxy in every qmicli command.
If a SIM pin is required for the SIM card, use command bellow:
qmicli --device=/dev/cdc-wdm0 -p --dms-uim-verify-pin=PIN,1234
The name of the related network interface to QMI control channel can be acquired with the command:
qmicli --device=/dev/cdc-wdm0 --device-open-proxy --get-wwan-iface
The most recent Qualcomm based cellular modules only expose QMI interfaces that can support Raw-IP mode. Sierra Wireless EM/MC74 and EM75 series modules, Telit LM940 and LN940 series for example require this.
Check what IP-mode the host system is configured for:
qmicli --device=/dev/cdc-wdm0 --get-expected-data-format
Check what IP-mode the cellular module require:
qmicli --device=/dev/cdc-wdm0 --device-open-proxy --wda-get-data-format
to change qmi_wwan driver to use Raw-IP.
Disable the network interfaces exposed by the cellular module:
ip link set dev wwan0 down
Trigger the Raw-IP support:
echo Y > /sys/class/net/wwan0/qmi/raw_ip
Enable the network interfaces again:
ip link set dev wwan0 up
Now the data connection in the cellular module can be activated e.g. with a IPv4 type configuration on the specified APN:
qmicli --device=/dev/cdc-wdm0 --device-open-proxy --wds-start-network="ip-type=4,apn=data.tre.se" --client-no-release-cid
Once "Network started" is displayed, you can send a DHCP request on the network interface.
Please note that not all DHCP clients in Linux can support Raw-IP format, udhcpc however support this for IPv4 over Raw-IP.
udhcpc -q -f -n -i wwan0
Disconnect the data bearer and data connection over QMI by command bellow and providing the network handle and CID returned at connection activation:
qmicli --device=/dev/cdc-wdm0 --device-open-proxy --wds-stop-network=NETWORK_HANDLE --client-cid=CID
Additional useful commands:
Request module manufacturer:
qmicli --device=/dev/cdc-wdm0 --device-open-proxy --dms-get-manufacturer
Get module model:
qmicli --device=/dev/cdc-wdm0 --device-open-proxy --dms-get-model
Get firmware version:
qmicli --device=/dev/cdc-wdm0 --device-open-proxy --dms-get-revision
Get module IDs (IMEI etc.):
qmicli --device=/dev/cdc-wdm0 --device-open-proxy --dms-get-ids
Get SIM card status:
qmicli --device=/dev/cdc-wdm0 --device-open-proxy --uim-get-card-status
Recent cellular modules like Sierra Wireless EM7565 require at least libqmi V1.20. Check version with command:
If the connection was successfully set up established, you now have data connectivity. A ping to a remote server using the cellular network interface can for example prove this:
ping -I wwan0 184.108.40.206
The ifconfig Linux tool can show the current details for the network interface:
libqmi is well integrated and supported in ModemManager tool for Linux. ModemManager again is well integrated and supported when using NetworkManager tool in Linux. Please note however that these two tools expect the cellular module interfaces to only be used by them so if you manually want to use the libqmi library or AT commands interfaces, please turn off/disable ModemManager and NetworkManager first.
The libqmi is a generic open source library for Linux systems and QMI protocol from Qualcomm, therefor there are several commands only working on selected devices and not necessarily on supported in the specific device you use, resulting in an error message.
How can we integrate the Simcom SIM7500/SIM7600 Series Linux NDIS driver in Linux kernel without rebuilding it?
The Simcom SIM7500/SIM7600 series Linux NDIS network driver can be built and installed without rebuilding the complete Linux kernel your OS distribution uses. Please see steps and pre-requirements bellow and download the attached "Simcom SIM7500 and SIM7600 Series Linux Network NDIS driver installation files and guide (without kernel rebuild)" archive to get started.
Should you instead want to include the NDIS driver into your customized Linux kernel build, please relate to "SIMCom SIM7500 - SIM7600 series modules Linux NDIS driver and system integration guide V2.01" attached to the FAQ.
All commands are supposed to be executed with elevated system privileges/as root user.
Ensure that your original kernel was built with the following config options enabled, this will allow the option and usbnet driver pre-requirments to be included in kernel. (usually already included in larger distributions)
Build-tools and Linux header files for your kernel version are also required, these can be installed e.g. through your OS distributions package manager, on Debian/Ubuntu systems:
apt-get install build-essential make gcc
apt-get install linux-headers-`uname -r`
The in-kernel qmi_wwan driver should be blacklisted and prevented from loading as it will block the Simcom wwan driver, this is how it can be done e.g. in Ubuntu systems:
grep -q -F 'blacklist qmi_wwan' /etc/modprobe.d/blacklist-modem.conf || echo 'blacklist qmi_wwan' >> /etc/modprobe.d/blacklist-modem.conf
Build and install the driver:
Unzip the archive and copy the folder sim7600 to your selected working directory.
Navigate to it, e.g.:
Build and install the drivers:
Some warnings might appear, but verify that no errors are reported.
Restarting the host system should now result in the correct network drivers being loaded for the cellular module once the USB device is detected in the system.
It can be verified by finding lsusb -t listing "Driver=simcom_wwan" for a USB endpoint:
Bus 001 Device 005: ID 1e0e:9001 Qualcomm / Option
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/8p, 480M
|__ Port 4: Dev 5, If 0, Class=Vendor Specific Class, Driver=option, 480M
|__ Port 4: Dev 5, If 1, Class=Vendor Specific Class, Driver=option, 480M
|__ Port 4: Dev 5, If 2, Class=Vendor Specific Class, Driver=option, 480M
|__ Port 4: Dev 5, If 3, Class=Vendor Specific Class, Driver=option, 480M
|__ Port 4: Dev 5, If 4, Class=Vendor Specific Class, Driver=option, 480M
|__ Port 4: Dev 5, If 5, Class=Vendor Specific Class, Driver=simcom_wwan, 480M
dmesg | grep 'simcom_wwan'
simcom_wwan 1-4:1.5 wwan0: register 'simcom_wwan' at usb-0000:00:15.0-4, SIMCOM wwan/QMI device, 8a:d8:ff:c2:87:11
Additional make options and information:
If you've built the driver previously already, first clean out any old builds with:
If you only want to build the driver but not install it into /lib/modules/`uname -r`/kernel/drivers/net/usb/, use make without install parameter:
Testing of the cellular connection can easily be done by first performing the necessary initiation AT commands to the cellular module over Modem/AT commands serial interface normally located on /dev/ttyUSB2. Use e.g. minicom tool to communicate with it.
Can be installed e.g. through the distributions package manager:
apt-get install minicom
Access the serial interface:
minicom -D /dev/ttyUSB2
Please relate to AT commands guide for full details on what commands are supported.
Issue AT and check that you get OK as reply.
Enable echo on characters sent to module:
Request general info about module:
Enter the SIM pin code (if necessary for SIM card)
Enter your operators APN details:
Enter APN authentication details (if necessary) further details found in the AT commands guide.
Check network registration:
Activate and connect the cellular data connection to the network interface installed in Linux system:
When you get the reply $QCRMCALL: 1, V4 from cellular module it means that the data connection to your network operator is fully established and you can now exit the minicom tool (CTRL+A followed by Z key and Q key and select yes to exit).
Once here you can now perform a DHCP request on the cellular network interface in the Linux system by using your favorite DHCP client in Linux e.g. dhclient or udhc e.g.:
dhclient -v wwan0
The cellular network interfaces are normally named starting from wwan0 but might get renamed by some Linux distributions automatically. All available network interfaces can be listed with command:
ip link show
The network interface can be tested e.g. by sending ping requests to a remote server over the selected network interface:
ping -I wwan0 220.127.116.11
PING 18.104.22.168 (22.214.171.124) from 10.163.183.209 wwan0: 56(84) bytes of data.
64 bytes from 126.96.36.199: icmp_seq=1 ttl=120 time=191 ms
64 bytes from 188.8.131.52: icmp_seq=2 ttl=120 time=46.1 ms
64 bytes from 184.108.40.206: icmp_seq=3 ttl=120 time=52.8 ms
64 bytes from 220.127.116.11: icmp_seq=4 ttl=120 time=43.3 ms
--- 18.104.22.168 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 43.350/83.407/191.281/62.376 ms
How do we configure the Simcom SIM7100, SIM7500 and SIM7600 series cellular modules for usage in Windows 8 and 10 systems and support Windows built-in connection manager?
The Simcom modules comes default set in a USB configuration used by Linux and Windows 7 systems. If you want the module to be fully supported in Windows 8, 8.1, 10 systems and later and take advantage of the Windows integrated connection manager you have to do a one time configuration and set the module to expose Mobile Broadband Interface Model (MBIM) interface as bellow:
Start by installing the latest Simcom SIM7 series Windows drivers (instructions included in download package). They can be found on on our dedicated product web pages.
In Windows device manager you can now find a serial interface called "SimTech HS-USB AT Port 9001 (COM5)" Memorize the COM* interface number in your system.
Open a command prompt with admin rights (right click Windows icon in bottom left corner). Copy and paste the command bellow, edit port number to match the one in your system and hit enter. The command will then be sent to module overt the serial interface.
ECHO AT+CUSBPIDSWITCH=9004,1,1 >\\.\COM5
If the command is received successfully by module, a restart of the cellular module will be performed and it appears with the new USB endpoints supporting Windows 8 systems and later.
Make sure that all Simcom module end points are correctly loaded in Windows device manager, a system restart might be necessary also.
By clicking the Windows network connection symbol in the start bar or navigating to the "Cellular" topic in Windows system settings you can now activate the connection and configure APN details and enter PIN code if it is necessary for the cellular connection and subscription you have.
How do we enable basic standalone GPS tracking with the SIMcom cellular modules that include GNSS tracking feature?
The SIM7100 series, SIM7500 series SIM7600 series and SIM7600 -H series cellular modules that include a GNSS tracker can be used to acquire current accurate location data with and active or passive GNSS antenna connected to the module.
Details of the available AT commands related to GNSS functionality are described in the AT command reference manuals under GPS section. The AT command reference manuals can be found under our product web pages under technical documentation tab.
Depending on if an GNSS antenna with or without low noise amplifier (active/passive antenna) are used, the AT+CVAUXV and AT+CVAUXS command can be used to adjust if the antenna power supply of 3 VDC should be enabled or disabled on the GNSS antenna connector.
Module configured for active GNSS antenna with 3VDC power supply enabled directly from module:
Module configured for passive GNSS antenna and antenna voltage supply from cellular module is disabled:
A basic standalone GNSS tracking session outputting the location data on the dedicated NMEA virtual serial interface can be started with the following AT command:
Other useful commands:
(Please note that GNSS configuration parameters can only be changed when tracking is not active)
Stop ongoing GNSS tracking:
Clear GNSS fix related data stored in module:
Set minimum accuracy threshold in meters for location fix (default value 50 meters):
Enable autostart of GNSS tracking at module start up:
The latest GNSS fix can also be requested by AT command:
And the output is in the form:
+CGPSINFO: [lat],[N/S],[log],[E/W],[date],[UTC time],[alt],[speed],[course]
For details on how to configure the GPS for different application and scenarios, such as using Assisted GPS, or changing output formats etc. please relate to the AT commands reference manuals for the specific SIMcom module.
How to collect initial diagnostics data and logs for Simcom cellular modules, needed when requesting Techship technical support?
In order to troubleshoot and solve a technical problem, we ask you to please provide information about your system and logs from the related Simcom module when creating a technical support ticket.
Problem description of what exact problem is and in what precise situations present.
Describe the host system:
-Hardware (system board, peripherals...)
-Operating system and detailed versions (E.g. Windows, Linux release, kernel...)
-Drivers and driver versions
Identify the precise details of cellular module found on label:
-SKU/BOM or P/N code
(For RMA returns the IMEI number is mandatory)
If you are running on a Linux based system, please capture the terminal logs bellow:
ls -l /dev/serial/by-id
ls -l /sys/bus/usb-serial/devices
The logs from the cellular module firmware can be acquired by accessing the USB enumerated serial (COM) interfaces accepting AT commands. They can be named modem, AT, PC UI etc. (In Windows device manager, found under modem or serial interfaces). Send the following AT commands bellow to module and capture the output and include them when creating the the technical support ticket.
Test that you get a reply with command:
Command echo enabled:
Basic module info:
Detailed module version info:
Verbose error reporting:
Last error report:
USB endpoint configuration:
List current configuration:
Request UE system info:
Preferred network mode:
Preferred band selection:
Preferred acquisition order:
List network operator info:
Network registration status:
Network EPS registration status:
Packet domain attach status
List APN details/PDP profiles:
PDP profiles attach status:
Show PDP IP address:
RM network interface status:
The support ticket can be created after login at: https://techship.com/technical_support/