SIM7600G-H 4G for Jetson Nano

From Waveshare Wiki
Revision as of 07:41, 25 August 2022 by Eng26 (talk | contribs)
Jump to: navigation, search
SIM7600G-H 4G for Jetson Nano
the global version for Jetson Nano





4G/3G/2G/GSM/GPRS/GNSS HAT for Raspberry Pi, Based on SIM7600E-H


  • 40PIN GPIO extension header for connecting Jetson Nano.
  • Supports dial-up, telephone call, SMS, mail, TCP, UDP, DTMF, HTTP, FTP, etc.
  • Supports GPS, BeiDou, Glonass, and LBS base station positioning.
  • Onboard USB interface, to test AT Commands, get GPS positioning data, and so on.
  • Breakout UART control pins, to connect with host boards like Arduino/STM32.
  • SIM card slot, supports 1.8V/3V SIM card.
  • Onboard 3.5mm audio jack with earphones and mic support, for making telephone calls.
  • 2 x LED indicators, easy to monitor the working status.
  • Onboard voltage translator, the operating voltage can be configured to 3.3V or 5V via jumper.
  • Baudrate: 300bps ~ 4Mbps (default: 115200bps)
  • Autobauding baudrate: 9600bps ~ 115200bps
  • Control via AT commands (3GPP TS 27.007, 27.005, and V.25TER command set).
  • Supports SIM application toolkit: SAT Class 3, GSM 11.14 Release 99, USAT.



Band LTE-TDD B34/B38/B39/B40/B41
LTE-FDD B1/B2/B3/B4/B5/B7/B8/B12/B13/B18/B19/B20/B25/B26/B28/B66
UMTS/HSDPA/HSPA+ B1/B2/B4/B5/B6/B8/B19 GSM/GPRS/EDGE 850/900/1800/1900MH
Emitting power 0.25W [email protected]
[email protected]
[email protected]
[email protected]
Data Speed LTE CAT 4
Uplink≤50 Mbps
Downlink≤150 Mbps




SIM Card Normal SIM (Not Included)
Application Region Global 4G/3G/2G


  • Receiver type
    • 16-channel
    • C/A code
  • Sensitivity
    • Tracking: -159 dBm (GPS) / -158 dBm (GLONASS) / TBD (BD)
    • Cold starts: -148 dBm
  • Time-To-First-Fix (open air)
    • Cold starts: <35s
    • Hot starts: <1s
  • Accuracy
    • Position: <2.5m CEP

SMS and Audio

  • SMS
    • Supported types: MT, MO, CB, Text, PDU
    • Storage: USIM card and ME (default)
  • Audio feature
    • Supports echo cancellation
    • Supports noise reduction


  • Power supply: 5V
  • Operating voltage: 5V/3.3V (configured via jumper)
  • Operating temperature: -30°C ~ 80°C
  • Storage temperature: -45°C ~ 90°C

Hardware connection

  • Attach the SIM7600G-H 4G for Jetson Nano (SIM7600 hereafter) on the 40PIN GPIO of Jetson Nano.
  • Inset the USB connector, and connect the micro USB interface of SIM7600 to Jetson Nano.
    • If you want to communicate SIM7600 via Serial port, you can also turn the DIP switcher into ON.
  • Connect the MAIN antenna and the GPS antenna.

Software setup

  • Open a terminal and install libraries by the following commands
sudo apt-get update
sudo apt-get install python3-pip
sudo pip3 install pyserial
mkdir -p ~/Documents/SIM7600X_4G_for_JETSON_NANO
wget -P ~/Documents/SIM7600X_4G_for_JETSON_NANO/
cd ~/Documents/SIM7600X_4G_for_JETSON_NANO/
tar -xvf SIM7600X_4G_for_JETSON_NANO.tar.gz
sudo pip3 install Jetson.GPIO
sudo groupadd -f -r gpio
sudo usermod -a -G gpio your_user_name
sudo udevadm control --reload-rules && sudo udevadm trigger
sudo apt-get install minicom

Note: you should replace your_user_name with the actual user name.


Testing with minicom

Before you test the SIM7600, you need to install it with the following commands.
echo 200 > /sys/class/gpio/export
echo out > /sys/class/gpio200/direction
echo 1 > /sys/class/gpio200/value
echo 0 > /sys/class/gpio200/value
Make sure that the NET is blinking normally.
Run minicom and type AT commands to test.
sudo minicom -D /dev/ttyTHS1 -b 115200
If you cannot get a response, please check if you have set the DIP switch to ON.

Python Examples

  • Make sure that all the hardware are connected properly. Start Jetson Nano and open a terminal.
  • AT examples.
    • You should run the following commands to run the codes and type AT commands for testing.
cd ~/Documents/SIM7600X_4G_for_JETSON_NANO/AT/
sudo python3
  • GPS examples.
    • Connect the GPS antenna and set the receiver in an open place.
    • You should run the following commands to run the codes to test GPS.
cd ~/Documents/SIM7600X_4G_for_JETSON_NANO/GPS/
sudo python3
  • PhoneCall examples
    • Modify the file, change the phone number to yours by the vi tools and save.
    • Finally use the following command to run the code.
cd ~/Documents/SIM7600X_4G_for_JETSON_NANO/PhoneCall/
vi #modify the phone number
sudo python3
  • SMS example
    • Run the following commands
cd ~/Documents/SIM7600X_4G_for_JETSON_NANO/SMS/
sudo python3
  • TCP example
    • Run the following commands
cd ~/Documents/SIM7600X_4G_for_JETSON_NANO/TCP/
sudo python3

4G Connecting

Please connect all the hardware and start Jetson Nano.

  • Check and make sure that the module work normally by the demo codes above.
  • Open minicom by command
sudo su
killall ModemManager
minicom -D /dev/ttyUSB2
  • Type the following command to check.
  • Download driver
cd simcom_wwan
sudo su
  • Use root permission to install the driver.
insmod simcom_wwan.ko
  • Check if the wwan0 interface is recognized.
ifconfig -a
  • Enable the wwan0 interface.
ifconfig wwan0 up
  • Dailing by Minicom.
minicom -D /dev/ttyUSB2
  • Allocate IP
apt-get install udhcpc
udhcpc -i wwan0
  • Now you can use a 4G network.
  • If you get a DNS error, please fix it with this command.
route add -net wwan0


Related Instruction


SIM7600 Related


Application Note

For More...



Generally, the flight mode is entered. You can use a DuPont cable to connect D13 and GND to turn off the flight mode, as shown in the figure: SIM7600 nano flight.png


Support Nano SIM card:
SIM card size.png


In this case, it may be that you have not successfully connected to the network, you can follow the steps below to troubleshoot:
1. First check the hardware connection:

  • Check if the MAIN antenna is well connected;
  • Whether the connected SIM card can call and surf the Internet normally on mobile phones and other devices:
  • It is recommended to replace the SIM card of different operators. Under the comparison test, the network frequency bands and base station layouts supported by different operators are different. Changing the SIM card can also eliminate problems such as card arrears

2. After confirming that there is no problem with the hardware, the software can use these instructions:

  • Check whether the sim card is in good contact: AT+CPIN?
  • Check whether RF is turned on (flight mode is turned off): AT+CFUN?
  • Check if the network mode setting is correct: AT+CNMP?
  • Check the signal quality of the current environment: AT+CSQ
  • Check the operator's access situation: AT+COPS?
  • Check the connection status: AT+CPSI?
  • Check the operator's access situation: AT+CGDCONT?
  • Check the connection status: AT+SIMCOMATI
  • Check whether it is successfully registered to the network: AT+CGREG?

SIM7600X network check.png

SIM7600X mainly includes but is not limited to the following models:




From left to right are ① Latitude, ② Longitude, ③ Date, ④ Time, ⑤ Altitude, ⑥ Speed and ⑦ Navigation Angle.


Plug in the GPS antenna to the GNSS antenna socket, and place the receiver label face down in an open space (note that it cannot be tested in rainy weather). It takes about 1 minute to receive the positioning signal after power-on;



Restart SIM7600E-H after sending the following commands:



This problem is generally caused by poor contact between the SIM card and the SIM card socket of the module.

The reason is that the echo is not turned on. SIM7600X can send the following command and press Enter, and the echo is successfully turned on after the display is OK.



Since the Raspberry Pi serial port is used for terminal debugging by default, if you need to use the serial port, you need to modify the Raspberry Pi settings. Execute the following command to enter the Raspberry Pi configuration:

sudo raspi-config

Select Interfacing Options ->Serial ->NO ->YES to disable serial debugging
Serial port.png
Open the /boot/config.txt file, find the following configuration statement to enable the serial port, if not, add it at the end of the file:

Restart to take effect



It may be that the APN has not been obtained. Generally, the APN can be obtained automatically. In some areas (IoT card), it needs to be obtained manually. For example, it can be set by the following instructions:

AT+CGDCONT=1,"IP","APN" //The APN of different operators is different, here the APN is changed to the corresponding operator, for example:
China Mobile APN: CMNET; China Unicom APN: 3GNET; China Telecom APN: CTNET
SIM7600X apn.png


It can be set by the following commands:

AT+CGDCONT=1,"IPV6","APN" //Switch to IPV6, the APN of different operators is different, pay attention to distinguish the settings
AT+CGDCONT=1,"IP","APN" //Switch back to IPV4

  • No APN is set, configure APN as described above.
  • After being banned, high-traffic (real-name IoT) cards are bound by chance cards and can only be used on one device (Ministry of Industry and Information Technology, Ministry of Public Security, must be issued to operators); The operator checks the status of the card and unlocks it.


The VOLTE function can be turned on with the following command:


The VOLTE function can be turned off with the following command:



Command to add + Enter, return OK. Note: China Mobile's SMS service center number is +861380xxxx500, where xxxx is the long-distance telephone area code where you are located. The SMS center may be different from place to place. For details, you can query Baidu or call the customer service of China Mobile Unicom. This SMS center is Shenzhen (0755) ;

  • Confirm that SIM7600X is registered to the network, and confirm that the SIM card can send and receive text messages normally on mobile phones and other devices;
  • Set the correct SMS center number;
  • Initialize SMS settings with the following commands:


The AUX antenna can increase the downlink rate: The AUX antenna is also a diversity antenna, which plays the role of receiving signals, improves the signal reception capability, and works with the MAIN antenna to increase the downlink rate.

  • Under normal circumstances, SIM7600X has been automatically dialed after receiving the Windows system, and there is no need to repeat dialing. Repeated dialing will return NO CARRIER
  • If you still can't dial-up Internet access, please use the following command to change to Windows default dial-up Internet access mode
  • The display is turned off, the mobile network is not enabled, you can ignore it and go online directly;

SIM7600X rndis dial-up (1).png

SIM7600X rndis dial-up (2).png

  • The network card display is enabled after installing the driver

SIM7600X rndis dial-up (3).png

  • Generally, the default configuration of SIM7600 is to automatically select the network standard, and it is likely to choose 2G Internet access; if you need to force the use of 4G mode, you need to enter the following AT command configuration:
AT+CNMP=38 //Fixed 4G LTE, if there is no local 4G coverage, you may not be able to register to the network

SIM7600X-FAQ (4).png

  • If 4G has been fixed, the speed is still not ideal, it may be a frequency band problem;
AT+CNBP? //Back up the current frequency band (the returned frequency band information can be copied to notepad, etc.)
AT+CNBP=0x0002000000400183,0x000001E000000000,0x0000000000000021 //After returning OK, measure the speed
AT+CNBP=0x0002000004400180,0x000001E000000000,0x000000000000003F //If the speed does not improve, try this

SIM7600 band speed.png


SIM7600X-FAQ (6).png
1. Pay attention to check the device manager, the new device will be prompted during the upgrade process, and there will be no device driver during the first upgrade;
2. Pay attention to the USB cable. The speed of the USB cable is higher during the upgrade process. You need to choose a better quality USB cable to avoid poor contact.
3. You need to run the upgrade tool with administrator privileges (SIM7500_SIM7600_QDL V1.41 only for Update)
4. Uninstall and reinstall the upgrade tool (SIM7500_SIM7600_QDL V1.41 only for Update)
5. For more operation details, please refer to this video:


If the short message is stored in the SIM card, usually 50 is the upper limit. You can use the command: AT+CPMS? Make a query

5V power supply BY USB, after the network is successfully connected, the current is generally in the range of 50~300mA, and the average is about 150mA (for reference only, depending on the network environment and network working status.)

*Frequency: 700m 800m 900m 1710-1920M 2010-2100M 2300-2400M 2500-2690M-5800MHZ
  • Gain: 9dbi ± 0.7dbi

*Make sure that your system kernel is above 5.4. Do not use sudo update to upgrade the Raspberry Pi to the latest version, otherwise the kernel version will be upgraded to a version higher than the current firmware and will not be recognized.
  • It is recommended to use the more convenient RNDIS dial
  • Can burn the latest Raspberry Pi Raspbian system, reconfigure NDIS dial-up
  • Or use the image that has been configured with the driver NDIS dial-up and start the raspbian system image (the driver has been installed)

The new driver may not be compatible with some WIN7 systems, you can try the old driver:

SIM7600 old driver

  • Currently there is the driver source code of Android4-Android11, that is, the system version is Android4-Android11 only supported;
  • Get the source code and SDK of the Android system of the target device (requires official image support), then add SIMCOM's Android system driver source code to the Android source code, and recompile (the compilation time varies from 1-10 hours, it is recommended to use a high-configuration PC operate);
  • If the USB can be recognized, it means that the Android driver has been installed successfully. Set the module to 9011 mode or 9018 mode, and you can dial up to access the Internet;
  • The steps to install the Android driver are cumbersome, and the operator is required to have certain Android system development experience and R&D capabilities.


The IP obtained by different dialing methods is different and has different characteristics. Please refer to the following table for details:
Below is a detailed description of the various dials:

  • NDIS driver for Internet access (9001 mode)

This method must depend on the Linux system, and is suitable for application scenarios that need to be developed using Linux network socket programming. After loading the driver into the kernel, connect the SIM7600 to the motherboard with a USB cable. After the SIM7600 is turned on, the wwan0 network can be recognized. port, you can access the Internet through this network port. The bottom layer of this method depends on the USB virtual serial port of SIM7600. This dial-up method can obtain the IP provided by the public operator, and the network speed is faster.

  • RNDIS (9011 mode)

RNDIS refers to Remote NDIS. The implementation of RNDIS based on USB is actually TCP/IP over USB, which is to run TCP/IP on the USB device, making the USB device look like a network card. This method only needs simple configuration, the motherboard will recognize the usb0 network card, and quickly obtain the usb0 network card and module or the operator's IP network access; RNDIS network speed is relatively fast, which is one of the most commonly used dial-up methods.

  • ECM (9018 mode)

These two are the "NDIS" standard under Linux. ECM is the abbreviation of Ethernet Networking Control Model. ECM meets the requirements of CDC on USB. The data call established through standard CDC-ECM is routed through the router, and the obtained IP address is a private IP such as 192.168; if the kernel supports this way, no additional driver is required. All data interacting with the module through the USB bus is constrained by relevant protocols and standards, and the module reaches the module through the USB hardware to complete the interaction with the Linux motherboard.

  • PPP dial-up

This method must depend on the Linux system, and is suitable for application scenarios that need to be developed using Linux network socket programming. After configuring and running the relevant scripts, connect the SIM7600 with a USB cable. After the SIM7600 is powered on, dial up the pppd script to identify it. To the ppp0 network port, you can access the Internet through this network port and obtain the operator's IP. The bottom layer of this method depends on the USB virtual serial port of SIM7600.

  • AT command uses encapsulated TCP, MQTT, HTTP(S)

This method is suitable for microprocessors with limited resources, such as MCU, or for application scenarios with a relatively small amount of data, such as uploading sensor data to servers, cloud platforms, etc. through http(s), MQTT. If the network application is not complicated and the amount of data is relatively small (such as transmitting sensor data to the server and receiving control commands from the server), the function can be quickly used by using AT commands.

Please confirm that there is a sim7600_4G_hat_init file in the current path

The general operation is: download the sample program, after decompression, rename the c folder under the Raspberry folder to SIM7600X, then copy the entire SIM7600X folder to the Raspberry Pi /home/pi directory, and enter the command line to /home/pi /SIM7600X directory, and then execute the chmod 777 sim7600_4G_hat_init command.

Execute: autoreconf -vfi, and then recompile, as shown in the following figure: