ath79: add support for Ubiquiti Nanostation Loco M (XM)
[openwrt/openwrt.git] / target / linux / ath79 / generic / base-files / etc / hotplug.d / firmware / 10-ath9k-eeprom
1 #!/bin/sh
2
3 [ -e /lib/firmware/$FIRMWARE ] && exit 0
4
5 . /lib/functions/caldata.sh
6 . /lib/functions/mikrotik-caldata.sh
7
8 board=$(board_name)
9
10 case "$FIRMWARE" in
11 "ath9k-eeprom-ahb-18100000.wmac.bin")
12 case $board in
13 avm,fritz4020)
14 caldata_extract_reverse "urlader" 0x1541 0x440
15 ;;
16 dlink,dir-505|\
17 dlink,dir-825-c1|\
18 dlink,dir-835-a1)
19 caldata_extract "art" 0x1000 0x440
20 ath9k_patch_mac $(mtd_get_mac_text "mac" 0x4)
21 ;;
22 dlink,dir-842-c1|\
23 dlink,dir-842-c2|\
24 dlink,dir-842-c3|\
25 dlink,dir-859-a1|\
26 nec,wg1200cr|\
27 wd,mynet-n750)
28 caldata_extract "art" 0x1000 0x440
29 ath9k_patch_mac $(mtd_get_mac_ascii devdata "wlan24mac")
30 ;;
31 engenius,ecb1750)
32 caldata_extract "art" 0x1000 0x440
33 ath9k_patch_mac $(macaddr_add $(mtd_get_mac_ascii u-boot-env "athaddr") +1)
34 ;;
35 engenius,epg5000|\
36 iodata,wn-ac1167dgr|\
37 iodata,wn-ac1600dgr|\
38 iodata,wn-ac1600dgr2|\
39 iodata,wn-ag300dgr|\
40 sitecom,wlr-7100)
41 caldata_extract "art" 0x1000 0x440
42 ath9k_patch_mac $(mtd_get_mac_ascii u-boot-env ethaddr)
43 ;;
44 mikrotik,routerboard-wap-g-5hact2hnd)
45 mikrotik_caldata_extract "art" 0x1000 0x440
46 ath9k_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0x10) +2)
47 ;;
48 nec,wg800hp)
49 caldata_extract "art" 0x1000 0x440
50 ath9k_patch_mac $(mtd_get_mac_text board_data 0x680)
51 ;;
52 qihoo,c301)
53 caldata_extract "radiocfg" 0x1000 0x440
54 ath9k_patch_mac $(mtd_get_mac_ascii devdata "wlan24mac")
55 ;;
56 *)
57 caldata_die "board $board is not supported yet"
58 ;;
59 esac
60 ;;
61 "ath9k-eeprom-pci-0000:00:00.0.bin")
62 case $board in
63 avm,fritz300e)
64 caldata_extract_reverse "urloader" 0x1541 0x440
65 ;;
66 buffalo,wzr-hp-g302h-a1a0)
67 caldata_extract "art" 0x1000 0xeb8
68 ;;
69 buffalo,wzr-hp-g450h)
70 caldata_extract "art" 0x1000 0x440
71 ;;
72 dlink,dir-825-c1|\
73 dlink,dir-835-a1)
74 caldata_extract "art" 0x5000 0x440
75 ath9k_patch_mac $(macaddr_add $(mtd_get_mac_text "mac" 0x18) 1)
76 ;;
77 ocedo,raccoon|\
78 tplink,tl-wdr3500-v1|\
79 tplink,tl-wdr3600-v1|\
80 tplink,tl-wdr4300-v1|\
81 tplink,tl-wdr4300-v1-il|\
82 tplink,tl-wdr4900-v2|\
83 winchannel,wb2000)
84 caldata_extract "art" 0x5000 0x440
85 ;;
86 netgear,wnr2200-8m|\
87 netgear,wnr2200-16m|\
88 pcs,cap324|\
89 tplink,tl-wr2543-v1|\
90 tplink,tl-wr842n-v1|\
91 ubnt,airrouter|\
92 ubnt,bullet-m|\
93 ubnt,nanostation-loco-m|\
94 ubnt,nanostation-m|\
95 ubnt,rocket-m)
96 caldata_extract "art" 0x1000 0x1000
97 ;;
98 ubnt,unifi)
99 caldata_extract "art" 0x1000 0x800
100 ;;
101 wd,mynet-n750)
102 caldata_extract "art" 0x5000 0x440
103 ath9k_patch_mac $(mtd_get_mac_ascii devdata "wlan5mac")
104 ;;
105 wd,mynet-wifi-rangeextender)
106 caldata_extract "art" 0x1000 0x1000
107 ath9k_patch_mac $(nvram get wl0_hwaddr)
108 ;;
109 *)
110 caldata_die "board $board is not supported yet"
111 ;;
112 esac
113 ;;
114 "ath9k-eeprom-pci-0000:00:11.0.bin")
115 case $board in
116 buffalo,wzr-hp-ag300h|\
117 netgear,wndr3700|\
118 netgear,wndr3700-v2|\
119 netgear,wndr3800|\
120 netgear,wndr3800ch)
121 caldata_extract "art" 0x1000 0xeb8
122 ;;
123 dlink,dir-825-b1)
124 caldata_extract "caldata" 0x1000 0xeb8
125 ath9k_patch_mac_crc $(mtd_get_mac_text "caldata" 0xffa0) 0x20c
126 ;;
127 *)
128 caldata_die "board $board is not supported yet"
129 ;;
130 esac
131 ;;
132 "ath9k-eeprom-pci-0000:00:12.0.bin")
133 case $board in
134 buffalo,wzr-hp-ag300h|\
135 netgear,wndr3700|\
136 netgear,wndr3700-v2|\
137 netgear,wndr3800|\
138 netgear,wndr3800ch)
139 caldata_extract "art" 0x5000 0xeb8
140 ;;
141 dlink,dir-825-b1)
142 caldata_extract "caldata" 0x5000 0xeb8
143 ath9k_patch_mac_crc $(macaddr_add $(mtd_get_mac_text "caldata" 0xffb4) 1) 0x20c
144 ;;
145 *)
146 caldata_die "board $board is not supported yet"
147 ;;
148 esac
149 ;;
150 esac