ath79: fix wmac initialization for Zyxel NBG6716
authorGuillaume Lefebvre <guillaume@zelig.ch>
Fri, 20 Dec 2019 23:21:32 +0000 (00:21 +0100)
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>
Mon, 13 Apr 2020 17:21:56 +0000 (19:21 +0200)
2.4 GHz Wifi on ath79 is set up in 10-ath9k-eeprom, but in ar71xx
it was done with ath79_register_wmac.

Thus, the following errors are observed on the device:
ath: phy1: Unable to initialize hardware; initialization status: -5
ath9k 18100000.wmac: failed to initialize device
ath9k: probe of 18100000.wmac failed with error -5

This patch changes the ath79 support to properly use wmac as well.
This will also require fixing the MAC address in a different way.

Signed-off-by: Guillaume Lefebvre <guillaume@zelig.ch>
[several adjustments to 10-fix-wifi-mac, use correct MAC address,
rewrite commit message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
target/linux/ath79/dts/qca9558_zyxel_nbg6716.dts
target/linux/ath79/nand/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
target/linux/ath79/nand/base-files/etc/hotplug.d/ieee80211/10-fix-wifi-mac [new file with mode: 0644]

index 4ad65c31e88a9a174df1a03407018721d676ccf4..a495bb187b485279d06debd9db46333be76a4b37 100644 (file)
 
 &wmac {
        status = "okay";
+
+       mtd-cal-data = <&art 0x1000>;
 };
 
 &pcie1 {
index d2f8bae1caa0304ab3ef3d3b23d3b9788adfb6ff..f5fae46dfb7050f90e80ae069732eb8faa682c65 100644 (file)
@@ -15,10 +15,6 @@ case "$FIRMWARE" in
        netgear,wndr4500-v3)
                caldata_extract "caldata" 0x1000 0x440
                ;;
-       zyxel,nbg6716)
-               caldata_extract "art" 0x1000 0x440
-               ath9k_patch_mac $(mtd_get_mac_ascii u-boot-env ethaddr)
-               ;;
        *)
                caldata_die "board $board is not supported yet"
                ;;
diff --git a/target/linux/ath79/nand/base-files/etc/hotplug.d/ieee80211/10-fix-wifi-mac b/target/linux/ath79/nand/base-files/etc/hotplug.d/ieee80211/10-fix-wifi-mac
new file mode 100644 (file)
index 0000000..6c61e5d
--- /dev/null
@@ -0,0 +1,18 @@
+[ "$ACTION" = "add" ] || exit 0
+
+PHYNBR=${DEVPATH##*/phy}
+
+[ -n $PHYNBR ] || exit 0
+
+. /lib/functions.sh
+. /lib/functions/system.sh
+
+board=$(board_name)
+
+case $board in
+       zyxel,nbg6716)
+               # Set mac address for 2.4g device
+               [ "$PHYNBR" -eq 1 ] && \
+                       mtd_get_mac_ascii u-boot-env ethaddr > /sys${DEVPATH}/macaddress
+               ;;
+esac