[OpenWrt-Devel] [PATCH v2] ramips: add TRENDnet TEW-810DR support
Adrian Schmutzler
mail at adrianschmutzler.de
Thu Feb 27 08:44:12 EST 2020
> -----Original Message-----
> From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org] On
> Behalf Of Heppler, J. Scott
> Sent: Donnerstag, 27. Februar 2020 14:29
> To: openwrt-devel at 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 at lists.openwrt.org] On
> >> Behalf Of Heppler, J. Scott
> >> Sent: Donnerstag, 27. Februar 2020 03:39
> >> To: openwrt-devel at openwrt.org
> >> Subject: [OpenWrt-Devel] [PATCH v2] ramips: add TRENDnet TEW-810DR
> support
> >>
> >> Signed-off-by: J. Scott Heppler <shep971 at 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 = ðernet;
> >> + };
> >> +
> >> + 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 at 0 {
> >
> >flash at 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 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;
> >> + };
> >> +
> >> + factory5g: partition at 50000 {
> >> + label = "factory5g";
> >> + reg = <0x50000 0x10000>;
> >> + read-only;
> >> + };
> >> +
> >> + partition at 60000 {
> >> + label = "Wolf_Config";
> >> + reg = <0x60000 0x10000>;
> >> + read-only;
> >> + };
> >> +
> >> + partition at 70000 {
> >> + label = "MyDlink";
> >> + reg = <0x70000 0x80000>;
> >> + read-only;
> >> + };
> >> +
> >> + partition at 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 at 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";
> >> + };
> >> +};
> >> +
> >> +ðernet {
> >> + 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 at 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 at 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 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
More information about the openwrt-devel
mailing list