Cellular IoT Shield getting started with UDP connection
Sixfab came up with Arduino Cellular IoT Shield. This shield is a lighter version of our previous Arduino Cellular IoT Application Shield, where both uses Quectel BG96 module. The major difference is the peripheral sensors, this new shield doesn’t contain any sensors on it which makes it lighter.
Read More
Cellular IoT HAT Getting Started with UDP connection
Sixfab came up with Raspberry Pi Cellular IoT HAT. This time it is a Hat rather than a shield. To be more specific this HAT is lighter version of our previous Raspberry Pi Cellular IoT Application Shield, where both uses Quectel BG96 module. The major difference is the peripheral sensors, the HAT doesn’t contain any sensors on it.
QMI Interface with Sixfab Shields/HATs
QMI interface has been mostly asked tutorial for Raspberry Pi 3 and Raspberry Pi 4 with Quectel UC20 / Quectel EC25 attached on our Sixfab 3G-4G/LTE Base Shield v2.
This Tutorial is maintained in our documentation section.
Base Shield
Base HAT
Cellular App. IoT Shield
Cellular IoT HAT
Please submit your technical issues and feedback to the community forum.
This interface is also compatible with:
Raspberry Pi 3G/4G<E Base HAT
Raspberry Pi 3G-4G/LTE Base Shield V2
Raspberry Pi Cellular IoT Application Shield – LTE-M & NB-IoT & eGPRS
Raspberry Pi Cellular IoT HAT – LTE-M & NB-IoT & eGPRS
This has been tested with Raspberry Pi 4 too.
In this tutorial, we will be demonstrating you the process step by step. Without further ado, let’s get started.
Hardware Prerequisites
- Raspberry Pi
- Sixfab 3G-4G/LTE Base Shield v2
- Quectel EC25 mini PCIe module
- LTE antenna (2 antennas are recommended)
Hardware Setup
- Plug Quectel EC25 Mini PCIe module to the Sixfab 3G-4G/LTE Base Shield v2.
- Connect required antennas to the Quectel EC25 module. (Antenna Connecting Guide will be Available soon!).
- Attach the Shield on top of your Raspberry Pi and keep the micro-USB cable disconnected that comes with the Shield.
Make sure you are using the original Raspberry Adapter as your power source.
Software Setup
1. First run update
sudo apt update && sudo apt upgrade
2. Install Raspberry Pi kernel headers.
sudo apt-get install raspberrypi-kernel-headers

3. Check installed kernel headers packet version ls /usr/src
In our case, it is 4.14.79

4. Now open your browser and go to rpi-firmware github repository commits

5. Here, find out your version and click on <> button to browse the repository at that point in the history.

6. From the link copy the hash as shown in the image below.

7. Now go back your terminal and update rpi in following format. Replace the term <hash> with your hash matching the kernel headers you checked in step 3.
sudo rpi-update <hash>

8. Reboot your Raspberry Pi in order to activate the new firmware
9. After rebooting, download qmi_installer.sh script.
wget https://raw.githubusercontent.com/sixfab/Sixfab_RPi_3G-4G-LTE_Base_Shield/master/tutorials/QMI_tutorial/qmi_install.sh
10. Change the permission of the script.
sudo chmod +x qmi_install.sh
11. Make sure the module is disconnected before running the installer script
sudo ./qmi_install.sh
12. At the end of installation enter any key to reboot your Raspberry Pi and attach the USB cable of the shield.
13. After rebooting goto directory files/quectel-CM
cd /files/quectel-CM
14. Now run the following command to connect to the Internet.
sudo ./quectel-CM -s internet
15. Now you can check you IP using
ifconfig wwan0

16. Further more you may check by pinging
ping -I wwan0 -c 5 8.8.8.8
Auto Connect on reboot
If you want your Raspberry Pi to automatically connect to the Internet via QMI interface then there is one more step you will need to follow.
1. Get the installation script.
wget https://raw.githubusercontent.com/sixfab/Sixfab_RPi_3G-4G-LTE_Base_Shield/master/tutorials/QMI_tutorial/install_auto_connect.sh
2. Change the permission
sudo chmod +x install_auto_connect.sh
3. Now install the script
sudo ./install_auto_connect.sh
4. It will then ask for APN. Type in your APN and then press ENTER

5. Once you press enter it will create and activate the service.
6. The name of the service is qmi_reconnect. To check if the service is active you can type
sudo systemctl status qmi_reconnect.service
7. If it is working fine then you will be able to see active(running) in green.
