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>