ramips: add support for the VoCore2 Lite
[oweals/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         *"11AC NAS Router")
17                 name="11acnas"
18                 ;;
19         *"3G150B")
20                 name="3g150b"
21                 ;;
22         *"3G300M")
23                 name="3g300m"
24                 ;;
25         *"3g-6200n")
26                 name="3g-6200n"
27                 ;;
28         *"3g-6200nl")
29                 name="3g-6200nl"
30                 ;;
31         *"A5-V11")
32                 name="a5-v11"
33                 ;;
34         *"Ai-BR100")
35                 name="ai-br100"
36                 ;;
37         *"Air3GII")
38                 name="air3gii"
39                 ;;
40         *"ALL0239-3G")
41                 name="all0239-3g"
42                 ;;
43         *"ALL0256N (4M)")
44                 name="all0256n-4M"
45                 ;;
46         *"ALL0256N (8M)")
47                 name="all0256n-8M"
48                 ;;
49         *"ALL5002")
50                 name="all5002"
51                 ;;
52         *"ALL5003")
53                 name="all5003"
54                 ;;
55         *"AR670W")
56                 name="ar670w"
57                 ;;
58         *"AR725W")
59                 name="ar725w"
60                 ;;
61         *"ASL26555 (8M)")
62                 name="asl26555-8M"
63                 ;;
64         *"ASL26555 (16M)")
65                 name="asl26555-16M"
66                 ;;
67         *"ATP-52B")
68                 name="atp-52b"
69                 ;;
70         *"AWAPN2403")
71                 name="awapn2403"
72                 ;;
73         *"AWM002 EVB (4M)")
74                 name="awm002-evb-4M"
75                 ;;
76         *"AWM002 EVB (8M)")
77                 name="awm002-evb-8M"
78                 ;;
79         *"BC2")
80                 name="bc2"
81                 ;;
82         *"BR-6475nD")
83                 name="br-6475nd"
84                 ;;
85         *"Broadway")
86                 name="broadway"
87                 ;;
88         *"C20i")
89                 name="c20i"
90                 ;;
91         *"C50")
92                 name="c50"
93                 ;;
94         *"Carambola")
95                 name="carambola"
96                 ;;
97         *"CF-WR800N")
98                 name="cf-wr800n"
99                 ;;
100         *"CS-QR10")
101                 name="cs-qr10"
102                 ;;
103         *"CY-SWR1100")
104                 name="cy-swr1100"
105                 ;;
106         *"D105")
107                 name="d105"
108                 ;;
109         *"D240")
110                 name="d240"
111                 ;;
112         *"DAP-1350")
113                 name="dap-1350"
114                 ;;
115         *"DB-WRT01")
116                 name="db-wrt01"
117                 ;;
118         *"DCH-M225")
119                 name="dch-m225"
120                 ;;
121         *"DCS-930")
122                 name="dcs-930"
123                 ;;
124         *"DCS-930L B1")
125                 name="dcs-930l-b1"
126                 ;;
127         *"DIR-300 B1")
128                 name="dir-300-b1"
129                 ;;
130         *"DIR-300 B7")
131                 name="dir-300-b7"
132                 ;;
133         *"DIR-320 B1")
134                 name="dir-320-b1"
135                 ;;
136         *"DIR-600 B1")
137                 name="dir-600-b1"
138                 ;;
139         *"DIR-610 A1")
140                 name="dir-610-a1"
141                 ;;
142         *"DIR-615 D")
143                 name="dir-615-d"
144                 ;;
145         *"DIR-615 H1")
146                 name="dir-615-h1"
147                 ;;
148         *"DIR-620 A1")
149                 name="dir-620-a1"
150                 ;;
151         *"DIR-620 D1")
152                 name="dir-620-d1"
153                 ;;
154         *"DIR-645")
155                 name="dir-645"
156                 ;;
157         *"DIR-810L")
158                 name="dir-810l"
159                 ;;
160         *"DIR-860L B1")
161                 name="dir-860l-b1"
162                 ;;
163         *"Dovado Tiny AC")
164                 name="tiny-ac"
165                 ;;
166         *"DuZun DM06")
167                 name="duzun-dm06"
168                 ;;
169         *"DWR-512 B")
170                 name="dwr-512-b"
171                 ;;
172         *"E1700")
173                 name="e1700"
174                 ;;
175         *"ESR-9753")
176                 name="esr-9753"
177                 ;;
178         *"EW1200")
179                 name="ew1200"
180                 ;;
181         *"EX2700")
182                 name="ex2700";
183                 ;;
184         *"EX3700/EX3800")
185                 name="ex3700"
186                 ;;
187         *"F5D8235 v1")
188                 name="f5d8235-v1"
189                 ;;
190         *"F5D8235 v2")
191                 name="f5d8235-v2"
192                 ;;
193         *"F7C027")
194                 name="f7c027"
195                 ;;
196         *"FireWRT")
197                 name="firewrt"
198                 ;;
199         *"Fonera 2.0N")
200                 name="fonera20n"
201                 ;;
202         *"FreeStation5")
203                 name="freestation5"
204                 ;;
205         *"GB-PC1")
206                 name="gb-pc1"
207                 ;;
208         *"GL-MT300A")
209                 name="gl-mt300a"
210                 ;;
211         *"GL-MT300N")
212                 name="gl-mt300n"
213                 ;;
214         *"GL-MT750")
215                 name="gl-mt750"
216                 ;;
217         *"GL-MT300N-V2")
218                 name="gl-mt300n-v2"
219                 ;;
220         *"HC5661")
221                 name="hc5661"
222                 ;;
223         *"HC5661A")
224                 name="hc5661a"
225                 ;;
226         *"HC5761")
227                 name="hc5761"
228                 ;;
229         *"HC5861")
230                 name="hc5861"
231                 ;;
232         *"HC5962")
233                 name="hc5962"
234                 ;;
235         *"HG255D")
236                 name="hg255d"
237                 ;;
238         *"HLK-RM04")
239                 name="hlk-rm04"
240                 ;;
241         *"HPM")
242                 name="hpm"
243                 ;;
244         *"HT-TM02")
245                 name="ht-tm02"
246                 ;;
247         *"HW550-3G")
248                 name="hw550-3g"
249                 ;;
250         *"IP2202")
251                 name="ip2202"
252                 ;;
253         *"JHR-N805R")
254                 name="jhr-n805r"
255                 ;;
256         *"JHR-N825R")
257                 name="jhr-n825r"
258                 ;;
259         *"JHR-N926R")
260                 name="jhr-n926r"
261                 ;;
262         *"K2P")
263                 name="k2p"
264                 ;;
265         *"M3")
266                 name="m3"
267                 ;;
268         *"M4 (4M)")
269                 name="m4-4M"
270                 ;;
271         *"M4 (8M)")
272                 name="m4-8M"
273                 ;;
274         *"MediaTek LinkIt Smart 7688")
275                 linkit="$(dd bs=1 skip=1024 count=12 if=/dev/mtd2 2> /dev/null)"
276                 if [ "${linkit}" = "LINKITS7688D" ]; then
277                         name="linkits7688d"
278                         RAMIPS_MODEL="${machine} DUO"
279                 else
280                         name="linkits7688"
281                 fi
282                 ;;
283         *"Memory 2 Move")
284                 name="m2m"
285                 ;;
286         *"Mercury MAC1200R v2")
287                 name="mac1200rv2"
288                 ;;
289         *"MicroWRT")
290                 name="microwrt"
291                 ;;
292         *"MiniEMBPlug")
293                 name="miniembplug"
294                 ;;
295         *"MiniEMBWiFi")
296                 name="miniembwifi"
297                 ;;
298         *"MiWiFi Mini")
299                 name="miwifi-mini"
300                 ;;
301         *"MiWiFi Nano")
302                 name="miwifi-nano"
303                 ;;
304         *"MLW221")
305                 name="mlw221"
306                 ;;
307         *"MLWG2")
308                 name="mlwg2"
309                 ;;
310         *"MOFI3500-3GN")
311                 name="mofi3500-3gn"
312                 ;;
313         *"MPR-A1")
314                 name="mpr-a1"
315                 ;;
316         *"MPR-A2")
317                 name="mpr-a2"
318                 ;;
319         *"MR-102N")
320                 name="mr-102n"
321                 ;;
322         *"MR200")
323                 name="mr200"
324                 ;;
325         *"MT7620a + MT7530 evaluation"*)
326                 name="mt7620a_mt7530"
327                 ;;
328         *"MT7620a V22SG"*)
329                 name="mt7620a_v22sg"
330                 ;;
331         *"MT7621 evaluation"*)
332                 name="mt7621"
333                 ;;
334         *"MT7628AN evaluation"*)
335                 name="mt7628"
336                 ;;
337         *"MT7688 evaluation"*)
338                 name="mt7688"
339                 ;;
340         *"MZK-750DHP")
341                 name="mzk-750dhp"
342                 ;;
343         *"MZK-DP150N")
344                 name="mzk-dp150n"
345                 ;;
346         *"MZK-EX300NP")
347                 name="mzk-ex300np"
348                 ;;
349         *"MZK-EX750NP")
350                 name="mzk-ex750np"
351                 ;;
352         *"MZK-W300NH2"*)
353                 name="mzk-w300nh2"
354                 ;;
355         *"MZK-WDPR"*)
356                 name="mzk-wdpr"
357                 ;;
358         *"NA930")
359                 name="na930"
360                 ;;
361         *"NBG-419N")
362                 name="nbg-419n"
363                 ;;
364         *"NBG-419N v2")
365                 name="nbg-419n2"
366                 ;;
367         *"Newifi-D1")
368                 name="newifi-d1"
369                 ;;
370         *"NCS601W")
371                 name="ncs601w"
372                 ;;
373         *"NixcoreX1 (8M)")
374                 name="nixcore-x1-8M"
375                 ;;
376         *"NixcoreX1 (16M)")
377                 name="nixcore-x1-16M"
378                 ;;
379         *"NW718")
380                 name="nw718"
381                 ;;
382         *"Onion Omega2")
383                 name="omega2"
384                 ;;
385         *"Onion Omega2+")
386                 name="omega2p"
387                 ;;
388         *"OY-0001")
389                 name="oy-0001"
390                 ;;
391         *"PBR-D1")
392                 name="pbr-d1"
393                 ;;
394         *"PBR-M1")
395                 name="pbr-m1"
396                 ;;
397         *"PSG1208")
398                 name="psg1208"
399                 ;;
400         *"PSG1218 rev.A")
401                 name="psg1218a"
402                 ;;
403         *"PSG1218 rev.B")
404                 name="psg1218b"
405                 ;;
406         *"PSR-680W"*)
407                 name="psr-680w"
408                 ;;
409         *"PWH2004")
410                 name="pwh2004"
411                 ;;
412         *"PX-4885 (4M)")
413                 name="px-4885-4M"
414                 ;;
415         *"PX-4885 (8M)")
416                 name="px-4885-8M"
417                 ;;
418         *"Q7")
419                 name="zte-q7"
420                 ;;
421         *"R6220")
422                 name="r6220"
423                 ;;
424         *"RB750Gr3")
425                 name="rb750gr3"
426                 ;;
427         *"RE350 v1")
428                 name="re350-v1"
429                 ;;
430         *"RE6500")
431                 name="re6500"
432                 ;;
433         *"RN502J")
434                 name="xdxrn502j"
435                 ;;
436         *"RP-N53")
437                 name="rp-n53"
438                 ;;
439         *"RT5350F-OLinuXino")
440                 name="rt5350f-olinuxino"
441                 ;;
442         *"RT5350F-OLinuXino-EVB")
443                 name="rt5350f-olinuxino-evb"
444                 ;;
445         *"RT-AC51U")
446                 name="rt-ac51u"
447                 ;;
448         *"RT-G32 B1")
449                 name="rt-g32-b1"
450                 ;;
451         *"RT-N10+")
452                 name="rt-n10-plus"
453                 ;;
454         *"RT-N13U")
455                 name="rt-n13u"
456                 ;;
457         *"RT-N14U")
458                 name="rt-n14u"
459                 ;;
460         *"RT-N15")
461                 name="rt-n15"
462                 ;;
463         *"RT-N56U")
464                 name="rt-n56u"
465                 ;;
466         *"RUT5XX")
467                 name="rut5xx"
468                 ;;
469         *"SamKnows Whitebox 8")
470                 name="sk-wb8"
471                 ;;
472         *"SAP-G3200U3")
473                 name="sap-g3200u3"
474                 ;;
475         *"SL-R7205"*)
476                 name="sl-r7205"
477                 ;;
478         *"TEW-638APB v2")
479                 name="tew-638apb-v2"
480                 ;;
481         *"TEW-691GR")
482                 name="tew-691gr"
483                 ;;
484         *"TEW-692GR")
485                 name="tew-692gr"
486                 ;;
487         *"TEW-714TRU")
488                 name="tew-714tru"
489                 ;;
490         *"Timecloud")
491                 name="timecloud"
492                 ;;
493         *"TL-WR840N v4")
494                 name="tl-wr840n-v4"
495                 ;;
496         *"TL-WR841N v13")
497                 name="tl-wr841n-v13"
498                 ;;
499         *"UBNT-ERX")
500                 name="ubnt-erx"
501                 ;;
502         *"UBNT-ERX-SFP")
503                 name="ubnt-erx-sfp"
504                 ;;
505         *"UR-326N4G")
506                 name="ur-326n4g"
507                 ;;
508         *"UR-336UN")
509                 name="ur-336un"
510                 ;;
511         *"V11ST-FE")
512                 name="v11st-fe"
513                 ;;
514         *"V22RW-2X2")
515                 name="v22rw-2x2"
516                 ;;
517         *"VoCore (8M)")
518                 name="vocore-8M"
519                 ;;
520         *"VoCore (16M)")
521                 name="vocore-16M"
522                 ;;
523         *"VoCore2")
524                 name="vocore2"
525                 ;;
526         *"VoCore2-Lite")
527                 name="vocore2lite"
528                 ;;
529         *"VR500")
530                 name="vr500"
531                 ;;
532         *"W150M")
533                 name="w150m"
534                 ;;
535         *"W2914NS v2")
536                 name="w2914nsv2"
537                 ;;
538         *"W306R V2.0")
539                 name="w306r-v20"
540                 ;;
541         *"W502U")
542                 name="w502u"
543                 ;;
544         *"WCR-1166DS")
545                 name="wcr-1166ds"
546                 ;;
547         *"WCR-150GN")
548                 name="wcr-150gn"
549                 ;;
550         *"WF-2881")
551                 name="wf-2881"
552                 ;;
553         *"WHR-1166D")
554                 name="whr-1166d"
555                 ;;
556         *"WHR-300HP2")
557                 name="whr-300hp2"
558                 ;;
559         *"WHR-600D")
560                 name="whr-600d"
561                 ;;
562         *"WHR-G300N")
563                 name="whr-g300n"
564                 ;;
565         *"Widora-NEO")
566                 name="widora-neo"
567                 ;;
568         *"WiTi")
569                 name="witi"
570                 ;;
571         *"WIZARD 8800")
572                 name="wizard8800"
573                 ;;
574         *"WizFi630A")
575                 name="wizfi630a"
576                 ;;
577         *"WL-330N")
578                 name="wl-330n"
579                 ;;
580         *"WL-330N3G")
581                 name="wl-330n3g"
582                 ;;
583         *"WL-341 v3")
584                 name="wl-341v3"
585                 ;;
586         *"WL-351 v1 002")
587                 name="wl-351"
588                 ;;
589         *"WL-WN575A3")
590                 name="wl-wn575a3"
591                 ;;
592         *"WLI-TX4-AG300N")
593                 name="wli-tx4-ag300n"
594                 ;;
595         *"WLR-6000")
596                 name="wlr-6000"
597                 ;;
598         *"WMDR-143N")
599                 name="wmdr-143n"
600                 ;;
601         *"WMR-300")
602                 name="wmr-300"
603                 ;;
604         *"WN3000RPv3")
605                 name="wn3000rpv3"
606                 ;;
607         *"WNCE2001")
608                 name="wnce2001"
609                 ;;
610         *"WNDR3700v5")
611                 name="wndr3700v5"
612                 ;;
613         *"WR512-3GN (4M)")
614                 name="wr512-3gn-4M"
615                 ;;
616         *"WR512-3GN (8M)")
617                 name="wr512-3gn-8M"
618                 ;;
619         *"WR6202")
620                 name="wr6202"
621                 ;;
622         *"WRH-300CR")
623                 name="wrh-300cr"
624                 ;;
625         *"WRTNODE")
626                 name="wrtnode"
627                 ;;
628         *"WRTnode2R")
629                 name="wrtnode2r"
630                 ;;
631         *"WRTnode2P")
632                 name="wrtnode2p"
633                 ;;
634         *"WSR-1166DHP")
635                 name="wsr-1166"
636                 ;;
637         *"WSR-600DHP")
638                 name="wsr-600"
639                 ;;
640         *"WT1520 (4M)")
641                 name="wt1520-4M"
642                 ;;
643         *"WT1520 (8M)")
644                 name="wt1520-8M"
645                 ;;
646         *"WT3020 (4M)")
647                 name="wt3020-4M"
648                 ;;
649         *"WT3020 (8M)")
650                 name="wt3020-8M"
651                 ;;
652         *"WZR-AGL300NH")
653                 name="wzr-agl300nh"
654                 ;;
655         *"X5")
656                 name="x5"
657                 ;;
658         *"X8")
659                 name="x8"
660                 ;;
661         *"Y1")
662                 name="y1"
663                 ;;
664         *"Y1S")
665                 name="y1s"
666                 ;;
667         *"ZBT-APE522II")
668                 name="zbt-ape522ii"
669                 ;;
670         *"ZBT-CPE102")
671                 name="zbt-cpe102"
672                 ;;
673         *"ZBT-WA05")
674                 name="zbt-wa05"
675                 ;;
676         *"ZBT-WE1326")
677                 name="zbt-we1326"
678                 ;;
679         *"ZBT-WE2026")
680                 name="zbt-we2026"
681                 ;;
682         *"ZBT-WE826 (16M)")
683                 name="zbt-we826-16M"
684                 ;;
685         *"ZBT-WE826 (32M)")
686                 name="zbt-we826-32M"
687                 ;;
688         *"ZBT-WG2626")
689                 name="zbt-wg2626"
690                 ;;
691         *"ZBT-WG3526 (16M)")
692                 name="zbt-wg3526-16M"
693                 ;;
694         *"ZBT-WG3526 (32M)")
695                 name="zbt-wg3526-32M"
696                 ;;
697         *"ZBT-WR8305RT")
698                 name="zbt-wr8305rt"
699                 ;;
700         *"ZyXEL Keenetic")
701                 name="kn"
702                 ;;
703         *"ZyXEL Keenetic Omni")
704                 name="kn_rc"
705                 ;;
706         *"ZyXEL Keenetic Omni II")
707                 name="kn_rf"
708                 ;;
709         *"ZyXEL Keenetic Viva")
710                 name="kng_rc"
711                 ;;
712         *"YK1")
713                 name="youku-yk1"
714                 ;;
715         *)
716                 name="generic"
717                 ;;
718         esac
719
720         [ -z "$RAMIPS_BOARD_NAME" ] && RAMIPS_BOARD_NAME="$name"
721         [ -z "$RAMIPS_MODEL" ] && RAMIPS_MODEL="$machine"
722
723         [ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
724
725         echo "$RAMIPS_BOARD_NAME" > /tmp/sysinfo/board_name
726         echo "$RAMIPS_MODEL" > /tmp/sysinfo/model
727 }