Wiki source code of Notes for cellular network connection
Hide last authors
author | version | line-number | content |
---|---|---|---|
![]() |
23.2 | 1 | **Table of Contents:** |
![]() |
1.2 | 2 | |
![]() |
1.1 | 3 | {{toc/}} |
4 | |||
![]() |
23.2 | 5 | |
6 | |||
![]() |
15.1 | 7 | = **1. Enable Cellular Connection** = |
![]() |
1.1 | 8 | |
9 | |||
![]() |
15.1 | 10 | //If your device has a Cellular module, you can see the below screenshot. enable the cellular connection here.// |
11 | |||
![]() |
23.2 | 12 | [[image:image-20220527153337-1.png]] |
![]() |
1.1 | 13 | |
14 | |||
![]() |
15.1 | 15 | **//Enable Cellular Connection//** |
16 | |||
![]() |
1.12 | 17 | ((( |
![]() |
15.1 | 18 | //If your device doesn't have a cellular module, you will see a cellular module not detected.// |
![]() |
1.12 | 19 | ))) |
![]() |
1.1 | 20 | |
![]() |
24.2 | 21 | [[image:image-20220527153544-2.png]] |
![]() |
1.1 | 22 | |
23 | |||
![]() |
15.1 | 24 | = **2. How to Debug if Cellular connection fails** = |
![]() |
1.1 | 25 | |
26 | |||
![]() |
15.1 | 27 | //If there is a problem with the cellular connection. Please check the below points~:// |
![]() |
1.1 | 28 | |
29 | |||
![]() |
15.1 | 30 | == **2.1 Do you order the model with a cellular option** == |
31 | |||
32 | |||
33 | //Make sure you order the model with the cellular option. Can check by command or via the Web UI.// | ||
34 | |||
![]() |
1.2 | 35 | (% class="box" %) |
36 | ((( | ||
![]() |
15.1 | 37 | //root@dragino-1bbd90:~~# lsusb |
![]() |
1.2 | 38 | Bus 001 Device 004: ID 2c7c:0125 ~-~-> This is the Cellular module |
39 | Bus 001 Device 002: ID 1a40:0101 Terminus Technology Inc. Hub | ||
![]() |
15.1 | 40 | Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub// |
![]() |
1.2 | 41 | ))) |
![]() |
1.1 | 42 | |
![]() |
27.2 | 43 | [[image:image-20220527153729-3.png]] |
![]() |
15.1 | 44 | |
![]() |
6.1 | 45 | |
![]() |
15.1 | 46 | == **2.2 Do you input the SIM card correctly** == |
![]() |
1.1 | 47 | |
![]() |
2.1 | 48 | |
![]() |
15.1 | 49 | **//Below command can check if you have a SIM card inserted, or via Web UI//** |
50 | |||
51 | * //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// | ||
52 | * //Make sure you have the correct direction to insert the SIM card. Every device has an example photo in the manual for the direction.// | ||
53 | |||
![]() |
1.2 | 54 | (% class="box" %) |
55 | ((( | ||
![]() |
15.1 | 56 | //root@dragino-1dadd8:~~# **comgt -d /dev/ttyUSB3** |
![]() |
1.2 | 57 | SIM ready |
58 | Waiting for Registration..(120 sec max) | ||
![]() |
6.1 | 59 | Registered on Home network: "CHN-UNICOM",7 |
![]() |
15.1 | 60 | Signal Quality: 10,99// |
![]() |
1.2 | 61 | ))) |
62 | |||
![]() |
15.1 | 63 | |
![]() |
11.1 | 64 | (% class="wikigeneratedid" %) |
![]() |
27.2 | 65 | [[image:image-20220527153804-4.png]] |
![]() |
14.1 | 66 | |
![]() |
15.1 | 67 | |
![]() |
14.1 | 68 | (% class="wikigeneratedid" %) |
![]() |
15.1 | 69 | //**Note:** If the icon is missing some information, like SIM, Network, or Signal, which may be due to the display bug.// |
![]() |
14.1 | 70 | |
71 | (% class="wikigeneratedid" %) | ||
![]() |
15.1 | 72 | //Please check the IP address is displayed and the Internet displays "OK", it works properly.// |
![]() |
6.1 | 73 | |
![]() |
11.1 | 74 | (% class="wikigeneratedid" %) |
![]() |
27.2 | 75 | [[image:image-20220527153827-5.png]] |
![]() |
11.1 | 76 | |
![]() |
27.3 | 77 | |
![]() |
18.1 | 78 | == **2.3 Check dialing info** == |
![]() |
1.2 | 79 | |
![]() |
16.1 | 80 | //run "**logread -f**" in gateway CLI。// |
![]() |
1.2 | 81 | |
82 | (% class="box" %) | ||
83 | ((( | ||
84 | Fri Feb 7 01:20:28 2020 daemon.notice pppd[29452]: pppd 2.4.7 started by root, uid 0 | ||
85 | Fri Feb 7 01:20:29 2020 user.notice iot_keep_alive: Ping WAN | ||
86 | Fri Feb 7 01:20:29 2020 user.notice iot_keep_alive: Default interface is | ||
87 | Fri Feb 7 01:20:29 2020 user.notice iot_keep_alive: No internet at any interface | ||
88 | Fri Feb 7 01:20:29 2020 local2.info chat[29485]: abort on (BUSY) | ||
89 | Fri Feb 7 01:20:29 2020 local2.info chat[29485]: abort on (NO CARRIER) | ||
90 | Fri Feb 7 01:20:29 2020 local2.info chat[29485]: abort on (ERROR) | ||
91 | Fri Feb 7 01:20:29 2020 local2.info chat[29485]: report (CONNECT) | ||
92 | Fri Feb 7 01:20:29 2020 local2.info chat[29485]: timeout set to 10 seconds | ||
93 | Fri Feb 7 01:20:29 2020 local2.info chat[29485]: send (AT&F^M) | ||
94 | Fri Feb 7 01:20:29 2020 local2.info chat[29485]: expect (OK) | ||
95 | Fri Feb 7 01:20:29 2020 local2.info chat[29485]: AT&F^M^M | ||
96 | Fri Feb 7 01:20:29 2020 local2.info chat[29485]: OK | ||
97 | Fri Feb 7 01:20:29 2020 local2.info chat[29485]: ~-~- got it | ||
98 | Fri Feb 7 01:20:29 2020 local2.info chat[29485]: send (ATE1^M) | ||
99 | Fri Feb 7 01:20:29 2020 local2.info chat[29485]: expect (OK) | ||
100 | Fri Feb 7 01:20:29 2020 local2.info chat[29485]: ^M | ||
101 | Fri Feb 7 01:20:29 2020 local2.info chat[29485]: ATE1^M^M | ||
102 | Fri Feb 7 01:20:29 2020 local2.info chat[29485]: OK | ||
103 | Fri Feb 7 01:20:29 2020 local2.info chat[29485]: ~-~- got it | ||
104 | Fri Feb 7 01:20:29 2020 local2.info chat[29485]: send (AT+CGDCONT=1,"IP",""^M) | ||
105 | Fri Feb 7 01:20:30 2020 local2.info chat[29485]: timeout set to 30 seconds | ||
106 | Fri Feb 7 01:20:30 2020 local2.info chat[29485]: expect (OK) | ||
107 | Fri Feb 7 01:20:30 2020 local2.info chat[29485]: ^M | ||
108 | Fri Feb 7 01:20:30 2020 local2.info chat[29485]: AT+CGDCONT=1,"IP",""^M^M | ||
109 | Fri Feb 7 01:20:30 2020 local2.info chat[29485]: OK | ||
110 | Fri Feb 7 01:20:30 2020 local2.info chat[29485]: ~-~- got it | ||
![]() |
27.3 | 111 | (% 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. |
112 | 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 | 113 | (% style="color:black" %)Fri Feb 7 01:20:30 2020 local2.info chat[29485]: expect (CONNECT) |
![]() |
1.2 | 114 | Fri Feb 7 01:20:30 2020 local2.info chat[29485]: ^M |
115 | Fri Feb 7 01:20:30 2020 local2.info chat[29485]: ATD*99#^M^M | ||
116 | Fri Feb 7 01:20:30 2020 local2.info chat[29485]: CONNECT | ||
117 | Fri Feb 7 01:20:30 2020 local2.info chat[29485]: ~-~- got it | ||
118 | Fri Feb 7 01:20:30 2020 local2.info chat[29485]: send ( ^M) | ||
119 | Fri Feb 7 01:20:30 2020 daemon.info pppd[29452]: Serial connection established. | ||
120 | ))) | ||
121 | |||
![]() |
27.4 | 122 | |
123 | |||
![]() |
15.1 | 124 | = **3. Share Cellular Network for WiFi & LAN clients** = |
![]() |
1.2 | 125 | |
![]() |
15.1 | 126 | |
![]() |
1.12 | 127 | ((( |
![]() |
15.1 | 128 | //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 | 129 | ))) |
![]() |
1.2 | 130 | |
![]() |
1.5 | 131 | (% class="box" %) |
132 | ((( | ||
![]() |
1.12 | 133 | ((( |
![]() |
15.1 | 134 | root@dragino-1d25dc:~~# cat /etc/config/firewall |
135 | |||
![]() |
1.5 | 136 | config defaults |
![]() |
1.2 | 137 | option syn_flood '1' |
138 | option input 'ACCEPT' | ||
139 | option output 'ACCEPT' | ||
140 | option forward 'REJECT' | ||
141 | config zone | ||
142 | option name 'lan' | ||
143 | list network 'lan' | ||
144 | option input 'ACCEPT' | ||
145 | option output 'ACCEPT' | ||
![]() |
1.5 | 146 | option forward 'REJECT' |
![]() |
1.2 | 147 | config zone |
148 | option name 'wan' | ||
149 | list network 'wan' | ||
150 | list network 'wwan' | ||
151 | list network 'wan6' | ||
![]() |
1.5 | 152 | list network 'cellular' ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~--> Add this line and reboot |
![]() |
1.2 | 153 | option input 'REJECT' |
154 | option output 'ACCEPT' | ||
155 | option forward 'ACCEPT' | ||
156 | option masq '1' | ||
157 | option mtu_fix '1' | ||
158 | config forwarding | ||
159 | option src 'lan' | ||
160 | option dest 'wan' | ||
![]() |
1.5 | 161 | ))) |
![]() |
1.12 | 162 | ))) |
![]() |
1.2 | 163 | |
![]() |
1.14 | 164 | ((( |
![]() |
15.1 | 165 | //and run **/etc/init.d/firewall reload** or reboot the device.// |
166 | |||
167 | |||
![]() |
1.14 | 168 | ))) |
![]() |
1.2 | 169 | |
![]() |
15.1 | 170 | = **4. How does the gateway view the International Mobile Equipment Identity (IMEI)** = |
![]() |
1.2 | 171 | |
172 | |||
![]() |
15.1 | 173 | //Users can access the gateway CLI and run the minicom command to get the configuration interface.// |
174 | |||
![]() |
1.13 | 175 | ((( |
![]() |
15.1 | 176 | |
177 | |||
![]() |
16.1 | 178 | **//Enter the minicom command, then select the option ''serial port setup".//** |
![]() |
1.13 | 179 | ))) |
![]() |
1.2 | 180 | |
![]() |
1.5 | 181 | (% class="box infomessage" %) |
182 | ((( | ||
183 | root@dragino-1ef9ac:~~# minicom -s | ||
184 | ))) | ||
![]() |
1.2 | 185 | |
186 | [[image:https://wiki.dragino.com/images/thumb/0/05/4G-1.png/400px-4G-1.png||height="265" width="400"]] | ||
187 | |||
188 | |||
![]() |
15.1 | 189 | And then, change the setting: |
![]() |
1.2 | 190 | |
![]() |
15.1 | 191 | (% class="box infomessage" %) |
192 | ((( | ||
![]() |
1.6 | 193 | **Serial Device :** (% style="color:#037691" %)**/dev/ttyModemAT** |
![]() |
1.2 | 194 | |
![]() |
15.1 | 195 | **Bps/Par/Bits :(% style="color:#037691" %) 9600 8N1(%%)** |
196 | ))) | ||
![]() |
1.2 | 197 | |
![]() |
15.1 | 198 | |
![]() |
16.1 | 199 | //**Note: Enter the corresponding letter to change the configuration, like A,B,C**// |
![]() |
15.1 | 200 | |
![]() |
1.2 | 201 | [[image:https://wiki.dragino.com/images/thumb/c/cb/EC25_1.png/400px-EC25_1.png||height="164" width="400"]] |
202 | |||
203 | |||
![]() |
22.1 | 204 | //Enter **AT+GSN **in the interface to get the IMEI,// |
![]() |
1.2 | 205 | |
![]() |
22.1 | 206 | // **For example (% style="color:#037691" %)860548042566627(%%)**// |
![]() |
1.2 | 207 | |
![]() |
1.6 | 208 | (% class="box infomessage" %) |
209 | ((( | ||
![]() |
1.13 | 210 | ((( |
![]() |
1.15 | 211 | AT+GSN |
![]() |
1.6 | 212 | ))) |
![]() |
1.13 | 213 | ))) |
![]() |
1.2 | 214 | |
215 | [[image:https://wiki.dragino.com/images/thumb/6/66/4G-3.png/400px-4G-3.png||height="286" width="400"]] | ||
216 | |||
![]() |
18.1 | 217 | |
![]() |
16.1 | 218 | = **5. How does the gateway connect to the network via a USB 4G Dongle** = |
![]() |
1.2 | 219 | |
![]() |
18.1 | 220 | |
![]() |
16.1 | 221 | == **5.1 Introduction** == |
![]() |
1.2 | 222 | |
![]() |
20.1 | 223 | |
![]() |
22.1 | 224 | (% style="color:red" %)**//Prerequisite: Requires a USB 4G Dongle and a supported gateway firmware//** |
![]() |
1.2 | 225 | |
![]() |
1.15 | 226 | ((( |
![]() |
16.1 | 227 | //This introduces a setup and configured gateway for using a USB 3g/UMTS-modem for WAN connection.// |
![]() |
20.1 | 228 | |
229 | |||
![]() |
1.15 | 230 | ))) |
![]() |
1.2 | 231 | |
![]() |
1.15 | 232 | ((( |
![]() |
20.1 | 233 | //Many modes (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.// |
![]() |
1.15 | 234 | ))) |
![]() |
1.2 | 235 | |
![]() |
1.15 | 236 | ((( |
![]() |
16.1 | 237 | //This is not beginner-friendly due to too many protocols.// |
![]() |
20.1 | 238 | |
239 | //For more information: [[https:~~/~~/openwrt.org/docs/guide-user/network/wan/wwan/3gdongle>>url:https://openwrt.org/docs/guide-user/network/wan/wwan/3gdongle]]// | ||
240 | |||
241 | |||
![]() |
1.15 | 242 | ))) |
![]() |
1.2 | 243 | |
![]() |
22.1 | 244 | == **5.2 How to use the USB Dongle at the gateway** == |
![]() |
1.2 | 245 | |
![]() |
18.1 | 246 | |
![]() |
16.1 | 247 | //Most of the products can be used on the gateway, but because their protocols are different, they are not used in the same way.// |
![]() |
1.2 | 248 | |
![]() |
1.15 | 249 | ((( |
![]() |
20.1 | 250 | //For example, the Huawei-E3372/E8372 is using **Hilink mode** or **NCM mode**.// |
![]() |
1.15 | 251 | ))) |
![]() |
1.2 | 252 | |
![]() |
1.8 | 253 | (% class="box" %) |
254 | ((( | ||
255 | Huawei-E3372/E8372 | ||
![]() |
16.1 | 256 | Check the (% style="color:#037691" %)**E3372**(% style="color:black" %) version to determine the mode. |
![]() |
1.2 | 257 | The version numbers starting with 21 is NCM mode |
258 | The version numbers starting with 22 is Hilink mode | ||
![]() |
16.1 | 259 | The E8372 only has Hilink mode |
260 | **~ **(% style="color:red" %)**Note: The e3372 in the vast majority of cases is Hilink mode** | ||
![]() |
1.8 | 261 | ))) |
![]() |
1.2 | 262 | |
![]() |
21.1 | 263 | |
![]() |
16.1 | 264 | == **5.3 Hilink mode** == |
![]() |
1.2 | 265 | |
![]() |
18.1 | 266 | |
![]() |
16.1 | 267 | //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 | 268 | |
![]() |
18.1 | 269 | |
![]() |
16.1 | 270 | === **5.3.1 Plugs into the device** === |
![]() |
1.2 | 271 | |
![]() |
18.1 | 272 | |
![]() |
1.16 | 273 | ((( |
![]() |
16.1 | 274 | //USB-Dongle plugs into the gateway USB port// |
![]() |
1.16 | 275 | ))) |
![]() |
1.2 | 276 | |
![]() |
1.16 | 277 | ((( |
![]() |
16.1 | 278 | //Check the USB module via command (% style="color:#037691" %)**lsusb**// |
![]() |
1.16 | 279 | ))) |
![]() |
1.2 | 280 | |
![]() |
1.16 | 281 | ((( |
![]() |
16.1 | 282 | (% style="color:red" %)//**Note: Users need to that connect to the gateway command line via ssh.**// |
![]() |
1.16 | 283 | ))) |
![]() |
1.2 | 284 | |
285 | [[image:https://wiki.dragino.com/images/2/25/Usb-4g.png||height="63" width="554"]] | ||
286 | |||
![]() |
18.1 | 287 | |
![]() |
16.1 | 288 | === 5.3.2 Detection of new network interfaces added === |
![]() |
1.2 | 289 | |
![]() |
18.1 | 290 | |
![]() |
20.1 | 291 | //Check network configuration command line input: // |
![]() |
1.2 | 292 | |
![]() |
16.1 | 293 | (% class="box infomessage" %) |
294 | ((( | ||
295 | ((( | ||
296 | root@dragino-1ef9ac:~~# ifconfig -a | ||
297 | ))) | ||
298 | ))) | ||
![]() |
1.2 | 299 | |
300 | [[image:https://wiki.dragino.com/images/thumb/a/a0/Usb-4g-1.png/400px-Usb-4g-1.png||height="401" width="400"]] | ||
301 | |||
![]() |
16.1 | 302 | //In the command, the output user can see that the new interface added is (% style="color:#037691" %)**eth2**// |
![]() |
1.2 | 303 | |
![]() |
16.1 | 304 | //Usually, the user can see that the new interface added is (% style="color:#037691" %)**eth2** (% style="color:black" %)or (% style="color:#037691" %)**wwan0**// |
![]() |
1.2 | 305 | |
![]() |
18.1 | 306 | |
![]() |
16.1 | 307 | === **5.3.3 Add the new interface to the network configuration.** === |
![]() |
1.2 | 308 | |
![]() |
18.1 | 309 | |
![]() |
16.1 | 310 | //Enter the configuration from the command line~:// |
![]() |
1.2 | 311 | |
![]() |
1.11 | 312 | (% class="box" %) |
313 | ((( | ||
314 | uci set network.lte=interface | ||
![]() |
1.2 | 315 | uci set network.lte.proto=dhcp |
![]() |
1.11 | 316 | uci set network.lte.ifname=eth2 ~-~-~-~-~-~-~-~-->#This depend on the name of the new interface gateway add |
![]() |
1.2 | 317 | uci commit network |
318 | uci set firewall.@zone[1].network="wan wwan wan6 lte" | ||
319 | uci commit firewall | ||
320 | /etc/init.d/network restart | ||
![]() |
1.11 | 321 | ))) |
![]() |
1.2 | 322 | |
323 | [[~[~[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]] | ||
324 | |||
325 | |||
![]() |
19.1 | 326 | //**Checking Network Configurations**// |
![]() |
18.1 | 327 | |
![]() |
16.1 | 328 | //Command-line input: (% style="color:#037691" %)**ifconfig**// |
![]() |
1.2 | 329 | |
330 | [[~[~[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]] | ||
331 | |||
![]() |
16.1 | 332 | //Now, Gateway is configured to access the internet on the LTE network.// |
![]() |
1.2 | 333 | |
![]() |
18.1 | 334 | |
![]() |
16.1 | 335 | == **5.4 NCM mode** == |
![]() |
1.2 | 336 | |
![]() |
18.1 | 337 | |
![]() |
16.1 | 338 | == **5.5 Troubleshooting** == |
![]() |
1.2 | 339 | |
![]() |
18.1 | 340 | |
![]() |
16.1 | 341 | === **5.5.1 The USB-Dongle interface cannot obtain the IP address.** === |
![]() |
1.2 | 342 | |
![]() |
18.1 | 343 | |
![]() |
16.1 | 344 | //Please try this USB dongle to access the internet on your PC, to make sure this USB dongle can normally access the internet.// |
![]() |
1.2 | 345 | |
![]() |
18.1 | 346 | |
![]() |
16.1 | 347 | = **6. How to reduce data traffic** = |
![]() |
1.2 | 348 | |
![]() |
18.1 | 349 | |
![]() |
16.1 | 350 | == **6.1 Introduce** == |
![]() |
1.2 | 351 | |
352 | |||
![]() |
18.1 | 353 | **//The gateways will use the data traffic below two places.//** |
354 | |||
355 | |||
![]() |
16.1 | 356 | //1. There is the data traffic from LoRa package Forward which were the gateway status package and sensor end node uplink/downlink.// |
![]() |
1.2 | 357 | |
![]() |
16.1 | 358 | //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.// |
![]() |
1.2 | 359 | |
360 | [[image:https://wiki.dragino.com/images/thumb/b/bc/LoRa_interval_time_setting.png/600px-LoRa_interval_time_setting.png||height="282" width="600"]] | ||
361 | |||
![]() |
18.1 | 362 | |
![]() |
16.1 | 363 | //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 | 364 | |
![]() |
16.1 | 365 | //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.// |
![]() |
1.2 | 366 | |
367 | [[image:https://wiki.dragino.com/images/thumb/4/49/Systrm_General.png/600px-Systrm_General.png||height="319" width="600"]] | ||
368 | |||
![]() |
16.1 | 369 | //System General interface// |
![]() |
1.2 | 370 | |
371 | [[image:https://wiki.dragino.com/images/thumb/f/f0/Set_time_interval.png/600px-Set_time_interval.png||height="319" width="600"]] | ||
372 | |||
![]() |
16.1 | 373 | //Keepalive script interval time settings// |
![]() |
1.2 | 374 | |
![]() |
27.2 | 375 |