Quectel Qconnectmanager Linux User Guide v1-0
Quectel Qconnectmanager Linux User Guide v1-0
Version: 1.0
Date: 2022-03-16
Status: Released
At Quectel, our aim is to provide timely and comprehensive services to our customers. If you
require any assistance, please contact our headquarters:
Legal Notices
We offer information as a service to you. The provided information is based on your requirements and we
make every effort to ensure its quality. You agree that you are responsible for using independent analysis
and evaluation in designing intended products, and we provide reference designs for illustrative purposes
only. Before using any hardware, software or service guided by this document, please read this notice
carefully. Even though we employ commercially reasonable efforts to provide the best possible experience,
you hereby acknowledge and agree that this document and related services hereunder are provided to
you on an “as available” basis. We may revise or restate this document from time to time at our sole
discretion without any prior notice to you.
Copyright
Our and third-party products hereunder may contain copyrighted material. Such copyrighted material shall
not be copied, reproduced, distributed, merged, published, translated, or modified without prior written
consent. We and the third party have exclusive rights over copyrighted material. No license shall be
granted or conveyed under any patents, copyrights, trademarks, or service mark rights. To avoid
ambiguities, purchasing in any form cannot be deemed as granting a license other than the normal non-
exclusive, royalty-free license to use the material. We reserve the right to take legal action for
noncompliance with abovementioned requirements, unauthorized use, or other illegal or malicious use of
the material.
QConnectManager_Linux_User_Guide 1 / 20
Trademarks
Except as otherwise set forth herein, nothing in this document shall be construed as conferring any rights
to use any trademark, trade name or name, abbreviation, or counterfeit product thereof owned by Quectel
or any third party in advertising, publicity, or other aspects.
Third-Party Rights
This document may refer to hardware, software and/or documentation owned by one or more third parties
(“third-party materials”). Use of such third-party materials shall be governed by all restrictions and
obligations applicable thereto.
We make no warranty or representation, either express or implied, regarding the third-party materials,
including but not limited to any implied or statutory, warranties of merchantability or fitness for a particular
purpose, quiet enjoyment, system integration, information accuracy, and non-infringement of any third-
party intellectual property rights with regard to the licensed technology or use thereof. Nothing herein
constitutes a representation or warranty by us to either develop, enhance, modify, distribute, market, sell,
offer for sale, or otherwise maintain production of any our products or any other hardware, software, device,
tool, information, or product. We moreover disclaim any and all warranties arising from the course of
dealing or usage of trade.
Privacy Policy
To implement module functionality, certain device data are uploaded to Quectel’s or third-party’s servers,
including carriers, chipset suppliers or customer-designated servers. Quectel, strictly abiding by the
relevant laws and regulations, shall retain, use, disclose or otherwise process relevant data for the purpose
of performing the service only or as permitted by applicable laws. Before data interaction with third parties,
please be informed of their privacy and data security policy.
Disclaimer
a) We acknowledge no liability for any injury or damage arising from the reliance upon the information.
b) We shall bear no liability resulting from any inaccuracies or omissions, or from the use of the
information contained herein.
c) While we have made every effort to ensure that the functions and features under development are
free from errors, it is possible that they could contain errors, inaccuracies, and omissions. Unless
otherwise provided by valid agreement, we make no warranties of any kind, either implied or express,
and exclude all liability for any loss or damage suffered in connection with the use of features and
functions under development, to the maximum extent permitted by law, regardless of whether such
loss or damage may have been foreseeable.
d) We are not responsible for the accessibility, safety, accuracy, availability, legality, or completeness of
information, advertising, commercial offers, products, services, and materials on third-party websites
and third-party resources.
Copyright © Quectel Wireless Solutions Co., Ltd. 2022. All rights reserved.
QConnectManager_Linux_User_Guide 2 / 20
About the Document
Revision History
Version Date Author Description
QConnectManager_Linux_User_Guide 3 / 20
Contents
1 Introduction ......................................................................................................................................... 6
1.1. Applicable Modules and Drivers ................................................................................................ 7
2 Toolkit................................................................................................................................................... 9
5 FAQ ..................................................................................................................................................... 17
QConnectManager_Linux_User_Guide 4 / 20
Table Index
QConnectManager_Linux_User_Guide 5 / 20
1 Introduction
QConnectManager is a Quectel data call tool for connecting to network. Multiple connection modes, drivers
and advanced features are supported, as shown below:
Connection modes:
⚫ QMI protocol
⚫ MBIM protocol
⚫ AT+QNETDEVCTL
Quectel drivers:
⚫ qmi_wwan_q
⚫ GobiNet
⚫ pcie_mhi
⚫ pcie_mhi_mbim
Linux drivers:
⚫ qmi_wwan
⚫ cdc_mbim
⚫ cdc_ncm
⚫ RNDIS
⚫ ECM
Advanced features:
⚫ Aggregate connection
⚫ Multi-APN connection
⚫ Bridge connection
QConnectManager automatically detects Quectel modules and the data call protocol in use. This
document explains how to use QConnectManager, some common issues and their solutions.
QConnectManager_Linux_User_Guide 6 / 20
1.1. Applicable Modules and Drivers
Protocol/ Module
Driver Aggregate Multiple Bridge Applicable Module
AT Command Series
⚫ AG35-CEN
qmi_wwan QMI - - -
⚫ EC20-CE
qmi_wwan_q QMI √ √ √ ⚫ EC21 Series
⚫ EC25 Series
GobiNet QMI √ √ √
LTE Standard ⚫ EG21-G
⚫ EG25-G
⚫ EG91 Series
⚫ EG95 Series
⚫ EM05 Series
⚫ EM06 Series
⚫ EG06 Series
⚫ EP06 Series
⚫ EG060K-EA
⚫ EG12 Series
⚫ EM12-G
⚫ EG18 Series
LTE-A
⚫ EM160R-GL
⚫ EM120R-GL
⚫ EG512R-EA
cdc_mbim MBIM √ √ -
⚫ EM121R-GL
⚫ EG065K Series
⚫ EM120K-GL
⚫ EM060K-GL
⚫ AG35 Series
Automotive ⚫ AG520R Series
⚫ AG521R Series
⚫ RG500Q Series
⚫ RG501Q-EU
⚫ RG502Q Series
5G ⚫ RM500Q Series
⚫ RM502Q-AE
⚫ RM505Q-AE
⚫ RM510Q-GL
QConnectManager_Linux_User_Guide 7 / 20
⚫ EM121R-GL
⚫ RG500Q Series
⚫ RG501Q-EU
⚫ RG502Q Series
5G ⚫ RM500Q Series
⚫ RM502Q-AE
⚫ RM505Q-AE
⚫ RM510Q-GL
cdc_ncm AT+QNETDEVCTL √ - √
⚫ UC200T Series
RNDIS AT+QNETDEVCTL √ - √ UMTS/HSPA+
⚫ UG89
⚫ EC200T Series
ECM AT+QNETDEVCTL - - √
⚫ EC200S Series
LTE Standard
⚫ EG912Y-EU
⚫ EC200U Series
NOTE
1. The interface protocol of modules supporting USB interface can be configured into different
protocols with AT+QCFG="usbnet".
2. qmi_wwan, cdc_mbim, ECM, RNDIS, and cdc_ncm are Linux built-in drivers. Linux version 3.4 and
above support qmi_wwan; Linux version 3.18 and above support cdc_mbim; Linux version 2.6 and
above support the ECM/RNDIS/cdc_ncm.
3. qmi_wwan_q is the driver developed by Quectel based on qmi_wwan.
4. pcie_mhi and pcie_mhi_mbim use the same driver source codes. If mhi_mbim_enabled is set to 1,
the module uses MBIM; and if mhi_mbim_enabled is set to 0, the module uses QMI.
5. “√” indicates supported and “-” indicates unsupported or NA.
QConnectManager_Linux_User_Guide 8 / 20
2 Toolkit
QConnectManager kit contains reference logs, project files, source codes and other files. The files are
shown in the following table:
Directory Description
Makefile
Project file and source codes, based on which Linux users can compile
QConnectManager and generate executable programs.
.c and .h file
QConnectManager_Linux_User_Guide 9 / 20
3 Tool Parameter
QConnectManager supports setting multiple parameters. See Table 3 for the details of each parameter.
Optional/
No. Parameter Description
Compulsory
set apn/user/password/auth when establishing a
connection, which must be obtained from the contracted
-s apn [user pa operator. auth can be set to:
1 Optional
ssword auth] 0 No authentication
1 PAP authentication
2 CHAP authentication
QConnectManager_Linux_User_Guide 10 / 20
Specify which PDN to use to establish a connection.
Default: 1.
⚫ When trying to establish a multi-APN connection
over QMI/MBIM, you must set -n pdn to specify
8 -n pdn Optional
which PDN to use.
⚫ -n pdn can be set if needed in case of a single
connection.
⚫ n must be set to 3 when using Verizon network.
This parameter disconnects the specified PDN
9 -k pdn Optional configured with the -n pdn in case of a multi-APN
connection over QMI/MBIM.
Default: -n X, which indicates binding this APN
connection to the Xth network interface.
In case of a multi-APN connection over QMI/MBIM, the
10 -m iface-idx Optional APN connection is bound to the network interface
specified by -n by default; Besides, in case of a multi-APN
connection over QMI, the connection can also be bound
to another network interface through this parameter.
Enable bridge connection mode. This parameter only
11 -b Optional
supports establishing a connection over QMI.
This parameter is used to verify (U)SIM PIN. It is used
12 -p pincode Optional
when the (U)SIM sets a PIN.
Connect to proxy client program ( QConnectManager will
not directly use the QMI/MBIM device node), such as
quectel-qmi-proxy, quectel-mbim-proxy, qmi-proxy, and
mbim-proxy.
Multiple QConnectManager examples must be run in
case of a multi-APN connection over QMI/MBIM.
But qmi_wwan_q/cdc_mbim/pcie_mhi restricts that only
one program can read and write the QMI/MBIM device
node at a time.
13 -p proxy server Optional
Therefore, when running multiple QConnectManager
examples, you must use a QMI/MBIM proxy client
program to connect all QConnectManager examples to
this proxy client program to read and write QMI/MBIM
device nodes.
QConnetManager automatically connects to quectel-qmi-
proxy or quectel-mbim-proxy in case of a multi-APN
connection over QMI/MBIM and no proxy client program
need specified by this parameter.
QConnectManager_Linux_User_Guide 11 / 20
4 Use Guidance
This chapter introduces how to establish a connection via QConnectManager in Linux OS.
Execute the following command to compile the tool source code and generate the executable program:
NOTE
Both qmi-proxy and mbim-proxy are open-resource drivers and you can install them as needed.
./quectel-CM &
quectel-CM must keep running and cannot terminate. "&" at the end of the command is used to keep the
program running in the background.
If you need to disconnect, run the following command to directly exit quectel-CM.
Killall quectel-CM
QConnectManager_Linux_User_Guide 12 / 20
4.3. Single Connection
If only one PDN connection is needed, see Chapter 4.2 for details.
⚫ log/cdc_mbim.txt
⚫ log/ecm_ncm_rndis.txt
⚫ log/gobinet.txt
⚫ log/pcie_mhi_mbim.txt
⚫ log/pcie_mhi_qmap=1.txt
⚫ log/qmi_wwan_q.txt
⚫ log/qmi_wwan.txt
Traditional connection carries only one IP network packet in a URB, while aggregate connection can carry
multiple IP network packets in a URB. Aggregate connection can greatly decrease the number of USB
transmissions thus reducing the CPU load of the system and improving the data throughput.
After enabling aggregate connection according to the following table, you can try to establish a connection
by following the steps in Chapter 4.2.
Driver Enablement
Set qmap_mode to 1.
1 Enable
0 Disable
Greater than 1 Multi-APN connection
qmi_wwan_q
Default: 0.
When using the LTE-A and 5G modules, although qmap_mode is 0, aggregate
connection is automatically enabled.
Log: log/qmi_wwan_q_qmap=1.txt
QConnectManager_Linux_User_Guide 13 / 20
1 Enable
0 Disable
Greater than 1 Multi-APN connection
Default: 0.
Log: log/gobinet_qmap=1.txt
Set qmap_mode to 1.
1 Enable
0 Disable
pcie_mhi
Greater than 1 Multi-APN connection
Default: 1.
Log: log/pcie_mhi_qmap=1.txt
Set qmap_mode to 1.
1 Enable
0 Disable
pcie_mhi_mbim
Greater than 1 Multi-APN connection
Default: 1.
Log: log/pcie_mhi_mbim.txt
No setting is needed and aggregate connection is automatically enabled.
cdc_mbim
Log: log/cdc_mbim.txt
No setting is needed and aggregate connection is automatically enabled.
cdc_ncm
Log: log/ecm_ncm_rndis.txt
No setting is needed and aggregate connection is automatically enabled.
RNDIS
Log: log/ecm_ncm_rndis.txt
Multi-APN connection refers to creating multiple virtual network interfaces based on a physical one for
multiple PDNs.
The steps for establishing a multi-APN connection using different drivers are as follows:
Driver Enablement
QConnectManager_Linux_User_Guide 14 / 20
Log: log/qmi_wwan_q_qmap=4.txt
In traditional router application mode, PCs and mobile phones are connected to the LAN interface of the
router through Wi-Fi or network cables. The router uses the module network interface as the WAN interface.
The IP that the PC gets is a LAN IP starting with 192, and the router uses NAT to enable the PC to connect
to the Internet through a WAN interface. In this application mode, port forwarding must be configured on
the router if you need to use your PC as a TCP/UDP server.
Another way is to join the LAN interface and WAN interface into a bridge, so that LAN devices can
communicate directly with the WAN interface.
QConnectManager_Linux_User_Guide 15 / 20
Then, the LAN PC can directly obtain the IP address of the operator form WAN interface. To achieve the
bridge connection, network interfaces to support ARP functionality. When ECM, RNIDS and cdc_ncm
drivers are used, the generated network interface supports ARP functionality and can be directly added to
the bridge. If you use GobiNet, pcie_mhi, qmi_wwan_q, and pcie_mhi_mbim drivers, the created network
interface does not support ARP functionality. If you want to use bridge functionality, follow these steps:
The following log files show the steps for establishing a bridge connection by using the GobiNet, pcie_mhi,
qmi_wwan_q, and pcie_mhi_mbim drivers:
⚫ log/gobinet_bridge.txt
⚫ log/gobinet_qmap=1_bridge.txt
⚫ log/gobinet_qmap=4_bridge.txt
⚫ log/pcie_mhi_qmap=1_bridge.txt
⚫ log/pcie_mhi_qmap=4_bridge.txt
⚫ log/qmi_wwan_q_bridge.txt
⚫ log/qmi_wwan_q_qmap=1_bridge.txt
⚫ log/qmi_wwan_q_qmap=4_bridge.txt
⚫ log/pcie_mhi_mbim_qmap=1_bridge.txt
⚫ log/pcie_mhi_mbim_qmap=4_bridge.txt
QConnectManager_Linux_User_Guide 16 / 20
5 FAQ
1. Q: Why can’t I access the Internet when I connect to PDN successfully?
A: (1) Execute ifconfig to examine whether the network interface has an IP address.
(2) Execute ip ro show to examine the routing table settings to ensure that there is only one default
route and that it uses the module’s network interface.
3. Q: Why does the udhcpc show that the IP address has been obtained, but the network interface does
not have an IP address?
A: After the udhcpc successfully obtains the IP address and DNS, it calls the default.script file, which is
responsible for setting the IP address of the network interface and updating the DNS to
/etc/resolv.conf.
You can execute the following command to see where the script is stored. Make sure that the script
file exists and has the execute permission:
# busybox udhcpc -h
-s PROG Run PROG at DHCP events (default /etc/udhcpc/default.script)
If it does not already exist, you can copy the default.script in the quectel-CM source code directory
to default/etc/udhcpc/. Note that the script should have execute permission.
QConnectManager_Linux_User_Guide 17 / 20
# uci show network.wan.ifname
network.wan.ifname='usb0'
You can select an unused PDN channel or a PDN channel that is not configured with APN to establish
a connection.
For PDN channels which are not configured with APN, APN must be set with AT+CGDCONT or
AT+QICSGP before establishing a connection using quectel-CM, otherwise the connection will fail.
NOTE
See the AT Command Manual and TCP(IP) Application Note of the corresponding module for more
information about AT commands mentioned in this document.
QConnectManager_Linux_User_Guide 18 / 20
6 Appendix References
Document Name
[1] Quectel_QLog_Linux&Android_User_Guide
Abbreviation Description
IP Internet Protocol
QConnectManager_Linux_User_Guide 19 / 20
NAT Network Address Translation
OS Operation System
QConnectManager_Linux_User_Guide 20 / 20