1
0
mirror of https://github.com/cjdelisle/openwrt.git synced 2025-03-16 10:51:00 +00:00
Files
.github
config
include
package
scripts
target
imagebuilder
linux
apm821xx
ar7
ar71xx
arc770
archs38
armvirt
at91
ath25
bcm53xx
brcm2708
brcm47xx
brcm63xx
cns3xxx
en7526
gemini
generic
imx6
ipq40xx
ipq806x
ixp4xx
kirkwood
lantiq
layerscape
malta
mediatek
mpc85xx
base-files
etc
board.d
hotplug.d
firmware
10-ath9k-eeprom
ieee80211
diag.sh
lib
files
generic
image
p1020
patches-4.9
Makefile
config-4.9
mvebu
mxs
octeon
octeontx
omap
orion
oxnas
pistachio
ramips
rb532
sunxi
uml
x86
Makefile
sdk
toolchain
Config.in
Makefile
toolchain
tools
.gitattributes
.gitignore
BSDmakefile
Config.in
LICENSE
Makefile
README.md
_config
feeds.conf.default
rules.mk
version
version.date
openwrt/target/linux/mpc85xx/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom

67 lines
1.2 KiB
Plaintext
Raw Normal View History

#!/bin/sh
FW_FILE="/lib/firmware/$FIRMWARE"
ath9k_eeprom_die() {
echo "ath9k eeprom: " "$*" >&2
exit 1
}
ath9k_eeprom_extract() {
local part=$1
local offset=$2
local count=$3
local mtd
mtd=$(find_mtd_chardev $part)
[ -n "$mtd" ] || \
ath9k_eeprom_die "no mtd device found for partition $part"
dd if=$mtd bs=$offset skip=1 count=1 2>/dev/null | dd of=$FW_FILE bs=$count count=1 2>/dev/null || \
ath9k_eeprom_die "failed to extract from $mtd"
}
tpl_set_wireless_mac()
{
local offset=$1
local mac
mac=$(mtd_get_mac_binary u-boot 326656)
mac=$(macaddr_add $mac $offset)
macaddr_2bin $mac | dd bs=1 count=6 seek=2 conv=notrunc of=$FW_FILE 2>/dev/null
}
[ -e $FW_FILE ] && exit 0
. /lib/functions.sh
. /lib/functions/system.sh
board=$(board_name)
case "$FIRMWARE" in
"pci_wmac0.eeprom")
case $board in
tplink,tl-wdr4900-v1)
ath9k_eeprom_extract "caldata" 4096 2048
tpl_set_wireless_mac 0
;;
*)
ath9k_eeprom_die "board $board is not supported yet"
;;
esac
;;
"pci_wmac1.eeprom")
case $board in
tplink,tl-wdr4900-v1)
ath9k_eeprom_extract "caldata" 20480 2048
tpl_set_wireless_mac -1
;;
*)
ath9k_eeprom_die "board $board is not supported yet"
;;
esac
;;
esac