This commit takes advantages of base-files 220 which introduces routines to perform caldata loading directly via the kernel sysfs loader helper. This has the benefits of not wasting flash space to store caldata. Memory footprint is reduced to the bare minimum: for devices that don't need MAC patching, the caldata is loaded directly, for devices that do need MAC patching, the caldata is extracted to /tmp, patched and then loaded. Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
26 lines
615 B
Bash
26 lines
615 B
Bash
#!/bin/sh
|
|
|
|
[ -e /lib/firmware/$FIRMWARE ] && exit 0
|
|
|
|
. /lib/functions/caldata.sh
|
|
|
|
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-wap-g-5hact2hnd)
|
|
caldata_from_file $wlan_data 0x1000 0x440 /tmp/$FIRMWARE
|
|
ath9k_patch_mac $(macaddr_add "$mac_base" +2) /tmp/$FIRMWARE
|
|
caldata_sysfsload_from_file /tmp/$FIRMWARE 0x0 0x440
|
|
rm -f /tmp/$FIRMWARE
|
|
;;
|
|
*)
|
|
caldata_die "board $board is not supported yet"
|
|
;;
|
|
esac
|
|
;;
|
|
esac
|