c89dd469a71600f0e34e66d480481de29dfe6861
[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 all500x_board_detect() {
10         local systype
11
12         systype=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /system type/ {print $2}' /proc/cpuinfo)
13         case "$systype" in
14         *"RT5350"*)
15                 RAMIPS_MODEL="Allnet ALL5003"
16                 ;;
17         *"RT3352"*)
18                 RAMIPS_MODEL="Allnet ALL5002"
19                 ;;
20         esac
21 }
22
23 ramips_board_detect() {
24         local machine
25         local name
26
27         machine=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /machine/ {print $2}' /proc/cpuinfo)
28
29         case "$machine" in
30         *"8devices Carambola")
31                 name="carambola"
32                 ;;
33         *"Edimax 3g-6200n")
34                 name="3g-6200n"
35                 ;;
36         *"Edimax 3g-6200nl")
37                 name="3g-6200nl"
38                 ;;
39         *"AirLive Air3GII")
40                 name="air3gii"
41                 ;;
42         *"Edimax BR-6425")
43                 name="br6425"
44                 ;;
45         *"Allnet ALL0239-3G")
46                 name="all0239-3g"
47                 ;;
48         *"Allnet ALL0256N")
49                 name="all0256n"
50                 ;;
51         *"Allnet ALL5002/ALL5003")
52                 name="all5002"
53                 ;;
54         *"ARC FreeStation5")
55                 name="freestation5"
56                 ;;
57         *"Argus ATP-52B")
58                 name="argus-atp52b"
59                 ;;
60         *"BR6524N")
61                 name="br6524n"
62                 ;;
63         *"Asus WL-330N")
64                 name="wl-330n"
65                 ;;
66         *"Asus WL-330N3G")
67                 name="wl-330n3g"
68                 ;;
69         *"Aztech HW550-3G")
70                 name="hw550-3g"
71                 ;;
72         *"DIR-300 B1")
73                 name="dir-300-b1"
74                 ;;
75         *"DIR-600 B1")
76                 name="dir-600-b1"
77                 ;;
78         *"DIR-600 B2")
79                 name="dir-600-b2"
80                 ;;
81         *"DIR-620 A1")
82                 name="dir-620-a1"
83                 ;;
84         *"DIR-615 H1")
85                 name="dir-615-h1"
86                 ;;
87         *"DIR-615 D")
88                 name="dir-615-d"
89                 ;;
90         *"DIR-645")
91                 name="dir-645"
92                 ;;
93         *"DAP-1350")
94                 name="dap-1350"
95                 ;;
96         *"ESR-9753")
97                 name="esr-9753"
98                 ;;
99         *"F5D8235 v1")
100                 name="f5d8235-v1"
101                 ;;
102         *"F5D8235 v2")
103                 name="f5d8235-v2"
104                 ;;
105         *"Hauppauge Broadway")
106                 name="broadway"
107                 ;;
108         *"Huawei D105")
109                 name="d105"
110                 ;;
111         *"La Fonera 2.0N")
112                 name="fonera20n"
113                 ;;
114         *"Asus RT-N13U")
115                 name="rt-n13u"
116                 ;;
117         *"MoFi Network MOFI3500-3GN")
118                 name="mofi3500-3gn"
119                 ;;
120         *"NBG-419N")
121                 name="nbg-419n"
122                 ;;
123         *"NexAira BC2")
124                 name="bc2"
125                 ;;
126         *"NW718")
127                 name="nw718"
128                 ;;
129         *"Omnima EMB HPM")
130                 name="omni-emb-hpm"
131                 ;;
132         *"Omnima MiniEMBWiFi")
133                 name="omni-emb"
134                 ;;
135         *"Petatel PSR-680W"*)
136                 name="psr-680w"
137                 ;;
138         *"Planex MZK-W300NH2"*)
139                 name="mzk-w300nh2"
140                 ;;
141         *"PWH2004")
142                 name="pwh2004"
143                 ;;
144         *"RT-G32 B1")
145                 name="rt-g32-b1"
146                 ;;
147         *"RT-N10+")
148                 name="rt-n10-plus"
149                 ;;
150         *"RT-N15")
151                 name="rt-n15"
152                 ;;
153         *"RT-N56U")
154                 name="rt-n56u"
155                 ;;
156         *"Skyline SL-R7205"*)
157                 name="sl-r7205"
158                 ;;
159         *"Sparklan WCR-150GN")
160                 name="wcr-150gn"
161                 ;;
162         *"V22RW-2X2")
163                 name="v22rw-2x2"
164                 ;;
165         *"W502U")
166                 name="w502u"
167                 ;;
168         *"WHR-G300N")
169                 name="whr-g300n"
170                 ;;
171         *"Sitecom WL-341 v3")
172                 name="wl341v3"
173                 ;;
174         *"Sitecom WL-351 v1 002")
175                 name="wl-351"
176                 ;;
177         *"Tenda 3G300M")
178                 name="3g300m"
179                 ;;
180         *"Tenda W306R V2.0")
181                 name="w306r-v20"
182                 ;;
183         *"Tenda W150M")
184                 name="w150m"
185                 ;;
186         *"TEW-691GR")
187                 name="tew-691gr"
188                 ;;
189         *"TEW-692GR")
190                 name="tew-692gr"
191                 ;;
192         *"Ralink V11ST-FE")
193                 name="v11st-fe"
194                 ;;
195         *"WLI-TX4-AG300N")
196                 name="wli-tx4-ag300n"
197                 ;;
198         *"WZR-AGL300NH")
199                 name="wzr-agl300nh"
200                 ;;
201         *"WR512-3GN-like router")
202                 name="wr512-3gn"
203                 ;;
204         *"UR-326N4G Wireless N router")
205                 name="ur-326n4g"
206                 ;;
207         *"UR-336UN Wireless N router")
208                 name="ur-336un"
209                 ;;
210         *"AWB WR6202")
211                 name="wr6202"
212                 ;;
213         *"XDX RN502J")
214                 name="xdxrn502j"
215                 ;;
216         *)
217                 name="generic"
218                 ;;
219         esac
220
221         case "$machine" in
222         *"Allnet ALL5002/ALL5003")
223                 all500x_board_detect
224                 ;;
225         esac
226
227         [ -z "$RAMIPS_BOARD_NAME" ] && RAMIPS_BOARD_NAME="$name"
228         [ -z "$RAMIPS_MODEL" ] && RAMIPS_MODEL="$machine"
229
230         [ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
231
232         echo "$RAMIPS_BOARD_NAME" > /tmp/sysinfo/board_name
233         echo "$RAMIPS_MODEL" > /tmp/sysinfo/model
234 }
235
236 ramips_board_name() {
237         local name
238
239         [ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name)
240         [ -z "$name" ] && name="unknown"
241
242         echo "$name"
243 }