Show last authors
1 **~ Table of Contents:**
2
3 {{toc/}}
4
5
6
7
8
9 = 1.  Introduction =
10
11
12 This feature is to filter the unwanted LoRaWAN packets. Purpose is to save the upstream traffic especially for a 4G cellular connection. If configured, gateway will process filter for below two types of message:
13
14 * Unconfirmed Data Up
15
16 * Confirmed Data Up
17
18 = 2.  FWD Filter Mechanism =
19
20
21 (% style="color:blue" %)**Support Devices:**
22
23 * Firmware Version > ** dragino-lgw~-~-v5.4.1658824252**
24
25 * LG308, DLOS8, LPS8, LIG16, LG308N, DLOS8N, LPS8N
26
27 (% style="color:blue" %)**Filtering rules:**
28
29 (% border="1" style="background-color:#f2f2f2; width:728px" %)
30 |=(% colspan="2" style="width: 351px;background-color:#4F81BD;color:white" %)Fport Filter|=(% colspan="2" style="width: 374px;background-color:#4F81BD;color:white" %)DevAddr Filter
31 |(% style="width:66px" %)**Level 0**|(% style="width:284px" %)Do nothing|(% style="width:68px" %)**Level 0**|(% style="width:306px" %)Do nothing
32 |(% style="width:66px" %)**Level 1**|(% style="width:284px" %)Filter only the Fport in the list|(% style="width:68px" %)**Level 1**|(% style="width:306px" %)Filter only the DevAddr in the list
33 |(% style="width:66px" %)**Level 2**|(% style="width:284px" %)Filter Fport that are not in the database|(% style="width:68px" %)**Level 2**|(% style="width:306px" %)Filter DevAddr that are not in the database
34
35 (((
36 [[image:image-20220726171434-6.png||_mstalt="432081" height="628" width="692"]]
37
38
39 (% style="color:blue" %)**Check if the filter is running**
40
41 [[image:image-20220726164533-3.png||_mstalt="431574" height="465" width="982"]]
42
43
44 == 2.1  Filter By Fport ==
45
46
47 The Gateway FPort filter will check all the below LoRaWAN messages: Unconfirmed Data Up & Confirmed Data Up.
48
49
50 (% style="color:red" %)**Important Notice:**
51
52 * By default, Fport Filter (% style="color:blue" %)**Level=0**(%%). which means do nothing
53
54 * Fport Filter configured to (% style="color:blue" %)**Level=1**(%%). If the Fport in the list matches the Fport received by the gateway, it will be dropped.
55
56 * Fport Filter configured to (% style="color:blue" %)**Level=2**(%%). If the Fport in the list does not match the Fport received by the gateway, it will be dropped.
57
58 If you want to **forward only a certain Fport**, use level=2 and add the desired fport in the Filter value textbox. **Add Filter Value 0 to forward Join requests**.
59
60 [[image:image-20221129101012-1.png||_mstalt="425282"]]
61
62
63 In this case, we set Fport Filter Level=1 and add the filter (server | fport | 0), when the gateway receives a Lorawan packet with Fport=0, it will be dropped.
64
65 [[image:image-20220726165311-4.png||_mstalt="430287" height="718" width="798"]]
66
67
68 [[image:image-20220726170532-5.png||_mstalt="431054"]]
69
70
71 == 2.2  Filter By DevAddr ==
72
73
74 The Gateway DevAddr filter will check all the below LoRaWAN messages: Unconfirmed Data Up & Confirmed Data Up.
75
76
77 (% style="color:red" %)**Important Notice:**
78
79 * By default, DevAddr Filter (% style="color:blue" %)**Level=0**(%%). which means do nothing
80
81 * DevAddr Filter configured to (% style="color:blue" %)**Level=1**(%%). If the DevAddr in the list matches the DevAddr received by the gateway, it will be dropped.
82
83 * DevAddr Filter configured to (% style="color:blue" %)**Level=2**(%%). If the DevAddr in the list does not match the DevAddr received by the gateway, it will be dropped.
84
85 In this case, we set DevAddr Filter Level=1 and add the filter (server | DevAddr | 12664787 ), when the gateway receives a Lorawan packet with DevAddr=12664787, it will be dropped.
86
87
88 [[image:image-20220726171555-7.png||_mstalt="433745" height="754" width="765"]]
89
90
91 [[image:image-20220726171808-8.png||_mstalt="434434"]]
92
93
94 (% style="color:red" %)**If user need to set the Secondary LoRaWAN Server Packet Filter, the configuration is similar to that above.**
95
96
97 == 2.3 Filter By NwkID ==
98
99
100 Since firmware **dragino-lgw~-~-v5.4.1699325460**, the gateway supports NwkID filter.
101
102 The Gateway NwkID filter will check all the below LoRaWAN messages: Unconfirmed Data Up & Confirmed Data Up.
103
104
105 (% style="color:red" %)**Important Notice:**
106
107 * By default, NwkID Filter (% style="color:blue" %)**Level=0**(%%). which means do nothing
108
109 * NwkID Filter configured to (% style="color:blue" %)**Level=1**(%%). If the NwkID in the list matches the NwkID received by the gateway, it will be dropped.
110
111 * NwkID Filter configured to (% style="color:blue" %)**Level=2**(%%). If the NwkID in the list does not match the NwkID received by the gateway, it will be dropped.
112
113 In this case, we set NwkID Filter Level=0 and add the filter (server | NwkID | 13 ), when the gateway receives a packet that is not NwkID=00000013, it will be dropped.
114
115 NwkID is calculated as follows: DevAddr counts shifted right by 25 bits
116
117 For example, Devaddr=01CC1907,NwkID= 01CC1907 >> 25 = 0
118
119 Devaddr=260B748A,NwkID= 260B748A >> 25 = 13
120
121
122 [[image:image-20231107105627-2.png||height="622" width="768"]]
123
124 [[image:image-20231107105917-3.png||height="242" width="1011"]]
125
126
127 == 2.4 Add Filter rules via Linux Command. ==
128
129
130 (% class="box infomessage" %)
131 (((
132 $ sqlite3 /etc/lora/devskey "INSERT INTO filter (name, type, value ) VALUES ('$filter_name', '$filter_type', '$filter_value');"
133
134
135
136 name: server name. eg: server1/server2
137
138 type: filter type. eg: fport/devaddr
139
140 value: 0,1,2,3/000000
141 )))
142
143 (% class="box" %)
144 (((
145 eg:
146
147 sqlite3 /etc/lora/devskey "INSERT INTO filter (name, type, value ) VALUES ('server1', 'fport', '1');"
148
149 sqlite3 /etc/lora/devskey "INSERT INTO filter (name, type, value ) VALUES ('server1', 'devaddr', '00000000');"
150
151 sqlite3 /etc/lora/devskey "SELECT *from filter"
152 )))
153
154 [[image:image-20230519104800-2.png||_mstalt="428714"]]
155 )))
156
157
158 = 3.  PKT_FWD Filter Mechanism =
159
160
161 (% style="color:blue" %)**Support Devices:**
162
163 * Firmware Version >** lgw~-~-build-v5.4.1602379434-20201011-0926** [[Firmware Download>>url:http://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/LPS8/Firmware/Release/]]
164
165 * LG308, DLOS8
166
167 * LPS8
168
169 (% style="color:blue" %)**Fport & DevAddr Filter**
170
171 [[image:image-20220527150138-1.png||_mstalt="429598"]]
172
173
174 (% style="color:blue" %)**Check if the filter is running**
175
176 [[image:image-20220527150222-2.png||_mstalt="427921" height="379" width="1062"]]
177
178
179 == 3.1  Filter By Fport ==
180
181
182 The Gateway FPort filter will check all the below LoRaWAN message: Unconfirmed Data Up & Confirmed Data Up. If the packet's FPort doesn't match the FPort setting, it will be dropped.
183
184 (((
185 By default , this value is 0 means can upstream all packets with any FPort. We can set to other FPort so specify only one FPort works.
186 )))
187
188 [[image:image-20220527150303-3.png||_mstalt="428285"]]
189
190
191 In case we set the FPort filter to 45, and the End Node send a packet with Fport other than 45, it will be dropped.
192
193
194 == 3.2  Filter By DevAddr ==
195
196
197 Gateway will use a DevAddr mask to check if the Unconfirmed Data Up & Confirmed Data Up packets match the mask . If not, gateway will drop it.
198
199 [[image:image-20220527150404-4.png||_mstalt="429299"]]
200
201
202 This screenshot shows packets is dropped if DevAddr mask doesn't match.
203
204
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0