Initial commit
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
do_ar71xx() {
|
||||
. /lib/ar71xx.sh
|
||||
|
||||
ar71xx_board_detect
|
||||
}
|
||||
|
||||
boot_hook_add preinit_main do_ar71xx
|
||||
@@ -0,0 +1,60 @@
|
||||
#
|
||||
# Copyright (C) 2009 OpenWrt.org
|
||||
#
|
||||
|
||||
fetch_mac_from_mtd() {
|
||||
local mtd_part=$1
|
||||
local lan_env=$2
|
||||
local wan_env=$3
|
||||
local mtd mac
|
||||
|
||||
mtd=$(grep $mtd_part /proc/mtd | cut -d: -f1)
|
||||
[ -z $mtd ] && return
|
||||
|
||||
mac=$(grep $lan_env /dev/$mtd | cut -d= -f2)
|
||||
[ ! -z $mac ] && ifconfig eth0 hw ether $mac 2>/dev/null
|
||||
|
||||
mac=$(grep $wan_env /dev/$mtd | cut -d= -f2)
|
||||
[ ! -z $mac ] && ifconfig eth1 hw ether $mac 2>/dev/null
|
||||
}
|
||||
|
||||
preinit_set_mac_address() {
|
||||
. /lib/functions.sh
|
||||
|
||||
case $(board_name) in
|
||||
c-55|\
|
||||
c-60)
|
||||
mac_lan=$(mtd_get_mac_binary art 0)
|
||||
[ -n "$mac_lan" ] && ifconfig eth0 hw ether "$mac_lan"
|
||||
;;
|
||||
dir-615-c1|\
|
||||
tew-632brp)
|
||||
fetch_mac_from_mtd config lan_mac wan_mac
|
||||
;;
|
||||
dir-615-i1)
|
||||
fetch_mac_from_mtd nvram sys_lan_mac sys_wan_mac
|
||||
;;
|
||||
mr18|\
|
||||
z1)
|
||||
mac_lan=$(mtd_get_mac_binary_ubi board-config 102)
|
||||
[ -n "$mac_lan" ] && ifconfig eth0 hw ether "$mac_lan"
|
||||
;;
|
||||
r6100)
|
||||
mac_lan=$(mtd_get_mac_binary caldata 0)
|
||||
[ -n "$mac_lan" ] && ifconfig eth1 hw ether "$mac_lan"
|
||||
mac_wan=$(mtd_get_mac_binary caldata 6)
|
||||
[ -n "$mac_wan" ] && ifconfig eth0 hw ether "$mac_wan"
|
||||
;;
|
||||
rambutan)
|
||||
mac_lan=$(mtd_get_mac_binary art 0)
|
||||
[ -n "$mac_lan" ] && ifconfig eth0 hw ether "$mac_lan"
|
||||
mac_wan=$(mtd_get_mac_binary art 6)
|
||||
[ -n "$mac_wan" ] && ifconfig eth1 hw ether "$mac_wan"
|
||||
;;
|
||||
wrt160nl)
|
||||
fetch_mac_from_mtd nvram lan_hwaddr wan_hwaddr
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
boot_hook_add preinit_main preinit_set_mac_address
|
||||
@@ -0,0 +1,57 @@
|
||||
#!/bin/sh
|
||||
|
||||
#
|
||||
# Copyright (C) 2009 OpenWrt.org
|
||||
#
|
||||
|
||||
set_preinit_iface() {
|
||||
. /lib/functions.sh
|
||||
|
||||
case $(board_name) in
|
||||
alfa-ap96|\
|
||||
alfa-nx|\
|
||||
ap135-020|\
|
||||
ap136-020|\
|
||||
ap147-010|\
|
||||
archer-c5|\
|
||||
archer-c7|\
|
||||
bhr-4grv2|\
|
||||
dir-505-a1|\
|
||||
gl-ar750|\
|
||||
gl-inet|\
|
||||
jwap003|\
|
||||
pb42|\
|
||||
pb44|\
|
||||
rb-433|\
|
||||
rb-433u|\
|
||||
rb-435g|\
|
||||
rb-450|\
|
||||
rb-450g|\
|
||||
routerstation|\
|
||||
routerstation-pro|\
|
||||
smart-300|\
|
||||
tl-mr3420-v2|\
|
||||
tl-wdr4900-v2|\
|
||||
tl-wr1043nd-v2|\
|
||||
tl-wr710n|\
|
||||
tl-wr720n-v3|\
|
||||
tl-wr841n-v8|\
|
||||
tl-wr842n-v2|\
|
||||
tl-wr940n-v4|\
|
||||
tl-wr940n-v6|\
|
||||
tl-wr941nd-v6|\
|
||||
wnr1000-v2|\
|
||||
wnr2000-v3|\
|
||||
wnr2200|\
|
||||
wnr612-v2|\
|
||||
wpe72|\
|
||||
wpn824n)
|
||||
ifname=eth1
|
||||
;;
|
||||
*)
|
||||
ifname=eth0
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
boot_hook_add preinit_main set_preinit_iface
|
||||
50
target/linux/ar71xx/base-files/lib/preinit/82_patch_ath10k
Normal file
50
target/linux/ar71xx/base-files/lib/preinit/82_patch_ath10k
Normal file
@@ -0,0 +1,50 @@
|
||||
#!/bin/sh
|
||||
|
||||
. /lib/functions.sh
|
||||
. /lib/functions/system.sh
|
||||
|
||||
do_patch_ath10k_firmware() {
|
||||
local firmware_file="/lib/firmware/ath10k/QCA988X/hw2.0/firmware-5.bin"
|
||||
|
||||
# bail out if firmware does not exist
|
||||
[ -f "$firmware_file" ] || return
|
||||
|
||||
local mac_offset=276
|
||||
local mac_length=6
|
||||
local default_mac="00:03:07:12:34:56"
|
||||
local current_mac="$(hexdump -v -n $mac_length -s $mac_offset -e '5/1 "%02x:" 1/1 "%02x"' $firmware_file 2>/dev/null)"
|
||||
|
||||
# check if mac address was already patched
|
||||
[ "$default_mac" = "$current_mac" ] || return
|
||||
|
||||
# some boards have bogus mac in otp (= directly in the PCIe card's EEPROM).
|
||||
# we have to patch the default mac in the firmware because we cannot change
|
||||
# the otp.
|
||||
case $(board_name) in
|
||||
dgl-5500-a1|\
|
||||
tew-823dru)
|
||||
local mac
|
||||
mac=$(mtd_get_mac_ascii nvram wlan1_mac)
|
||||
|
||||
cp $firmware_file /tmp/ath10k-firmware.bin
|
||||
macaddr_2bin $mac | dd of=/tmp/ath10k-firmware.bin \
|
||||
conv=notrunc bs=1 seek=$mac_offset count=$mac_length
|
||||
;;
|
||||
esac
|
||||
|
||||
[ -f /tmp/ath10k-firmware.bin ] || return
|
||||
|
||||
cp /tmp/ath10k-firmware.bin $firmware_file
|
||||
rm /tmp/ath10k-firmware.bin
|
||||
}
|
||||
|
||||
check_patch_ath10k_firmware() {
|
||||
case $(board_name) in
|
||||
dgl-5500-a1|\
|
||||
tew-823dru)
|
||||
do_patch_ath10k_firmware
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
boot_hook_add preinit_main check_patch_ath10k_firmware
|
||||
Reference in New Issue
Block a user