[ramips] add Huawei D105
[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         *"TEW-691GR")
184                 name="tew-691gr"
185                 ;;
186         *"TEW-692GR")
187                 name="tew-692gr"
188                 ;;
189         *"Ralink V11ST-FE")
190                 name="v11st-fe"
191                 ;;
192         *"WLI-TX4-AG300N")
193                 name="wli-tx4-ag300n"
194                 ;;
195         *"WZR-AGL300NH")
196                 name="wzr-agl300nh"
197                 ;;
198         *"WR512-3GN-like router")
199                 name="wr512-3gn"
200                 ;;
201         *"UR-326N4G Wireless N router")
202                 name="ur-326n4g"
203                 ;;
204         *"UR-336UN Wireless N router")
205                 name="ur-336un"
206                 ;;
207         *"AWB WR6202")
208                 name="wr6202"
209                 ;;
210         *"XDX RN502J")
211                 name="xdxrn502j"
212                 ;;
213         *)
214                 name="generic"
215                 ;;
216         esac
217
218         case "$machine" in
219         *"Allnet ALL5002/ALL5003")
220                 all500x_board_detect
221                 ;;
222         esac
223
224         [ -z "$RAMIPS_BOARD_NAME" ] && RAMIPS_BOARD_NAME="$name"
225         [ -z "$RAMIPS_MODEL" ] && RAMIPS_MODEL="$machine"
226
227         [ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
228
229         echo "$RAMIPS_BOARD_NAME" > /tmp/sysinfo/board_name
230         echo "$RAMIPS_MODEL" > /tmp/sysinfo/model
231 }
232
233 ramips_board_name() {
234         local name
235
236         [ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name)
237         [ -z "$name" ] && name="unknown"
238
239         echo "$name"
240 }