ar71xx: change user-space board detection
[openwrt.git] / target / linux / ar71xx / base-files / lib / ar71xx.sh
1 #!/bin/sh
2 #
3 # Copyright (C) 2009-2011 OpenWrt.org
4 #
5
6 AR71XX_BOARD_NAME=
7 AR71XX_MODEL=
8
9 ar71xx_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         *"AirRouter")
17                 name="airrouter"
18                 ;;
19         *ALL0258N)
20                 name="all0258n"
21                 ;;
22         *AP121)
23                 name="ap121"
24                 ;;
25         *AP121-MINI)
26                 name="ap121-mini"
27                 ;;
28         *AP81)
29                 name="ap81"
30                 ;;
31         *AP83)
32                 name="ap83"
33                 ;;
34         *AP96)
35                 name="ap96"
36                 ;;
37         *AW-NR580)
38                 name="aw-nr580"
39                 ;;
40         *DB120)
41                 name="db120"
42                 ;;
43         *"DIR-600 rev. A1")
44                 name="dir-600-a1"
45                 ;;
46         *"DIR-825 rev. B1")
47                 name="dir-825-b1"
48                 ;;
49         *EAP7660D)
50                 name="eap7660d"
51                 ;;
52         *JA76PF)
53                 name="ja76pf"
54                 ;;
55         *"Bullet M")
56                 name="bullet-m"
57                 ;;
58         *"Nanostation M")
59                 name="nanostation-m"
60                 ;;
61         *JWAP003)
62                 name="jwap003"
63                 ;;
64         *LS-SR71)
65                 name="ls-sr71"
66                 ;;
67         *MZK-W04NU)
68                 name="mzk-w04nu"
69                 ;;
70         *MZK-W300NH)
71                 name="mzk-w300nh"
72                 ;;
73         *"NBG460N/550N/550NH")
74                 name="nbg460n_550n_550nh"
75                 ;;
76         *OM2P)
77                 name="om2p"
78                 ;;
79         *PB42)
80                 name="pb42"
81                 ;;
82         *PB44)
83                 name="pb44"
84                 ;;
85         *PB92)
86                 name="pb92"
87                 ;;
88         *"RouterBOARD 411/A/AH")
89                 name="rb-411"
90                 ;;
91         *"RouterBOARD 411U")
92                 name="rb-411u"
93                 ;;
94         *"RouterBOARD 433/AH")
95                 name="rb-433"
96                 ;;
97         *"RouterBOARD 433UAH")
98                 name="rb-433u"
99                 ;;
100         *"RouterBOARD 450")
101                 name="rb-450"
102                 ;;
103         *"RouterBOARD 450G")
104                 name="rb-450g"
105                 ;;
106         *"RouterBOARD 493/AH")
107                 name="rb-493"
108                 ;;
109         *"RouterBOARD 493G")
110                 name="rb-493g"
111                 ;;
112         *"RouterBOARD 750")
113                 name="rb-750"
114                 ;;
115         *"Rocket M")
116                 name="rocket-m"
117                 ;;
118         *RouterStation)
119                 name="routerstation"
120                 ;;
121         *"RouterStation Pro")
122                 name="routerstation-pro"
123                 ;;
124         *TEW-632BRP)
125                 name="tew-632brp"
126                 ;;
127         *TL-WR1043ND)
128                 name="tl-wr1043nd"
129                 ;;
130         *"DIR-615 rev. C1")
131                 name="dir-615-c1"
132                 ;;
133         *TL-MR3220)
134                 name="tl-mr3220"
135                 ;;
136         *TL-MR3420)
137                 name="tl-mr3420"
138                 ;;
139         *TL-WA901ND)
140                 name="tl-wa901nd"
141                 ;;
142         *"TL-WA901ND v2")
143                 name="tl-wa901nd-v2"
144                 ;;
145         *TL-WR741ND)
146                 name="tl-wr741nd"
147                 ;;
148         *"TL-WR741ND v4")
149                 name="tl-wr741nd-v4"
150                 ;;
151         *"TL-WR841N v1")
152                 name="tl-wr841n-v1"
153                 ;;
154         *TL-WR941ND)
155                 name="tl-wr941nd"
156                 ;;
157         *"TL-WR703N v1")
158                 name="tl-wr703n"
159                 ;;
160         *UniFi)
161                 name="unifi"
162                 ;;
163         *WHR-G301N)
164                 name="whr-g301n"
165                 ;;
166         *WHR-HP-GN)
167                 name="whr-hp-gn"
168                 ;;
169         *WP543)
170                 name="wp543"
171                 ;;
172         *WNDR3700)
173                 name="wndr3700"
174                 ;;
175         *WNDR3700v2)
176                 name="wndr3700v2"
177                 ;;
178         *WNDR3800)
179                 name="wndr3800"
180                 ;;
181         *WNR2000)
182                 name="wnr2000"
183                 ;;
184         *WRT160NL)
185                 name="wrt160nl"
186                 ;;
187         *WRT400N)
188                 name="wrt400n"
189                 ;;
190         *WZR-HP-AG300H)
191                 name="wzr-hp-ag300h"
192                 ;;
193         *WZR-HP-G300NH)
194                 name="wzr-hp-g300nh"
195                 ;;
196         *WHR-HP-G300N)
197                 name="whr-hp-g300n"
198                 ;;
199         *ZCN-1523H-2)
200                 name="zcn-1523h-2"
201                 ;;
202         *ZCN-1523H-5)
203                 name="zcn-1523h-5"
204                 ;;
205         esac
206
207         [ -z "$name" ] && name="unknown"
208
209         [ -z "$AR71XX_BOARD_NAME" ] && AR71XX_BOARD_NAME="$name"
210         [ -z "$AR71XX_MODEL" ] && AR71XX_MODEL="$machine"
211
212         [ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
213
214         echo "$AR71XX_BOARD_NAME" > /tmp/sysinfo/board_name
215         echo "$AR71XX_MODEL" > /tmp/sysinfo/model
216 }
217
218 ar71xx_board_name() {
219         local name
220
221         [ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name)
222         [ -z "$name" ] && name="unknown"
223
224         echo "$name"
225 }