TECHSHIP IS A GLOBAL SUPPLIER OF WIRELESS COMPONENTS
The SIM7500A is Multi-Band LTE-FDD/HSPA module solution in a SMT type which supports LTE CAT1 up to 10Mbps for downlink data transfer.
It has strong extension capability with rich interfaces including UART, USB2.0, I2C, GPIO etc. With abundant application capability like TCP/UDP/FTP/FTPS/HTTP/HTTPS/SMTP/POP3 and MMS, the module provides much flexibility and ease of integration for your application.
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 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.
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 220.127.116.11
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 18.104.22.168
PING 22.214.171.124 (126.96.36.199) from 10.163.183.209 wwan0: 56(84) bytes of data.
64 bytes from 188.8.131.52: icmp_seq=1 ttl=120 time=191 ms
64 bytes from 184.108.40.206: icmp_seq=2 ttl=120 time=46.1 ms
64 bytes from 220.127.116.11: icmp_seq=3 ttl=120 time=52.8 ms
64 bytes from 18.104.22.168: icmp_seq=4 ttl=120 time=43.3 ms
--- 22.214.171.124 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 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/