The BL-W1200 Wireless Router is based on the MT7620A SoC.
Specification:
- MediaTek MT7620A (580 Mhz)
- 64 MB of RAM
- 8 MB of FLASH
- 1x 802.11bgn radio
- 1x 802.11ac radio (MT7612E)
- 5x 10/100/1000 Mbps Ethernet (MT7530)
- 2x external, non-detachable antennas (Wifi 2.4G/5G)
- 1x USB 2.0
- UART (R2) on PCB (57600 8n1)
- 9x LED (1 GPIO controlled), 1x button
- u-Boot bootloader
Known issues:
- No status LED. Used WPS LED during boot/failsafe/sysupgrade.
Installation:
1. Apply initramfs image via factory web-gui.
2. Install sysupgrade image.
How to revert to OEM firmware:
- sysupgrade -n -F stock_firmware.bin
Reviewed-by: Sungbo Eo <mans0n@gorani.run>
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Most work was done in commit 021c893658 ("ramips: fix size-cells on spi
nodes"), but a few more DTS files using the old reg style have been added
since then. This commit fixes them.
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
- use tab indent in image build recipes for consistency
- harmonize line wrapping
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
[use different line wrapping for one recipe]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
As the node is already defined and labeled in SoC DTSI file, we can refer to it
outside of root node and reduce redundancy.
While at it, remove unused pcf8563 label.
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
Change "0" to "0x0" for consistency. This is an extension of commit 34abfb6e91
("ramips: convert mediatek,mtd-eeprom from decimal to hex notation").
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
As evidenced here[1] the device MAC address can be stored at a random
offset in the hard_config partition. Rely on sysfs to update the MAC
address correctly.
Adjust config so that WAN is base MAC and LAN is base MAC +1 to better
match label and vendor OS.
[1] https://github.com/openwrt/openwrt/pull/2850#issuecomment-610809021
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
This reverts commit a1693bf626.
The rt288x and rt3883 devices in question don't have switches.
Only keep the merged case for rt305x.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
According to a user in OpenWrt forum, on RouterOS the MAC addresses are
ether1(WAN) = MAC
ether2(LAN2) = MAC+1
ether3(LAN3) = MAC+2
etc.
Fix the MAC addresses in OpenWrt.
Ref: https://forum.openwrt.org/t/few-dumb-question-about-mt7530-rb750gr3-dsa/61608
Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
[remove label_mac in 02_network]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
In rt3883 subtarget, several devices add swconfig to their DEVICE_PACKAGES.
This is redundant as the package is already provided via DEFAULT_PACKAGES.
Remove the redundant inclusions.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
These definitions are not required since swconfig is selected for
the target anyway and kmod-swconfig is pulled as dependency by
kmod-switch-rtl8366rb.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Commit 8f6334eb94 ("ramips: explicitly disable built-in switch when needed")
did not fix rt288x and rt3883 devices. This patch deals with them.
While at it, consolidate duplicate cases in interface setup.
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
Three of the I-O DATA devices with NAND flash share a lot of
variables. Create a common definition for them to reduce duplicate
code.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
The official sysupgrade images for I-O DATA devices manufactured by
MSTC (MitraStar Technology Corp.) cannot be booted normally and the
kernel panics after switching to kernel 5.4.
This commit fixes the issue by using lzma-loader.
Note:
These devices use Z-LOADER to read the kernel from NAND flash and boot
it. Z-LOADER cannot load and start plain lzma-loader, so additional
lzma-compression is needed.
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Co-developed-by: Yanase Yuki <dev@zpc.sakura.ne.jp>
Signed-off-by: Yanase Yuki <dev@zpc.sakura.ne.jp>
Tested-by: Yanase Yuki <dev@zpc.sakura.ne.jp> [wn-ax2033gr]
In several Japanese routers with MT7621 SoC, the official sysupgrade
image cannot be booted properly after switching to kernel 5.4.
This commit fixes the issue by using lzma-loader.
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
This device has trouble extracting big kernel from flash,
and supports LZMA compressed kernels only.
Using OpenWrt kernel loader saves us 64 KB compared to the dictionary
size limiting workaround.
Factory image sizes (commit: 5f126c541a) with "CONFIG_ALL_KMODS=y":
- original ("-d23", default): 4784188 bytes, LZMA ERROR 1
- with "-d19": 4915260, LZMA ERROR 1
- with "-d18": 4915260, diff to original: +128 KB
- with "-d17": 4980796, diff to original: +192 KB
- with this patch: 4849724, diff to original: +64 KB
To save some CPU cycle, use minimal compression ("-a0") for the LZMA
compressed uImage.
The most robust solution would use a different loader,
which reads the compressed kernel directly from the flash.
See the thread at [0] for more details!
[0] http://lists.infradead.org/pipermail/openwrt-devel/2020-April/022926.html
Signed-off-by: Szabolcs Hubai <szab.hu@gmail.com>
Tested-by: Stijn Segers <foss@volatilesystems.org>
[fixed identation]
Signed-off-by: David Bauer <mail@david-bauer.net>
kmod-usb-dwc2 and kmod-usb-ledtrig-usbport are not target default packages, and
Belkin F7C027 does not have a USB port anyway. Just drop it.
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
Currently SUPPORTED_DEVICES only contains the old device string. Fix it by
removing the first assignment.
Fixes: c2334ad60d ("ramips/mt76x8: Synchronize Makefiles with DTS compatible")
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
SFP cage of this device is connected via a AT8031 phy to port 5 of the switch.
This phy act as a RGMII-to-SerDes converter.
Also a I2C clock gate needs to be enabled in order to access the SFP module via I2C bus.
SFP cage also has module detect pin which is connected to I2C gpio expander.
With this patch the kernel/PHYLINK now can detect, readout and use the SFP module/port.
NOTE: SFP cage / AT8033 PHY only support 1000base-X encoding!
This means that some SGMII modules can work and only at forced 1GBit/full-duplex!
Signed-off-by: René van Dorst <opensource@vdorst.com>
mt7621 and mt76x8 subtargets have been moved to kernel 5.4 and their
DTS(I) files are incompatible to kernel 4.14.
Remove the corresponding kernel config files to signal that more
boldly and to prevent accidentally patching the wrong kernel when
pulling in older config patches.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Netgear R7200 is another clone of Netgear R6700v2, introduced in:
6e80df5 ("ramips: add support for NETGEAR R6700v2/AC2400")
Reported-by: Joel Pinsker, github user @joelp64
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
The pinctrl driver had been replaced with the upstream one in b756ea2a90
("ramips: replace pinctrl property names"), but the initial A1004ns support
patch did not reflect the changes. This commit updates its pinctrl property
names.
Fixes: 9169482f64 ("ramips: add support for ipTIME A1004ns")
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
mt7621 overrides KERNEL_DTB to limit dictionary size, which isn't needed
for our lzma loader.
This saves 15KB on mt7621 devices using uimage-lzma-loader.
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
This commit increases the hardware SPI frequency from 24.2MHz to 48.3MHz.
[ 5.314163] m25p80 spi0.0: speed: 24166666/40000000, rate: 8, prescal: 2, loops: 226
[ 5.076323] m25p80 spi0.0: speed: 48333333/50000000, rate: 4, prescal: 1, loops: 162
`time cat /dev/mtd2 >/dev/null` is reduced from 5.64s to 4.36s on A104ns,
and from 11.39s to 8.81s on A1004ns.
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
With v5.4 kernel a new gpio driver is used.
GPIO numbering has changed so update 03_gpio_switches too.
Signed-off-by: René van Dorst <opensource@vdorst.com>
With v5.4 kernel a new gpio driver is used.
GPIO numbering has changed so update 03_gpio_switches too.
Signed-off-by: René van Dorst <opensource@vdorst.com>
These stock partitons: "backup", "hw_panic", "overly", firmware_backup", "opt"
do not contain any device-specific data and can be used for /overlay, resulting in
121M space
Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
Increase kernel partition because 2M is insufficient for 5.4
Because the partition changes, previous version of OpenWrt cannot upgrade
to this version, and requires a new installation
Recovery to stock instruction:
1. Download stock firmware at
http://ur.ikcd.net/HC5962-sysupgrade-20171221-b00a04d1.bin
2. Power off the router
3. Press and hold the reset button for 4~6 sec while power it back on
4. Connect a PC to router's LAN
5. Visit http://192.168.2.1 and upload the firmware
Then repeat the instruction in edae3479e6 to install OpenWrt
Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
ubnt er-x/xiaomi/netgear sercomm devices are known to have troble
extracting a big kernel from flash and has support for uncompressed
uimage
This commit uses uncompressed uimage with lzma-loader for these devices
to fix boot issue.
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
Some devices have bootloaders with broken lzma code resulting in failed
decompression or corrupted kernel code.
This image recipe allows to sacrifice 5KB for OpenWrt LZMA loader and
take over the task of decompress kernel.
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
Loader platform is a per-soc variable instead of a per-device one.
Determine corresponding loader platform at the beginning of image
Makefile.
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
Upstream pinctrl driver in drivers/staging uses
groups/function/ralink,num-gpios instead of
ralink,group/ralink,function/ralink,nr-gpio
Replace these properties in dts as well as the pinctrl driver in
patches-4.14.
This commit is created using:
sed -i 's/ralink,group/groups/g'
sed -i 's/ralink,function/function/g'
sed -i 's/ralink,nr-gpio/ralink,num-gpios/g'
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
previously we rely on the failsafe setup in preinit scripts to disable
built-in switch implicitly for single-port devices. This doesn't work
anymore due to preinit script removal.
this patch explicitly disable built-in switch for needed devices.
Fixes: a8d62a4eb1 ("ramips: remove set_preinit_iface script")
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
default initramfs for 5.4 kernel is larger than 4M, causing build error
for oversized initramfs image.
disable these images because we have no mechanism for ignoring initramfs
errors and the squashfs image will be larger than initramfs anyway.
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
upstream driver merged 3 separated gpio banks into one gpio node.
and gpioX Y in our local driver should be replaced with gpio X*32+Y.
This patch is created using the following sed command:
sed -i -r 's/(.*)gpio([0-9]) ([0-9]+)(.*)/echo "\1gpio $((\2*32+\3))\4"/ge'
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
This hack is needed for old ethernet driver:
On mt7620, we have two exposed RGMII ports that connects to builtin
switch. However, swconfig has no way to interact with phy subsystem.
As a result, we have to register both PHYs to ethernet mac instead
and this patch prevents main ethernet interface from going down due
to phy link changes.
Also rename the patch for its actual purpose.
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
increase spi frequency for both devices to 45MHz.
while at it, also remove m25p,fast-read for newifi d1 as it's only
needed when spi clock is higher than 50MHz.
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
These are boards known to start on 3-byte address mode, which requires
broken-flash-reset if 4B_OPCODES isn't supported by the flash.
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
Instead of resetting flash to 3B address on remove hook, this
implementation only enters 4B mode when needed, which prevents more
unexpected reboot stuck. This implementation makes it only break when
a kernel panic happens during flash operation on 16M+ areas.
Also silent broken-flash-reset warning. We are not dealing with vendors
and it's unpleasant for users to see that unnecessary and long WARN_ON
print.
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
The "proper" vendor prefix for Ubiquiti is "ubnt", this is used in
all targets except ramips and also recommended by the kernel.
This patch adjusts the various board/image/device name variables
accordingly. Since we touch it anyway, this also adds the space
in "EdgeRouter X" as a hyphen to those variables to really make
them consistent with the model name.
While at it, create a real shared definition for the devices in
image/mt7621.mk instead of deriving one device from another.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
I-O DATA WN-AX2033GR is roughly the same as I-O DATA
WN-AX1167GR2. The difference is Wi-Fi feature.
Specification
=============
- SoC: MediaTek MT7621A
- RAM: DDR3 128 MiB
- Flash Memory: NAND 128 MiB (Spansion S34ML01G200TF100)
- Wi-Fi: MediaTek MT7603E
- Wi-Fi: MediaTek MT7615
- Ethernet: 5x 10 Mbps / 100 Mbps / 1000 Mbps (1x WAN, 4x LAN)
- LED: 2x green LED
- Input: 2x tactile switch, 1x slide switch
- Serial console: 57600bps, PCB through hole J5 (Vcc, TX, RX, NC, GND)
- Power: DC 12V
This device only supports channel 1-13 and 36-140.
Thus, narrower frequency limits compared to other devices are required
for limiting wi-fi frequency correctly.
Without this, non-supported frequencies are activated.
Flash instructions
==================
1. Open the router management page (192.168.0.1).
2. Update router firmware using "initramfs-kernel.bin".
3. After updating, run sysupgrade with "sysupgrade.bin".
Recovery instructions
=====================
WN-AX2033GR contains Zyxel Z-LOADER
1. Setup TFTP server (IP address: 10.10.10.3).
2. Put official firmware into TFTP server directory (distribution site:
https://www.iodata.jp/lib/software/w/2068.htm)
3. Connect WX-AX2033GR Ethernet port and computer that runs TFTP server.
4. Connect to serial console.
5. Interrupt booting by Esc key.
6. Flash firmware using "ATNR 1,[firmware filename]" command.
Signed-off-by: Yanase Yuki <dev@zpc.sakura.ne.jp>
[adjust for kernel 5.4, add recovery instructions/frequency comment]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This patch adds missed line in 01_leds and fix error:
"/bin/board_detect: /etc/board.d/01_leds: line 93:
syntax error: unexpected ")" (expecting ";;")"
Fixes: c948a47 ("ramips: add support for D-Link DWR-960")
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
ZyXEL Keenetic has 8MB flash, but OpenWrt uses only 4MB.
This commit fixes the problem.
WikiDevi page [1] says that ZyXEL Keenetic has FLA1: 8 MiB, there is
an article with specs [2] (in Russian).
[1] https://wikidevi.wi-cat.ru/ZyXEL_Keenetic
[2] https://3dnews.ru/608774/page-2.html
Fixes: FS#2487
Fixes: a7cbf59e0e ("ramips: add new device ZyXEL Keenetic as kn")
Signed-off-by: Alexey Dobrovolsky <dobrovolskiy.alexey@gmail.com>
At this moment mt7620 ethernet driver doesn't support rgmii delays
configuration. SoC MT7620 have bits 2 and 3 in GPC1 an GPC2 to configure
delays for rx and tx rgmii interface.
This patch adds rx/tx rgmii delay configuration from dts.
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
So far, image/device/board names for Mikrotik devices in mt7621 have
been used quite inconsistently.
This patch harmonizes the naming scheme by applying the same style
as used lately in ath79, i.e. using "RouterBOARD" as separate word
in the model name (instead of RB prefix for the number) and deriving
the board/device name from that (= make lower case and replace spaces
by hyphens).
This style has already been used for most the model/DEVICE_MODEL
variables in mt7621, so this is essentially just adjusting the remaining
variables to that.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Buffalo WSR-2533DHPL is a 2.4/5 GHz band 11ac router, based on MediaTek
MT7621A.
Specification:
- SoC : MediaTek MT7621A
- RAM : DDR3 128 MiB
- Flash : SPI-NOR 16 MiB
- WLAN : 2.4/5 GHz 4T4R (2x MediaTek MT7615N)
- Ethernet : 10/100/1000 Mbps
- Switch : MediaTek MT7530 (SoC)
- LED/keys : 8x/6x (3x buttons, 2x slide-switches)
- UART : through-hole on PCB
- J4: 3.3V, GND, TX, RX from triangle-mark
- 57600n8
- Power : 12VDC 1.5A
Flash instruction using initramfs image:
1. prepare the TFTP server with the initramfs image renamed to
"linux.trx-recovery" and IP address "192.168.11.2"
2. press the "AOSS" button while powering on the WSR-2533DHPL
3. after 10 seconds, release the "AOSS" button, WSR-2533DHPL downloads
the initramfs image and boot with it automatically
4. on the initramfs image, download the sysupgrade image to the device
and perform sysupgrade with it
5. wait ~120 seconds to complete flashing
Switch position overview:
- slide-switch1 (2x positions)
- "AUTO"
- "MANUAL" (not connected to gpio)
- slide-switch2 (3x positions)
- "ROUTER"
- "AP" (not connected to gpio)
- "WB"
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
[add note on switches, fix group->groups for state_default]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This changes the node names for the LEDs in the Netgear R6120
device-tree file to provide consistency with other devices.
Signed-off-by: Alex Lewontin <alex.c.lewontin@gmail.com>
[improve commit title/message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
DSA requires master netdev to be up before any of its slave ports.
Bring it up during preinit so that the first lan port can be used
on failsafe.
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
It's unknown which switch port is used on mikrotik_rbm11g.
Disable this image until someone with actual device fixes this problem.
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
This script isn't suitable for mt7621 anymore due to switching to DSA
and it needs a different preinit script.
Generic preinit logic in package/base-files has the ability to parse
board.json and pick preinit iface accordingly. Just remove this script
instead of moving it into subtargets.
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
LAN ports of MTC WR1201 are reversed, so correct their names
Signed-off-by: René van Dorst <opensource@vdorst.com>
Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
mt7621 SoC has its own 'ralink_soc_info' structure with some
information about the soc itself. Pcie controller and pcie phy
drivers for this soc which are still in staging git tree make uses
of 'soc_device_attribute' looking for revision 'E2' in order to
know if reset lines are or not inverted. This way of doing things
seems to be necessary in order to make things clean and properly.
Hence, introduce this 'soc_device' to be able to properly use those
attributes in drivers. Also set 'data' pointer points to the struct
'ralink_soc_info' to be able to export also current soc information
using this mechanism.
Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
The original idea of bitbanged I2C is to use i2c-gpio-custom
Since i2c-gpio-custom is no longer available on 5.4, use SoC I2C instead
Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
The name of each user port should be eth0..4, instead of lan1..4
and there is no WAN port. Rename them to match the official firmware.
To avoid conflict with the master port (gmac0), rename it to "dsa".
The official firmware assigns MAC address in this way:
eth0 = label mac
eth1 = label mac + 1
...
eth4 = label mac + 4
Since we have switched to DSA, it's possible to use different MAC for each port.
Acked-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
Most of MT7621 boards have LAN1~4 and WAN, so make this as the default
Acked-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
update dts and network/LED configuration for DSA driver.
sysupgrade from images prior to this commit with config preserved
will cause broken ethernet setup.
Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
Acked-by: Jo-Philipp Wich <jo@mein.io>
[split commit]
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
There's different gpio and ethernet drivers upstream for mt7621.
Update these two nodes to match upstream dt bindings.
Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
Since commit f8c55dc ("MIPS: use generic dma noncoherent ops for
simple noncoherent platforms") changed MIPS dma handling, the mmc
driver fails because it doesn't have a dma mask is set.
So set the correct dma mask.
Signed-off-by: NeilBrown <neil@brown.name>
Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
The root file system is getting too big for this device and this breaks
the ramips/rt305x build.
Do not build images for this board by default to fix this problem.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Now that check-size uses IMAGE_SIZE by default, we can skip the argument from
image recipes to reduce redundancy.
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
[do not touch ar71xx]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Place DEVICE_VARS assignments at the top of the file or above Device/Default
to make them easier to find.
For ramips, remove redundant values already present in parent file.
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
[do not touch ar71xx, extend commit message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
There is no such role as target maintainer anymore, one should always
send corresponding changes for the review and anyone from the commiters
is allowed to merge them or eventually use the hand break and NACK them.
Lets make it clear, that it is solely a community doing the maintenance
tasks.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Acked-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Acked-by: Piotr Dymacz <pepe2k@gmail.com>
Currently kmod-i2c-* will not get into images unless kmod-i2c-core is added to
DEVICE_PACKAGES as well. By changing the dependencies from "depends on" to
"select", we do not have the issue anymore.
Furthermore, we can remove most occurrences of the package from DEVICE_PACKAGES
and similar variables, as it is now pulled by dependent modules such as:
- kmod-hwmon-lm75
- kmod-i2c-gpio
- kmod-i2c-gpio-custom
- kmod-i2c-mux
- kmod-i2c-ralink
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
[do not touch ar71xx]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
TOTOLINK A3 is a clone of ipTIME A3. The only difference is the model name.
Specifications:
- SoC: MT7628AN
- RAM: DDR2 64MB
- Flash: SPI NOR 8MB
- WiFi:
- 2.4GHz: SoC internal
- 5GHz: MT7612EN
- Ethernet: 3x 10/100Mbps
- Switch: SoC internal
Installation via web interface:
1. Flash **initramfs** image through the stock web interface.
2. Boot into OpenWrt and perform sysupgrade with sysupgrade image.
Revert to stock firmware:
1. Perform sysupgrade with stock image.
Tested on device by JasonHCH <hsuan670629@gmail.com>
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
Currently kmod-ata-* will not get into images unless kmod-ata-core is added to
DEVICE_PACKAGES as well. By changing the dependencies from "depends on" to
"select", we do not have the issue anymore.
Furthermore, we can remove most occurrences of the package from DEVICE_PACKAGES
and similar variables, as it is now pulled by dependent modules such as:
- kmod-ata-ahci
- kmod-ata-ahci-mtk
- kmod-ata-sunxi
While at it, use AddDepends/ata for kmod-ata-pdc202xx-old.
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
IMAGE_SIZE is widely used in many targets. Declare it in the default template to
clean up redundant code. This also prevents deriving IMAGE_SIZE unintentionally
from the previously defined device.
While at it, remove duplicate KERNEL_SIZE declaration.
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
Hardware
--------
SoC: MediaTek MT7621AT
WiFi: MediaTek MT7603 bgn 2T2R
MediaTek MT7615 ac 4T4R
Flash: 32M SPI (Macronix MX25L25635F)
RAM: 128M DDR3 (Winbond W631GG6KB)
LED: Dome (Blue / White)
BTN: Reset
Installation
------------
These instructions were written for firmware version v3.9.27.
Downgrade if necessary.
1. Copy the OpenWrt sysupgrade image to the devices /tmp folder
via scp. On factory defaults, user and password is "ubnt" at
192.168.1.20/24.
2. Write the bootselect flag. Otherwise, the device might boot from the
wrong partition. Verify the mtd partition used in the command below
is the one labled "bs" in /proc/mtd (as this might change in the
future).
> dd if=/dev/zero bs=1 count=1 of=/dev/mtd4
3. Write the OpenWrt sysupgrade to the mtd partitions labled
"kernel0" and "kernel1".
> dd if=/tmp/openwrt-sysupgrade.bin of=/dev/mtdblock6
> dd if=/tmp/openwrt-sysupgrade.bin of=/dev/mtdblock7
4. Reboot or powercycle the device.
Signed-off-by: David Bauer <mail@david-bauer.net>
Hardware
--------
SoC: MediaTek MT7620A
RAM: 64MB
FLASH: 8MB SPI
WLAN: 2G: MediaTek MT7620A
5G: MediaTek MT7610EN
ETH: 1x 10/100/1000M (Atheros AR8035)
LED: RSSI (orange/green)
WiFi 2G (green)
WiFi 5G (green)
Power (green)
System (red / green)
BTN: Power
Reset
LED
WPS
Serial
------
P1 - Tx
P2 - Rx
P3 - GND
P4 - VCC
Pin 4 is the one closest to the LAN port.
MAC overview
------------
WAN *:4c uboot 0x1fc00
2.4 *:4c uboot 0x1fc00
5 *:4e uboot 0x1fc00 +2
Installation
------------
Web interface:
It is possible to upgrade to OpenWrt via the web interface. However, the
OEM firmware upgrade file is required and a tool to fix the MD5 sum of
the header. This procedure overwrites U-Boot and there is not failsafe /
recovery mode present! To prepare an image, you need to take the header
and U-Boot (i.e. 0x200 + 0x20000 bytes) from an OEM firmware file and
attach the factory image to it. Then fix the header MD5Sum1.
Serial/TFTP:
You can use initramfs for booting via RAM or flash the image directly.
Additional Notes:
If the web interface upgrade fails, you have to open your device and
attach serial console. Since the web upgrade overwrites the boot loader,
you might also brick your device.
In order to flash back to stock, the first header and U-Boot needs to be
stripped from the original firmware.
Signed-off-by: Christoph Krapp <achterin@googlemail.com>
[change rssi LED labels]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Read times drop when increasing frequency to 25 MHz and 50 MHz,
but not in between or for further increase. So, use 50 MHz as the
lowest frequency with the fastest speed.
Test results (thanks to Roger):
The device reports a mx25l6405d flash chip. I tried all the maximum
values in the devices' datasheet (Table 10. AC CHARACTERISTICS). All of
them worked with and without "m25p,fast-read":
> 10 MHz
root@OpenWrt:~# time cat /dev/mtd* > /dev/null
real 1m 33.00s
user 0m 0.01s
sys 1m 7.56s
> 25 MHz
root@OpenWrt:~# time cat /dev/mtd* > /dev/null
real 0m 34.42s
user 0m 0.02s
sys 0m 23.58s
> 25 MHz, fast read
root@OpenWrt:~# time cat /dev/mtd* > /dev/null
real 0m 34.45s
user 0m 0.02s
sys 0m 23.59s
> 33 MHz
root@OpenWrt:~# time cat /dev/mtd* > /dev/null
real 0m 34.39s
user 0m 0.00s
sys 0m 23.60s
> 33 MHz, fast read
root@OpenWrt:~# time cat /dev/mtd* > /dev/null
real 0m 34.46s
user 0m 0.01s
sys 0m 23.62s
> 50 MHz
root@OpenWrt:~# time cat /dev/mtd* > /dev/null
real 0m 26.81s
user 0m 0.01s
sys 0m 18.25s
> 50 MHz, fast read
root@OpenWrt:~# time cat /dev/mtd* > /dev/null
real 0m 26.84s
user 0m 0.00s
sys 0m 18.25s
> 66 MHz
root@OpenWrt:~# time cat /dev/mtd* > /dev/null
real 0m 26.80s
user 0m 0.01s
sys 0m 18.23s
> 66 MHz, fast read
root@OpenWrt:~# time cat /dev/mtd* > /dev/null
real 0m 26.80s
user 0m 0.02s
sys 0m 18.23s
> 86 MHz
root@OpenWrt:~# time cat /dev/mtd* > /dev/null
real 0m 26.84s
user 0m 0.01s
sys 0m 18.24s
> 86 MHz, fast read
root@OpenWrt:~# time cat /dev/mtd* > /dev/null
real 0m 26.80s
user 0m 0.02s
sys 0m 18.23s
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Tested-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
This patch addresses several issues for D-Link DIR-810L:
- add correct button codes
- harmonize button node names
- use generic flash@0
- remove unused pin groups from state_default
- improve sorting of properties
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Tested-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
The Jffs2 partition for the D-Link DIR-810L is currently off by
0x10000. Apply the correct offset based on the other partitions'
size/offset and the information about stock OS from the Wiki.
This is just based on the named information and _not_ verified
on device.
Fixes: 36e3424fa5 ("ramips: add support for dir810l and asus rp-n53")
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Tested-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
This patch adds support for the Netgear R6800, aka Netgear AC1900 and
R6800-100PES.
Specification:
- SoC: MediaTek MT7621AT (880 MHz)
- Flash: 128 MiB NAND
- RAM: 256 MiB
- Wireless: MediaTek MT7615EN b/g/n , MediaTek MT7615EN an+ac
- LAN speed: 10/100/1000
- LAN ports: 4
- WAN speed: 10/100/1000
- WAN ports: 1
- USB 2.0
- USB 3.0
- Serial baud rate of Bootloader and factory firmware: 57600
Known issues:
- Device has 3 wifi LEDs: Wifi 5Ghz, Wifi 2.4Ghz and Wifi on/off.
Wifi on/off is not used.
Installation:
- apply factory image via stock web-gui.
Back to stock:
- nmrpflash can be used to recover to the stock Netgear firmware.
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Global attributes enable_mirror_tx/enable_mirror_rx depend on runtime
value of another global attribute mirror_source_port which just resides
in the memory
The same functionality can be achieved by directly setting port
attribute of the same names. E.g. the following two groups of commands
achieve the same thing
swconfig dev switch0 set mirror_source_port 3
swconfig dev switch0 set enable_mirror_tx 1
swconfig dev switch0 set mirror_source_port 4
swconfig dev switch0 set enable_mirror_tx 1
swconfig dev switch0 port 3 set enable_mirror_tx 1
swconfig dev switch0 port 4 set enable_mirror_tx 1
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
All devices inherited from mt7628an_tplink_8m.dtsi and
mt7628an_tplink_8m-split-uboot.dtsi contain the same additional
includes in the DTS files.
Move them to the DTSI files instead.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
So far, the compatible for the Ubiquiti Edgerouter X has been
defined in the DTSI file and inherited for the edgerouterx.dts,
but overwritten for the edgerouterx-sfp.dts. In contrast, the
model was stored in the DTS file in both cases.
To resolve this somewhat confusing situation, move the compatible
with the device name for edgerouterx to the DTS file as well.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Many DTS files contain the same includes again that are already
present in the DTSI files they are derived from.
Remove those redundant includes in the DTS files. For vocore, the
include is moved to the parent DTSI file.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Looking at the current upstream driver implementation, it seems like the
TX/RX flow control is enabled only if the flow control pause option is
resolved from the device/link partner advertisements (or otherwise set).
On the other hand, our current in-tree driver force enables TX/RX
flow control by default, thus possibly leading to TX timeouts if the
other end sends pause frames (which are not properly handled?):
WARNING: CPU: 3 PID: 0 at net/sched/sch_generic.c:320 dev_watchdog+0x1ac/0x324
NETDEV WATCHDOG: eth0 (mtk_soc_eth): transmit queue 0 timed out
Disabling the flow control on PORT 5 MAC seems to fix this issues as the
pause frames are then filtered out. While at it, I'm removing the if
condition completely as suggested, since this code is run only on mt7621
SoC, so there is no need to check for the silicon revisions.
Ref: https://lists.openwrt.org/pipermail/openwrt-devel/2017-November/009882.html
Ref: https://forum.openwrt.org/t/mtk-soc-eth-watchdog-timeout-after-r11573/50000/12
Suggested-by: Felix Fietkau <nbd@nbd.name>
Reported-by: Rosen Penev <rosenp@gmail.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Stock firmware has a vendor-defined tail at the end of uImage for image
validation. This patch enables OpenWrt installation from stock firmware
without having to access the UART console.
Installation via web interface:
1. Flash **initramfs** image through the stock web interface.
2. Boot into OpenWrt and perform sysupgrade with sysupgrade image.
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
The correct model name of WF-2881 is WF2881 without hyphen. The former used
boardnames are not added to SUPPORTED_DEVICES, to make it explicit that the
sysupgrade-tar image, which is newly added in the previous commit, should
not be used to upgrade from older version.
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
[adjust commit title]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
WF-2881 sysupgrade image uses UBI rootfs, but still relies on
default_do_upgrade. Because of this, config backup is not restored after
sysupgrade. It can be fixed by switching to nand_do_upgrade and
sysupgrade-tar image. default_do_upgrade does not handle sysupgrade-tar
properly, so one should use factory image to upgrade from older version.
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
This commit adds the ability to set custom uImage magic to
Build/wr1201-factory-header and renames it to
"Build/custom-initramfs-uimage".
Custom uImage header in initramfs image is required on following
devices:
- I-O DATA WN-AX1167GR2
- I-O DATA WN-AX2033GR
- I-O DATA WN-AX2033GR2
- I-O DATA WN-DX1167R
While at it, fix typo in comment.
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Reviewed-by: Sungbo Eo <mans0n@gorani.run>
[shorten commit title, minor commit message adjustments]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
dts file does not need to be executable. 644 is enough.
Fixes: f098c612b6 ("ramips: create shared DTSI for Netgear EX2700 and WN3000RP v3")
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
TP-Link RE200 v2 is a wireless range extender with Ethernet and 2.4G and 5G
WiFi with internal antennas. It's based on MediaTek MT7628AN+MT7610EN.
Specifications
--------------
- MediaTek MT7628AN (580 Mhz)
- 64 MB of RAM
- 8 MB of FLASH
- 2T2R 2.4 GHz and 1T1R 5 GHz
- 1x 10/100 Mbps Ethernet
- UART header on PCB (57600 8n1)
- 8x LED (GPIO-controlled), 2x button
There are 2.4G and 5G LEDs in red and green which are controlled
separately.
MAC addresses
-------------
The MAC address assignment matches stock firmware, i.e.:
LAN : *:0D
2.4G: *:0E
5G : *:0F
Installation
------------
Web Interface
-------------
It is possible to upgrade to OpenWrt via the web interface. Simply flash
the -factory.bin from OEM. In contrast to a stock firmware, this will not
overwrite U-Boot.
Serial console
--------------
Opening the case is quite hard, since it is welded together. Rename the
OpenWrt factory image to "test.bin", then plug in the device and quickly
press "2" to enter flash mode (no line feed). Follow the prompts until
OpenWrt is installed.
Unfortunately, this devices does not offer a recovery mode or a tftp
installation method. If the web interface upgrade fails, you have to open
your device and attach serial console.
Additonal notes
---------------
It is possible to flash back to stock by using tplink-safeloader to create
a sysupgrade image based on a stock update. After the first boot, it is
necessary upgrade to another stock image, otherwise subsequent boots
fail with LZMA ERROR 1 and you have to attach serial to recover the device.
Signed-off-by: Andreas Böhler <dev@aboehler.at>
[remove DEVICE_VARS change]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This moves the various variants of common device definitions for
TP-Link devices to a common Makefile common-tp-link.mk. This
provides the opportunity to reorganize and move parameters between
individual device definitions and the common ones.
While at it, also use the common definitions for previously
independent definitions where appropriate.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This converts the TP-Link TL-MR3020v3 board to use the WLAN throughput
LED trigger in order to react to all VAPs.
It also moves the WLAN trigger config of the TP-Link TL-WA801NDv5 to the
DTS and merges the now identical LAN LED configs.
Verified these changes on a TL-MR3020v3.
Signed-off-by: Jan Alexander <jan@nalx.net>
[changed commit title and extended commit message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This reverts commit 4716c843d6.
Netgear seems to use different partition layouts on the R6260, which
would require us to dynamically detect the position of (at least) the
factory partition.
Revert this fix to avoid breaking existing installations until a better
solution has been worked out.
Signed-off-by: David Bauer <mail@david-bauer.net>
DEVICE_PACKAGES is specified twice for the same device. Remove the
first (=older) assignment.
Fixes: 40692f0fb5 ("ramips: mt7620: select only the matching mt76 driver")
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
The EEPROM offset for the NETGEAR R6260 is incorrect, thus no valid
calibration data is used.
Fix this only for the NETGEAR R6260, as it's currently unknown whether
or not other boards are affected.
Signed-off-by: David Bauer <mail@david-bauer.net>
The GL.iNet microuter-N300 (internally referred as MT300N-v4) is a
pocket-size travel router. It is essentially identical to the VIXMINI
(internally referred as MT300N-v3) but with double the RAM and
SPI-flash.
Additionally, set the label-mac for both the VIXMINI as well as the
microuter-N300.
Hardware
--------
SoC: MediaTek MT7628NN
RAM: 128M DDR2
FLASH: 16M
LED: Power - WLAN
BTN: Reset
UART: 115200 8N1
TX and RX are labled on the board as pads next to the SoC
Installation via web-interface
------------------------------
1. Visit the web-interface at 192.168.8.1
Note: The ethernet port is by default WAN. So you need to connect to
the router via WiFi
2. Navigate to the Update tab on the left side.
3. Select "Local Update"
4. Upload the OpenWrt sysupgrade image.
Note: Make sure you select not to preserve the configuration.
Installation via U-Boot
-----------------------
1. Hold down the reset button while powering on the device.
Wait for the LED to flash 5 times.
2. Assign yourself a static IPv4 in 192.168.1.0/24
3. Upload the OpenWrt sysupgrade image at 192.168.1.1.
Signed-off-by: David Bauer <mail@david-bauer.net>
In ramips, all devices in mt7621, mt76x8 and rt288x subtarget have
the same value set to the SOC variable for each device individually.
This patch introduces a non-device-dependent variable DEFAULT_SOC,
which is used if no specific SOC is set for a device, and thus reduces
the number of redundant definitions drastically.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
The device tree property "mediatek,led_polarity" is ignored for
MT7628AN and MT7688. According to the datasheet both SoCs have
the matching register. Therefore the property should be applied
on these two devices as well.
Signed-off-by: Maximilian Pachl <m@ximilian.info>
Reviewed-by: Sungbo Eo <mans0n@gorani.run>
Tested-by: Sungbo Eo <mans0n@gorani.run>
Specification:
SoC: MediaTek MT7628AN
RAM: 64MiB
Flash: 8MiB
Wifi:
- 2.4GHz: MT7628AN
- 5GHz: MT7612EN
LAN: 1x 10/100 Mbps
Flash instructions:
Flash factory image through stock firmware WEB UI.
Back to stock is possible by using TFTP and stripping down the Firmware
provided by TP-Link to a initramfs.
The flash space between 0x650000 and 0x7f0000
is blank in the stock firmware so I left it out as well.
Signed-off-by: Steffen Förster <nemesis@chemnitz.freifunk.net>
"#mediatek,portmap" is not a valid property name.
If mediatek,portmap equals 0x0, then the esw driver ditches it and uses
the default value, 0x3f.
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
mt76x8 uses esw_rt3050 driver, which does not accept mediatek,portmap with
string values. Convert the strings to integers to make it work.
According to its switch setup, WRTnode 2P/2R have a WAN port at port 0,
so the correct value should be 0x3e.
tplink_8m.dtsi uses "llllw", but it does not match switch setups of any
device using the DTSI. Remove it from the DTSI and add correct value to DTS
for each device.
These devices have a WAN port at port 0. Set the value to 0x3e.
- tplink,archer-c20-v4
- tplink,archer-c50-v3
- tplink,tl-mr3420-v5
- tplink,tl-wr840n-v4
- tplink,tl-wr841n-v13
- tplink,tl-wr842n-v5
These devices have only one ethernet port. They don't need portmap setting.
- tplink,tl-wa801nd-v5
- tplink,tl-wr802n-v4
- tplink,tl-wr902ac-v3
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
mt7620 and mt7621 use mt7530 driver, which only accepts "llllw", "wllll",
and "lwlll" values.
According to its switch setup, Mi Router 3G v2 has a WAN port at port 4,
so the correct value should be "llllw".
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
- fix color and active mode for existing wps led
- add green wps led
- add wps button
Signed-off-by: Jan Alexander <jan@nalx.net>
[wrap line]
Signed-off-by: David Bauer <mail@david-bauer.net>
This device OOPs during the boot due to broken flash. It can be probably
fixed with `broken-flash-reset` once ramips is on 4.19 kernel.
So disable images for this device until its fixed.
Ref: FS#2695, PR#2483
Signed-off-by: Petr Štetiar <ynezz@true.cz>
TP-Link Archer C20 v5 is a router with 5-port FE switch and
non-detachable antennas. It's based on MediaTek MT7628N+MT7610EN.
Specification:
- MediaTek MT7628N/N (580 Mhz)
- 64 MB of RAM
- 8 MB of FLASH
- 2T2R 2.4 GHz and 1T1R 5 GHz
- 5x 10/100 Mbps Ethernet
- 3x external, non-detachable antennas
- UART (J1) header on PCB (115200 8n1)
- 7x LED (GPIO-controlled*), 2x button, power input switch
* WAN LED in this devices is a dual-color, dual-leads type which isn't
(fully) supported by gpio-leds driver. This type of LED requires both
GPIOs state change at the same time to select color or turn it off.
For now, we support/use only the green part of the LED.
Create Factory image
--------------------
As all installation methods require a U-Boot to be integrated into the
Image (and we do not ship one with the image) we are not able to create
an image in the OpenWRT build-process.
Download a TP-Link image from their Website and a OpenWRT sysupgrade
image for the device and build yourself a factory image like following:
TP-Link image: tpl.bin
OpenWRT sysupgrade image: owrt.bin
> dd if=tpl.bin of=boot.bin bs=131584 count=1
> cat owrt.bin >> boot.bin
Installing via Web-UI
---------------------
Upload the boot.bin via TP-Links firmware upgrade tool in the
web-interface.
Installing via Recovery
-----------------------
Activate Web-Recovery by beginning the upgrade Process with a
Firmware-Image from TP-Link. After starting the Firmware Upgrade,
wait ~3 seconds (When update status is switching to 0%), then
disconnect the power supply from the device. Upgrade flag (which
activates Web-Recovery) is written before the OS-image is touched and
removed after write is succesfull, so this procedure should be safe.
Plug the power back in. It will come up in Recovery-Mode on 192.168.0.1.
When active, all LEDs but the WPS LED are off.
Remeber to assign yourself a static IP-address as DHCP is not active in
this mode.
The boot.bin can now be uploaded and flashed using the web-recovery.
Installing via TFTP
-------------------
Prepare an image like following (Filenames from factory image steps
apply here)
> dd if=/dev/zero of=tp_recovery.bin bs=196608 count=1
> dd if=tpl.bin of=tmp.bin bs=131584 count=1
> dd if=tmp.bin of=boot.bin bs=512 skip=1
> cat boot.bin >> tp_recovery.bin
> cat owrt.bin >> tp_recovery.bin
Place tp_recovery.bin in root directory of TFTP server and listen on
192.168.0.66/24.
Connect router LAN ports with your computer and power up the router
while pressing the reset button. The router will download the image via
tftp and after ~1 Minute reboot into OpenWRT.
U-Boot CLI
----------
U-Boot CLI can be activated by holding down '4' on bootup.
Dual U-Boot
-----------
This is TP-Link MediaTek device with a split-uboot feature design like
a TP-Link Archer C50 v4. The first (factory-uboot) provides recovery via
TFTP and HTTP, jumping straight into the second (firmware-uboot) if no
recovery needs to be performed. The firmware-uboot unpacks and executed
the kernel.
Web-Recovery
------------
TP-Link integrated a new Web-Recovery like the one on the Archer C7v4 /
TL-WR1043v5 / Archer C50v4. Stock-firmware sets a flag in the "romfile"
partition before beginning to write and removes it afterwards. If the
router boots with this flag set, bootloader will automatically start
Web-recovery and listens on 192.168.0.1. This way, the vendor-firmware
or an OpenWRT factory image can be written.
By doing the same while performing sysupgrade, we can take advantage of
the Web-recovery in OpenWRT.
It is important to note that Web-Recovery is only based on this flag. It
can't detect e.g. a crashing kernel or other means. Once activated it
won't boot the OS before a recovery action (either via TFTP or HTTP) is
performed. This recovery-mode is indicated by an illuminated WPS-LED on
boot.
Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
[adjust some node names for LEDs in DTS]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
- add "gpio" group for wan_orange led
- use tpt triggers for wifi led indication
- add wifi 5 GHz led support
Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
[slight commit message adjustment]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Image builds for the ramips-mt7621 target currently fail with:
> WARNING: Image file ./hiwifi_hc5962-kernel.bin is too big
Disable this board for now. It can still be built using the SDK.
Signed-off-by: David Bauer <mail@david-bauer.net>
The device label shows the address currently assigned to the OpenWrt
LAN interface.
Current setup is:
LAN *:b8 factory 0xe006 label
WAN *:b7 factory 0xe000
For vendor FW bootlog we get (manually removed parts of the address):
[ 7.520000] set LAN/WAN LWLLL
[ 7.530000] GMAC1_MAC_ADRH -- : 0x00004031
[ 7.530000] GMAC1_MAC_ADRL -- : 0x3c****b7
[ 7.530000] GDMA2_MAC_ADRH -- : 0x00004031
[ 7.540000] GDMA2_MAC_ADRL -- : 0x3c****b8
[ 7.540000] eth1: ===> VirtualIF_open
Without further information, this does not allow verification of
the currently unexpected LAN/WAN assignment (we would expect 0xe000
to be LAN).
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This move the slightly different target-specific implementations of
mktplinkfw from the targets to include/image-commands.mk and renames
it to tplink-v1-image. Having a common version will increase
consistency between implementation and will complete the
tplink build command already present in the new location.
Due to the slight differences of the original implementations, this
also does some adjustments to the device build commands/variables.
This also moves rootfs_align as this is required as dependency.
Tested on:
- TL-WDR4300 v1 (ath79, factory)
- TL-WDR4900 v1 (mpc85xx, sysupgrade)
- RE210 v1 (ramips, see Tested-by)
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Tested-by: Christoph Krapp <achterin@googlemail.com>
ipTIME A8004T is a 2.4/5GHz band AC2600 router, based on Mediatek
MT7621A.
Specifications:
- SoC: MT7621A
- RAM: DDR3 256M
- Flash: SPI NOR 16MB
- WiFi:
- 2.4GHz: MT7615E
- 5GHz: MT7615E
- Ethernet: 5x 10/100/1000Mbps
- Switch: SoC internal
- USB: 1 * USB3.0 port
- UART:
- J4: 3.3V, TX, RX, GND (3.3V is the square pad) / 57600 8N1
- Other info:
- J9: Unknown unpopulated header.
Installation via web interface:
1. Flash **initramfs** image through the stock web interface.
2. Boot into OpenWrt and perform sysupgrade with sysupgrade image.
Revert to stock firmware:
1. Perform sysupgrade with stock image.
Signed-off-by: Yong-hyu Ban <perillamint@quendi.moe>
[do not enable xhci node in DTS which is already enabled in DTSI]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
The MAC address on the label of this device corresponds to the
2.4 GHz and ethernet MAC address.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Currently this device fails to boot with the OpenWrt snapshot images
(release images are unaffected). The error message is:
"LZMA ERROR 1 - must RESET board to recover".
This happens because the kernel image is too big for the bootloader
to boot. This commit works around this by decreasing the lzma dictionary
size option from the default 23 to 10.
Before this change the current OpenWrt snapshot image (uncompressed
kernel size 4875139 bytes) failed to boot, while now an even bigger
image (kernel 4.19 with snapshot default config; uncompressed kernel
size 5162833 bytes) boots just fine.
The highest lzma dictionary size option this image booted with was 11.
10 was chosen to have a bit more room for growth.
An unavoidable side-effect of this change is that the compressed kernel
image will take up more space.
Total image size with different dictionary size options:
D23 - 3973903 bytes (base)
D16 - 4113167 bytes (+3.5% - +139264 bytes)
D12 - 4317967 bytes (+8.7% - +344064 bytes)
D11 - 4383503 bytes (+10.3% - +409600 bytes)
D10 - 4461327 bytes (+12.3% - +487424 bytes)
Fixes: FS#1484
Signed-off-by: Mason Clarke <mclarke2355@gmail.com>
Images generated for the TP-Link RE200v1 cannot be updated using
sysupgrade, because a necessary call to append-metadata was missing.
Signed-off-by: Andreas Böhler <dev@aboehler.at>
Edimax RA21S is a dual band 11ac router,
based on MediaTek MT7621A and MT7615N chips.
Specification:
- SoC: MediaTek MT7621A dual-core @ 880MHz
- RAM: 256M (Nanya NT5CC128M16IP)
- FLASH: 16MB (Macronix MX25L12835F)
- WiFi: 2.4/5 GHz 4T4R
- 2.4GHz MediaTek MT7615N bgn
- 5GHz MediaTek MT7615N nac
- Switch: SoC integrated Gigabit Switch (4 x LAN, 1 x WAN)
- USB: No
- BTN: Reset, WPS
- LED: 4 red LEDs, indistinguishable when case closed
- UART: through-hole on PCB.
J1: 3.3V - RX - GND - TX / 57600-8N1. 3.3V is the square pad
Installation:
Update the factory image via the OEM web-interface
(by default: http://192.168.2.1/)
User: admin
Password: 1234
The sysupgrade image can be installed via TFTP
from the U-Boot bootloader. Connect via ethernet port 2.
Tested on device by @UAb5eSMn
Signed-off-by: Maksym Medvedev <redrathnure@gmail.com>
[split DTS and take over improvements from RG21S, extend commit
message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
The TP-Link Archer C20i previously had a generic Ralink MAC address set
for both radios, as the caldata does only contain a generic MAC address.
Set the MAC address from the vendor firmware for both radios to assign
unique MAC addresses to every device.
Signed-off-by: David Bauer <mail@david-bauer.net>
The TP-Link Archer C2 v1 previously had a generic Ralink MAC address set
for the 5GHz radio (MT7610), as the caldata does only contain a generic
MAC address.
Set the MAC address from the vendor firmware for the 5GHz radio to
assign unique MAC addresses to every device.
Signed-off-by: David Bauer <mail@david-bauer.net>
Use the WPS LED to indicate system status like it is done for the
TP-Link Archer C2 v1 and many other boards.
Signed-off-by: David Bauer <mail@david-bauer.net>
This converts all MediaTek MT7620 boards from TP-Link to use the now
supported WiFi throughput LED trigger. This way, the LED state now
covers all VAPs regardless of their name.
Also align all single-WiFi LEDs to represent the state of the 2.4GHz
radio. This was not always the case previously, as later-added support
for the MT7610 altered the phy probing order.
Signed-off-by: David Bauer <mail@david-bauer.net>
HC5661 does not have 5GHz WiFi or LED.
Fixes: e6e373d348 ("ramips: Add DTS files for HiWiFi HC5x61 models")
Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
TP-Link RE200 v1 is a wireless range extender with Ethernet and 2.4G and 5G
WiFi with internal antennas. It's based on MediaTek MT7620A+MT7610EN.
Specifications
--------------
- MediaTek MT7620A (580 Mhz)
- 64 MB of RAM
- 8 MB of FLASH
- 2T2R 2.4 GHz and 1T1R 5 GHz
- 1x 10/100 Mbps Ethernet
- UART header on PCB (57600 8n1)
- 8x LED (GPIO-controlled; only 6 supported), 2x button
There are 2.4G and 5G LEDs in red and green which are controlled
separately. The 5G LED is currently not supported, since the GPIOs couldn't
be determined.
Installation
------------
Web Interface
-------------
It is possible to upgrade to OpenWrt via the web interface. However, the
OEM firmware upgrade file is required and a tool to fix the MD5 sum of
the header. This procedure overwrites U-Boot and there is not failsafe /
recovery mode present! To prepare an image, you need to take the header
and U-Boot (i.e. 0x200 + 0x20000 bytes) from an OEM firmware file and
attach the factory image to it. Then fix the header MD5Sum1.
Serial console
--------------
Opening the case is quite hard, since it is welded together. Rename the
OpenWrt factory image to "test.bin", then plug in the device and quickly
press "2" to enter flash mode (no line feed). Follow the prompts until
OpenWrt is installed.
Unfortunately, this devices does not offer a recovery mode or a tftp
installation method. If the web interface upgrade fails, you have to open
your device and attach serial console. Since the web upgrade overwrites
the boot loader, you might also brick your device.
Additional notes
----------------
MAC address assignment is based on stock-firmware. For me, the device
assigns the MAC on the label to Ethernet and the 2.4G WiFi, while the 5G
WiFi has a separate MAC with +2.
*:88 Ethernet/2.4G label, uboot 0x1fc00, userconfig 0x0158
*:89 unused userconfig 0x0160
*:8A 5G not present in flash
This seems to be the first ramips device with a TP-Link v1 header. The
original firmware has the string "EU" embedded, there might be some region-
checking going on during the firmware upgrade process. The original
firmware also contains U-Boot and thus overwrites the boot loader during
upgrade.
In order to flash back to stock, the first header and U-Boot need to be
stripped from the original firmware.
Signed-off-by: Andreas Böhler <dev@aboehler.at>
MiWiFi Nano has two LAN ports, which are in reverse order. Add port numbers
to them, and disable unused ports.
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
This adds an LED trigger for the WAN LED on top of the TP-Link
TL-WR902AC v3. Currently, only the LED on the port itself shows the link
state, while the LED on top of the device stays dark.
The WAN port of the device is a hybrid LAN/WAN one, hence why the LED at
the port was labled LAN.
Signed-off-by: David Bauer <mail@david-bauer.net>
Several devices in mt76x8 subtarget use the following line to set
up wmac in their DTS(I) files:
ralink,mtd-eeprom = <&factory 0x4>
This is strange for several reasons:
- They should use mediatek,mtd-eeprom on this SOC
- The caldata is supposed to start at 0x0
- The parent DTSI mt7628an.dtsi specifies mediatek,mtd-eeprom anyway,
starting from 0x0
- The offset coincides with the default location of the MAC address
in caldata
Based on the comment in b28e94d4bf ("ramips: MiWiFi Nano fixes"),
it looks like the author for this device wanted to actually use
mtd-mac-address instead of ralink,mtd-eeprom. A check on the same
device revealed that actually the MAC address start at offset 4 there,
so the correct caldata offset is 0x0.
Based on these findings, and the fact that the expected location on
this SOC is 0x0, we remove the "ralink,mtd-eeprom = <&factory 0x4>"
statement from all devices in ramips (being only mt7628an anyway).
Thanks to Sungbo Eo for finding and researching this.
Reported-by: Sungbo Eo <mans0n@gorani.run>
Fixes: b28e94d4bf ("ramips: MiWiFi Nano fixes")
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
The device label contains:
E01: 74:4D:28:xx:xx:30
E05: 74:4D:28:xx:xx:34
The first value corresponds to the address set in hard_config 0x10.
That one is taken for the label MAC address.
Signed-off-by: Sven Roederer <freifunk@it-solutions.geroedel.de>
The node pinctrl0 is already set up in the SOC DTSI files, but
defined again as member of pinctrl in most of the device DTS(I)
files. This patch removes this redundancy for the entire ramips
target.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
MAC addresses are stored in factory partition at:
0x0004: WiFi 2.4GHz (label_mac +1)
0x0028: LAN, WAN (label_mac)
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
This patch does the following:
- prepend vendor name to model
- set status LEDs to follow the behavior in stock FW
- simplify state_default node definition
- use generic name for flash node
Stock FW status indicators:
https://files.xiaomi-mi.com/files/Mi_Router_Wi-Fi_Nano/Mi_router-NANO_EN.pdf
> Yellow: power on / off
> Blue: during normal operation
> Red: in case of problems with the operation of the device
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
This fixes the state_default node by setting the correct groups and
inheriting &state_default from parent DTSI directly.
The compatible for the wifi nodes is changed to the more generic
mediatek,mt76.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
So far, lan/wan MAC address for Edimax RG21S are only read using
mtd_get_mac_ascii, so eth0.1 and eth0.2 addresses are set, but
eth0 address is random. Since the device's LAN address is the same
as for 2.4 GHz, though, this patch set's the eth0 address based
on the 2.4 GHz one, which can be extracted by mtd-mac-address.
This will also allow to move the label MAC address setup to DT.
The setup of lan_mac and wan_mac are kept in 02_network, so those
locations are still in use, too.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Device support for Belkin F9K1109v1 was added using set_usb_led()
although this was removed in 772b27c207 ("ramips: set F5D8235 v1
usb led trigger via devicetree").
Use ucidef_set_led_usbport() instead.
Fixes: f2c83532f9 ("ramips: add support for Belkin F9K1109v1")
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
[rephrase commit title and message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This harmonizes the line wrapping in image Makefile device
definitions, as those are frequently copy-pasted and are a common
subject of review comments. Having the treatment unifying should
reduce the cases where adjustment is necessary afterwards.
Harmonization is achieved by consistently (read "strictly")
applying certain rules:
- Never put more than 80 characters into one line
- Fill lines up (do not break after 40 chars because of ...)
- Use one tab for indent after wrapping by "\"
- Only break after pipe "|" for IMAGE variables
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This adds the option to determine switchdev by board when setting
preinit iface for failsafe. The patch reorganizes the code to use
functions for setting correct switchdev based on SOC and board,
which is supposed to improve readability and maintainability.
In this patch, the ramips_switchdev_from_board function is added
without specifying an actual device using it. This is meant to
make the life of device supporters waiting for merge easier, as
there is less to rebase and keep track of.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
ipTIME A104ns is a 2.4/5GHz band AC750 router, based on MediaTek MT7620A.
Specifications:
- SoC: MT7620A
- RAM: DDR2 64MB
- Flash: SPI NOR 8MB
- WiFi:
- 2.4GHz: SoC internal
- 5GHz: MT7610EN
- Ethernet: 5x 10/100Mbps
- Switch: SoC internal
- USB: 1x 2.0
- UART:
- J2: 3.3V, TX, RX, GND (3.3V is the square pad) / 57600 8N1
Installation via web interface:
1. Flash **initramfs** image through the stock web interface.
2. Boot into OpenWrt and perform sysupgrade with sysupgrade image.
Revert to stock firmware:
1. Perform sysupgrade with stock image.
In contrast to to-be-supported A1004ns, the A104ns has no usable
value in 0x1fc40 (uboot), so wan_mac needs to be calculated.
Also note that GPIOs for the LEDs really are inverted compared to
the A1004ns.
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
[moved state_default to device DTS, reordered properties in wmac,
added comment about wan_mac and LED GPIOs]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
The Edimax RG21S has a label which bears two MAC addresses:
2.4 GHz (n) and 5 GHz (n+1)
The complete MAC address setup is as follows:
2.4 GHz *:83 factory 0x4, u-boot-env wlanaddr
5 GHz *:84 factory 0x8004
LAN *:83 u-boot-env ethaddr
WAN *:85 u-boot-env wanaddr
Since 2.4 GHz is the first address on the label and the same
as used for ethernet, take this one for label MAC address.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This increases SPI frequency from the relatively low 10 MHz to 40 MHz.
Signed-off-by: Birger Koblitz <mail@birger-koblitz.de>
[added commit title/message, split patch]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This sdhci and i2c nodes were copy-pasted, but are not needed as
the device does not provide that functionality. Remove them.
Signed-off-by: Birger Koblitz <mail@birger-koblitz.de>
[added commit title/message, split patch]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
JCG JHR-AC876M is an AC2600M router
Hardware specs:
SoC: MT7621AT
2.4GHz: MT7615N 4x4 @ PCIe0
5GHz: MT7615N 4x4 @ PCIe1
Flash: Winbond W25Q128JVSQ 16MiB
RAM: Nanya NT5CB128M16 256MiB
USB 2.0 and 3.0 ports
6 LEDs, 3 of which are connected to SoC GPIO
Reset and WPS buttons
Flash instructions:
Stock to OpenWrt:
Upload factory.bin in stock firmware's upgrade page,
do not preserve settings
OpenWrt to stock:
Push and hold the reset button for 5s while power cycling to
enter recovery mode;
Visit 192.168.1.1 and upload stock firmware
MAC addresses map:
0x0004 *:1c wlan2g/wan/label
0x8004 *:20 wlan5g
0xe000 *:1b lan
0xe006 *:1a not used in stock fw
Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
This allows JCG_MAXSIZE to be specified in kilobytes. This makes
this value more consistent and easier comparable with other size
variables.
This also changes the only occurence of the variable, for Cudy WR1000.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
ipTIME A6ns-M is a 2.4/5GHz band AC1900 router, based on MediaTek MT7621A.
Specifications:
- SoC: MT7621AT
- RAM: DDR3 128MB
- Flash: SPI NOR 16MB
- WiFi:
- 2.4GHz: MT7615
- 5GHz: MT7615
- Ethernet: 5x 10/100/1000Mbps
- Switch: SoC internal
- UART:
- J4: 3.3V, TX, RX, GND (3.3V is the square pad) / 57600 8N1
Installation via web interface:
1. Flash **initramfs** image through the stock web interface.
2. Boot into OpenWrt and perform sysupgrade with sysupgrade image.
Revert to stock firmware:
1. Perform sysupgrade with stock image.
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
This does several trivial DTS style improvements:
- Move device name compatible to DTS files (and fix compatible in
11acnas.dts)
- Remove xhci node as status is set to okay in mt7621.dtsi already
- 0x0 instead of 0x0000
- Simplify state_default node definition
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
ZIO FREEZIO is a 2.4/5GHz band AC1200 router, based on MediaTek MT7621A.
Specifications:
- SoC: MT7621AT
- RAM: DDR3 128MB
- Flash: SPI NOR 16MB
- WiFi:
- 2.4GHz: MT7603EN
- 5GHz: MT7612EN
- Ethernet: 5x 10/100/1000Mbps
- Switch: SoC internal
- USB: 1x 3.0
- UART:
- J4: 3.3V, RX, TX, GND (3.3V is the square pad) / 57600 8N1
Notes:
- FREEZIO has almost the same board as WeVO W2914NS v2.
- Stock firmware is based on OpenWrt BB.
MAC addresses in factory partition:
0x0004: WiFi 2.4GHz (label_mac-8)
0x002e: WAN (label_mac)
0x8004: WiFi 5GHz (label_mac-4)
0xe000: LAN (label_mac+1)
Installation via web interface:
1. Access web admin page and turn on "OpenWrt UI mode".
2. Flash sysupgrade image through LuCI, with the "Keep settings" option
OFF.
Revert to stock firmware:
1. Perform sysupgrade with stock image.
Make sure to NOT preserve settings.
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
[rebase, use mt7621_wevo_w2914ns-v2.dtsi]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
The device label contains:
E01: B8:69:F4:xx:xx:07
E02: B8:69:F4:xx:xx:09
The first value corresponds to the address set in hard_config 0x10.
That one is taken for the label MAC address.
Thanks to Martin Schiller for retrieving the information.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>