local count=$3
local mtd
- . /lib/functions.sh
-
mtd=$(find_mtd_chardev $part)
[ -n "$mtd" ] || \
ath9k_eeprom_die "no mtd device found for partition $part"
ath9k_eeprom_die "failed to extract from $mtd"
}
+ath9k_patch_firmware_mac() {
+ local mac=$1
+
+ [ -z "$mac" ] && return
+
+ macaddr_2bin $mac | dd of=/lib/firmware/$FIRMWARE conv=notrunc bs=1 seek=2 count=6
+}
+
[ -e /lib/firmware/$FIRMWARE ] && exit 0
. /lib/ar71xx.sh
+. /lib/functions.sh
board=$(ar71xx_board_name)
case $board in
wndr4300)
ath9k_eeprom_extract "caldata" 4096 2048
+ ath9k_patch_firmware_mac $(mtd_get_mac_binary caldata 0)
;;
*)
ath9k_eeprom_die "board $board is not supported yet"
case $board in
wndr4300)
ath9k_eeprom_extract "caldata" 20480 2048
+ ath9k_patch_firmware_mac $(mtd_get_mac_binary caldata 12)
;;
*)
ath9k_eeprom_die "board $board is not supported yet"
ucidef_add_switch "switch0" "1" "1"
ucidef_add_switch_vlan "switch0" "1" "0t 1 2 3 4"
ucidef_add_switch_vlan "switch0" "2" "0t 5"
+ mac_lan=$(mtd_get_mac_binary caldata 0)
+ [ -n "$mac_lan" ] && ucidef_set_interface_macaddr "lan" "$mac_lan"
+ mac_wan=$(mtd_get_mac_binary caldata 6)
+ [ -n "$mac_wan" ] && ucidef_set_interface_macaddr "wan" "$mac_wan"
;;
all0305 |\