Merge pull request #580 from wigyori/cc-libpcap
[15.05/openwrt.git] / target / linux / ramips / base-files / lib / ramips.sh
1 #!/bin/sh
2 #
3 # Copyright (C) 2010-2013 OpenWrt.org
4 #
5
6 RAMIPS_BOARD_NAME=
7 RAMIPS_MODEL=
8
9 ramips_board_detect() {
10         local machine
11         local name
12
13         machine=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /machine/ {print $2}' /proc/cpuinfo)
14
15         case "$machine" in
16         *"7Links PX-4885")
17                 name="px4885"
18                 ;;
19         *"8devices Carambola")
20                 name="carambola"
21                 ;;
22         *"Edimax 3g-6200n")
23                 name="3g-6200n"
24                 ;;
25         *"Edimax 3g-6200nl")
26                 name="3g-6200nl"
27                 ;;
28         *"A5-V11")
29                 name="a5-v11"
30                 ;;
31         *"Aigale Ai-BR100")
32                 name="ai-br100"
33                 ;;
34         *"Airlink101 AR670W")
35                 name="ar670w"
36                 ;;
37         *"Airlink101 AR725W")
38                 name="ar725w"
39                 ;;
40         *"AirLive Air3GII")
41                 name="air3gii"
42                 ;;
43         *"Edimax BR-6425")
44                 name="br6425"
45                 ;;
46         *"Allnet ALL0239-3G")
47                 name="all0239-3g"
48                 ;;
49         *"Allnet ALL0256N")
50                 name="all0256n"
51                 ;;
52         *"Allnet ALL5002")
53                 name="all5002"
54                 ;;
55         *"Allnet ALL5003")
56                 name="all5003"
57                 ;;
58         *"ARC FreeStation5")
59                 name="freestation5"
60                 ;;
61         *"Archer C20i")
62                 name="c20i"
63                 ;;
64         *"Argus ATP-52B")
65                 name="argus-atp52b"
66                 ;;
67         *"AsiaRF AWM002 EVB")
68                 name="awm002-evb"
69                 ;;
70         *"AsiaRF AWM003 EVB")
71                 name="awm003-evb"
72                 ;;
73         *"AsiaRF AWAPN2403")
74                 name="awapn2403"
75                 ;;
76         *"Asus WL-330N")
77                 name="wl-330n"
78                 ;;
79         *"Asus WL-330N3G")
80                 name="wl-330n3g"
81                 ;;
82         *"Alpha ASL26555")
83                 name="asl26555"
84                 ;;
85         *"Aztech HW550-3G")
86                 name="hw550-3g"
87                 ;;
88         *"AXIMCom MR-102N")
89                 name="mr-102n"
90                 ;;
91         *"Buffalo WSR-600DHP")
92                 name="wsr-600"
93                 ;;
94         *"Buffalo WSR-1166DHP")
95                 name="wsr-1166"
96                 ;;
97         *"Comfast CF-WR800N")
98                 name="cf-wr800n"
99                 ;;
100         *"Firefly FireWRT")
101                 name="firewrt"
102                 ;;
103         *"CY-SWR1100")
104                 name="cy-swr1100"
105                 ;;
106         *"DCS-930")
107                 name="dcs-930"
108                 ;;
109         *"DCS-930L B1")
110                 name="dcs-930l-b1"
111                 ;;
112         *"DIR-300 B1")
113                 name="dir-300-b1"
114                 ;;
115         *"DIR-300 B7")
116                 name="dir-300-b7"
117                 ;;
118         *"DIR-320 B1")
119                 name="dir-320-b1"
120                 ;;
121         *"DIR-600 B1")
122                 name="dir-600-b1"
123                 ;;
124         *"DIR-600 B2")
125                 name="dir-600-b2"
126                 ;;
127         *"DIR-610 A1")
128                 name="dir-610-a1"
129                 ;;
130         *"DIR-620 A1")
131                 name="dir-620-a1"
132                 ;;
133         *"DIR-620 D1")
134                 name="dir-620-d1"
135                 ;;
136         *"DIR-615 H1")
137                 name="dir-615-h1"
138                 ;;
139         *"DIR-615 D")
140                 name="dir-615-d"
141                 ;;
142         *"DIR-645")
143                 name="dir-645"
144                 ;;
145         *"DIR-810L")
146                 name="dir-810l"
147                 ;;
148         *"DIR-860L B1")
149                 name="dir-860l-b1"
150                 ;;
151         *"DAP-1350")
152                 name="dap-1350"
153                 ;;
154         *"ESR-9753")
155                 name="esr-9753"
156                 ;;
157         *"EASYACC WI-STOR WIZARD 8800")
158                 name="wizard8800"
159                 ;;
160         *"Edimax BR-6475nD")
161                 name="br-6475nd"
162                 ;;
163         *"F7C027")
164                 name="f7c027"
165                 ;;
166         *"F5D8235 v1")
167                 name="f5d8235-v1"
168                 ;;
169         *"F5D8235 v2")
170                 name="f5d8235-v2"
171                 ;;
172         *"Hauppauge Broadway")
173                 name="broadway"
174                 ;;
175         *"Huawei D105")
176                 name="d105"
177                 ;;
178         *"La Fonera 2.0N")
179                 name="fonera20n"
180                 ;;
181         *"Asus RT-N14U")
182                 name="rt-n14u"
183                 ;;
184         *"Asus RT-N13U")
185                 name="rt-n13u"
186                 ;;
187         *"MoFi Network MOFI3500-3GN")
188                 name="mofi3500-3gn"
189                 ;;
190         *"HILINK HLK-RM04")
191                 name="hlk-rm04"
192                 ;;
193         *"HooToo HT-TM02")
194                 name="ht-tm02"
195                 ;;
196         *"HAME MPR-A1")
197                 name="mpr-a1"
198                 ;;
199         *"HAME MPR-A2")
200                 name="mpr-a2"
201                 ;;
202         *"Kingston MLW221")
203                 name="mlw221"
204                 ;;
205         *"Kingston MLWG2")
206                 name="mlwg2"
207                 ;;
208         *"Linksys E1700")
209                 name="e1700"
210                 ;;
211         *"Linksys RE6500")
212                 name="re6500"
213                 ;;
214         *"Planex MZK-750DHP")
215                 name="mzk-750dhp"
216                 ;;
217         *"Microduino MicroWRT")
218                 name="microwrt"
219                 ;;
220         *"NBG-419N")
221                 name="nbg-419n"
222                 ;;
223         *"Netgear WNCE2001")
224                 name="wnce2001"
225                 ;;
226         *"Netgear EX2700")
227                 name="ex2700"
228                 ;;
229         *"NexAira BC2")
230                 name="bc2"
231                 ;;
232         *"Nexx WT1520")
233                 name="wt1520"
234                 ;;
235         *"Nexx WT3020")
236                 name="wt3020"
237                 ;;
238         *"NW718")
239                 name="nw718"
240                 ;;
241         *"Intenso Memory 2 Move")
242                 name="m2m"
243                 ;;
244         *"Omnima EMB HPM")
245                 name="omni-emb-hpm"
246                 ;;
247         *"Omnima MiniEMBWiFi")
248                 name="omni-emb"
249                 ;;
250         *"Omnima MiniPlug")
251                 name="omni-plug"
252                 ;;
253         *"OLinuXino-RT5350F")
254                 name="olinuxino-rt5350f"
255                 ;;
256         *"OLinuXino-RT5350F-EVB")
257                 name="olinuxino-rt5350f-evb"
258                 ;;
259         *"PBR-M1")
260                 name="pbr-m1"
261                 ;;
262         *"Petatel PSR-680W"*)
263                 name="psr-680w"
264                 ;;
265         *"Planex MZK-W300NH2"*)
266                 name="mzk-w300nh2"
267                 ;;
268         *"Poray IP2202")
269                 name="ip2202"
270                 ;;
271         *"Poray M3")
272                 name="m3"
273                 ;;
274         *"Poray M4")
275                 name="m4"
276                 ;;
277         *"Poray X5")
278                 name="x5"
279                 ;;
280         *"Poray X8")
281                 name="x8"
282                 ;;
283         *"PWH2004")
284                 name="pwh2004"
285                 ;;
286         *"Asus RP-N53")
287                 name="rp-n53"
288                 ;;
289         *"Ralink MT7620a + MT7530 evaluation board")
290                 name="mt7620a_mt7530"
291                 ;;
292         *"RT-G32 B1")
293                 name="rt-g32-b1"
294                 ;;
295         *"RT-N10+")
296                 name="rt-n10-plus"
297                 ;;
298         *"RT-N15")
299                 name="rt-n15"
300                 ;;
301         *"RT-N56U")
302                 name="rt-n56u"
303                 ;;
304         *"RUT5XX")
305                 name="rut5xx"
306                 ;;
307         *"Skyline SL-R7205"*)
308                 name="sl-r7205"
309                 ;;
310         *"Sparklan WCR-150GN")
311                 name="wcr-150gn"
312                 ;;
313         *"V22RW-2X2")
314                 name="v22rw-2x2"
315                 ;;
316         *"VoCore")
317                 name="vocore"
318                 ;;
319         *"W502U")
320                 name="w502u"
321                 ;;
322         *"WMR-300")
323                 name="wmr300"
324                 ;;
325         *"WHR-300HP2")
326                 name="whr-300hp2"
327                 ;;
328         *"WHR-600D")
329                 name="whr-600d"
330                 ;;
331         *"WHR-1166D")
332                 name="whr-1166d"
333                 ;;
334         *"WHR-G300N")
335                 name="whr-g300n"
336                 ;;
337         *"WizFi630A")
338                 name="wizfi630a"
339                 ;;
340         *"Sitecom WL-341 v3")
341                 name="wl341v3"
342                 ;;
343         *"Sitecom WL-351 v1 002")
344                 name="wl-351"
345                 ;;
346         *"Tenda 3G300M")
347                 name="3g300m"
348                 ;;
349         *"Tenda 3G150B")
350                 name="3g150b"
351                 ;;
352         *"Tenda W306R V2.0")
353                 name="w306r-v20"
354                 ;;
355         *"Tenda W150M")
356                 name="w150m"
357                 ;;
358         *"TEW-691GR")
359                 name="tew-691gr"
360                 ;;
361         *"TEW-692GR")
362                 name="tew-692gr"
363                 ;;
364         *"Ralink V11ST-FE")
365                 name="v11st-fe"
366                 ;;
367         *"WLI-TX4-AG300N")
368                 name="wli-tx4-ag300n"
369                 ;;
370         *"WZR-AGL300NH")
371                 name="wzr-agl300nh"
372                 ;;
373         *"WR512-3GN-like router")
374                 name="wr512-3gn"
375                 ;;
376         *"UR-326N4G Wireless N router")
377                 name="ur-326n4g"
378                 ;;
379         *"UR-336UN Wireless N router")
380                 name="ur-336un"
381                 ;;
382         *"AWB WR6202")
383                 name="wr6202"
384                 ;;
385         *"XDX RN502J")
386                 name="xdxrn502j"
387                 ;;
388         *"HG255D")
389                 name="hg255d"
390                 ;;
391         *"V22SG")
392                 name="v22sg"
393                 ;;
394         *"WRTNODE")
395                 name="wrtnode"
396                 ;;
397         *"Wansview NCS601W")
398                 name="ncs601w"
399                 ;;
400         *"Xiaomi MiWiFi Mini")
401                 name="xiaomi-miwifi-mini"
402                 ;;
403         *"Sercomm NA930")
404                 name="na930"
405                 ;;
406         *"Zbtlink ZBT-WA05")
407                 name="zbt-wa05"
408                 ;;
409         *"ZBT-WG2626")
410                 name="zbt-wg2626"
411                 ;;
412         *"ZBT WR8305RT")
413                 name="wr8305rt"
414                 ;;
415         *"ZTE Q7")
416                 name="zte-q7"
417                 ;;
418         *"Lenovo Y1")
419                 name="y1"
420                 ;;
421         *"Lenovo Y1S")
422                 name="y1s"
423                 ;;
424         *"Mediatek MT7621 evaluation board")
425                 name="mt7621"
426                 ;;
427         *"Mediatek MT7628AN evaluation board")
428                 name="mt7628"
429                 ;;
430         *"MediaTek LinkIt Smart 7688")
431                 linkit="$(dd bs=1 skip=1024 count=12 if=/dev/mtd2 2> /dev/null)"
432                 if [ "${linkit}" = "LINKITS7688D" ]; then
433                         name="linkits7688d"
434                         RAMIPS_MODEL="${machine} DUO"
435                 else
436                         name="linkits7688"
437                 fi
438                 ;;
439         *)
440                 name="generic"
441                 ;;
442         esac
443
444         [ -z "$RAMIPS_BOARD_NAME" ] && RAMIPS_BOARD_NAME="$name"
445         [ -z "$RAMIPS_MODEL" ] && RAMIPS_MODEL="$machine"
446
447         [ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
448
449         echo "$RAMIPS_BOARD_NAME" > /tmp/sysinfo/board_name
450         echo "$RAMIPS_MODEL" > /tmp/sysinfo/model
451 }
452
453 ramips_board_name() {
454         local name
455
456         [ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name)
457         [ -z "$name" ] && name="unknown"
458
459         echo "$name"
460 }