mirror of https://github.com/hak5/openwrt-owl.git
ath79: add support for WD My Net Wi-Fi Range Extender
This patch ports over support for the device from ar71xx. SOC: AR7370 (Wasp - AR9344 rev2 0001974c) RAM: Winbond W9725G6KB-25 32MiB FLASH: Winbond 25Q64FVSIG 8MiB WLAN: AR9380 Dual-Band 802.11abgn 3x3:3 INPUT: WPS, RESET button (hardware on/off toggle button) LED: Power, LAN, WiFi, 3 RSSI-Leds (low, medium, high) Serial: Header Next to the winbond flash chip (labeld JP1) Pinout is GND - NC - RX - TX - 3V3 (JP1) The Serial setting is 115200-8-N-1. - Installation via uboot's upgrade command 0. attach serial cable 1. interrupt uboot and enter "upgrade code.bin" into the u-boot prompt ar7240> upgrade code.bin 2. rename openwrt...sysupgrade.bin to code.bin on PC 3. run a tftp-client on the PC (shell)$ tftp 192.168.1.230 binary put code.bin 4. wait for the device to finish [...] Copy buff to Flash from 0x9f040000 length 0x79f000 Copy to Flash... write addr: 9f040000 done 5. enter "go" in the u-boot prompt ar7240> go - TFTP ramdisk image boot from the uboot prompt (tftp server defaults to serverip 192.168.1.254) => tftpboot 81000000 initramfs.bin => bootm Tested and working: - LEDs - Buttons - Ethernet - Wi-Fi - OpenWRT sysupgrade For flashing and debricking information see: <https://openwrt.org/toh/wd/rext> Users coming from ar71xx can use sysupgrade too. But I highly advise to no save the old configuration and start from a clean state. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>master
parent
cd9c2492c1
commit
745dee11ac
|
@ -99,6 +99,14 @@ ubnt,rocket-m)
|
||||||
ucidef_set_led_rssi "rssimediumlow" "RSSIMEDIUMLOW" "ubnt:orange:link2" "wlan0" "26" "100"
|
ucidef_set_led_rssi "rssimediumlow" "RSSIMEDIUMLOW" "ubnt:orange:link2" "wlan0" "26" "100"
|
||||||
ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH" "ubnt:green:link3" "wlan0" "51" "100"
|
ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH" "ubnt:green:link3" "wlan0" "51" "100"
|
||||||
ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "ubnt:green:link4" "wlan0" "76" "100"
|
ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "ubnt:green:link4" "wlan0" "76" "100"
|
||||||
|
;;
|
||||||
|
wd,mynet-wifi-rangeextender)
|
||||||
|
ucidef_set_led_netdev "lan" "LAN" "$boardname:green:lan" "eth0"
|
||||||
|
ucidef_set_rssimon "wlan0" "200000" "1"
|
||||||
|
ucidef_set_led_rssi "rssilow" "RSSILOW" "$boardname:rssi-low" "wlan0" "1" "100"
|
||||||
|
ucidef_set_led_rssi "rssimedium" "RSSIMED" "$boardname:blue:rssi-med" "wlan0" "33" "100"
|
||||||
|
ucidef_set_led_rssi "rssihigh" "RSSIMAX" "$boardname:blue:rssi-max" "wlan0" "66" "100"
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
board_config_flush
|
board_config_flush
|
||||||
|
|
|
@ -23,7 +23,8 @@ ath79_setup_interfaces()
|
||||||
ubnt,rocket-m|\
|
ubnt,rocket-m|\
|
||||||
ubnt,unifiac-lite|\
|
ubnt,unifiac-lite|\
|
||||||
ubnt,unifiac-mesh|\
|
ubnt,unifiac-mesh|\
|
||||||
ubnt,unifi)
|
ubnt,unifi|\
|
||||||
|
wd,mynet-wifi-rangeextender)
|
||||||
ucidef_set_interface_lan "eth0"
|
ucidef_set_interface_lan "eth0"
|
||||||
;;
|
;;
|
||||||
buffalo,wzr-hp-g450h)
|
buffalo,wzr-hp-g450h)
|
||||||
|
@ -207,6 +208,9 @@ ath79_setup_macs()
|
||||||
wan_mac=$(fconfig -s -r -d $(find_mtd_part "RedBoot config") -n ar7100_esa)
|
wan_mac=$(fconfig -s -r -d $(find_mtd_part "RedBoot config") -n ar7100_esa)
|
||||||
lan_mac=$(macaddr_add "$wan_mac" 1)
|
lan_mac=$(macaddr_add "$wan_mac" 1)
|
||||||
;;
|
;;
|
||||||
|
wd,mynet-wifi-rangeextender)
|
||||||
|
lan_mac=$(nvram get et0macaddr)
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
[ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
|
[ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
|
||||||
|
|
|
@ -145,6 +145,10 @@ case "$FIRMWARE" in
|
||||||
ubnt,unifi)
|
ubnt,unifi)
|
||||||
ath9k_eeprom_extract "art" 4096 2048
|
ath9k_eeprom_extract "art" 4096 2048
|
||||||
;;
|
;;
|
||||||
|
wd,mynet-wifi-rangeextender)
|
||||||
|
ath9k_eeprom_extract "art" 4096 4096
|
||||||
|
ath9k_patch_fw_mac_crc $(nvram get wl0_hwaddr) "$mac" 2
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
ath9k_eeprom_die "board $board is not supported yet"
|
ath9k_eeprom_die "board $board is not supported yet"
|
||||||
;;
|
;;
|
||||||
|
|
|
@ -0,0 +1,174 @@
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||||
|
/dts-v1/;
|
||||||
|
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
#include <dt-bindings/input/input.h>
|
||||||
|
|
||||||
|
#include "ar9344.dtsi"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "Western Digital My Net Wi-Fi Range Extender";
|
||||||
|
compatible = "wd,mynet-wifi-rangeextender", "qca,ar9344";
|
||||||
|
|
||||||
|
chosen {
|
||||||
|
bootargs = "console=ttyS0,115200n8";
|
||||||
|
};
|
||||||
|
|
||||||
|
aliases {
|
||||||
|
led-boot = &power;
|
||||||
|
led-failsafe = &power;
|
||||||
|
led-running = &power;
|
||||||
|
led-upgrade = &power;
|
||||||
|
};
|
||||||
|
|
||||||
|
leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
|
||||||
|
power: power {
|
||||||
|
label = "mynet-wifi-rangeextender:blue:power";
|
||||||
|
gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
|
||||||
|
/* LED has no off state. It's either on or it blinks */
|
||||||
|
};
|
||||||
|
|
||||||
|
lan {
|
||||||
|
label = "mynet-wifi-rangeextender:green:lan";
|
||||||
|
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
|
||||||
|
wifi {
|
||||||
|
label = "mynet-wifi-rangeextender:blue:wifi";
|
||||||
|
gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
|
||||||
|
linux,default-trigger = "phy0tpt";
|
||||||
|
};
|
||||||
|
|
||||||
|
wifi-rssi-low {
|
||||||
|
label = "mynet-wifi-rangeextender:blue:rssi-low";
|
||||||
|
gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
|
||||||
|
wifi-rssi-med {
|
||||||
|
label = "mynet-wifi-rangeextender:blue:rssi-med";
|
||||||
|
gpios = <&gpio 21 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
|
||||||
|
wifi-rssi-max {
|
||||||
|
label = "mynet-wifi-rangeextender:blue:rssi-max";
|
||||||
|
gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
keys {
|
||||||
|
compatible = "gpio-keys-polled";
|
||||||
|
poll-interval = <50>;
|
||||||
|
|
||||||
|
reset {
|
||||||
|
linux,code = <KEY_RESTART>;
|
||||||
|
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
|
||||||
|
debounce-interval = <60>;
|
||||||
|
};
|
||||||
|
|
||||||
|
band-switch {
|
||||||
|
linux,code = <BTN_1>;
|
||||||
|
gpios = <&gpio 14 GPIO_ACTIVE_HIGH>;
|
||||||
|
linux,input-type = <EV_SW>;
|
||||||
|
debounce-interval = <60>;
|
||||||
|
};
|
||||||
|
|
||||||
|
wps {
|
||||||
|
linux,code = <KEY_WPS_BUTTON>;
|
||||||
|
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
|
||||||
|
debounce-interval = <60>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&ref {
|
||||||
|
clock-frequency = <25000000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&spi {
|
||||||
|
num-cs = <1>;
|
||||||
|
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
flash@0 {
|
||||||
|
compatible = /* "s25fl064k", */ "jedec,spi-nor";
|
||||||
|
reg = <0>;
|
||||||
|
spi-max-frequency = <25000000>;
|
||||||
|
|
||||||
|
partitions {
|
||||||
|
compatible = "fixed-partitions";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
|
||||||
|
uboot: partition@0 {
|
||||||
|
label = "u-boot";
|
||||||
|
reg = <0x0 0x040000>;
|
||||||
|
read-only;
|
||||||
|
};
|
||||||
|
|
||||||
|
partition@40000 {
|
||||||
|
label = "firmware";
|
||||||
|
reg = <0x40000 0x7a0000>;
|
||||||
|
compatible = "cybertan,trx";
|
||||||
|
};
|
||||||
|
|
||||||
|
nvram: partition@7e0000 {
|
||||||
|
label = "nvram";
|
||||||
|
reg = <0x7e0000 0x10000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
art: partition@7f0000 {
|
||||||
|
label = "art";
|
||||||
|
reg = <0x7f0000 0x10000>;
|
||||||
|
read-only;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&pcie {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
ath9k: wifi@0,0 {
|
||||||
|
compatible = "pci168c,0030";
|
||||||
|
reg = <0x0000 0 0 0 0>;
|
||||||
|
qca,no-eeprom;
|
||||||
|
/* wifi MAC is stored in nvram */
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&mdio0 {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
phy-mask = <0x10>;
|
||||||
|
|
||||||
|
phy4: ethernet-phy@4 {
|
||||||
|
reg = <4>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
ð0 {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
pll-data = <0x0e000000 0x3c000101 0x3c001313>;
|
||||||
|
|
||||||
|
/* ethernet MAC is stored in nvram */
|
||||||
|
phy-mode = "rgmii";
|
||||||
|
phy-handle = <&phy4>;
|
||||||
|
|
||||||
|
gmac-config {
|
||||||
|
device = <&gmac>;
|
||||||
|
rgmii-gmac0 = <1>;
|
||||||
|
rxd-delay = <3>;
|
||||||
|
rxdv-delay = <3>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&mdio1 {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
|
@ -1,5 +1,22 @@
|
||||||
include ./common-netgear.mk
|
include ./common-netgear.mk
|
||||||
|
|
||||||
|
DEVICE_VARS += ADDPATTERN_ID ADDPATTERN_VERSION
|
||||||
|
|
||||||
|
define Build/cybertan-trx
|
||||||
|
@echo -n '' > $@-empty.bin
|
||||||
|
-$(STAGING_DIR_HOST)/bin/trx -o $@.new \
|
||||||
|
-f $(IMAGE_KERNEL) -F $@-empty.bin \
|
||||||
|
-x 32 -a 0x10000 -x -32 -f $@
|
||||||
|
-mv "$@.new" "$@"
|
||||||
|
-rm $@-empty.bin
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Build/addpattern
|
||||||
|
-$(STAGING_DIR_HOST)/bin/addpattern -B $(ADDPATTERN_ID) \
|
||||||
|
-v v$(ADDPATTERN_VERSION) -i $@ -o $@.new
|
||||||
|
-mv "$@.new" "$@"
|
||||||
|
endef
|
||||||
|
|
||||||
define Device/avm_fritz300e
|
define Device/avm_fritz300e
|
||||||
ATH_SOC := ar7242
|
ATH_SOC := ar7242
|
||||||
DEVICE_TITLE := AVM FRITZ!WLAN Repeater 300E
|
DEVICE_TITLE := AVM FRITZ!WLAN Repeater 300E
|
||||||
|
@ -232,3 +249,16 @@ define Device/phicomm_k2t
|
||||||
DEVICE_PACKAGES := kmod-leds-reset kmod-ath10k ath10k-firmware-qca9888
|
DEVICE_PACKAGES := kmod-leds-reset kmod-ath10k ath10k-firmware-qca9888
|
||||||
endef
|
endef
|
||||||
TARGET_DEVICES += phicomm_k2t
|
TARGET_DEVICES += phicomm_k2t
|
||||||
|
|
||||||
|
define Device/wd_mynet-wifi-rangeextender
|
||||||
|
ATH_SOC := ar9344
|
||||||
|
DEVICE_TITLE := Western Digital My Net Wi-Fi Range Extender
|
||||||
|
DEVICE_PACKAGES := rssileds nvram -swconfig
|
||||||
|
IMAGE_SIZE := 7808k
|
||||||
|
ADDPATTERN_ID := mynet-rext
|
||||||
|
ADDPATTERN_VERSION := 1.00.01
|
||||||
|
IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | cybertan-trx | \
|
||||||
|
addpattern | append-metadata
|
||||||
|
SUPPORTED_DEVICES += mynet-rext
|
||||||
|
endef
|
||||||
|
TARGET_DEVICES += wd_mynet-wifi-rangeextender
|
||||||
|
|
Loading…
Reference in New Issue