ramips: add support for ALFA Network AWUSFREE1

ALFA Network AWUSFREE1 is an USB Wi-Fi N300 adapter based on MT7628.

Specification:

- MT7628AN (580 MHz)
- 64 MB of RAM (DDR2)
- 8 MB of FLASH (SPI NOR)
- 2T2R 2.4 GHz (MT7628) with external FEM (RFFM4203)
- 2x detachable antennas (RP-SMA)
- ASIX AX88772 USB to Ethernet bridge (connected with MT7628 PHY0)
- 4x LED (2 driven by GPIO)
- 1x button (reset)
- 1x mini USB for host and main power input
- UART header on PCB

Flash instruction:

You can use sysupgrade image directly in vendor firmware which is based
on LEDE/OpenWrt. Alternatively, you can use web recovery mode in U-Boot:

1. Power device with reset button pressed and release it after ~5 sec.
2. Setup static IP 192.168.1.2/4 on your PC.
3. Go to 192.168.1.1 in browser and upload "sysupgrade" image.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
This commit is contained in:
Piotr Dymacz 2018-01-26 16:21:34 +01:00
parent 8c64824576
commit f1c193c27e
6 changed files with 201 additions and 20 deletions

View file

@ -60,6 +60,9 @@ alfa-network,ac1200rm)
set_wifi_led "$boardname:green:wlan2g" "wlan1" set_wifi_led "$boardname:green:wlan2g" "wlan1"
ucidef_set_led_default "wps" "wps" "$boardname:green:wps" "0" ucidef_set_led_default "wps" "wps" "$boardname:green:wps" "0"
;; ;;
alfa-network,awusfree1)
set_wifi_led "$boardname:blue:wlan"
;;
all0256n-4M|\ all0256n-4M|\
all0256n-8M) all0256n-8M)
ucidef_set_rssimon "wlan0" "200000" "1" ucidef_set_rssimon "wlan0" "200000" "1"

View file

@ -126,6 +126,27 @@ ramips_setup_interfaces()
ucidef_add_switch "switch0" \ ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0" "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
;; ;;
alfa-network,awusfree1|\
cs-qr10|\
d105|\
dlink,dap-1522-a1|\
dch-m225|\
ex2700|\
ex3700|\
hpm|\
mzk-ex300np|\
mzk-ex750np|\
na930|\
pbr-d1|\
tama,w06|\
u25awf-h1|\
wli-tx4-ag300n|\
wmdr-143n|\
wmr-300|\
wn3000rpv3|\
wrh-300cr)
ucidef_set_interface_lan "eth0"
;;
mir3g) mir3g)
ucidef_add_switch "switch0" \ ucidef_add_switch "switch0" \
"2:lan:2" "3:lan:1" "1:wan" "6t@eth0" "2:lan:2" "3:lan:1" "1:wan" "6t@eth0"
@ -237,26 +258,6 @@ ramips_setup_interfaces()
ucidef_add_switch "switch0" \ ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "9@eth0" "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "9@eth0"
;; ;;
cs-qr10|\
d105|\
dlink,dap-1522-a1|\
dch-m225|\
ex2700|\
ex3700|\
hpm|\
mzk-ex300np|\
mzk-ex750np|\
na930|\
pbr-d1|\
tama,w06|\
u25awf-h1|\
wli-tx4-ag300n|\
wmdr-143n|\
wmr-300|\
wn3000rpv3|\
wrh-300cr)
ucidef_set_interface_lan "eth0"
;;
duzun-dm06) duzun-dm06)
ucidef_add_switch "switch0" \ ucidef_add_switch "switch0" \
"1:lan" "0:wan" "6@eth0" "1:lan" "0:wan" "6@eth0"

View file

@ -78,6 +78,9 @@ get_status_led() {
wrh-300cr) wrh-300cr)
status_led="$boardname:green:wps" status_led="$boardname:green:wps"
;; ;;
alfa-network,awusfree1)
status_led="$boardname:orange:system"
;;
all0239-3g|\ all0239-3g|\
dcs-930|\ dcs-930|\
dir-300-b1|\ dir-300-b1|\

View file

@ -17,6 +17,7 @@ platform_check_image() {
ai-br100|\ ai-br100|\
air3gii|\ air3gii|\
alfa-network,ac1200rm|\ alfa-network,ac1200rm|\
alfa-network,awusfree1|\
all0239-3g|\ all0239-3g|\
all0256n-4M|\ all0256n-4M|\
all0256n-8M|\ all0256n-8M|\

View file

@ -0,0 +1,164 @@
/*
* BSD LICENSE
*
* Copyright (C) 2018 Piotr Dymacz <pepe2k@gmail.com>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the names of the copyright holders nor the names of any
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/dts-v1/;
#include "mt7628an.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "alfa-network,awusfree1", "mediatek,mt7628an-soc";
model = "ALFA Network AWUSFREE1";
chosen {
bootargs = "console=ttyS0,115200";
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
gpio-leds {
compatible = "gpio-leds";
system {
label = "awusfree1:orange:system";
gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
};
wlan {
label = "awusfree1:blue:wlan";
gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
};
};
memory@0 {
device_type = "memory";
reg = <0x0 0x4000000>;
};
};
&ehci {
status = "disabled";
};
&esw {
mediatek,portdisable = <0x1e>;
};
&ethernet {
mtd-mac-address = <&factory 0x2e>;
};
&gpio1 {
status = "okay";
};
&ohci {
status = "disabled";
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "p0led_an", "wdt", "wled_an";
ralink,function = "gpio";
};
ext_lna {
ralink,group = "uart1";
ralink,function = "sw_r";
};
ext_pa {
ralink,group = "i2s";
ralink,function = "antenna";
};
};
};
&spi0 {
status = "okay";
m25p80@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
m25p,chunked-io = <32>;
partition@0 {
label = "u-boot";
reg = <0x0 0x30000>;
read-only;
};
partition@30000 {
label = "u-boot-env";
reg = <0x30000 0x1000>;
};
partition@031000 {
label = "config";
reg = <0x31000 0xf000>;
read-only;
};
factory: partition@40000 {
label = "factory";
reg = <0x40000 0x10000>;
read-only;
};
partition@50000 {
label = "firmware";
reg = <0x50000 0x7b0000>;
};
};
};
&wmac {
status = "okay";
mediatek,mtd-eeprom = <&factory 0x0>;
};

View file

@ -19,6 +19,15 @@ endef
DEVICE_VARS += TPLINK_FLASHLAYOUT TPLINK_HWID TPLINK_HWREV TPLINK_HWREVADD TPLINK_HVERSION DEVICE_VARS += TPLINK_FLASHLAYOUT TPLINK_HWID TPLINK_HWREV TPLINK_HWREVADD TPLINK_HVERSION
define Device/alfa-network_awusfree1
DTS := AWUSFREE1
IMAGE_SIZE := $(ralink_default_fw_size_8M)
DEVICE_TITLE := ALFA Network AWUSFREE1
DEVICE_PACKAGES := uboot-envtools
SUPPORTED_DEVICES := $(subst _,$(comma),$(1))
endef
TARGET_DEVICES += alfa-network_awusfree1
define Device/tama_w06 define Device/tama_w06
DTS := W06 DTS := W06
IMAGE_SIZE := 15040k IMAGE_SIZE := 15040k