documentation: Update README #4

Merged
dchvs merged 1 commits from 4.4.1/tx2-cti/quectel-module-dev into master 2021-02-19 23:07:58 -04:00
1 changed files with 45 additions and 29 deletions

View File

@ -1,55 +1,44 @@
# Quectel EG25-G GSM Modem # Quectel EG25-G GSM Modem
## Kernel Changes ## Quectel Setup
This package requires the Spiri Mu kernel and modifications to the following files: The Quectel should be conencted to a ConnectTech's Elroy board.
* drivers/usb/serial/option.c The Quectel module requires to connect the antenna on the MAIN and GNSS sockets.
* drivers/usb/serial/usb_wwan.c Make sure to use a SIM card with full access to the mobile network.
* drivers/net/usb/qmi_wwan.c
* drivers/net/usb/Makefile
It also requires these new files:
* drivers/net/usb/GobiUSBNet.c
* drivers/net/usb/QMI.c
* drivers/net/usb/QMI.h
* drivers/net/usb/QMIDevice.c
* drivers/net/usb/QMIDevice.h
* drivers/net/usb/Structs.h
All these modifications and additions are part of the Spiri Mu kernel. The files are represented in https://git.spirirobotics.com/Spiri/mu_kernel_sources as symlinks from this repository.
## Installation ## Installation
Clone the repository: Clone the repository:
``` ```
cd ~/git mkdir ~/git/ && cd ~/git/
git clone https://git.spirirobotics.com/Spiri/mu_packages.git git clone https://git.spirirobotics.com/dchvs/eg25-g.git
``` cd eg25-g/
Create a udhcpc symbolic link:
```
cd /bin
sudo ln -s busybox udhcpc
``` ```
Create udhcpc directories, copy in the script, and give it execution permission: Create udhcpc directories, copy in the script, and give it execution permission:
``` ```
sudo mkdir -p /usr/share/udhcpc sudo mkdir -p /usr/share/udhcpc
sudo mkdir -p /etc/udhcpc/ sudo mkdir -p /etc/udhcpc/
sudo cp ~/git/mu_packages/eg25-g/default.script /usr/share/udhcpc sudo cp quectel-CM/default.script /usr/share/udhcpc/
sudo cp ~/git/mu_packages/eg25-g/default.script /etc/udhcpc sudo cp quectel-CM/default.script /etc/udhcpc/
sudo chmod +x /usr/share/default.script sudo chmod +x /usr/share/default.script
sudo chmod +x /etc/udhcpc/default.script sudo chmod +x /etc/udhcpc/default.script
``` ```
Create a udhcpc symbolic link:
```
sudo ln -s /bin/busybox /bin/udhcpc
```
Build the application: Build the application:
``` ```
cd ~/git/mu_packages/eg25-g/quectel-CM cd quectel-CM/quectel-CM
make make
``` ```
## Running ## 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. 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/mu_packages/eg25-g/quectel-CM/quectel -s [apn-name] sudo ~/git/eg25-g/quectel-CM/quectel-CM -s [apn-name] &
``` ```
## Troubleshooting ## Troubleshooting
@ -61,9 +50,36 @@ 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: 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 ifconfig eth1
ping -I eth1 www.google.com
``` ```
## Documentation ## 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
* <a href="https://nextcloud.spirirobotics.com/f/3971">Cellular modem hardware design</a> * <a href="https://nextcloud.spirirobotics.com/f/3971">Cellular modem hardware design</a>
* <a href="https://nextcloud.spirirobotics.com/f/3970">Cellular modem PPP</a> * <a href="https://nextcloud.spirirobotics.com/f/3970">Cellular modem PPP</a>
* <a href="https://nextcloud.spirirobotics.com/f/3968">Cellular modem AT commands</a> * <a href="https://nextcloud.spirirobotics.com/f/3968">Cellular modem AT commands</a>