[PATCH 1/2] ramips: add support for ELECOM WRC-1167GS2-B

Adrian Schmutzler mail at adrianschmutzler.de
Fri Dec 18 19:22:23 EST 2020


Hi,

> >> Notes:
> >>
> >> - there is no way to configure the correct MAC address for secondary phy
> >>    (5GHz) on MT7615D
> > This one seems to address a similar case (just scroll to the very bottom):
> >
> > https://patchwork.ozlabs.org/project/openwrt/patch/1607939702-85475-
> 1-
> > git-send-email-xinfa.deng at gl-inet.com/
> >
> > Would this work for you as well (at least for the MAC address)?
> >
> > Best
> >
> > Adrian
> 
> I've tested it, but doesn't work.
> 
> I made the following change,

sorry, but would you test again please with the 10_fix_wifi_mac changes and recent master?

There have been several changes to mt76 in b837534f029da10abbd1069392867e0700134ace that might be relevant/helping.

Best

Adrian

> 
> ```
> 
> diff --git
> a/target/linux/ramips/mt7621/base-
> files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
> b/target/linux/ramips/mt7621/base-
> files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
> index b7a41f038c..f0093d4337 100644
> ---
> a/target/linux/ramips/mt7621/base-
> files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
> +++
> b/target/linux/ramips/mt7621/base-
> files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
> @@ -10,6 +10,14 @@ PHYNBR=${DEVPATH##*/phy}
>   board=$(board_name)
> 
>   case "$board" in
> +       elecom,wrc-1167gs2-b)
> +               [ "$PHYNBR" = "1" ] && \
> +                       $(mtd_get_mac_binary factory 0x4) >
> /sys${DEVPATH}/macaddress
> +               ;;
> +       elecom,wrc-1167gst2)
> +               [ "$PHYNBR" = "1" ] && \
> +                       macaddr_add $(mtd_get_mac_binary factory
> 0xe006) 2 > /sys${DEVPATH}/macaddress
> +               ;;
>          linksys,ea7300-v1|\
>          linksys,ea7300-v2|\
>          linksys,ea7500-v2)
> 
> ```
> 
> but iwinfo still reports the MAC address generated from phy0 by mt76
> 
> driver.
> 
> ```
> 
> (WRC-1167GS2-B)
> 
> root at OpenWrt:/# iwinfo
> wlan0     ESSID: unknown
>            Access Point: 04:AB:18:58:2F:15
>            Mode: Client  Channel: unknown (unknown)
>            Tx-Power: 3 dBm  Link Quality: unknown/70
>            Signal: unknown  Noise: unknown
>            Bit Rate: unknown
>            Encryption: unknown
>            Type: nl80211  HW Mode(s): 802.11bgnac
>            Hardware: 14C3:7615 7615:14C3 [MediaTek MT7615E]
>            TX power offset: none
>            Frequency offset: none
>            Supports VAPs: yes  PHY name: phy0
> 
> wlan1     ESSID: unknown
>            Access Point: 86:AB:18:58:2F:15
>            Mode: Client  Channel: unknown (unknown)
>            Tx-Power: 3 dBm  Link Quality: unknown/70
>            Signal: unknown  Noise: unknown
>            Bit Rate: unknown
>            Encryption: unknown
>            Type: nl80211  HW Mode(s): 802.11nac
>            Hardware: 14C3:7615 7615:14C3 [MediaTek MT7615E]
>            TX power offset: none
>            Frequency offset: none
>            Supports VAPs: yes  PHY name: phy1
> 
> root at OpenWrt:/# cat /sys/class/ieee80211/phy1/macaddress
> 86:ab:18:58:2f:15
> 
> ```
> 
> >> - Wi-Fi band on primary phy (2.4GHz) cannot be limitted by specifying
> >>    ieee80211-freq-limit
> >>    (fail to register secondary phy due to error)
> >> - mtd-mac-address in the wifi node is required for using
> >>    mtd-mac-address-increment
> >>
> >> Signed-off-by: INAGAKI Hiroshi <musashino.open at gmail.com>
> >> ---
> >>   .../dts/mt7621_elecom_wrc-1167gs2-b.dts       |  57 ++++++
> >>   .../dts/mt7621_elecom_wrc-1167gsxx.dtsi       | 179
> ++++++++++++++++++
> >>   target/linux/ramips/image/mt7621.mk           |   8 +
> >>   3 files changed, 244 insertions(+)
> >>   create mode 100644
> >> target/linux/ramips/dts/mt7621_elecom_wrc-1167gs2-
> >> b.dts
> >>   create mode 100644 target/linux/ramips/dts/mt7621_elecom_wrc-
> >> 1167gsxx.dtsi
> >>
> >> diff --git a/target/linux/ramips/dts/mt7621_elecom_wrc-1167gs2-b.dts
> >> b/target/linux/ramips/dts/mt7621_elecom_wrc-1167gs2-b.dts
> >> new file mode 100644
> >> index 0000000000..af0c580c64
> >> --- /dev/null
> >> +++ b/target/linux/ramips/dts/mt7621_elecom_wrc-1167gs2-b.dts
> >> @@ -0,0 +1,57 @@
> >> +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
> >> +
> >> +#include "mt7621_elecom_wrc-1167gsxx.dtsi"
> >> +
> >> +/ {
> >> +	compatible = "elecom,wrc-1167gs2-b", "mediatek,mt7621-soc";
> >> +	model = "ELECOM WRC-1167GS2-B";
> >> +
> >> +	aliases {
> >> +		label-mac-device = &wan;
> >> +	};
> >> +};
> >> +
> >> +&gmac0 {
> >> +	mtd-mac-address = <&factory 0xfff4>; };
> >> +
> >> +&wan {
> >> +	mtd-mac-address = <&factory 0xfffa>; };
> >> +
> >> +&partitions {
> >> +	partition at 50000 {
> >> +		compatible = "denx,uimage";
> >> +		label = "firmware";
> >> +		reg = <0x50000 0xb00000>;
> >> +	};
> >> +
> >> +	partition at b50000 {
> >> +		label = "tm_pattern";
> >> +		reg = <0xb50000 0x380000>;
> >> +		read-only;
> >> +	};
> >> +
> >> +	partition at ed0000 {
> >> +		label = "tm_key";
> >> +		reg = <0xed0000 0x80000>;
> >> +		read-only;
> >> +	};
> >> +
> >> +	partition at f50000 {
> >> +		label = "nvram";
> >> +		reg = <0xf50000 0x30000>;
> >> +		read-only;
> >> +	};
> >> +
> >> +	partition at f80000 {
> >> +		label = "user_data";
> >> +		reg = <0xf80000 0x80000>;
> >> +		read-only;
> >> +	};
> >> +};
> >> +
> >> +&wifi {
> >> +	mtd-mac-address = <&factory 0x4>;
> >> +	mtd-mac-address-increment = <(-1)>; };
> >> diff --git a/target/linux/ramips/dts/mt7621_elecom_wrc-1167gsxx.dtsi
> >> b/target/linux/ramips/dts/mt7621_elecom_wrc-1167gsxx.dtsi
> >> new file mode 100644
> >> index 0000000000..a13ddc963f
> >> --- /dev/null
> >> +++ b/target/linux/ramips/dts/mt7621_elecom_wrc-1167gsxx.dtsi
> >> @@ -0,0 +1,179 @@
> >> +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
> >> +
> >> +#include "mt7621.dtsi"
> >> +
> >> +#include <dt-bindings/gpio/gpio.h>
> >> +#include <dt-bindings/input/input.h>
> >> +
> >> +/ {
> >> +	aliases {
> >> +		led-boot = &led_power_green;
> >> +		led-failsafe = &led_power_green;
> >> +		led-running = &led_power_green;
> >> +		led-upgrade = &led_power_green;
> >> +	};
> >> +
> >> +	leds {
> >> +		compatible = "gpio-leds";
> >> +
> >> +		wlan2g {
> >> +			label = "white:wlan2g";
> >> +			gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
> >> +		};
> >> +
> >> +		wlan5g {
> >> +			label = "white:wlan5g";
> >> +			gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
> >> +		};
> >> +
> >> +		led_power_green: power_green {
> >> +			label = "green:power";
> >> +			gpios = <&gpio 7 GPIO_ACTIVE_HIGH>;
> >> +		};
> >> +
> >> +		power_blue {
> >> +			label = "blue:power";
> >> +			gpios = <&gpio 8 GPIO_ACTIVE_HIGH>;
> >> +		};
> >> +
> >> +		wps {
> >> +			label = "red:wps";
> >> +			gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
> >> +		};
> >> +
> >> +		power_red {
> >> +			label = "red:power";
> >> +			gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;
> >> +		};
> >> +	};
> >> +
> >> +	keys {
> >> +		compatible = "gpio-keys";
> >> +
> >> +		reset {
> >> +			label = "reset";
> >> +			gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
> >> +			linux,code = <KEY_RESTART>;
> >> +		};
> >> +
> >> +		wps {
> >> +			label = "wps";
> >> +			gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
> >> +			linux,code = <KEY_WPS_BUTTON>;
> >> +		};
> >> +
> >> +		client {
> >> +			label = "client";
> >> +			gpios = <&gpio 41 GPIO_ACTIVE_LOW>;
> >> +			linux,code = <BTN_0>;
> >> +			linux,input-type = <EV_SW>;
> >> +		};
> >> +
> >> +		ap {
> >> +			label = "ap";
> >> +			gpios = <&gpio 42 GPIO_ACTIVE_LOW>;
> >> +			linux,code = <BTN_0>;
> >> +			linux,input-type = <EV_SW>;
> >> +		};
> >> +
> >> +		extender {
> >> +			label = "extender";
> >> +			gpios = <&gpio 43 GPIO_ACTIVE_LOW>;
> >> +			linux,code = <BTN_0>;
> >> +			linux,input-type = <EV_SW>;
> >> +		};
> >> +
> >> +		router {
> >> +			label = "router";
> >> +			gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
> >> +			linux,code = <BTN_0>;
> >> +			linux,input-type = <EV_SW>;
> >> +		};
> >> +	};
> >> +};
> >> +
> >> +&switch0 {
> >> +	ports {
> >> +		wan: port at 0 {
> >> +			status = "okay";
> >> +			label = "wan";
> >> +		};
> >> +
> >> +		port at 1 {
> >> +			status = "okay";
> >> +			label = "lan4";
> >> +		};
> >> +
> >> +		port at 2 {
> >> +			status = "okay";
> >> +			label = "lan3";
> >> +		};
> >> +
> >> +		port at 3 {
> >> +			status = "okay";
> >> +			label = "lan2";
> >> +		};
> >> +
> >> +		port at 4 {
> >> +			status = "okay";
> >> +			label = "lan1";
> >> +		};
> >> +	};
> >> +};
> >> +
> >> +&spi0 {
> >> +	status = "okay";
> >> +
> >> +	flash at 0 {
> >> +		compatible = "jedec,spi-nor";
> >> +		reg = <0>;
> >> +		spi-max-frequency = <40000000>;
> >> +
> >> +		partitions: partitions {
> >> +			compatible = "fixed-partitions";
> >> +			#address-cells = <1>;
> >> +			#size-cells = <1>;
> >> +
> >> +			partition at 0 {
> >> +				label = "u-boot";
> >> +				reg = <0x0 0x30000>;
> >> +				read-only;
> >> +			};
> >> +
> >> +			partition at 30000 {
> >> +				label = "u-boot-env";
> >> +				reg = <0x30000 0x10000>;
> >> +				read-only;
> >> +			};
> >> +
> >> +			factory: partition at 40000 {
> >> +				label = "factory";
> >> +				reg = <0x40000 0x10000>;
> >> +				read-only;
> >> +			};
> >> +		};
> >> +	};
> >> +};
> >> +
> >> +&pcie {
> >> +	status = "okay";
> >> +};
> >> +
> >> +&pcie0 {
> >> +	wifi: wifi at 0,0 {
> >> +		compatible = "mediatek,mt76";
> >> +		reg = <0x0000 0 0 0 0>;
> >> +		mediatek,mtd-eeprom = <&factory 0x0>;
> >> +	};
> >> +};
> >> +
> >> +&state_default {
> >> +	gpio {
> >> +		groups = "i2c", "uart3", "jtag", "wdt", "sdhci";
> >> +		function = "gpio";
> >> +	};
> >> +};
> >> +
> >> +&xhci {
> >> +	status = "disabled";
> >> +};
> >> diff --git a/target/linux/ramips/image/mt7621.mk
> >> b/target/linux/ramips/image/mt7621.mk
> >> index ce9a3ae3d2..468c6ad4da 100644
> >> --- a/target/linux/ramips/image/mt7621.mk
> >> +++ b/target/linux/ramips/image/mt7621.mk
> >> @@ -404,6 +404,14 @@ define Device/elecom_wrc-gs
> >>     DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware  endef
> >>
> >> +define Device/elecom_wrc-1167gs2-b
> >> +  $(Device/elecom_wrc-gs)
> >> +  IMAGE_SIZE := 11264k
> >> +  DEVICE_MODEL := WRC-1167GS2-B
> >> +  ELECOM_HWNAME := WRC-1167GS2
> >> +endef
> >> +TARGET_DEVICES += elecom_wrc-1167gs2-b
> >> +
> >>   define Device/elecom_wrc-1750gs
> >>     $(Device/elecom_wrc-gs)
> >>     IMAGE_SIZE := 11264k
> >> --
> >> 2.28.0.windows.1
> >>
> >>
> >> _______________________________________________
> >> openwrt-devel mailing list
> >> openwrt-devel at lists.openwrt.org
> >> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
> 
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel at lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: openpgp-digital-signature.asc
Type: application/pgp-signature
Size: 834 bytes
Desc: not available
URL: <http://lists.openwrt.org/pipermail/openwrt-devel/attachments/20201219/98f4f36b/attachment-0001.sig>


More information about the openwrt-devel mailing list