diff mbox series

[OpenWrt-Devel,v2] ramips: add TRENDnet TEW-810DR support

Message ID 20200227023902.GA31471@centurylink.net
State Changes Requested
Headers show
Series [OpenWrt-Devel,v2] ramips: add TRENDnet TEW-810DR support | expand

Commit Message

Heppler, J. Scott Feb. 27, 2020, 2:39 a.m. UTC
Signed-off-by: J. Scott Heppler <shep971@centurylink.net>

ramips: add support for TRENDnet TEW-810DR

Exact hardware clone for the D-Link DIR-810L.  See OpenWRT device pages
and review the PCB photos, boot logs and MTP flash partitions.
https://openwrt.org/toh/trendnet/trendnet_tew-810dr_1.0_1.1
https://openwrt.org/toh/d-link/dir-810l

Specification:

* MediaTek MT7620A (580 Mhz)
* 8 MB of FLASH
* 64 MB of RAM
* 5x 10/100 Mbps Ethernet (1 WAN and 4 LAN)
* UART header on PCB (57600 8n1)
* 2x BiColor LED (GPIO-controlled)
* 2x button - power and reset
* U-boot bootloader

Installation:

The sysupgrade.bin image needs to have a cameo hardware ID appended
with ncc_att_hwid.  ncc_att_hwid is available in the GPL Source
download for either the TEW-810DR or DIR-810L and is located at
source/user/wolf/cameo/ncc/hostTools
The invocation is:
ncc_att_hwid -f tew-810-squashfs-factory.bin -a -m “TEW-810DR”
-H “1.0R” -r “WW” -c “1.0”
More information is available in the device page for TEW-810DR linked
above The appended image can then be flash via the Web rescue interface
192.168.10.1 or TFTP's to the same IP address.  Subsequent upgrades
can be done using the Luci web interface or the ssh command line per the
OpenWRT documentation
---
 .../ramips/dts/mt7620a_trendnet_tew-810dr.dts | 157 ++++++++++++++++++
 target/linux/ramips/image/mt7620.mk           |  10 ++
 .../mt7620/base-files/etc/board.d/02_network  |   3 +-
 3 files changed, 169 insertions(+), 1 deletion(-)
 create mode 100644 target/linux/ramips/dts/mt7620a_trendnet_tew-810dr.dts

Comments

Adrian Schmutzler Feb. 27, 2020, 12:37 p.m. UTC | #1
Hi,

> -----Original Message-----
> From: openwrt-devel [mailto:openwrt-devel-bounces@lists.openwrt.org] On
> Behalf Of Heppler, J. Scott
> Sent: Donnerstag, 27. Februar 2020 03:39
> To: openwrt-devel@openwrt.org
> Subject: [OpenWrt-Devel] [PATCH v2] ramips: add TRENDnet TEW-810DR support
> 
> Signed-off-by: J. Scott Heppler <shep971@centurylink.net>
> 
> ramips: add support for TRENDnet TEW-810DR
> 
> Exact hardware clone for the D-Link DIR-810L.  See OpenWRT device pages
> and review the PCB photos, boot logs and MTP flash partitions.
> https://openwrt.org/toh/trendnet/trendnet_tew-810dr_1.0_1.1
> https://openwrt.org/toh/d-link/dir-810l
> 
> Specification:
> 
> * MediaTek MT7620A (580 Mhz)
> * 8 MB of FLASH
> * 64 MB of RAM
> * 5x 10/100 Mbps Ethernet (1 WAN and 4 LAN)
> * UART header on PCB (57600 8n1)
> * 2x BiColor LED (GPIO-controlled)
> * 2x button - power and reset
> * U-boot bootloader
> 
> Installation:
> 
> The sysupgrade.bin image needs to have a cameo hardware ID appended
> with ncc_att_hwid.  ncc_att_hwid is available in the GPL Source
> download for either the TEW-810DR or DIR-810L and is located at
> source/user/wolf/cameo/ncc/hostTools
> The invocation is:
> ncc_att_hwid -f tew-810-squashfs-factory.bin -a -m “TEW-810DR”
> -H “1.0R” -r “WW” -c “1.0”
> More information is available in the device page for TEW-810DR linked
> above The appended image can then be flash via the Web rescue interface
> 192.168.10.1 or TFTP's to the same IP address.  Subsequent upgrades
> can be done using the Luci web interface or the ssh command line per the
> OpenWRT documentation
> ---
>  .../ramips/dts/mt7620a_trendnet_tew-810dr.dts | 157 ++++++++++++++++++
>  target/linux/ramips/image/mt7620.mk           |  10 ++
>  .../mt7620/base-files/etc/board.d/02_network  |   3 +-
>  3 files changed, 169 insertions(+), 1 deletion(-)
>  create mode 100644 target/linux/ramips/dts/mt7620a_trendnet_tew-810dr.dts
> 
> diff --git a/target/linux/ramips/dts/mt7620a_trendnet_tew-810dr.dts
> b/target/linux/ramips/dts/mt7620a_trendnet_tew-810dr.dts
> new file mode 100644
> index 0000000000..eb38110801
> --- /dev/null
> +++ b/target/linux/ramips/dts/mt7620a_trendnet_tew-810dr.dts

shared DTSI with dir-810l ?

> @@ -0,0 +1,157 @@
> +/dts-v1/;
> +
> +#include "mt7620a.dtsi"
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/input/input.h>
> +
> +/ {
> +	compatible = "trendnet,tew-810dr", "ralink,mt7620a-soc";
> +	model = "TRENDnet TEW-810DR";
> +
> +	aliases {
> +		led-boot = &led_power_green;
> +		led-failsafe = &led_power_green;
> +		led-running = &led_power_green;
> +		led-upgrade = &led_power_green;
> +		label-mac-device = &ethernet;
> +	};
> +
> +	keys {
> +		compatible = "gpio-keys";
> +
> +		reset {
> +			label = "reset";
> +			gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
> +			linux,code = <BTN_0>;
> +		};
> +
> +		wps {
> +			label = "wps";
> +			gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
> +			linux,code = <BTN_0>;

Why not use the proper codes on these?

> +		};
> +	};
> +
> +	leds {
> +		compatible = "gpio-leds";
> +
> +		led_power_green: power {

led_power_green: power_green {

> +			label = "dir-810l:green:power";

That would be one of the few parts where both devices will be different (and which would not belong into a shared DTSI). But if you didn't even change the name, have you actually checked whether the LED GPIOs are the same?

> +			gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>;
> +		};
> +
> +		wan {
> +			label = "dir-810l:orange:wan";
> +			gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
> +		};
> +
> +		power2 {

power_orange

> +			label = "dir-810l:orange:power";
> +			gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
> +		};
> +	};
> +};
> +
> +&spi0 {
> +	status = "okay";
> +
> +	m25p80@0 {

flash@0

> +		compatible = "jedec,spi-nor";
> +		reg = <0>;
> +		spi-max-frequency = <10000000>;

Can this go faster?

> +
> +		partitions {
> +			compatible = "fixed-partitions";
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +
> +			partition@0 {
> +				label = "u-boot";
> +				reg = <0x0 0x30000>;
> +				read-only;
> +			};
> +
> +			partition@30000 {
> +				label = "u-boot-env";
> +				reg = <0x30000 0x10000>;
> +				read-only;
> +			};
> +
> +			factory: partition@40000 {
> +				label = "factory";
> +				reg = <0x40000 0x10000>;
> +				read-only;
> +			};
> +
> +			factory5g: partition@50000 {
> +				label = "factory5g";
> +				reg = <0x50000 0x10000>;
> +				read-only;
> +			};
> +
> +			partition@60000 {
> +				label = "Wolf_Config";
> +				reg = <0x60000 0x10000>;
> +				read-only;
> +			};
> +
> +			partition@70000 {
> +				label = "MyDlink";
> +				reg = <0x70000 0x80000>;
> +				read-only;
> +			};
> +
> +			partition@e0000 {
> +				label = "Jffs2";
> +				reg = <0xe0000 0x80000>;

Based on the previous partition's size, this should be 0xf0000. This would also match the start of the subsequent partition.

Can you provide the partitioning of the device with stock firmware?

> +				read-only;
> +			};
> +
> +			partition@170000 {
> +				compatible = "denx,uimage";
> +				label = "firmware";
> +				reg = <0x170000 0x690000>;
> +			};
> +		};
> +	};
> +};
> +
> +&state_default {
> +	gpio {
> +		ralink,group = "mdio", "rgmii1", "i2c", "wled", "uartf";

I only see "i2c" and "uartf" required above.

> +		ralink,function = "gpio";
> +	};
> +};
> +
> +&ethernet {
> +	mtd-mac-address = <&factory 0x28>;

Have you verified the MAC address assignment for WiFi and ethernet with vendor OS?

> +	mediatek,portmap = "llllw";
> +};
> +
> +&gsw {
> +	mediatek,port4 = "ephy";
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&ephy_pins>;
> +};
> +
> +&pcie {
> +	status = "okay";
> +};
> +
> +&wmac {
> +	ralink,mtd-eeprom = <&factory 0x0>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pa_pins>;
> +	mtd-mac-address = <&factory 0x28>;

Is there no valid address in factory 0x4?

> +};
> +
> +&pcie0 {
> +	wifi@0,0 {
> +		reg = <0x0000 0 0 0 0>;
> +		mediatek,mtd-eeprom = <&factory 0x8000>;

I wonder why there is a factory5g partition then?

> +		ieee80211-freq-limit = <5000000 6000000>;
> +		mtd-mac-address = <&factory 0x28>;
> +		mtd-mac-address-increment = <2>;

Is there no valid address in factory 0x8004?

> +	};
> +};
> diff --git a/target/linux/ramips/image/mt7620.mk
> b/target/linux/ramips/image/mt7620.mk
> index 3512a1c55a..71e4270a20 100644
> --- a/target/linux/ramips/image/mt7620.mk
> +++ b/target/linux/ramips/image/mt7620.mk
> @@ -942,6 +942,16 @@ define Device/tplink_re200-v1
>  endef
>  TARGET_DEVICES += tplink_re200-v1
> 
> +define Device/trendnet_tew-810dr
> +  SOC := mt7620a
> +  DEVICE_PACKAGES := kmod-mt76x0e
> +  DEVICE_VENDOR := TRENDnet
> +  DEVICE_MODEL := TEW-810DR
> +  IMAGE_SIZE := 6720k
> +  SUPPORTED_DEVICES += dir-810l

I do not see a reason to enable cross-flashing between different devices. I see that this is meant for those who used dir-810l image on this device before, but still I do not think it's a good idea to have this path available by default.

> +endef
> +TARGET_DEVICES += trendnet_tew-810dr
> +
>  define Device/vonets_var11n-300
>    SOC := mt7620n
>    IMAGE_SIZE := 3776k
> diff --git a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
> b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
> index 7397ddcc2c..a1b3f4bd0c 100755
> --- a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
> +++ b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
> @@ -255,7 +255,8 @@ ramips_setup_macs()

You neither set up the LEDs nor the switch.

So, there's still a lot to do.

Best

Adrian

>  	alfa-network,ac1200rm|\
>  	dlink,dir-810l|\
>  	phicomm,psg1218a|\
> -	phicomm,psg1218b)
> +	phicomm,psg1218b|\
> +	trendnet,tew-810dr)
>  		wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory
> 0x28)" 1)
>  		;;
>  	alfa-network,r36m-e4g|\
> --
> 2.20.1
> 
> --
> J. Scott Heppler
> 
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
Heppler, J. Scott Feb. 27, 2020, 1:28 p.m. UTC | #2
On Feb 27, 2020: 13:37, Adrian Schmutzler wrote:
>Hi,
>
>> -----Original Message-----
>> From: openwrt-devel [mailto:openwrt-devel-bounces@lists.openwrt.org] On
>> Behalf Of Heppler, J. Scott
>> Sent: Donnerstag, 27. Februar 2020 03:39
>> To: openwrt-devel@openwrt.org
>> Subject: [OpenWrt-Devel] [PATCH v2] ramips: add TRENDnet TEW-810DR support
>>
>> Signed-off-by: J. Scott Heppler <shep971@centurylink.net>
>>
>> ramips: add support for TRENDnet TEW-810DR
>>
>> Exact hardware clone for the D-Link DIR-810L.  See OpenWRT device pages
>> and review the PCB photos, boot logs and MTP flash partitions.
>> https://openwrt.org/toh/trendnet/trendnet_tew-810dr_1.0_1.1
>> https://openwrt.org/toh/d-link/dir-810l
>>
>> Specification:
>>
>> * MediaTek MT7620A (580 Mhz)
>> * 8 MB of FLASH
>> * 64 MB of RAM
>> * 5x 10/100 Mbps Ethernet (1 WAN and 4 LAN)
>> * UART header on PCB (57600 8n1)
>> * 2x BiColor LED (GPIO-controlled)
>> * 2x button - power and reset
>> * U-boot bootloader
>>
>> Installation:
>>
>> The sysupgrade.bin image needs to have a cameo hardware ID appended
>> with ncc_att_hwid.  ncc_att_hwid is available in the GPL Source
>> download for either the TEW-810DR or DIR-810L and is located at
>> source/user/wolf/cameo/ncc/hostTools
>> The invocation is:
>> ncc_att_hwid -f tew-810-squashfs-factory.bin -a -m “TEW-810DR”
>> -H “1.0R” -r “WW” -c “1.0”
>> More information is available in the device page for TEW-810DR linked
>> above The appended image can then be flash via the Web rescue interface
>> 192.168.10.1 or TFTP's to the same IP address.  Subsequent upgrades
>> can be done using the Luci web interface or the ssh command line per the
>> OpenWRT documentation
>> ---
>>  .../ramips/dts/mt7620a_trendnet_tew-810dr.dts | 157 ++++++++++++++++++
>>  target/linux/ramips/image/mt7620.mk           |  10 ++
>>  .../mt7620/base-files/etc/board.d/02_network  |   3 +-
>>  3 files changed, 169 insertions(+), 1 deletion(-)
>>  create mode 100644 target/linux/ramips/dts/mt7620a_trendnet_tew-810dr.dts
>>
>> diff --git a/target/linux/ramips/dts/mt7620a_trendnet_tew-810dr.dts
>> b/target/linux/ramips/dts/mt7620a_trendnet_tew-810dr.dts
>> new file mode 100644
>> index 0000000000..eb38110801
>> --- /dev/null
>> +++ b/target/linux/ramips/dts/mt7620a_trendnet_tew-810dr.dts
>
>shared DTSI with dir-810l ?

I'm worried about altering the DIR-810L code.  I do not have the D-Link
to test and it was submitted by someone else.
>
>> @@ -0,0 +1,157 @@
>> +/dts-v1/;
>> +
>> +#include "mt7620a.dtsi"
>> +
>> +#include <dt-bindings/gpio/gpio.h>
>> +#include <dt-bindings/input/input.h>
>> +
>> +/ {
>> +	compatible = "trendnet,tew-810dr", "ralink,mt7620a-soc";
>> +	model = "TRENDnet TEW-810DR";
>> +
>> +	aliases {
>> +		led-boot = &led_power_green;
>> +		led-failsafe = &led_power_green;
>> +		led-running = &led_power_green;
>> +		led-upgrade = &led_power_green;
>> +		label-mac-device = &ethernet;
>> +	};
>> +
>> +	keys {
>> +		compatible = "gpio-keys";
>> +
>> +		reset {
>> +			label = "reset";
>> +			gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
>> +			linux,code = <BTN_0>;
>> +		};
>> +
>> +		wps {
>> +			label = "wps";
>> +			gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
>> +			linux,code = <BTN_0>;
>
>Why not use the proper codes on these?  Would the code also need to be
>altered on the DIR-810L?  Can you point me to reference?
>
>> +		};
>> +	};
>> +
>> +	leds {
>> +		compatible = "gpio-leds";
>> +
>> +		led_power_green: power {
>
>led_power_green: power_green {
>
>> +			label = "dir-810l:green:power";
>
>That would be one of the few parts where both devices will be different (and which would not belong into a shared DTSI). But if you didn't even change the name, have you actually checked whether the LED GPIOs are the same?
The Trendnet also has 2 pairs of green/orange LEDs
>
>> +			gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>;
>> +		};
>> +
>> +		wan {
>> +			label = "dir-810l:orange:wan";
>> +			gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
>> +		};
>> +
>> +		power2 {
>
>power_orange
>
>> +			label = "dir-810l:orange:power";
>> +			gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
>> +		};
>> +	};
>> +};
>> +
>> +&spi0 {
>> +	status = "okay";
>> +
>> +	m25p80@0 {
>
>flash@0
>
>> +		compatible = "jedec,spi-nor";
>> +		reg = <0>;
>> +		spi-max-frequency = <10000000>;
>
>Can this go faster?
Would this would go in a shared dtsi.  Should I make a change on a
device I do not have access to?
>
>> +
>> +		partitions {
>> +			compatible = "fixed-partitions";
>> +			#address-cells = <1>;
>> +			#size-cells = <1>;
>> +
>> +			partition@0 {
>> +				label = "u-boot";
>> +				reg = <0x0 0x30000>;
>> +				read-only;
>> +			};
>> +
>> +			partition@30000 {
>> +				label = "u-boot-env";
>> +				reg = <0x30000 0x10000>;
>> +				read-only;
>> +			};
>> +
>> +			factory: partition@40000 {
>> +				label = "factory";
>> +				reg = <0x40000 0x10000>;
>> +				read-only;
>> +			};
>> +
>> +			factory5g: partition@50000 {
>> +				label = "factory5g";
>> +				reg = <0x50000 0x10000>;
>> +				read-only;
>> +			};
>> +
>> +			partition@60000 {
>> +				label = "Wolf_Config";
>> +				reg = <0x60000 0x10000>;
>> +				read-only;
>> +			};
>> +
>> +			partition@70000 {
>> +				label = "MyDlink";
>> +				reg = <0x70000 0x80000>;
>> +				read-only;
>> +			};
>> +
>> +			partition@e0000 {
>> +				label = "Jffs2";
>> +				reg = <0xe0000 0x80000>;
>
>Based on the previous partition's size, this should be 0xf0000. This would also match the start of the subsequent partition.
>
>Can you provide the partitioning of the device with stock firmware?
It was given in the Device page I linked above.  The DIR-810L stock
partition table is also in the respective link.  I verified that both
devices use the same flash/ram chips in the Bootlogs and Wikidevi
archive.
>
>> +				read-only;
>> +			};
>> +
>> +			partition@170000 {
>> +				compatible = "denx,uimage";
>> +				label = "firmware";
>> +				reg = <0x170000 0x690000>;
>> +			};
>> +		};
>> +	};
>> +};
>> +
>> +&state_default {
>> +	gpio {
>> +		ralink,group = "mdio", "rgmii1", "i2c", "wled", "uartf";
>
>I only see "i2c" and "uartf" required above.
>
>> +		ralink,function = "gpio";
>> +	};
>> +};
>> +
>> +&ethernet {
>> +	mtd-mac-address = <&factory 0x28>;
>
>Have you verified the MAC address assignment for WiFi and ethernet with vendor OS?
Will do later today.
>
>> +	mediatek,portmap = "llllw";
>> +};
>> +
>> +&gsw {
>> +	mediatek,port4 = "ephy";
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <&ephy_pins>;
>> +};
>> +
>> +&pcie {
>> +	status = "okay";
>> +};
>> +
>> +&wmac {
>> +	ralink,mtd-eeprom = <&factory 0x0>;
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <&pa_pins>;
>> +	mtd-mac-address = <&factory 0x28>;
>
>Is there no valid address in factory 0x4?
>
>> +};
>> +
>> +&pcie0 {
>> +	wifi@0,0 {
>> +		reg = <0x0000 0 0 0 0>;
>> +		mediatek,mtd-eeprom = <&factory 0x8000>;
>
>I wonder why there is a factory5g partition then?
According to device pages linked above, Both the Trendnet and the D-Link
have mtd4: 00010000 00010000 "5G_RF".  5G did not initially work on the
D-link.  From https://openwrt.org/toh/hwdata/d-link/d-link_dir-810l_b1

Comments: WiFi 5GHz unsupported up to 18.06.1; WiFi 5GHz support added
in snapshot (https://git.openwrt.org/?p=openwrt/openwrt.git;a=
commit;h=cb6a8aa584a2be62aeac9b5b1573303d5615c672)
>
>> +		ieee80211-freq-limit = <5000000 6000000>;
>> +		mtd-mac-address = <&factory 0x28>;
>> +		mtd-mac-address-increment = <2>;
>
>Is there no valid address in factory 0x8004?
>
>> +	};
>> +};
>> diff --git a/target/linux/ramips/image/mt7620.mk
>> b/target/linux/ramips/image/mt7620.mk
>> index 3512a1c55a..71e4270a20 100644
>> --- a/target/linux/ramips/image/mt7620.mk
>> +++ b/target/linux/ramips/image/mt7620.mk
>> @@ -942,6 +942,16 @@ define Device/tplink_re200-v1
>>  endef
>>  TARGET_DEVICES += tplink_re200-v1
>>
>> +define Device/trendnet_tew-810dr
>> +  SOC := mt7620a
>> +  DEVICE_PACKAGES := kmod-mt76x0e
>> +  DEVICE_VENDOR := TRENDnet
>> +  DEVICE_MODEL := TEW-810DR
>> +  IMAGE_SIZE := 6720k
>> +  SUPPORTED_DEVICES += dir-810l
>
>I do not see a reason to enable cross-flashing between different devices. I see that this is meant for those who used dir-810l image on this device before, but still I do not think it's a good idea to have this path available by default.
Would all the concerns you raised for the TEW-810DR also apply to the
DIR-810L?
>
>> +endef
>> +TARGET_DEVICES += trendnet_tew-810dr
>> +
>>  define Device/vonets_var11n-300
>>    SOC := mt7620n
>>    IMAGE_SIZE := 3776k
>> diff --git a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
>> b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
>> index 7397ddcc2c..a1b3f4bd0c 100755
>> --- a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
>> +++ b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
>> @@ -255,7 +255,8 @@ ramips_setup_macs()
>
>You neither set up the LEDs nor the switch.
>
>So, there's still a lot to do.
>
>Best
>
>Adrian
>
>>  	alfa-network,ac1200rm|\
>>  	dlink,dir-810l|\
>>  	phicomm,psg1218a|\
>> -	phicomm,psg1218b)
>> +	phicomm,psg1218b|\
>> +	trendnet,tew-810dr)
>>  		wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory
>> 0x28)" 1)
>>  		;;
>>  	alfa-network,r36m-e4g|\
>> --
>> 2.20.1
>>
>> --
>> J. Scott Heppler
>>
>> _______________________________________________
>> openwrt-devel mailing list
>> openwrt-devel@lists.openwrt.org
>> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
>
Adrian Schmutzler Feb. 27, 2020, 1:44 p.m. UTC | #3
> -----Original Message-----
> From: openwrt-devel [mailto:openwrt-devel-bounces@lists.openwrt.org] On
> Behalf Of Heppler, J. Scott
> Sent: Donnerstag, 27. Februar 2020 14:29
> To: openwrt-devel@openwrt.org
> Subject: Re: [OpenWrt-Devel] [PATCH v2] ramips: add TRENDnet TEW-810DR
> support
> 
> On Feb 27, 2020: 13:37, Adrian Schmutzler wrote:
> >Hi,
> >
> >> -----Original Message-----
> >> From: openwrt-devel [mailto:openwrt-devel-bounces@lists.openwrt.org] On
> >> Behalf Of Heppler, J. Scott
> >> Sent: Donnerstag, 27. Februar 2020 03:39
> >> To: openwrt-devel@openwrt.org
> >> Subject: [OpenWrt-Devel] [PATCH v2] ramips: add TRENDnet TEW-810DR
> support
> >>
> >> Signed-off-by: J. Scott Heppler <shep971@centurylink.net>
> >>
> >> ramips: add support for TRENDnet TEW-810DR
> >>
> >> Exact hardware clone for the D-Link DIR-810L.  See OpenWRT device pages
> >> and review the PCB photos, boot logs and MTP flash partitions.
> >> https://openwrt.org/toh/trendnet/trendnet_tew-810dr_1.0_1.1
> >> https://openwrt.org/toh/d-link/dir-810l
> >>
> >> Specification:
> >>
> >> * MediaTek MT7620A (580 Mhz)
> >> * 8 MB of FLASH
> >> * 64 MB of RAM
> >> * 5x 10/100 Mbps Ethernet (1 WAN and 4 LAN)
> >> * UART header on PCB (57600 8n1)
> >> * 2x BiColor LED (GPIO-controlled)
> >> * 2x button - power and reset
> >> * U-boot bootloader
> >>
> >> Installation:
> >>
> >> The sysupgrade.bin image needs to have a cameo hardware ID appended
> >> with ncc_att_hwid.  ncc_att_hwid is available in the GPL Source
> >> download for either the TEW-810DR or DIR-810L and is located at
> >> source/user/wolf/cameo/ncc/hostTools
> >> The invocation is:
> >> ncc_att_hwid -f tew-810-squashfs-factory.bin -a -m “TEW-810DR”
> >> -H “1.0R” -r “WW” -c “1.0”
> >> More information is available in the device page for TEW-810DR linked
> >> above The appended image can then be flash via the Web rescue interface
> >> 192.168.10.1 or TFTP's to the same IP address.  Subsequent upgrades
> >> can be done using the Luci web interface or the ssh command line per the
> >> OpenWRT documentation
> >> ---
> >>  .../ramips/dts/mt7620a_trendnet_tew-810dr.dts | 157
> ++++++++++++++++++
> >>  target/linux/ramips/image/mt7620.mk           |  10 ++
> >>  .../mt7620/base-files/etc/board.d/02_network  |   3 +-
> >>  3 files changed, 169 insertions(+), 1 deletion(-)
> >>  create mode 100644 target/linux/ramips/dts/mt7620a_trendnet_tew-
> 810dr.dts
> >>
> >> diff --git a/target/linux/ramips/dts/mt7620a_trendnet_tew-810dr.dts
> >> b/target/linux/ramips/dts/mt7620a_trendnet_tew-810dr.dts
> >> new file mode 100644
> >> index 0000000000..eb38110801
> >> --- /dev/null
> >> +++ b/target/linux/ramips/dts/mt7620a_trendnet_tew-810dr.dts
> >
> >shared DTSI with dir-810l ?
> 
> I'm worried about altering the DIR-810L code.  I do not have the D-Link
> to test and it was submitted by someone else.

I will send a some patches for the DIR-810L in a minute. Those should make it easier to move a lot of code into a shared DTSI. Obviously, stuff that still deviates would be kept in the DTSes.

> >
> >> @@ -0,0 +1,157 @@
> >> +/dts-v1/;
> >> +
> >> +#include "mt7620a.dtsi"
> >> +
> >> +#include <dt-bindings/gpio/gpio.h>
> >> +#include <dt-bindings/input/input.h>
> >> +
> >> +/ {
> >> +	compatible = "trendnet,tew-810dr", "ralink,mt7620a-soc";
> >> +	model = "TRENDnet TEW-810DR";
> >> +
> >> +	aliases {
> >> +		led-boot = &led_power_green;
> >> +		led-failsafe = &led_power_green;
> >> +		led-running = &led_power_green;
> >> +		led-upgrade = &led_power_green;
> >> +		label-mac-device = &ethernet;
> >> +	};
> >> +
> >> +	keys {
> >> +		compatible = "gpio-keys";
> >> +
> >> +		reset {
> >> +			label = "reset";
> >> +			gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
> >> +			linux,code = <BTN_0>;
> >> +		};
> >> +
> >> +		wps {
> >> +			label = "wps";
> >> +			gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
> >> +			linux,code = <BTN_0>;
> >
> >Why not use the proper codes on these?  Would the code also need to be
> >altered on the DIR-810L?  Can you point me to reference?

See my patch for DIR-810L coming in a minute.

> >
> >> +		};
> >> +	};
> >> +
> >> +	leds {
> >> +		compatible = "gpio-leds";
> >> +
> >> +		led_power_green: power {
> >
> >led_power_green: power_green {
> >
> >> +			label = "dir-810l:green:power";
> >
> >That would be one of the few parts where both devices will be different (and
> which would not belong into a shared DTSI). But if you didn't even change the
> name, have you actually checked whether the LED GPIOs are the same?
> The Trendnet also has 2 pairs of green/orange LEDs

So, what's the second green LED then?

> >
> >> +			gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>;
> >> +		};
> >> +
> >> +		wan {
> >> +			label = "dir-810l:orange:wan";
> >> +			gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
> >> +		};
> >> +
> >> +		power2 {
> >
> >power_orange
> >
> >> +			label = "dir-810l:orange:power";
> >> +			gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
> >> +		};
> >> +	};
> >> +};
> >> +
> >> +&spi0 {
> >> +	status = "okay";
> >> +
> >> +	m25p80@0 {
> >
> >flash@0
> >
> >> +		compatible = "jedec,spi-nor";
> >> +		reg = <0>;
> >> +		spi-max-frequency = <10000000>;
> >
> >Can this go faster?
> Would this would go in a shared dtsi.  Should I make a change on a
> device I do not have access to?

This depends. If it really is the same board as you say, one could move the spi-max-frequency to the DTSI and then increase it for both devices in a second commit. Otherwise, one could also keep only the spi-max-frequency in the local DTSes.

> >
> >> +
> >> +		partitions {
> >> +			compatible = "fixed-partitions";
> >> +			#address-cells = <1>;
> >> +			#size-cells = <1>;
> >> +
> >> +			partition@0 {
> >> +				label = "u-boot";
> >> +				reg = <0x0 0x30000>;
> >> +				read-only;
> >> +			};
> >> +
> >> +			partition@30000 {
> >> +				label = "u-boot-env";
> >> +				reg = <0x30000 0x10000>;
> >> +				read-only;
> >> +			};
> >> +
> >> +			factory: partition@40000 {
> >> +				label = "factory";
> >> +				reg = <0x40000 0x10000>;
> >> +				read-only;
> >> +			};
> >> +
> >> +			factory5g: partition@50000 {
> >> +				label = "factory5g";
> >> +				reg = <0x50000 0x10000>;
> >> +				read-only;
> >> +			};
> >> +
> >> +			partition@60000 {
> >> +				label = "Wolf_Config";
> >> +				reg = <0x60000 0x10000>;
> >> +				read-only;
> >> +			};
> >> +
> >> +			partition@70000 {
> >> +				label = "MyDlink";
> >> +				reg = <0x70000 0x80000>;
> >> +				read-only;
> >> +			};
> >> +
> >> +			partition@e0000 {
> >> +				label = "Jffs2";
> >> +				reg = <0xe0000 0x80000>;
> >
> >Based on the previous partition's size, this should be 0xf0000. This would also
> match the start of the subsequent partition.
> >
> >Can you provide the partitioning of the device with stock firmware?
> It was given in the Device page I linked above.  The DIR-810L stock
> partition table is also in the respective link.  I verified that both
> devices use the same flash/ram chips in the Bootlogs and Wikidevi
> archive.

The information on the device pages is correct, and the implementation here is wrong.
I will fix this for the DIR-810L, so you can then just copy the updated partitioning to the DTSI.

> >
> >> +				read-only;
> >> +			};
> >> +
> >> +			partition@170000 {
> >> +				compatible = "denx,uimage";
> >> +				label = "firmware";
> >> +				reg = <0x170000 0x690000>;
> >> +			};
> >> +		};
> >> +	};
> >> +};
> >> +
> >> +&state_default {
> >> +	gpio {
> >> +		ralink,group = "mdio", "rgmii1", "i2c", "wled", "uartf";
> >
> >I only see "i2c" and "uartf" required above.
> >
> >> +		ralink,function = "gpio";
> >> +	};
> >> +};
> >> +
> >> +&ethernet {
> >> +	mtd-mac-address = <&factory 0x28>;
> >
> >Have you verified the MAC address assignment for WiFi and ethernet with
> vendor OS?
> Will do later today.
> >
> >> +	mediatek,portmap = "llllw";
> >> +};
> >> +
> >> +&gsw {
> >> +	mediatek,port4 = "ephy";
> >> +	pinctrl-names = "default";
> >> +	pinctrl-0 = <&ephy_pins>;
> >> +};
> >> +
> >> +&pcie {
> >> +	status = "okay";
> >> +};
> >> +
> >> +&wmac {
> >> +	ralink,mtd-eeprom = <&factory 0x0>;
> >> +	pinctrl-names = "default";
> >> +	pinctrl-0 = <&pa_pins>;
> >> +	mtd-mac-address = <&factory 0x28>;
> >
> >Is there no valid address in factory 0x4?
> >
> >> +};
> >> +
> >> +&pcie0 {
> >> +	wifi@0,0 {
> >> +		reg = <0x0000 0 0 0 0>;
> >> +		mediatek,mtd-eeprom = <&factory 0x8000>;
> >
> >I wonder why there is a factory5g partition then?
> According to device pages linked above, Both the Trendnet and the D-Link
> have mtd4: 00010000 00010000 "5G_RF".  5G did not initially work on the
> D-link.  From https://openwrt.org/toh/hwdata/d-link/d-link_dir-810l_b1
> 
> Comments: WiFi 5GHz unsupported up to 18.06.1; WiFi 5GHz support added
> in snapshot (https://git.openwrt.org/?p=openwrt/openwrt.git;a=
> commit;h=cb6a8aa584a2be62aeac9b5b1573303d5615c672)

Well, that doesn't really answer my question, but if support was added separately in this commit I just assume they did it properly.

Despite, if @rogerpueyo still owns that device, he might also test a higher spi frequency on it.

> >
> >> +		ieee80211-freq-limit = <5000000 6000000>;
> >> +		mtd-mac-address = <&factory 0x28>;
> >> +		mtd-mac-address-increment = <2>;
> >
> >Is there no valid address in factory 0x8004?
> >
> >> +	};
> >> +};
> >> diff --git a/target/linux/ramips/image/mt7620.mk
> >> b/target/linux/ramips/image/mt7620.mk
> >> index 3512a1c55a..71e4270a20 100644
> >> --- a/target/linux/ramips/image/mt7620.mk
> >> +++ b/target/linux/ramips/image/mt7620.mk
> >> @@ -942,6 +942,16 @@ define Device/tplink_re200-v1
> >>  endef
> >>  TARGET_DEVICES += tplink_re200-v1
> >>
> >> +define Device/trendnet_tew-810dr
> >> +  SOC := mt7620a
> >> +  DEVICE_PACKAGES := kmod-mt76x0e
> >> +  DEVICE_VENDOR := TRENDnet
> >> +  DEVICE_MODEL := TEW-810DR
> >> +  IMAGE_SIZE := 6720k
> >> +  SUPPORTED_DEVICES += dir-810l
> >
> >I do not see a reason to enable cross-flashing between different devices. I see
> that this is meant for those who used dir-810l image on this device before, but
> still I do not think it's a good idea to have this path available by default.
> Would all the concerns you raised for the TEW-810DR also apply to the
> DIR-810L?

Yes.

And I'm just about to fix some of them.

Best

Adrian

> >
> >> +endef
> >> +TARGET_DEVICES += trendnet_tew-810dr
> >> +
> >>  define Device/vonets_var11n-300
> >>    SOC := mt7620n
> >>    IMAGE_SIZE := 3776k
> >> diff --git a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
> >> b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
> >> index 7397ddcc2c..a1b3f4bd0c 100755
> >> --- a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
> >> +++ b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
> >> @@ -255,7 +255,8 @@ ramips_setup_macs()
> >
> >You neither set up the LEDs nor the switch.
> >
> >So, there's still a lot to do.
> >
> >Best
> >
> >Adrian
> >
> >>  	alfa-network,ac1200rm|\
> >>  	dlink,dir-810l|\
> >>  	phicomm,psg1218a|\
> >> -	phicomm,psg1218b)
> >> +	phicomm,psg1218b|\
> >> +	trendnet,tew-810dr)
> >>  		wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory
> >> 0x28)" 1)
> >>  		;;
> >>  	alfa-network,r36m-e4g|\
> >> --
> >> 2.20.1
> >>
> >> --
> >> J. Scott Heppler
> >>
> >> _______________________________________________
> >> openwrt-devel mailing list
> >> openwrt-devel@lists.openwrt.org
> >> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
> >
> 
> --
> J. Scott Heppler
> 
> Penguin Innovations
> 
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> 
> 
> NOTICE: This e-mail message and any attachments may
> contain legally privileged and confidential information intended
> solely for the use of the intended recipients. If you are not an
> intended recipient, you are hereby notified that you have
> received this message in error and any review, dissemination,
> distribution, copying, or other unauthorized use of this email
> and any attachment is strictly prohibited. If you have received
> this email in error, please notify the sender immediately and
> delete the message and any attachments from your system.
> 
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
Heppler, J. Scott Feb. 28, 2020, 9:05 a.m. UTC | #4
On Feb 27, 2020: 14:44, Adrian Schmutzler wrote:
>> -----Original Message-----
>> From: openwrt-devel [mailto:openwrt-devel-bounces@lists.openwrt.org] On
>> Behalf Of Heppler, J. Scott
>> Sent: Donnerstag, 27. Februar 2020 14:29
>> To: openwrt-devel@openwrt.org
>> Subject: Re: [OpenWrt-Devel] [PATCH v2] ramips: add TRENDnet TEW-810DR
>> support
>>
>> On Feb 27, 2020: 13:37, Adrian Schmutzler wrote:
>> >Hi,
>> >
>> >> -----Original Message-----
>> >> From: openwrt-devel [mailto:openwrt-devel-bounces@lists.openwrt.org] On
>> >> Behalf Of Heppler, J. Scott
>> >> Sent: Donnerstag, 27. Februar 2020 03:39
>> >> To: openwrt-devel@openwrt.org
>> >> Subject: [OpenWrt-Devel] [PATCH v2] ramips: add TRENDnet TEW-810DR
>> support
>> >>
>> >> Signed-off-by: J. Scott Heppler <shep971@centurylink.net>
>> >>
>> >> ramips: add support for TRENDnet TEW-810DR
>> >>
>> >> Exact hardware clone for the D-Link DIR-810L.  See OpenWRT device pages
>> >> and review the PCB photos, boot logs and MTP flash partitions.
>> >> https://openwrt.org/toh/trendnet/trendnet_tew-810dr_1.0_1.1
>> >> https://openwrt.org/toh/d-link/dir-810l
>> >>
>> >> Specification:
>> >>
>> >> * MediaTek MT7620A (580 Mhz)
>> >> * 8 MB of FLASH
>> >> * 64 MB of RAM
>> >> * 5x 10/100 Mbps Ethernet (1 WAN and 4 LAN)
>> >> * UART header on PCB (57600 8n1)
>> >> * 2x BiColor LED (GPIO-controlled)
>> >> * 2x button - power and reset
>> >> * U-boot bootloader
>> >>
>> >> Installation:
>> >>
>> >> The sysupgrade.bin image needs to have a cameo hardware ID appended
>> >> with ncc_att_hwid.  ncc_att_hwid is available in the GPL Source
>> >> download for either the TEW-810DR or DIR-810L and is located at
>> >> source/user/wolf/cameo/ncc/hostTools
>> >> The invocation is:
>> >> ncc_att_hwid -f tew-810-squashfs-factory.bin -a -m “TEW-810DR”
>> >> -H “1.0R” -r “WW” -c “1.0”
>> >> More information is available in the device page for TEW-810DR linked
>> >> above The appended image can then be flash via the Web rescue interface
>> >> 192.168.10.1 or TFTP's to the same IP address.  Subsequent upgrades
>> >> can be done using the Luci web interface or the ssh command line per the
>> >> OpenWRT documentation
>> >> ---
>> >>  .../ramips/dts/mt7620a_trendnet_tew-810dr.dts | 157
>> ++++++++++++++++++
>> >>  target/linux/ramips/image/mt7620.mk           |  10 ++
>> >>  .../mt7620/base-files/etc/board.d/02_network  |   3 +-
>> >>  3 files changed, 169 insertions(+), 1 deletion(-)
>> >>  create mode 100644 target/linux/ramips/dts/mt7620a_trendnet_tew-
>> 810dr.dts
>> >>
>> >> diff --git a/target/linux/ramips/dts/mt7620a_trendnet_tew-810dr.dts
>> >> b/target/linux/ramips/dts/mt7620a_trendnet_tew-810dr.dts
>> >> new file mode 100644
>> >> index 0000000000..eb38110801
>> >> --- /dev/null
>> >> +++ b/target/linux/ramips/dts/mt7620a_trendnet_tew-810dr.dts
>> >
>> >shared DTSI with dir-810l ?

Device Tree Usage in OpenWRT (DTS) does not really go into this.  Can
you give me some guidance?  What naming conventions would be used for
the new dtsi?  Can a dts include 2 dtsi's?  Is it OK to chain 2 dtsi's?
>>
>> I'm worried about altering the DIR-810L code.  I do not have the D-Link
>> to test and it was submitted by someone else.
>
>I will send a some patches for the DIR-810L in a minute. Those should make it easier to move a lot of code into a shared DTSI. Obviously, stuff that still deviates would be kept in the DTSes.
>
>> >
>> >> @@ -0,0 +1,157 @@
>> >> +/dts-v1/;
>> >> +
>> >> +#include "mt7620a.dtsi"
>> >> +
>> >> +#include <dt-bindings/gpio/gpio.h>
>> >> +#include <dt-bindings/input/input.h>
>> >> +
>> >> +/ {
>> >> +	compatible = "trendnet,tew-810dr", "ralink,mt7620a-soc";
>> >> +	model = "TRENDnet TEW-810DR";
>> >> +
>> >> +	aliases {
>> >> +		led-boot = &led_power_green;
>> >> +		led-failsafe = &led_power_green;
>> >> +		led-running = &led_power_green;
>> >> +		led-upgrade = &led_power_green;
>> >> +		label-mac-device = &ethernet;
>> >> +	};
>> >> +
>> >> +	keys {
>> >> +		compatible = "gpio-keys";
>> >> +
>> >> +		reset {
>> >> +			label = "reset";
>> >> +			gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
>> >> +			linux,code = <BTN_0>;
>> >> +		};
>> >> +
>> >> +		wps {
>> >> +			label = "wps";
>> >> +			gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
>> >> +			linux,code = <BTN_0>;
>> >
>> >Why not use the proper codes on these?  Would the code also need to be
>> >altered on the DIR-810L?  Can you point me to reference?
>
>See my patch for DIR-810L coming in a minute.
Essentially duplicated your 2 patches.
>
>> >
>> >> +		};
>> >> +	};
>> >> +
>> >> +	leds {
>> >> +		compatible = "gpio-leds";
>> >> +
>> >> +		led_power_green: power {
>> >
>> >led_power_green: power_green {
>> >
>> >> +			label = "dir-810l:green:power";
>> >
>> >That would be one of the few parts where both devices will be different (and
>> which would not belong into a shared DTSI). But if you didn't even change the
>> name, have you actually checked whether the LED GPIOs are the same?
>> The Trendnet also has 2 pairs of green/orange LEDs
>
>So, what's the second green LED then?
One my TEW-732BR, it flashes with in/out packets to br-lan , glows
steady at rest.
>
>> >
>> >> +			gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>;
>> >> +		};
>> >> +
>> >> +		wan {
>> >> +			label = "dir-810l:orange:wan";
>> >> +			gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
>> >> +		};
>> >> +
>> >> +		power2 {
>> >
>> >power_orange
>> >
>> >> +			label = "dir-810l:orange:power";
>> >> +			gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
>> >> +		};
>> >> +	};
>> >> +};
>> >> +
>> >> +&spi0 {
>> >> +	status = "okay";
>> >> +
>> >> +	m25p80@0 {
>> >
>> >flash@0
>> >
>> >> +		compatible = "jedec,spi-nor";
>> >> +		reg = <0>;
>> >> +		spi-max-frequency = <10000000>;
>> >
>> >Can this go faster?
>> Would this would go in a shared dtsi.  Should I make a change on a
>> device I do not have access to?
>
>This depends. If it really is the same board as you say, one could move the spi-max-frequency to the DTSI and then increase it for both devices in a second commit. Otherwise, one could also keep only the spi-max-frequency in the local DTSes.
>
>> >
>> >> +
>> >> +		partitions {
>> >> +			compatible = "fixed-partitions";
>> >> +			#address-cells = <1>;
>> >> +			#size-cells = <1>;
>> >> +
>> >> +			partition@0 {
>> >> +				label = "u-boot";
>> >> +				reg = <0x0 0x30000>;
>> >> +				read-only;
>> >> +			};
>> >> +
>> >> +			partition@30000 {
>> >> +				label = "u-boot-env";
>> >> +				reg = <0x30000 0x10000>;
>> >> +				read-only;
>> >> +			};
>> >> +
>> >> +			factory: partition@40000 {
>> >> +				label = "factory";
>> >> +				reg = <0x40000 0x10000>;
>> >> +				read-only;
>> >> +			};
>> >> +
>> >> +			factory5g: partition@50000 {
>> >> +				label = "factory5g";
>> >> +				reg = <0x50000 0x10000>;
>> >> +				read-only;
>> >> +			};
>> >> +
>> >> +			partition@60000 {
>> >> +				label = "Wolf_Config";
>> >> +				reg = <0x60000 0x10000>;
>> >> +				read-only;
>> >> +			};
>> >> +
>> >> +			partition@70000 {
>> >> +				label = "MyDlink";
>> >> +				reg = <0x70000 0x80000>;
>> >> +				read-only;
>> >> +			};
>> >> +
>> >> +			partition@e0000 {
>> >> +				label = "Jffs2";
>> >> +				reg = <0xe0000 0x80000>;
>> >
>> >Based on the previous partition's size, this should be 0xf0000. This would also
>> match the start of the subsequent partition.
>> >
>> >Can you provide the partitioning of the device with stock firmware?
>> It was given in the Device page I linked above.  The DIR-810L stock
>> partition table is also in the respective link.  I verified that both
>> devices use the same flash/ram chips in the Bootlogs and Wikidevi
>> archive.
>
>The information on the device pages is correct, and the implementation here is wrong.
>I will fix this for the DIR-810L, so you can then just copy the updated partitioning to the DTSI.
The DIR-810L has and mtd10 partition that the TEW-810DR does not.  Not
clear to me if the DIR-810L B1 added the partition.  My sense is the
TEW-810DR is similiar to the DIR-810 A1.
>
>> >
>> >> +				read-only;
>> >> +			};
>> >> +
>> >> +			partition@170000 {
>> >> +				compatible = "denx,uimage";
>> >> +				label = "firmware";
>> >> +				reg = <0x170000 0x690000>;
>> >> +			};
>> >> +		};
>> >> +	};
>> >> +};
>> >> +
>> >> +&state_default {
>> >> +	gpio {
>> >> +		ralink,group = "mdio", "rgmii1", "i2c", "wled", "uartf";
>> >
>> >I only see "i2c" and "uartf" required above.
>> >
>> >> +		ralink,function = "gpio";
>> >> +	};
>> >> +};
>> >> +
>> >> +&ethernet {
>> >> +	mtd-mac-address = <&factory 0x28>;
>> >
>> >Have you verified the MAC address assignment for WiFi and ethernet with
>> vendor OS?
>> Will do later today.
I compared the MAC's on the TEW-732br, runs 19.07.1 and it does not use
factory MAC's,  The test install on the TEW-810DR essentially has the
same 19.07.1 MAC.  The projects goal is to replicate the Factory MAC's?
I do have the factory MAC's for the TEW-810DR. 
>> >
>> >> +	mediatek,portmap = "llllw";
>> >> +};
>> >> +
>> >> +&gsw {
>> >> +	mediatek,port4 = "ephy";
>> >> +	pinctrl-names = "default";
>> >> +	pinctrl-0 = <&ephy_pins>;
>> >> +};
>> >> +
>> >> +&pcie {
>> >> +	status = "okay";
>> >> +};
>> >> +
>> >> +&wmac {
>> >> +	ralink,mtd-eeprom = <&factory 0x0>;
>> >> +	pinctrl-names = "default";
>> >> +	pinctrl-0 = <&pa_pins>;
>> >> +	mtd-mac-address = <&factory 0x28>;
>> >
>> >Is there no valid address in factory 0x4?
>> >
>> >> +};
>> >> +
>> >> +&pcie0 {
>> >> +	wifi@0,0 {
>> >> +		reg = <0x0000 0 0 0 0>;
>> >> +		mediatek,mtd-eeprom = <&factory 0x8000>;
>> >
>> >I wonder why there is a factory5g partition then?
>> According to device pages linked above, Both the Trendnet and the D-Link
>> have mtd4: 00010000 00010000 "5G_RF".  5G did not initially work on the
>> D-link.  From https://openwrt.org/toh/hwdata/d-link/d-link_dir-810l_b1
>>
>> Comments: WiFi 5GHz unsupported up to 18.06.1; WiFi 5GHz support added
>> in snapshot (https://git.openwrt.org/?p=openwrt/openwrt.git;a=
>> commit;h=cb6a8aa584a2be62aeac9b5b1573303d5615c672)
>
>Well, that doesn't really answer my question, but if support was added separately in this commit I just assume they did it properly.
>
>Despite, if @rogerpueyo still owns that device, he might also test a higher spi frequency on it.
Although I'm confident the hardware is the same, I think it would be
prudent to not put the spi into a dtsi until it is tested in both
devices.  Which brings up a thought:  Would it be prudent to get the
settings on the 2 devices nailed down prior to splitting out a dtsi?
>
>> >
>> >> +		ieee80211-freq-limit = <5000000 6000000>;
>> >> +		mtd-mac-address = <&factory 0x28>;
>> >> +		mtd-mac-address-increment = <2>;
>> >
>> >Is there no valid address in factory 0x8004?
>> >
>> >> +	};
>> >> +};
>> >> diff --git a/target/linux/ramips/image/mt7620.mk
>> >> b/target/linux/ramips/image/mt7620.mk
>> >> index 3512a1c55a..71e4270a20 100644
>> >> --- a/target/linux/ramips/image/mt7620.mk
>> >> +++ b/target/linux/ramips/image/mt7620.mk
>> >> @@ -942,6 +942,16 @@ define Device/tplink_re200-v1
>> >>  endef
>> >>  TARGET_DEVICES += tplink_re200-v1
>> >>
>> >> +define Device/trendnet_tew-810dr
>> >> +  SOC := mt7620a
>> >> +  DEVICE_PACKAGES := kmod-mt76x0e
>> >> +  DEVICE_VENDOR := TRENDnet
>> >> +  DEVICE_MODEL := TEW-810DR
>> >> +  IMAGE_SIZE := 6720k
>> >> +  SUPPORTED_DEVICES += dir-810l
>> >
>> >I do not see a reason to enable cross-flashing between different devices. I see
>> that this is meant for those who used dir-810l image on this device before, but
>> still I do not think it's a good idea to have this path available by default.
>> Would all the concerns you raised for the TEW-810DR also apply to the
>> DIR-810L?
>
>Yes.
>
>And I'm just about to fix some of them.
>
>Best
>
>Adrian
>
>> >
>> >> +endef
>> >> +TARGET_DEVICES += trendnet_tew-810dr
>> >> +
>> >>  define Device/vonets_var11n-300
>> >>    SOC := mt7620n
>> >>    IMAGE_SIZE := 3776k
>> >> diff --git a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
>> >> b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
>> >> index 7397ddcc2c..a1b3f4bd0c 100755
>> >> --- a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
>> >> +++ b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
>> >> @@ -255,7 +255,8 @@ ramips_setup_macs()
>> >
>> >You neither set up the LEDs nor the switch.
These had no DIR-810L entries.
>> >
>> >So, there's still a lot to do.
>> >
>> >Best
>> >
>> >Adrian
>> >
>> >>  	alfa-network,ac1200rm|\
>> >>  	dlink,dir-810l|\
>> >>  	phicomm,psg1218a|\
>> >> -	phicomm,psg1218b)
>> >> +	phicomm,psg1218b|\
>> >> +	trendnet,tew-810dr)
>> >>  		wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory
>> >> 0x28)" 1)
>> >>  		;;
>> >>  	alfa-network,r36m-e4g|\
>> >> --
>> >> 2.20.1
>> >>
>> >> --
>> >> J. Scott Heppler
>> >>
>> >> _______________________________________________
>> >> openwrt-devel mailing list
>> >> openwrt-devel@lists.openwrt.org
>> >> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
>> >
>>
>> --
>> J. Scott Heppler
>>
>> Penguin Innovations
>>
>> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>>
>>
>> NOTICE: This e-mail message and any attachments may
>> contain legally privileged and confidential information intended
>> solely for the use of the intended recipients. If you are not an
>> intended recipient, you are hereby notified that you have
>> received this message in error and any review, dissemination,
>> distribution, copying, or other unauthorized use of this email
>> and any attachment is strictly prohibited. If you have received
>> this email in error, please notify the sender immediately and
>> delete the message and any attachments from your system.
>>
>> _______________________________________________
>> openwrt-devel mailing list
>> openwrt-devel@lists.openwrt.org
>> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
>
diff mbox series

Patch

diff --git a/target/linux/ramips/dts/mt7620a_trendnet_tew-810dr.dts b/target/linux/ramips/dts/mt7620a_trendnet_tew-810dr.dts
new file mode 100644
index 0000000000..eb38110801
--- /dev/null
+++ b/target/linux/ramips/dts/mt7620a_trendnet_tew-810dr.dts
@@ -0,0 +1,157 @@ 
+/dts-v1/;
+
+#include "mt7620a.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+	compatible = "trendnet,tew-810dr", "ralink,mt7620a-soc";
+	model = "TRENDnet TEW-810DR";
+
+	aliases {
+		led-boot = &led_power_green;
+		led-failsafe = &led_power_green;
+		led-running = &led_power_green;
+		led-upgrade = &led_power_green;
+		label-mac-device = &ethernet;
+	};
+
+	keys {
+		compatible = "gpio-keys";
+
+		reset {
+			label = "reset";
+			gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
+			linux,code = <BTN_0>;
+		};
+
+		wps {
+			label = "wps";
+			gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
+			linux,code = <BTN_0>;
+		};
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		led_power_green: power {
+			label = "dir-810l:green:power";
+			gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>;
+		};
+
+		wan {
+			label = "dir-810l:orange:wan";
+			gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
+		};
+
+		power2 {
+			label = "dir-810l:orange:power";
+			gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
+		};
+	};
+};
+
+&spi0 {
+	status = "okay";
+
+	m25p80@0 {
+		compatible = "jedec,spi-nor";
+		reg = <0>;
+		spi-max-frequency = <10000000>;
+
+		partitions {
+			compatible = "fixed-partitions";
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			partition@0 {
+				label = "u-boot";
+				reg = <0x0 0x30000>;
+				read-only;
+			};
+
+			partition@30000 {
+				label = "u-boot-env";
+				reg = <0x30000 0x10000>;
+				read-only;
+			};
+
+			factory: partition@40000 {
+				label = "factory";
+				reg = <0x40000 0x10000>;
+				read-only;
+			};
+
+			factory5g: partition@50000 {
+				label = "factory5g";
+				reg = <0x50000 0x10000>;
+				read-only;
+			};
+
+			partition@60000 {
+				label = "Wolf_Config";
+				reg = <0x60000 0x10000>;
+				read-only;
+			};
+
+			partition@70000 {
+				label = "MyDlink";
+				reg = <0x70000 0x80000>;
+				read-only;
+			};
+
+			partition@e0000 {
+				label = "Jffs2";
+				reg = <0xe0000 0x80000>;
+				read-only;
+			};
+
+			partition@170000 {
+				compatible = "denx,uimage";
+				label = "firmware";
+				reg = <0x170000 0x690000>;
+			};
+		};
+	};
+};
+
+&state_default {
+	gpio {
+		ralink,group = "mdio", "rgmii1", "i2c", "wled", "uartf";
+		ralink,function = "gpio";
+	};
+};
+
+&ethernet {
+	mtd-mac-address = <&factory 0x28>;
+	mediatek,portmap = "llllw";
+};
+
+&gsw {
+	mediatek,port4 = "ephy";
+	pinctrl-names = "default";
+	pinctrl-0 = <&ephy_pins>;
+};
+
+&pcie {
+	status = "okay";
+};
+
+&wmac {
+	ralink,mtd-eeprom = <&factory 0x0>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pa_pins>;
+	mtd-mac-address = <&factory 0x28>;
+};
+
+&pcie0 {
+	wifi@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
+		ieee80211-freq-limit = <5000000 6000000>;
+		mtd-mac-address = <&factory 0x28>;
+		mtd-mac-address-increment = <2>;
+	};
+};
diff --git a/target/linux/ramips/image/mt7620.mk b/target/linux/ramips/image/mt7620.mk
index 3512a1c55a..71e4270a20 100644
--- a/target/linux/ramips/image/mt7620.mk
+++ b/target/linux/ramips/image/mt7620.mk
@@ -942,6 +942,16 @@  define Device/tplink_re200-v1
 endef
 TARGET_DEVICES += tplink_re200-v1
 
+define Device/trendnet_tew-810dr
+  SOC := mt7620a
+  DEVICE_PACKAGES := kmod-mt76x0e
+  DEVICE_VENDOR := TRENDnet
+  DEVICE_MODEL := TEW-810DR
+  IMAGE_SIZE := 6720k
+  SUPPORTED_DEVICES += dir-810l
+endef
+TARGET_DEVICES += trendnet_tew-810dr
+
 define Device/vonets_var11n-300
   SOC := mt7620n
   IMAGE_SIZE := 3776k
diff --git a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
index 7397ddcc2c..a1b3f4bd0c 100755
--- a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
@@ -255,7 +255,8 @@  ramips_setup_macs()
 	alfa-network,ac1200rm|\
 	dlink,dir-810l|\
 	phicomm,psg1218a|\
-	phicomm,psg1218b)
+	phicomm,psg1218b|\
+	trendnet,tew-810dr)
 		wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x28)" 1)
 		;;
 	alfa-network,r36m-e4g|\