summaryrefslogtreecommitdiff
path: root/target/linux/ath79/mikrotik/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
blob: e0bf1e47efb492f9dcf66a51ec9c64c954a5d9fd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/bin/sh

[ -e /lib/firmware/$FIRMWARE ] && exit 0

. /lib/functions/caldata.sh

caldata_mikrotik_ath9k() {
	local offset=$(($1))
	local count=$(($2))
	local macaddr=$3

	caldata_from_file $wlan_data $offset $count /tmp/$FIRMWARE
	ath9k_patch_mac "$macaddr" /tmp/$FIRMWARE
	caldata_sysfsload_from_file /tmp/$FIRMWARE 0x0 $count
	rm -f /tmp/$FIRMWARE
}

wlan_data="/sys/firmware/mikrotik/hard_config/wlan_data"
mac_base="$(cat /sys/firmware/mikrotik/hard_config/mac_base)"

board=$(board_name)

case "$FIRMWARE" in
"ath9k-eeprom-ahb-18100000.wmac.bin")
	case $board in
	mikrotik,routerboard-911-lite|\
	mikrotik,routerboard-912uag-2hpnd|\
	mikrotik,routerboard-lhg-2nd|\
	mikrotik,routerboard-lhg-5nd|\
	mikrotik,routerboard-sxt-5nd-r2|\
	mikrotik,routerboard-wap-2nd|\
	mikrotik,routerboard-wapr-2nd)
		caldata_mikrotik_ath9k 0x1000 0x440 $(macaddr_add "$mac_base" 1)
		;;
	mikrotik,routerboard-map-2nd)
		caldata_mikrotik_ath9k 0x1000 0x440 $(macaddr_add "$mac_base" 3)
		;;
	mikrotik,routerboard-mapl-2nd|\
	mikrotik,routerboard-wap-g-5hact2hnd)
		caldata_mikrotik_ath9k 0x1000 0x440 $(macaddr_add "$mac_base" 2)
		;;
	mikrotik,routerboard-951ui-2nd|\
	mikrotik,routerboard-952ui-5ac2nd)
		caldata_mikrotik_ath9k 0x1000 0x440 $(macaddr_add "$mac_base" 6)
		;;
	mikrotik,routerboard-962uigs-5hact2hnt)
		caldata_mikrotik_ath9k 0x1000 0x440 $(macaddr_add "$mac_base" 7)
		;;
	*)
		caldata_die "board $board is not supported yet"
		;;
	esac
	;;
esac