Wiki source code of Notes for cellular network connection
Version 14.1 by Kilight Cao on 2022/05/26 10:46
Hide last authors
author | version | line-number | content |
---|---|---|---|
![]() |
1.2 | 1 | Table of Contents: |
2 | |||
![]() |
1.1 | 3 | {{toc/}} |
4 | |||
![]() |
1.2 | 5 | = 1. Enable Cellular Connection = |
![]() |
1.1 | 6 | |
![]() |
1.2 | 7 | If your device has a Cellular module, you can see the below screenshot. enable the cellular connection here. |
![]() |
1.1 | 8 | |
![]() |
1.2 | 9 | [[image:https://wiki.dragino.com/images/thumb/8/81/Cellular_11.png/600px-Cellular_11.png||height="262" width="600"]] |
![]() |
1.1 | 10 | |
![]() |
1.2 | 11 | Enable Cellular Connection |
![]() |
1.1 | 12 | |
![]() |
1.12 | 13 | ((( |
![]() |
1.2 | 14 | If your device doesn't have a cellular module, you will see a cellular module not detected. |
![]() |
1.12 | 15 | ))) |
![]() |
1.1 | 16 | |
![]() |
1.2 | 17 | [[image:https://wiki.dragino.com/images/thumb/d/da/Cellular_10.png/600px-Cellular_10.png||height="400" width="600"]] |
![]() |
1.1 | 18 | |
![]() |
1.2 | 19 | No Cellular Module |
![]() |
1.1 | 20 | |
![]() |
1.2 | 21 | = 2. How to Debug if Cellular connection fail = |
![]() |
1.1 | 22 | |
![]() |
11.1 | 23 | If there is a problem with cellular connection. Please check the below points: |
![]() |
1.1 | 24 | |
![]() |
2.1 | 25 | == 2.1 Do you order the model with a cellular option == |
![]() |
1.1 | 26 | |
![]() |
2.1 | 27 | Make sure you order the model with the cellular option. Can check by command or via the Web UI. |
![]() |
1.1 | 28 | |
![]() |
1.2 | 29 | (% class="box" %) |
30 | ((( | ||
31 | root@dragino-1bbd90:~~# lsusb | ||
32 | Bus 001 Device 004: ID 2c7c:0125 ~-~-> This is the Cellular module | ||
33 | Bus 001 Device 002: ID 1a40:0101 Terminus Technology Inc. Hub | ||
34 | Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub | ||
35 | ))) | ||
![]() |
1.1 | 36 | |
![]() |
11.1 | 37 | (% class="wikigeneratedid" %) |
38 | [[image:image-20220525140054-1.png||height="153" width="607"]] | ||
![]() |
6.1 | 39 | |
![]() |
1.2 | 40 | == 2.2 Do you input the SIM card correctly == |
![]() |
1.1 | 41 | |
![]() |
3.1 | 42 | Below command can check if you have a SIM card inserted, or via Web UI |
![]() |
1.1 | 43 | |
![]() |
3.1 | 44 | * Make sure to Power Off when you insert the SIM card and power on the device. The device doesn't support auto-detect SIM card on power on |
![]() |
6.1 | 45 | * Make sure you have the correct direction to insert the SIM card. Every device has an example photo in the manual for the direction. |
![]() |
2.1 | 46 | |
![]() |
1.2 | 47 | (% class="box" %) |
48 | ((( | ||
![]() |
6.1 | 49 | root@dragino-1dadd8:~~# comgt -d /dev/ttyUSB3 |
![]() |
1.2 | 50 | SIM ready |
51 | Waiting for Registration..(120 sec max) | ||
![]() |
6.1 | 52 | Registered on Home network: "CHN-UNICOM",7 |
53 | Signal Quality: 10,99 | ||
![]() |
1.2 | 54 | ))) |
55 | |||
![]() |
11.1 | 56 | (% class="wikigeneratedid" %) |
![]() |
14.1 | 57 | [[image:image-20220526104201-1.png||height="625" width="543"]] |
58 | |||
59 | (% class="wikigeneratedid" %) | ||
60 | **supplement instructions** | ||
61 | |||
62 | (% class="wikigeneratedid" %) | ||
![]() |
11.1 | 63 | When the IP address is displayed and the Internet displays "OK", it works properly. |
![]() |
6.1 | 64 | |
![]() |
11.1 | 65 | (% class="wikigeneratedid" %) |
66 | [[image:image-20220525141016-3.png||height="524" width="502"]] | ||
67 | |||
![]() |
1.2 | 68 | == 2.3 Check dialing info == |
69 | |||
70 | run "logread -f" in console | ||
71 | |||
72 | (% class="box" %) | ||
73 | ((( | ||
74 | Fri Feb 7 01:20:28 2020 daemon.notice pppd[29452]: pppd 2.4.7 started by root, uid 0 | ||
75 | Fri Feb 7 01:20:29 2020 user.notice iot_keep_alive: Ping WAN | ||
76 | Fri Feb 7 01:20:29 2020 user.notice iot_keep_alive: Default interface is | ||
77 | Fri Feb 7 01:20:29 2020 user.notice iot_keep_alive: No internet at any interface | ||
78 | Fri Feb 7 01:20:29 2020 local2.info chat[29485]: abort on (BUSY) | ||
79 | Fri Feb 7 01:20:29 2020 local2.info chat[29485]: abort on (NO CARRIER) | ||
80 | Fri Feb 7 01:20:29 2020 local2.info chat[29485]: abort on (ERROR) | ||
81 | Fri Feb 7 01:20:29 2020 local2.info chat[29485]: report (CONNECT) | ||
82 | Fri Feb 7 01:20:29 2020 local2.info chat[29485]: timeout set to 10 seconds | ||
83 | Fri Feb 7 01:20:29 2020 local2.info chat[29485]: send (AT&F^M) | ||
84 | Fri Feb 7 01:20:29 2020 local2.info chat[29485]: expect (OK) | ||
85 | Fri Feb 7 01:20:29 2020 local2.info chat[29485]: AT&F^M^M | ||
86 | Fri Feb 7 01:20:29 2020 local2.info chat[29485]: OK | ||
87 | Fri Feb 7 01:20:29 2020 local2.info chat[29485]: ~-~- got it | ||
88 | Fri Feb 7 01:20:29 2020 local2.info chat[29485]: send (ATE1^M) | ||
89 | Fri Feb 7 01:20:29 2020 local2.info chat[29485]: expect (OK) | ||
90 | Fri Feb 7 01:20:29 2020 local2.info chat[29485]: ^M | ||
91 | Fri Feb 7 01:20:29 2020 local2.info chat[29485]: ATE1^M^M | ||
92 | Fri Feb 7 01:20:29 2020 local2.info chat[29485]: OK | ||
93 | Fri Feb 7 01:20:29 2020 local2.info chat[29485]: ~-~- got it | ||
94 | Fri Feb 7 01:20:29 2020 local2.info chat[29485]: send (AT+CGDCONT=1,"IP",""^M) | ||
95 | Fri Feb 7 01:20:30 2020 local2.info chat[29485]: timeout set to 30 seconds | ||
96 | Fri Feb 7 01:20:30 2020 local2.info chat[29485]: expect (OK) | ||
97 | Fri Feb 7 01:20:30 2020 local2.info chat[29485]: ^M | ||
98 | Fri Feb 7 01:20:30 2020 local2.info chat[29485]: AT+CGDCONT=1,"IP",""^M^M | ||
99 | Fri Feb 7 01:20:30 2020 local2.info chat[29485]: OK | ||
100 | Fri Feb 7 01:20:30 2020 local2.info chat[29485]: ~-~- got it | ||
![]() |
1.4 | 101 | (% style="color:#037691" %)Fri Feb 7 01:20:30 2020 local2.info chat[29485]: send (ATD*99#^M) ~-~-~-~--> In case the dialling process already reach here. |
![]() |
1.5 | 102 | Normally the problem is with a provider, need to check if the SIM card has balance or other requirement from the cellular operator(%%) |
![]() |
1.4 | 103 | (% style="color:black" %)Fri Feb 7 01:20:30 2020 local2.info chat[29485]: expect (CONNECT) |
![]() |
1.2 | 104 | Fri Feb 7 01:20:30 2020 local2.info chat[29485]: ^M |
105 | Fri Feb 7 01:20:30 2020 local2.info chat[29485]: ATD*99#^M^M | ||
106 | Fri Feb 7 01:20:30 2020 local2.info chat[29485]: CONNECT | ||
107 | Fri Feb 7 01:20:30 2020 local2.info chat[29485]: ~-~- got it | ||
108 | Fri Feb 7 01:20:30 2020 local2.info chat[29485]: send ( ^M) | ||
109 | Fri Feb 7 01:20:30 2020 daemon.info pppd[29452]: Serial connection established. | ||
110 | ))) | ||
111 | |||
112 | = 3. Share Cellular Network for WiFi & LAN clients = | ||
113 | |||
![]() |
1.12 | 114 | ((( |
![]() |
1.2 | 115 | By default, the Cellular Network won't be shared with the WiFi or LAN clients. If users need to share with them, the user can modify the file. |
![]() |
1.12 | 116 | ))) |
![]() |
1.2 | 117 | |
![]() |
1.12 | 118 | ((( |
![]() |
1.2 | 119 | root@dragino-1d25dc:~~# cat /etc/config/firewall |
![]() |
1.12 | 120 | ))) |
![]() |
1.2 | 121 | |
![]() |
1.5 | 122 | (% class="box" %) |
123 | ((( | ||
![]() |
1.12 | 124 | ((( |
![]() |
1.5 | 125 | config defaults |
![]() |
1.2 | 126 | option syn_flood '1' |
127 | option input 'ACCEPT' | ||
128 | option output 'ACCEPT' | ||
129 | option forward 'REJECT' | ||
130 | config zone | ||
131 | option name 'lan' | ||
132 | list network 'lan' | ||
133 | option input 'ACCEPT' | ||
134 | option output 'ACCEPT' | ||
![]() |
1.5 | 135 | option forward 'REJECT' |
![]() |
1.2 | 136 | config zone |
137 | option name 'wan' | ||
138 | list network 'wan' | ||
139 | list network 'wwan' | ||
140 | list network 'wan6' | ||
![]() |
1.5 | 141 | list network 'cellular' ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~--> Add this line and reboot |
![]() |
1.2 | 142 | option input 'REJECT' |
143 | option output 'ACCEPT' | ||
144 | option forward 'ACCEPT' | ||
145 | option masq '1' | ||
146 | option mtu_fix '1' | ||
147 | config forwarding | ||
148 | option src 'lan' | ||
149 | option dest 'wan' | ||
![]() |
1.5 | 150 | ))) |
![]() |
1.12 | 151 | ))) |
![]() |
1.2 | 152 | |
![]() |
1.14 | 153 | ((( |
![]() |
1.2 | 154 | and run **/etc/init.d/firewall reload** or reboot the device. |
![]() |
1.14 | 155 | ))) |
![]() |
1.2 | 156 | |
157 | = 4. How does the gateway view the International Mobile Equipment Identity (IMEI) = | ||
158 | |||
159 | Use SSH to access the gateway configuration page and run the minicom command | ||
160 | |||
![]() |
1.13 | 161 | ((( |
![]() |
1.2 | 162 | Select "**Serial Port Setup**": |
![]() |
1.13 | 163 | ))) |
![]() |
1.2 | 164 | |
![]() |
1.5 | 165 | (% class="box infomessage" %) |
166 | ((( | ||
167 | root@dragino-1ef9ac:~~# minicom -s | ||
168 | ))) | ||
![]() |
1.2 | 169 | |
170 | [[image:https://wiki.dragino.com/images/thumb/0/05/4G-1.png/400px-4G-1.png||height="265" width="400"]] | ||
171 | |||
172 | Enter the minicom command | ||
173 | |||
174 | Access the serial port of the 4G module | ||
175 | |||
176 | Serial port setup is as follows: | ||
177 | |||
![]() |
1.6 | 178 | **Serial Device :** (% style="color:#037691" %)**/dev/ttyModemAT** |
![]() |
1.2 | 179 | |
![]() |
1.6 | 180 | **Bps/Par/Bits :(% style="color:#037691" %) 9600 8N1 or 115200 8N1(%%)** |
![]() |
1.2 | 181 | |
182 | [[image:https://wiki.dragino.com/images/thumb/c/cb/EC25_1.png/400px-EC25_1.png||height="164" width="400"]] | ||
183 | |||
184 | Configuring USB Ports | ||
185 | |||
186 | |||
187 | Enter AT+GSN in the serial port to view the IMEI | ||
188 | |||
![]() |
1.6 | 189 | For example:** (% style="color:#037691" %)860548042566627(%%)** |
![]() |
1.2 | 190 | |
![]() |
1.6 | 191 | (% class="box infomessage" %) |
192 | ((( | ||
![]() |
1.13 | 193 | ((( |
![]() |
1.15 | 194 | AT+GSN |
![]() |
1.6 | 195 | ))) |
![]() |
1.13 | 196 | ))) |
![]() |
1.2 | 197 | |
198 | [[image:https://wiki.dragino.com/images/thumb/6/66/4G-3.png/400px-4G-3.png||height="286" width="400"]] | ||
199 | |||
200 | Enter the AT command | ||
201 | |||
202 | = 5. How does the gateway connect to the network via a USB 4G Dongle = | ||
203 | |||
204 | == 5.1 Introduction == | ||
205 | |||
![]() |
1.7 | 206 | (% style="color:red" %)**Prerequisite: Requires a USB 4G Dongle and a supported gateway firmware** |
![]() |
1.2 | 207 | |
![]() |
1.15 | 208 | ((( |
![]() |
1.2 | 209 | This introduces a setup and configured gateway for using a USB 3g/UMTS-modem for WAN connection. |
![]() |
1.15 | 210 | ))) |
![]() |
1.2 | 211 | |
![]() |
1.15 | 212 | ((( |
![]() |
1.2 | 213 | Many mode (and most **LTE**) usb modems provide **qmi**, **mbim**, **ncm**, **rndis** protocol for connection instead of legacy **ppp** protocol, they are faster and better, overall recommended. For more information: [[https:~~/~~/openwrt.org/docs/guide-user/network/wan/wwan/3gdongle>>url:https://openwrt.org/docs/guide-user/network/wan/wwan/3gdongle]] |
![]() |
1.15 | 214 | ))) |
![]() |
1.2 | 215 | |
![]() |
1.15 | 216 | ((( |
![]() |
1.2 | 217 | This is not beginner-friendly due to too many protocols. |
![]() |
1.15 | 218 | ))) |
![]() |
1.2 | 219 | |
220 | == 5.2 How to use the USB-Dongle at the gateway == | ||
221 | |||
222 | Most of the products can be used on the gateway, but because their protocols are different, they are not used in the same way. | ||
223 | |||
![]() |
1.15 | 224 | ((( |
![]() |
1.2 | 225 | For example, the Huawei-E3372/E8372 is using Hilink mode or NCM mode. |
![]() |
1.15 | 226 | ))) |
![]() |
1.2 | 227 | |
![]() |
1.8 | 228 | (% class="box" %) |
229 | ((( | ||
230 | Huawei-E3372/E8372 | ||
![]() |
1.9 | 231 | Check (% style="color:#037691" %)**E3372**(% style="color:black" %) version to determine the mode. |
![]() |
1.2 | 232 | The version numbers starting with 21 is NCM mode |
233 | The version numbers starting with 22 is Hilink mode | ||
234 | The E8372 only have Hilink mode | ||
![]() |
1.15 | 235 | **~ **(% style="color:red" %)**Note:The e3372 in the vast majority of cases is Hilink mode** |
![]() |
1.8 | 236 | ))) |
![]() |
1.2 | 237 | |
238 | == 5.3 Hilink mode == | ||
239 | |||
![]() |
1.15 | 240 | Gateway upgrade to the specified firmware:[[Hilink.mode~~-~~-build-v5.4.1625627505>>url:https://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/LG308-LG301/Firmware/USB-Dongle_firmware/Hilink.mode--build-v5.4.1625627505-20210707-1113/]] |
![]() |
1.2 | 241 | |
242 | === 5.3.1 1.Plugs into the device === | ||
243 | |||
![]() |
1.16 | 244 | ((( |
![]() |
1.2 | 245 | USB-Dongle plugs into the gateway USB port |
![]() |
1.16 | 246 | ))) |
![]() |
1.2 | 247 | |
![]() |
1.16 | 248 | ((( |
![]() |
1.11 | 249 | Check the USB module via comman (% style="color:#037691" %)**lsusb** |
![]() |
1.16 | 250 | ))) |
![]() |
1.2 | 251 | |
![]() |
1.16 | 252 | ((( |
![]() |
1.11 | 253 | (% style="color:red" %)**Note : User neet to do that connect gateway command line via ssh.** |
![]() |
1.16 | 254 | ))) |
![]() |
1.2 | 255 | |
256 | [[image:https://wiki.dragino.com/images/2/25/Usb-4g.png||height="63" width="554"]] | ||
257 | |||
258 | Checking USB Ports | ||
259 | |||
260 | === 5.3.2 2.Detection of new network interfaces added === | ||
261 | |||
![]() |
1.11 | 262 | Command line input: (% style="color:#037691" %)**ifconfig -a** |
![]() |
1.2 | 263 | |
264 | [[image:https://wiki.dragino.com/images/thumb/a/a0/Usb-4g-1.png/400px-Usb-4g-1.png||height="401" width="400"]] | ||
265 | |||
266 | Check the network | ||
267 | |||
![]() |
1.11 | 268 | In the command output user can see that the new interface added is (% style="color:#037691" %)**eth2** |
![]() |
1.2 | 269 | |
![]() |
1.11 | 270 | Usually,user can see that the new interface added is (% style="color:#037691" %)**eth2** (% style="color:black" %)or (% style="color:#037691" %)**wwan0** |
![]() |
1.2 | 271 | |
272 | === 5.3.3 3.Add the new interface to the network confiutation. === | ||
273 | |||
274 | Enter the configuration from the command line: | ||
275 | |||
![]() |
1.11 | 276 | (% class="box" %) |
277 | ((( | ||
278 | uci set network.lte=interface | ||
![]() |
1.2 | 279 | uci set network.lte.proto=dhcp |
![]() |
1.11 | 280 | uci set network.lte.ifname=eth2 ~-~-~-~-~-~-~-~-->#This depend on the name of the new interface gateway add |
![]() |
1.2 | 281 | uci commit network |
282 | uci set firewall.@zone[1].network="wan wwan wan6 lte" | ||
283 | uci commit firewall | ||
284 | /etc/init.d/network restart | ||
![]() |
1.11 | 285 | ))) |
![]() |
1.2 | 286 | |
287 | [[~[~[image:https://wiki.dragino.com/images/thumb/7/73/Usb-4g-4.png/600px-Usb-4g-4.png~|~|height="116" width="600"~]~]>>url:https://wiki.dragino.com/index.php/File:Usb-4g-4.png]] | ||
288 | |||
289 | Configuration | ||
290 | |||
291 | Checking Network Configurations | ||
292 | |||
![]() |
1.11 | 293 | Command line input: (% style="color:#037691" %)**ifconfig** |
![]() |
1.2 | 294 | |
295 | [[~[~[image:https://wiki.dragino.com/images/b/b8/Usb-4g-3.png~|~|height="514" width="554"~]~]>>url:https://wiki.dragino.com/index.php/File:Usb-4g-3.png]] | ||
296 | |||
297 | Checking Network Configurations | ||
298 | |||
299 | Now, Gateway is configured to access the internet on the Lte network. | ||
300 | |||
301 | == 5.4 NCM mode == | ||
302 | |||
303 | == 5.5 Troubleshooting == | ||
304 | |||
305 | === 5.5.1 The USB-Dongle interface cannot obtain the IP address. === | ||
306 | |||
307 | Please try this USB dongle to access the internet on your PC, to make sure this USB dongle can normally access the internet. | ||
308 | |||
309 | = 6. How to reduce data traffic = | ||
310 | |||
311 | == 6.1 Introduce == | ||
312 | |||
313 | The gateways will use the data traffic were below two places. | ||
314 | |||
315 | ~1. There is the data traffic from LoRa package Forward which were the gateway status package and sensor end node uplink/downlink. | ||
316 | |||
317 | For this case, by default, the gateway will uplink self-status to the LoRaWAN server per the 30s. the users can adjust the interval time. | ||
318 | |||
319 | [[image:https://wiki.dragino.com/images/thumb/b/bc/LoRa_interval_time_setting.png/600px-LoRa_interval_time_setting.png||height="282" width="600"]] | ||
320 | |||
321 | LoRa interval time setting | ||
322 | |||
![]() |
12.1 | 323 | 2. There is the data traffic from the gateway check self-network status. by default, the gateway will check the network per 15s. |
![]() |
1.2 | 324 | |
325 | For this case, We have monitored the loss of data traffic, which is the loss of 2M data traffic per day. the users can adjust the interval time following screenshots. | ||
326 | |||
327 | [[image:https://wiki.dragino.com/images/thumb/4/49/Systrm_General.png/600px-Systrm_General.png||height="319" width="600"]] | ||
328 | |||
329 | Systrm General | ||
330 | |||
331 | [[image:https://wiki.dragino.com/images/thumb/f/f0/Set_time_interval.png/600px-Set_time_interval.png||height="319" width="600"]] | ||
332 | |||
![]() |
12.1 | 333 | Keepalive script interval time settings |
![]() |
1.2 | 334 | |
335 |