# 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. ## Installation 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 make ``` ## Running 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] & ``` ## Troubleshooting 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 ``` ## Appends #### 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. ```bash . ├── 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 #### Documentation * Cellular modem hardware design * Cellular modem PPP * Cellular modem AT commands * Cellular modem GNSS AT commands