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