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