Go to file
dchvs 771948b95d Merge pull request 'documentation: Update README' (#4) from 4.4.1/tx2-cti/quectel-module-dev into master
Reviewed-on: #4
2021-02-20 03:07:57 +00:00
kernel/kernel-4.9-spiri/drivers/net/usb Update eg25-g source directory 2021-02-17 09:20:21 -06:00
quectel-CM Add driver eg25-g sources 2021-01-21 22:34:57 -06:00
README.md documentation: Update README 2021-02-19 21:06:44 -06:00


Quectel EG25-G GSM Modem

Quectel Setup

The Quectel should be conencted to a ConnectTech's Elroy board. The Quectel module requires to connect the antenna on the MAIN and GNSS sockets. Make sure to use a SIM card with full access to the mobile network.


Clone the repository:

mkdir ~/git/ && cd ~/git/
git clone https://git.spirirobotics.com/dchvs/eg25-g.git
cd eg25-g/

Create udhcpc directories, copy in the script, and give it execution permission:

sudo mkdir -p /usr/share/udhcpc
sudo mkdir -p /etc/udhcpc/
sudo cp quectel-CM/default.script /usr/share/udhcpc/
sudo cp quectel-CM/default.script /etc/udhcpc/

sudo chmod +x /usr/share/default.script
sudo chmod +x /etc/udhcpc/default.script

Create a udhcpc symbolic link:

sudo ln -s /bin/busybox /bin/udhcpc

Build the application:

cd quectel-CM/quectel-CM


The following command launches the package, with [apn-name] being substituted with the APN of the wireless provider. For BICS, the APN is bicsapn. To run this in the background, add & to the end of the command.

sudo ~/git/eg25-g/quectel-CM/quectel-CM -s [apn-name] &


If the modem is correctly connected to the system, the following command will show the GSM modem attaching to ttyUSB0, ttyUSB1, ttyUSB2, and ttyUSB3:

dmesg | grep GSM

If the modem has successfully connected to a tower and is being served an IP address, then the following command will show an IP address being served:

ifconfig eth1
ping -I eth1 www.google.com


Kernel Changes

The Driver for the EG25-G Quectel module consists has the following structure on the Kernel space side, for interfacing it and adding its Network packets transmisions on Kernel.

├── kernel
    └── kernel-4.9-spiri
        └── drivers
            └── net
                └── usb
                    ├── GobiUSBNet.c
                    ├── Kconfig
                    ├── Makefile
                    ├── QMI.c
                    ├── QMIDevice.c
                    ├── QMIDevice.h
                    ├── QMI.h
                    └── Structs.h

In order to add the Driver to the Kernel, the following reference Kernel files are patched:

  • drivers/usb/serial/option.c
  • drivers/usb/serial/usb_wwan.c
  • drivers/net/usb/qmi_wwan.c