[Ramips MT7621] FreeWRT 20.12 - Master branch based

It's time they released a new stable version of OpenWRT. The new kernel with the DSA driver is very necessary, since with the old swconfig at <= 19.07 the Mediatek MT7621 SoC Switch is unstable. (Topic discussed here Mtk_soc_eth watchdog timeout after r11573).

With the new kernel 5.4.x and the DSA driver, I can confirm that it is 100% stable for me. Launching the same tests that in a few minutes left the router hanging or rebooted on 19.07, with the master branch it is working perfectly. In my opinion the master branch is mature enough to release a stable version, at least for MT7621 devices.

That is why I have build my own UNOFFICIAL "stable" branch for all MT7621 targets, based on master branch. With its own repository with all packages to avoid one of the problems of snapshot builds; when a new one is released, the kernel modules are no longer compatible with the previous build.

I have called it "FreeWRT 20.12", in commemoration of one of the first mod firmwares that was created and i used along time ago for the mythical WRT54G.

The builds contains the necessary basic packages, such as the officially released versions. I have only added luci (not included in snapshots) with the material theme (bootstrap is also available). You can install any package from luci or ssh.

You can download it here: http://downloads.freewrt.tk

This actual version is based on snapshot r15237.
I will update when major changes are made to the mt7621 or security patches are included.

New release 20.12.2

FAQS:
Q - Can I update without losing my configuration?

A - If you update from 19.07.x or earlier preserving the configuration, keep in mind that it will not work because the names of the physical network interfaces change from the old swconfig driver to the new DSA. Most MT7621 devices have renamed the ports as 'wan' for wan port or 'lanX' to lan ports, with the exception of the UBNT ER-X which are labeled eth0~eth4.

There are several methods of updating without losing general settings. With the first one, the network configuration is lost, having to reconfigure it. With the second you can edit config to new device names before upgrade to get working on new firmware.

First of all make a backup of your configuration.

Method 1: Connect via ssh and delete the /etc/config/network. Immediately and without restarting or changing anything else, sysupgrade to FreeWRT. When it has been updated and restarted, the file will be recreated to the default network settings.

Method 2: Connect by ssh and edit the file /etc/config/network with vi or nano. Under LAN interface config (or network interface with allowed access to configuration), change the value of ifname to the new interface name in the DSA driver. For example 'lan1' for the first LAN port of the router (it depends on the model, it will be called lanX or ethX). Remove all sections referring to 'config switch' and 'config switch_vlan'. Save the changes to the file and perform the sysupgrade. When it has restarted, you will be able to access the configuration from device connected to the first port of the router, and the network configuration (interfaces, ips, routes, etc.) will have been maintained. You will only have to edit the configuration of the others network interfaces (wan for example) to match new adapter names for each port/vlan (via luci, uci or editing network config file).

Note you can also have to edit other config files from packages that use network adapter interfaces names instead of uci interfaces names in order to get working again (for example udpxy).

Q - How are the Switch or VLANs configured in new DSA driver?

A - In the old driver, for the system there was only one network adapter (or two depending on the SoC hardware design) that grouped all the Switch ports in the same adapter (eth0 or eth1). To separate them, a VLAN had to be configured for each port, tagged or untagged using swconfig. The associated interfaces were called eth0.X where X is the number of the VLAN, and more than one physical port can belong to it.

With the new DSA driver, there is no swconfig. Each physical port is a separate network adapter. For example the physical WAN port can be labeled 'wan' or 'eth0', LAN1 'lan1' or 'eth1', LAN2 'lan2' or 'eth2', etc. Each of these adapters can be configured VLAN tagging independently. For example, if we want to tag the traffic of our ISP in VLAN6 on the WAN port, the adapter name 'wan.6' (or 'eth0.6, depends on device) must be added on the network interface config. If we want to add another tagged VLAN to the same port, it's added in 'wan.X' format. To tag a VLAN on another port, the corresponding adapter is used. For example for VLAN3 tagged on LAN1 port 'lan1.3' must be used (or the adapter corresponding to physical port of your device). For untagged traffic on each port, only the adapter name (lanX) is used without dot notation. This can be configured directly in the network settings, using luci, uci or editing network file. By using the adapter names with their VLAN IDs, these are created automatically. Since quite a few commits in the master branch, it is not necessary to execute any commands to configure the VLAN of the ports.

Please comment if the issues related to the Switch have been fixed for you with DSA.

5 Likes

It looks like your link is broken.

1 Like

It's working now. Sorry, i made some changes to web server.

1 Like

Still showing a PHP error. Could you throw it up on a Google Drive or similar? Thanks for all your work!

try clearing your browser history, then reopen the url.
previously I experienced the same thing but now I can

Chrome still acting up, but looks like Edge worked. Thanks again, I'm going to tackle this in the AM.

2 Likes

Is there a compressed file for the package so I can download it and try to build it myself?

Only sugestion, if this branch is exclusive for mt7621 why not try o hw crypto this processor?


i understand, this realese is for stable branch.
But why not try on mirror with hw crypto.
2 Likes

I upgraded 1 of 3 r6230 today since I started getting the hardware restart messages again on 19.07.3. I'll do the other two tomorrow. Deleted the network config and sysupgrade went smoothly. Excellent work.

1 Like

Upgraded all 3 and under heavy wifi load got this on one of them. I wonder if a higher amperage power supply will help as some suggested.

[48827.317509] mt76x2e 0000:01:00.0: Firmware Version: 0.0.00
[48827.328583] mt76x2e 0000:01:00.0: Build: 1
[48827.336804] mt76x2e 0000:01:00.0: Build Time: 201507311614____
[48827.364291] mt76x2e 0000:01:00.0: Firmware running!
[48827.376480] ieee80211 phy1: Hardware restart was requested
[48830.377417] mt76x2e 0000:01:00.0: Firmware Version: 0.0.00
[48830.388430] mt76x2e 0000:01:00.0: Build: 1
[48830.396649] mt76x2e 0000:01:00.0: Build Time: 201507311614____
[48830.424258] mt76x2e 0000:01:00.0: Firmware running!
[48830.436436] ieee80211 phy1: Hardware restart was requested
[48833.225395] mt76x2e 0000:01:00.0: Firmware Version: 0.0.00
[48833.236402] mt76x2e 0000:01:00.0: Build: 1
[48833.244619] mt76x2e 0000:01:00.0: Build Time: 201507311614____
[48833.272254] mt76x2e 0000:01:00.0: Firmware running!
[48833.284450] ieee80211 phy1: Hardware restart was requested
[48834.825395] mt76x2e 0000:01:00.0: Firmware Version: 0.0.00
[48834.836404] mt76x2e 0000:01:00.0: Build: 1
[48834.844623] mt76x2e 0000:01:00.0: Build Time: 201507311614____
[48834.872221] mt76x2e 0000:01:00.0: Firmware running!
[48834.884435] ieee80211 phy1: Hardware restart was requested
[48837.881392] mt76x2e 0000:01:00.0: Firmware Version: 0.0.00
[48837.892404] mt76x2e 0000:01:00.0: Build: 1
[48837.900619] mt76x2e 0000:01:00.0: Build Time: 201507311614____
[48837.928194] mt76x2e 0000:01:00.0: Firmware running!
[48837.940365] ieee80211 phy1: Hardware restart was requested

Has anyone tried with MTK7621A D-Team Newifi D2?

This problem is related to the mt76 wifi driver. Right after compiling the sources, they sent a new commit with the latest version of the mt76 driver. Maybe it has been solved. In the next version it will be included. I'll upload it in the next few days.

How does the ethernet driver work? My ER-X has been working for 11 days without any problem.

hi everyone, i installed this version i did a speedtest .... it gave me maximum 300 megabits .... can i enable hwnat o offload?
If I enable it with openwrt 19.07.5 after a while the whole network even the wifi is blocked..
YouHua WR1200JS

You can enable software flow offloading. Hardware flow offloading does not work. But with software offload you must increase bandwidth.

The ethernet driver has been solid. I did put higher wattage power supplies on them to see if it helps. Two with 2 amp and one with 3 amp. One of the 2 amp did get the wifi firmware restart a couple days later, but I'm watching the others.

edit: the one with a 3 amp power supply just had a wifi hardware restart after 3 days of uptime.

1 Like

I don't think it's a feeding problem. With my router i thought the same with the transmit queue 0 timed out errors using 19.07. I tried different power adapters, even 16V and 4.5A (router supports from 9V to 26V) and it did not solve anything. However, now it is with the stock adapter (12V 0.5A) and it does not show more problems with the DSA driver.

It's a matter of the mt76 wifi driver.

1 Like

I did some tests with a wattmeter ... and I've never seen it exceed 5 watts of consumption ... nothing was connected to the USB ports

I have uploaded a new build "20.12.1" based on r15554.
These are the most prominent commits since 20.12:

kernel: improve skb hash on the mtk ethernet driver

mt76: Fix compile against glibc

base-files: upgrade: fix initramfs detection

base-files: flush kernel memory cache during sysupgrade

ramips: unify elecom - * - factory for ELECOM WRC-GHBK2-S / GS / GST devices

ramips: add support for Senao Engenius ESR600H

ramips: add support for D-Link DIR-882 R1

ramips: mt7621: create DTSI for ELECOM WRC GS devices with 2 PCI

ramips: add support for ELECOM WRC-1167GS2-B

ramips: add support for ELECOM WRC-1167GST2

hostapd: do not restart hostapd instance on wireless restarts

netifd: update to the latest version

netifd: update to git HEAD

ramips: add support for Ubiquiti UniFi 6 Lite

ramips: limit 5GHz channels for UniFi 6 Lite

ramips: remove trailing whitespace in Makefiles

iptables: update to 1.8.6

hostapd: remove unused variable

hostapd: remove trailing whitespaces

hostapd: fix key_mgmt typo

mt76: update to the latest version

kernel: make lwtunnel support optional

hostapd: fix setting wps_state to "not configured"

ramips: mt7621: refresh the kernel config

include: update logo with better kerning

dnsmasq: Update to version 2.83

kernel: bump 5.4 to 5.4.91

1 Like

Getting " 500 - Error interno del servidor. Hay un problema con el recurso que busca y no se puede mostrar." when trying to access http://downloads.freewrt.tk/

How is the 2.4GHz radio? Last I tried before Christmas it was unreliable.