ipq806x: enable ieee80211 phy hotplug and patch macaddress
authorAdrian Panella <ianchi74@outlook.com>
Tue, 21 Jun 2016 16:12:26 +0000 (11:12 -0500)
committerJohn Crispin <john@phrozen.org>
Wed, 22 Jun 2016 17:32:06 +0000 (19:32 +0200)
Calibration data for QCA99x0 in this device has bogus macaddress.
The data cannot be modified directly, as it breaks checksum control.
Instead change the macaddress from phy add hotplug event.

Signed-off-by: Adrian Panella <ianchi74@outlook.com>
target/linux/ipq806x/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac [new file with mode: 0644]

diff --git a/target/linux/ipq806x/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac b/target/linux/ipq806x/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
new file mode 100644 (file)
index 0000000..1ae4352
--- /dev/null
@@ -0,0 +1,23 @@
+#!/bin/ash
+
+[ "$ACTION" == "add" ] || exit 0
+
+PHYNBR=${DEVPATH##*/phy}
+
+[ -n $PHYNBR ] || exit 0
+
+. /lib/ipq806x.sh
+. /lib/functions/system.sh
+
+board=$(ipq806x_board_name)
+
+case "$board" in
+       c2600)
+               echo $(macaddr_add $(mtd_get_mac_binary default-mac 8)  $(($PHYNBR - 1)) ) > /sys${DEVPATH}/macaddress
+               ;;
+       ea8500)
+               echo $(macaddr_add $(mtd_get_mac_ascii devinfo hw_mac_addr) $(($PHYNBR + 1)) ) > /sys${DEVPATH}/macaddress
+               ;;
+       *)
+               ;;
+esac