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>
This uses the flash locations instead of eth0 MAC address to
calculate MAC address increments for WAN.
The change will make the MAC address setup of a particular device
more obvious and removes the dependency of 02_network on the eth0
initialization.
This removes the wan_mac setup for the following devices as they
do not set up a MAC address for ethernet in the first place:
- asiarf,awapn2403
- belkin,f7c027
- dlink,dir-615-d
- mofinetwork,mofi3500-3gn
- prolink,pwh2004
- ralink,v22rw-2x2
- unbranded,wr512-3gn-4m
- unbranded,wr512-3gn-8m
While at it, make some DT node labels consistent with the label
property.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This uses the flash locations instead of eth0 MAC address to
calculate MAC address increments for WAN.
The change will make the MAC address setup of a particular device
more obvious and removes the dependency of 02_network on the eth0
initialization.
This removes the wan_mac setup for ralink,v11st-fe as this device
does not set up a MAC address for ethernet in the first place.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This uses the flash locations instead of eth0 MAC address to
calculate MAC address increments for WAN.
The change will make the MAC address setup of a particular device
more obvious and removes the dependency of 02_network on the eth0
initialization.
While at it, change the partition label for zyxel,keenetic-extra-ii
to factory to be consistent with node label and all the other devices.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This uses the flash locations instead of eth0 MAC address to
calculate MAC address increments for WAN.
The change will make the MAC address setup of a particular device
more obvious and removes the dependency of 02_network on the eth0
initialization.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This uses the flash locations instead of eth0 MAC address to
calculate MAC address increments for WAN.
The change will make the MAC address setup of a particular device
more obvious and removes the dependency of 02_network on the eth0
initialization.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
The evaluation boards do not set up a MAC address for eth0
in the first place, so it does not make sense to calculate a WAN
address from the random MAC used there.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
The TP-Link Archer C20i/C20 v1/C50 v1 seem to be almost the same,
so creating a common DTSI will reduce duplicate code.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
The DTS variable has been removed in 402138d12d ("ramips: Derive
DTS name from device name in Makefile"), but the DEVICE_VARS entry
has been overlooked.
Remove it now since we are not using this variable.
This must _not_ be backported to 19.07, where the variable is still
in use.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
The switch LAN port numbers are in reversed order with original config.
With this patch they are fixed.
Port order checked on both devices.
Signed-off-by: Gabor Varga <vargagab@gmail.com>
[merged definitions into appropriate block, extended commit message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Current OpenWrt MAC setup:
eth0 &rom 0xf100 :48
eth0.2 eth0+1 :49
wlan0 (5 GHz) &radio 0x8004 different OUI
wlan1 (2.4 GHz) &radio 0x4 same OUI as wlan0
Label MAC address corresponds to eth0 (ðernet).
No additional addresses found in hexdump of rom/radio.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
The "/dts-v1/;" identifier is supposed to be put once at the beginning
of a device tree file. Thus, it makes no sense to provide it a second
time in to-be-included DTSI files.
This removes the identifier from all DTSI files in /target/linux.
Most of the DTS files in OpenWrt do contain the "/dts-v1/;". It is
missing for most of the following targets, though:
mvebu, ipq806x, mpc85xx, ipq40xx
This does not touch ipq806x for now, as the bump to 4.19 is close.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
A small subset of devices uses decimal notation for mediatek,mtd-eeprom
in DTS files. Convert to hexadecimal notation to be consistent with
all the rest.
Also change "0" to "0x0" in the same files for consistency.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
The Mikrotik RBM33G has only 2 LAN ports.
Signed-off-by: Martin Schiller <ms@dev.tdt.de>
[moved node in 02_network to maintain alphabetic sorting]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Physical port order watched from the backside of the C20i
(from left to right) is: Internet / 1 / 2 / 3 / 4
Physical Port Switch port
WAN 0
LAN 3 1
LAN 4 2
LAN 1 3
LAN 2 4
(not used) 5
CPU 6
Signed-off-by: Walter Sonius <walterav1984@gmail.com>
[commit message/title improvements]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This re-organizes the device-tree files for the Sercomm-manufactured
NETGEAR routers. They are now split into two different base-boards,
from which the respective model is extended.
This partially reverts commit c7842ceaaa ("ramips: reorganize DTSI
files for Netgear R devices"), which introduced inheritance between two
completely unrelated base-boards.
Signed-off-by: David Bauer <mail@david-bauer.net>
The stock firmware and bootloader only accept uImage with names that
match certain patterns. This patch enables OpenWrt installation from
stock firmware without having to reflash the bootloader or 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 ASUS WL-330N(3G) and the Edimax RG21S had the
reset keycode assigned to the WPS button. This patch
changes all three devices to use KEY_WPS_BUTTON in
the hopes that this fixes unwanted restarts/
unexpected behavior from the users point of view.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
ALFA Network Quad-E4G is a universal Wi-Fi/4G platform, which offers
three miniPCIe (PCIe, USB 2.0, SIM) and a single M.2 B-key (dual-SIM,
USB 3.0) slots, RTC and five Gigabit Ethernet ports with PoE support.
Specification:
- MT7621A (880 MHz)
- 256/512 MB of RAM (DDR3)
- 16/32+ MB of FLASH (SPI NOR)
- optional second SPI flash (8-pin WSON/SOIC)
- 1x microSD (SDXC) flash card reader
- 5x 10/100/100 Mbps Ethernet, with passive PoE support (24 V) in LAN1
- optional 802.3at/af PoE module for WAN
- 3x miniPCIe slot (with PCIe and USB 2.0 buses, micro SIM and 5 V)
- 1x M.2/NGFF B-key 3042 (USB 3.0/2.0, mini + micro SIM)
- RTC (TI BQ32002, I2C bus) with backup battery (CR2032)
- external hardware watchdog (EM Microelectronic EM6324)
- 1x USB 2.0 Type-A
- 1x micro USB Type-B for system serial console (Holtek HT42B534)
- 11x LED (5 for Ethernet, 5 driven by GPIO, 1x power indicator)
- 3x button (reset, user1, user2)
- 1x I2C (4-pin, 2.54 mm pitch) header on PCB
- 4x SIM (6-pin, 2.00 mm pitch) headers on PCB
- 2x UART2/3 (4-pin, 2.54 mm pitch) headers on PCB
- 1x mechanical power switch
- 1x DC jack with lock (24 V)
Other:
- U-Boot selects default SIM slot, based on value of 'default_sim' env
variable: '1' or unset -> SIM1 (mini), '2' -> SIM2 (micro). This board
has additional logic circuit for M.2 SIM switching. The 'sim-select'
will work only if both SIM slots are occupied. Otherwise, always slot
with SIM inside is selected, no matter 'sim-select' value.
- U-Boot enables power in all three miniPCIe and M.2 slots before
loading the kernel
- this board supports 'dual image' feature (controlled by 'dual_image'
U-Boot environment variable)
- all three miniPCIe slots have additional 5 V supply on pins 47 and 49
- the board allows to install up to two oversized miniPCIe cards (vendor
has dedicated MediaTek MT7615N/D cards for this board)
- this board has additional logic circuit controlling PERSTn pins inside
miniPCIe slots. By default, PERSTn (GPIO19) is routed to all miniPCIe
slots but setting GPIO22 to high allows PERSTn control per slot, using
GPIO23-25 (value is inverted)
You can use the 'sysupgrade' image directly in vendor firmware which is
based on OpenWrt (make sure to not preserve settings - use 'sysupgrade
-n -F ...' command). Alternatively, use web recovery mode in U-Boot:
1. Power the device with reset button pressed, the modem LED will start
blinking slowly and after ~3 seconds, when it starts blinking faster,
you can release the button.
2. Setup static IP 192.168.1.2/24 on your PC.
3. Go to 192.168.1.1 in browser and upload 'sysupgrade' image.
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
ALFA Network R36M-E4G is a dual-SIM, N300 Wi-Fi, compact size platform
based on MediaTek MT7620A WiSoC. This product is designed for operation
with 4G modem (can be bought in bundle with Quectel EC25, EG25 or EP06)
but supports also Wi-Fi modules (miniPCIe slot has USB and PCIe buses).
Specification:
- MT7620A (580 MHz)
- 64/128/256 MB of RAM (DDR2)
- 16/32+ MB of FLASH (SPI NOR)
- 2x 10/100 Mbps Ethernet, with passive PoE support (24 V)
- 2T2R 2.4 GHz (MT7620A), with ext. LNA (RFFM4227)
- 1x miniPCIe slot (with PCIe and USB 2.0 buses and optional 5 V)
- 2x SIM slot (mini, micro) with detect and switch driven by GPIO
- 2x u.fl antenna connectors (for Wi-Fi)
- 8x LED (7 driven by GPIO)
- 2x button (reset, wifi)
- 2x UART (4-pin/2.54 mm pitch, 10-pin/1.27 mm pitch) headers on PCB
- 1x I2C (4-pin, 1.27 mm pitch) header on PCB
- 1x LED (8-pin, 1.27 mm pitch) header on PCB
- 1x DC jack with lock (12 V)
Other:
- there is a dedicated, 4-pin connector for optional RTC module (Holtek
HT138x) with 'enable' input, not available at the time of preparing
support for this board
- miniPCIe slot supports additional 5 V supply on pins 47 and 49 but a
jumper resistor (R174) is not installed by default
- U-Boot selects default SIM slot, based on value of 'default_sim' env
variable: '1' or unset -> SIM1 (mini), '2' -> SIM2 (micro). This will
work only if both slots are occupied, otherwise U-Boot will always
select slot with SIM card inside (user can override it later, in
user-space)
- U-Boot resets the modem, using PERSTn signal, before starting kernel
- this board supports 'dual image' feature (controlled by 'dual_image'
U-Boot environment variable)
Flash instruction:
You can use the 'sysupgrade' image directly in vendor firmware which is
based on OpenWrt (make sure to not preserve settings - use 'sysupgrade
-n -F ...' command). Alternatively, use web recovery mode in U-Boot:
1. Power the device with reset button pressed, the modem LED will start
blinking slowly and after ~3 seconds, when it starts blinking faster,
you can release the button.
2. Setup static IP 192.168.1.2/24 on your PC.
3. Go to 192.168.1.1 in browser and upload 'sysupgrade' image.
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
New U-Boot version for MediaTek MT76x8/MT762x based ALFA Network boards
includes support for a 'dual image' feature. Users can enable it using
U-Boot environment variable 'dual_image' ('1' -> enabled).
When 'dual image' feature is enabled, U-Boot will modify DTB and divide
the original 'firmware' flash area into two, equal in size and aligned
to 64 KB partitions: 'firmware' and 'backup'. U-Boot will also adjust
size of 'firmware' area to match installed flash chip size.
U-Boot will load kernel from active partition which is marked with env
variable 'bootactive' ('1' -> first partition, '2' -> second partition)
and rename both partitions accordingly ('firmware' <-> 'backup').
There are 3 additional env variables used to control 'dual image' mode:
- bootlimit - maximum number of unsuccessful boot tries (default: '3')
- bootcount - current number of boot tries
- bootchanged - flag which informs that active partition was changed; if
it is set and 'bootcount' reaches 'bootlimit' value,
U-Boot will start web-based recovery which then updates
both partitions with provided image
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
CY-SWR1100 has a USB LED but kmod-usb-ledtrig-usbport is missing
in default images. This commit adds it.
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
[changed commit title]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This patch does the following:
- rename "devdata" flash partition and make it read-only
- switch from gpio-keys-polled to gpio-keys
- add missing power LED
- set correct PCI ID to compatible string in wifi node
- remove ralink,5ghz property in wifi node
- provide label MAC address
Rename devdata partition to devconf as indicated in the stock firmware
partition table:
00030000-00040000: "devdata"
00040000-00050000: "devconf"
Power LED can be controlled by SoC GPIO. Add it in the dts leds node.
RT3092L supports only bgn mode, so it is unnecessary to disable 5GHz band.
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
Ethernet MAC address setup has been broken since c3e420f28c. Restore
original setting.
Fixes: c3e420f28c ("ramips: Add support for D-Link DCH-M225")
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
This replaces all uses of $(cat /sys/class/ieee80211/phyX/macaddress)
by retrieval from the proper flash locations. This will make
02_network independent of WiFi setup again.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
As started in 19724e28c8 ("ramips: split base-files into
subtargets"), this moves some smaller left-over files to the
appropriate base-files folder of their subtarget:
- /etc/init.d/bootcount
- /etc/uci-defaults/04_led_migration
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This adjusts the GPIO state flag to ACTIVE_LOW as FCC pictures indicate
the base board is identical to the one of the R6220.
Fixes commit 3459013257 ("ramips: correct R6220 button flag")
Signed-off-by: David Bauer <mail@david-bauer.net>
All buttons on the Netgear R6220 are active-low while they are flagged
as active-high.
The GPIO status reads the following for no buttons pressed:
root@64367-r6220:~# cat /sys/kernel/debug/gpio
gpio-7 ( |wps ) in hi
gpio-8 ( |wifi ) in hi
gpio-14 ( |reset ) in hi
Signed-off-by: David Bauer <mail@david-bauer.net>
This moves shared code of the named devices into a common DTSI.
Remove setting status="okay" for &gpio0 as it's not disabled in
mt7620a.dtsi.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Based on Macronix MX25L3205DM2I datasheet this is maximum
supported speed.
Signed-off-by: Frederik Noe-Sdun <Frederik.Sdun@googlemail.com>
[rebased, improved commit title/message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Specifications:
* SoC: MT7620A
* RAM: 64 MB DDR
* Flash: 8MB NOR SPI flash
* WiFi: MT7612E (5Ghz) and builtin MT7620A (2.4GHz)
* LAN: 1x100M
The -factory images can be flashed from the
device's web interface or via nmrpflash.
The device seems to use base PCB as EX3700/EX3800,
but supporting AC1200 using MT7612E.
MAC adresses:
5.0 GHz 0x8004 *:9a
2.4 GHz 0x4 *:9b
lan 0x28 *:9b
wan 0x2e *:9c
Since this is a one-port device, although wan MAC address is
set in flash, it is not used in OpenWrt setup.
Signed-off-by: Frederik Noe-Sdun <Frederik.Sdun@googlemail.com>
[rebased, extended commit message, tiny DTS style fixes]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
For some devices, the keys node is named "button". Change name to
match the rest of the target.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
The elecom-header renames the firmware image to v_0.0.0.bin, stores its
MD5 sum as v_0.0.0.md5 and tars both files again.
Both v_0.0.0 files are created as the build user making it harder to
reproduce.
This commit sets the owner/group of both files to root by adding extra
options to the final tar command.
Before:
0 buildbot (101) buildbot (102) 3932164 2019-11-05 14:43:22.000000 v_0.0.0.bin
0 buildbot (101) buildbot (102) 33 2019-11-05 14:43:22.000000 v_0.0.0.md5
After:
0 root (0) root (0) 3932164 2019-11-05 23:43:08.000000 v_0.0.0.bin
0 root (0) root (0) 33 2019-11-05 23:43:08.000000 v_0.0.0.md5
Signed-off-by: Paul Spooren <mail@aparcar.org>
This reorganizes DTSI files for the Netgear R devices in mt7621
(and the WNDR3700 v5). It creates a common DTSI for all R (sercomm)
devices and distributes the remaining code in r6220.dtsi to R6220
and WNDR3700 v5.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
- remove WAN port index
- load WAN MAC address directly from the flash
- provide label MAC address
- increase flash's SPI frequency to 80MHz
- add mt76 led nodes to make WiFi LEDs work
- drop unnecessary pinmux groups
The factory partition scheme for MAC addresses (verified on both devices):
0x4 : WiFi 2.4GHz (label_mac-9)
0x28 : unused
0x2e : WAN (label_mac)
0x8004: WiFi 5GHz (label_mac-5)
0xe000: LAN (label_mac-1)
0xe006: unused
By improving flash speed,
`time dd if=/dev/mtdblock3 of=/dev/null bs=64k`
has been reduced from 14.51s to 3.11s.
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
[rebased]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
So far, MAC address assignment in ramips has contained a default
case, which defined wan_mac = eth0 + 1 for _every_ device not
having an explicit case there.
This is not desirable, as many device supporters will just not
care or know about this definition, so another MAC address will be
introduced by accident. In some cases the wan_mac is assigned
although it is not needed, in other cases even addresses not
dedicated to the device will be used (e.g. wan_mac actually is
eth0 - 1, but during support nobody cared, so eth0 + 1 is used now,
which might actually belong to another device ...).
Thus, in this PR the former default case is converted to an
explicit case. This one comprises all devices not being accounted
for by other cases, reduced by those not having wan at all.
The big number of entries for this node might be another indication
that many of them wouldn't actually be there if there hadn't been
default wan_mac setup.
In exchange, the current "do nothing" case can be removed, as it
will be the new default case.
The devices being put in the newly created explicit case were
determined as follows:
1. Create a list of all devices based on the DTS files.
2. Remove all devices already having an explicit entry setting
their address.
3. Remove all devices that only have lan set up in the first part
of 02_network:
mt7620:
- alfa-network,tube-e4g
- asus,rp-n53
- buffalo,wmr-300
- comfast,cf-wr800n
- edimax,ew-7476rpc
- edimax,ew-7478ac
- elecom,wrh-300cr
- hnet,c108
- kimax,u25awf-h1
- kimax,u35wf
- kingston,mlw221
- kingston,mlwg2
- microduino,microwrt
- netgear,ex2700
- netgear,ex3700
- netgear,wn3000rp-v3
- planex,cs-qr10
- planex,mzk-ex300np
- planex,mzk-ex750np
- ravpower,wd03
- sercomm,na930
- yukai,bocco
- zbtlink,zbt-cpe102
- zte,q7
mt7621:
- gnubee,gb-pc1
- gnubee,gb-pc2
- linksys,re6500
- mikrotik,rbm11g
- netgear,ex6150
- thunder,timecloud
- tplink,re350-v1
- tplink,re650-v1
mt76x8:
- alfa-network,awusfree1
- d-team,pbr-d1
- glinet,vixmini
- vocore,vocore2-lite
- tama,w06
- tplink,tl-mr3020-v3
- tplink,tl-wa801nd-v5
- tplink,tl-wr802n-v4
- tplink,tl-wr902ac-v3
- vocore,vocore2
- widora,neo-16m
- widora,neo-32m
rt288x:
- buffalo,wli-tx4-ag300n
- dlink,dap-1522-a1
rt305x:
- allnet,all0256n-4m
- allnet,all0256n-8m
- allnet,all5002
- allnet,all5003
- alphanetworks,asl26555-16m
- alphanetworks,asl26555-8m
- asus,wl-330n
- aximcom,mr-102n
- dlink,dcs-930
- easyacc,wizard-8800
- hame,mpr-a2
- hootoo,ht-tm02
- huawei,d105
- intenso,memory2move
- planex,mzk-dp150n
- rt305x dlink,dcs-930l-b1
- sparklan,wcr-150gn
- tenda,3g150b
- tenda,3g300m
- tenda,w150m
- trendnet,tew-638apb-v2
- unbranded,a5-v11
- vocore,vocore-16m
- vocore,vocore-8m
- wansview,ncs601w
- zorlik,zl5900v2
rt3883:
- loewe,wmdr-143n
- omnima,hpm
4. Put the remaining devices in the new case.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This patch does the following:
1. remove u-boot-env partition
Stock bootloader saves env variables at 0x80000 in flash,
and there is nothing stored at 0x30000.
By merging the partition "u-boot-env" with "u-boot",
the partition table becomes the same as used in stock firmware:
00000000-00080000: "Bootloader"
00080000-00100000: "Config"
00100000-00140000: "Factory"
00140000-07f80000: "Kernel"
2. fix LAN/WAN MAC addresses and provide label MAC address
Ethernet MAC addresses are stored in factory partition at:
0xe000: LAN (label_mac)
0xe006: WAN (label_mac+1)
3. fix LAN port order
WF-2881 LAN ports are in reverse order of switch ports.
4. fix WiFi LEDs
mt76 led nodes are added to make WiFi LEDs work.
On top of this, mt76 node names are changed to more generic ones,
and compatible strings are also added.
5. fix pinmux groups
uart3 and uart2 pins are used as button and led, but jtag pins are not.
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
rt3883.mk contains both RT3662 and RT3883 device profiles, but commit
6a104ac772 set MTK_SOC to rt3883 for all devices. This patch fixes it,
and renames dts files accordingly. And SoC compatible strings are also
appended in the dts.
Fixes: 6a104ac772 ("ramips/rt288x,rt3883: Name DTS files based on scheme")
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
This commit adds support for the ZBT WE1026-H, an outdoor AP with
support for adding an internal LTE modem. The detailed specs are:
* CPU: MT7620A
* 2x 10/100Mbps Ethernet (LAN port has passive PoE support).
* 16/32 MB Flash.
* 128/256 MB RAM.
* 1x USB 2.0 port.
* 1x mini-PCIe slot (only USB2.0 bus).
* 1x SIM slot (standard size).
* 1x 2.4Ghz WIFI (rt2800).
* 1x button.
* 6x LEDS (4 GPIO-controlled).
* 1x micro-SD reader.
The following have been tested and working:
- Ethernet switch
- Wifi
- Mini-PCIe slot + SIM slot
- USB port
- microSD slot
- sysupgrade
- reset button
Installation and recovery:
In order to install OpenWRT the first time or ito recover the router,
you can use the web-based recovery system. Keep the reset button pressed
during boot and access 192.168.1.1 in your browser when your machine
obtains an IP address. Upload the firmware to start the recovery
process.
Notes:
* When binding the USB LED to a usbport, the LED is switched on all the
time due to the presence of an internal hub. Thus, it does not really
signal any USB-information.
* I only have the 32MB version and have only added support for this
device. However, the files are structured so that adding support for the
16MB version should be easy.
* Only the LAN port is accessible from the outside of the casing and LEDs
are not visible.
Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com>
[rebased onto base-files split, minor style fixes, removed use of
USB led as power LED]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This commit makes the following changes to the WE1026 DTS-files:
* The parts that are unique to the -5G-version (LED and 5GHz wifi)
are moved to a separate file, so that WE1026.dtsi can be referenced also
by the DTS for the -H version.
* Use the generic "flash"-name for the spi-nor node.
* Add label MAC.
All changes have been tested on the WE1026-5G-16M and work fine. I.e.,
the device works as before the DTS-changes.
Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com>
Acked-by: Mathias Kresin <dev@kresin.me>
Acked-by: Alex Maclean <monkeh@monkeh.net>
Acked-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Acked-by: Petr Štetiar <ynezz@true.cz>
[minor style fixes, rebased onto base-files split, remove obsolete
gpio-keys comment]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This patch renames and reassembles the common definition for
Netgear R6xxx devices in mt7621.mk. The following goals should be
achieved:
- Give the node a more generic name instead of adding devices to it
- Use the common definition in the (less) similar R6220 node
- Include/exclude settings into the common definition so the common
node contains the common definitions
- Prepare for support of R6700 v2
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Based on OpenWRT Table of Hardware > Xiaomi > Xiaomi Mi WiFi Mini
Switch Ports Defaults:
0, 1: LAN
4: WAN
6: CPU
Port in Web GUI (word printed on bottom of case)
WAN(Internet) map to switch port 4
LAN1(.) map to switch port 1
LAN2(..) map to switch port 0
CPU map to switch port 6
current setting is 1 WAN/ 4 LAN port, fix it.
Signed-off-by: Chih-Wei Chen <changeway@gmail.com>
[rebased after base-files split, fixed commit title]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
While most of the target's contents are split into subtargets, the
base-files are maintained for the target as a whole.
However, OpenWrt already implements a mechanism that will use (and
even prefer) files in the subtargets' directories. This can be
exploited to make several scripts subtarget-specific and thus save
some space.
In certain cases, keeping files in parent (=target) base-files was
more convenient, and thus no splitting was performed for those.
Note that this will increase overall code lines, but reduce code
per subtarget.
base-files ipk size reduction:
master (mt7621) 60958 B
split (mt7620) 46358 B (- 14.3 kiB)
split (mt7621) 48759 B (- 11.9 kiB)
split (mt76x8) 44948 B (- 15.6 kiB)
split (rt288x) 43508 B (- 17.0 kiB)
split (rt305x) 45616 B (- 15.0 kiB)
split (rt3883) 44176 B (- 16.4 kiB)
Run-tested on:
GL.iNet GL-MT300N-V2 (mt76x8)
D-Link DWR-116 (mt7620)
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
- CMIIT ID: 2019AP2581
- SoC: MediaTek MT7621
- Flash: 16MiB NOR SPI (GigaDevice GD25Q128B)
- RAM: 128MiB DDR3 (ESMT M15T1G1664A)
- Serial: As marked on PCB, 3V3 logic, baudrate is 115200, 8n1
- Ethernet: 3x 10/100/1000 Mbps (switched, 2xLAN + WAN)
- WIFI0: MT7603E 2.4GHz 802.11b/g/n
- WIFI1: MT7612E 5GHz 802.11ac
- Antennas: 4x external (2 per radio), non-detachable
- LEDs: Programmable "power" LED (two-coloured, yellow/blue)
Non-programmable "internet" LED (shows WAN activity)
- Buttons: Reset
INSTALLATION:
Bootloader won't accept any serial input unless "boot_wait" u-boot
environment variable is changed to "on". Vendor firmware (looks like
an illegal OpenWrt fork) won't accept any serial input unless
"uart_en" is set to "1". Tricks to force u-boot to use default
environment do not help as it's restricted in the same way.
With bootloader unlocked the easiest way would be to TFTP the
sysupgrade image or to sysupgrade after loading an initramfs one.
For porting the flash contents were changed externally with an SPI
programmer (after lifting Vcc flash IC pin away from the PCB).
Forum thread [0] indicates that this device is identical to "Xiaomi Mi
Router 4A Gigabit Edition".
[0] https://forum.openwrt.org/t/xiaomi-mi-router-4a-gigabit-edition-r4ag-r4a-gigabit-fully-supported-but-requires-overwriting-spi-flash-with-programmer/36685
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
This patch removes a phy0tpt trigger from the power LED, which
seems to have been added by mistake.
WiFi LEDs using phy0radio and phy1radio triggers are present and
used correctly.
Cc: Birger Koblitz <mail@birger-koblitz.de>
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
In mt7628an.dtsi, calibration data for wmac is already defined:
mediatek,mtd-eeprom = <&factory 0x0>;
Thus, this patch removes redundant entries of this property in
derived DTS files.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
When caldata locations are defined with mediatek,mtd-eeprom the
MAC address is automatically read from offset +4. Thus, specifying
that location explicitly is redundant.
This patch removes those redundant definitions.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
The Asus RT-AC65P router is identical with the RT-AC85P, but better to make separate images for it.
On both routers the installation can be done also via SSH:
Note: The user/password for SSH is identical with the one used in the
Web-interface.
1. Complete the initial setup wizard.
2. Activate SSH under "Administration" -> "System".
3. Transfer the OpenWrt factory image via scp:
> scp openwrt-ramips-mt7621-asus_rt-ac65p-squashfs-factory.bin admin@192.168.50.1:/tmp
4. Connect via SSH to the router.
> ssh admin@192.168.50.1
5. Write the OpenWrt image to flash.
> mtd-write -i
/tmp/openwrt-ramips-mt7621-asus_rt-ac65p-squashfs-factory.bin -d linux
6. Reboot the router
> reboot
Changelog:
v3: removed [] from filename, rebased to latest master
v2: Rebased to latest master
v1: Initial release
Signed-off-by: Gabor Varga <vargagab@gmail.com>
Based on stock firmware tests, both LAN and WAN ports use the
MAC address from 0x28 on factory partition.
In OpenWrt, this one is already set in DTS. This patch removes the
local bit set in 02_network previously, and adjusts LAN/WAN
addresses as on stock firmware.
Note that in tests we found a MAC address in 0x2e that is the one
in 0x28 plus 1. Since stock firmware does not use it though, we
do not use it either.
Thanks to Chih-Wei Chen for testing this on his device.
ref: https://github.com/openwrt/openwrt/pull/2497
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Device node names were updated, but updating TARGET_DEVICES
was overlooked.
Fixes: 4408723d42 ("ramips: remove RAM size from device name
for UniElec devices")
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
UniElec devices are the last ones in ramips target still having
the RAM size in device name although RAM size is auto-detected.
Remove this from device name, compatible, etc., as it's not
required and might be misleading to users and developers adding
device support copying those devices.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This converts all remaining devices to use interrupt-driven
gpio-keys compatible instead of gpio-keys-polled.
The poll-interval is removed.
While at it, add/remove newlines in keys and leds node where
necessary.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This is the result of grepping/searching for several common
whitespace issues like double empty lines, leading spaces, etc.
This patch fixes them for the ramips target.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
So far, WiFi MAC addresses for this device have been set up from
caldata. However, this returns values which do not look like MAC
addresses. They also do not match stock firmware:
wlan0 (5.0): 00:11:22:00:17:D0 from 0x8004
wlan1 (2.4): 00:11:22:00:17:CD from 0x4 (and 0x2e)
It looks like the only valid MAC address on this device is at 0x28.
So, this patch changes setup to calculate addresses based on the
value at 0x28:
lan: *:0A (flash, label)
wan: *:0B (flash + 1)
wifi2: *:0A (flash)
wifi5: *:0C (flash + 2)
Thanks to Roger Pueyo Centelles <roger.pueyo@guifi.net> for
investigating this on his devices.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This unifies MAC address patch functions and moves them to a
common script. While those were implemented differently for
different targets, they all seem to do the same. The number of
different variants is significantly reduced by this patch.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This moves the almost identical calibration data extraction
functions present multiple times in several targets to a single
library file /lib/functions/caldata.sh.
Functions are renamed with more generic names to merge different
variants that only differ in their names.
Most of the targets used find_mtd_chardev, while some used
find_mtd_part inside the extraction code. To merge them, the more
abundant version with find_mtd_chardev is used in the common code.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
[rebase on latest master; add mpc85xx]
Signed-off-by: David Bauer <mail@david-bauer.net>
The Phicomm KE 2P is identical to the already supported Phicomm K2P,
renamed for the European market. Use the ALT0 buildroot tags to show
both devices.
Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
Previously only the power LED was working.
With this patch all leds except 5GHz are working.
Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com>
[rephrased commit title, drop status property]
Signed-off-by: David Bauer <mail@david-bauer.net>
This removes _all_ occurrences of kmod-usb-core from
DEVICE_PACKAGES and similar variables.
This package is pulled as dependency by one of the following
packages in any case:
- kmod-usb-chipidea
- kmod-usb-dwc2
- kmod-usb-ledtrig-usbport
- kmod-usb-ohci
- kmod-usb2
- kmod-usb2-pci
- kmod-usb3
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
[remove kmod-usb-core from EnGenius ESR600]
Signed-off-by: David Bauer <mail@david-bauer.net>
All Zbtlink ramips devices except the ZBT-WE1026-5G include the
zbt-/ZBT- prefix in their model name.
This changes ZBT-WE1026-5G to also follow that scheme.
The patch moves some block to keep alphatical order.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Spelling of Zbtlink varies across image definitions and DTS files.
This patch uses Zbtlink consistently and also updates the model
in DTS files to contain the vendor in all cases.
This patch is cosmetical, as there should be no dependencies on
device model name in ramips anymore.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This merges three cases with a single switch port.
6t@eth0 and 6@eth0 should be equivalent.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This patch changes wan MAC address setup for youhua,wr1200js
from retrieving it by calculation to reading it from flash.
This has been checked on-device.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
I-O DATA WNPR2600G has an "elx-header", so move this definition to
generic makefile to use it from mt7621 subtarget.
This definition is also added to mt7621.mk in
f285e8634c, so remove it from mt7621.mk.
And added a line to cleanup used header file.
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
following I-O DATA devices have a MAC address as "wanaddr" for WAN
interface in u-boot-env:
- WN-AC1167GR
- WN-AC733GR3
I replaced MAC address configuration in these devices to omit
address calculation in 02_network.
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
ipTIME A3 is a 2.4/5GHz band AC1200 router, based on MediaTek
MT7628AN.
Specifications:
- SoC: MT7628AN
- RAM: DDR2 64MB
- Flash: SPI NOR 8MB
- WiFi:
- 2.4GHz: SoC internal
- 5GHz: MT7612EN
- Ethernet: 3x 10/100Mbps
- Switch: SoC internal
- UART:
- J1: 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>
Hardware:
SoC: MT7621A
Flash: 32 MiB
RAM: 512 MiB
Ethernet: built-in switch
USB: 1x USB3.0
SATA: ASM1060, 1 SATA port
Flash instruction (TFTP):
1. Set PC to fixed ip address 192.168.173.22
2. Download *-sysupgrade.bin image and rename it to firmware.img
3. Start a tftp server with the image file in its root directory
4. Turn off the router
5. Turn on router,press the reset button and wait ~15 seconds
6. Release the reset button and after a short time
the firmware should be transferred from the tftp server
7. Wait ~3 minutes to complete recovery.
Signed-off-by: Qi Jiang <rushx@live.cn>
[squash commits, add label-mac-device, fix sign-off style]
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
This replaces deprecated backticks by more versatile $(...) syntax.
While at it, remove some useless cat commands and deprecated
egrep commands.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
The EnGenius ESR600 is a dual band wireless router with a 4-port gigabit
Ethernet switch, a gigabit Ethernet WAN port and a USB port.
Specification:
- Bootloader: U-Boot
- SoC: MediaTek MT7620A (600 MHz)
- Flash: 16MB, Macronix MX25L12845E
- RAM: 64MB, Nanya NT5TU32M16DG-AC
- Serial: 115200 baud, no header, 3.3V
J2: Vcc (arrow), Gnd, Tx, Rx
- USB: USB 2, 5V
- Ethernet: 5 x 1 Gb/s 4 LAN 1 WAN, Atheros AR8327
- WiFi0: 5 GHz 802.11 b/g/n Ralink RT5592N
300 Mb/s, 2T2R
- WiFi1: 2.4 GHz 802.11 b/g/n integrated
300 Mb/s, 2T2R
- Antennas: 2 per radio, internal
- LEDs: 1 programmable power (amber)
2 programable radio (blue)
1 programable WPS-5G (blue)
1 non-programable WAN activity (blue)
1 unconfigured WPS-2.4G (amber)
- Buttons: GPIO: Reset, WPS
Installation:
Use the OEM web interface to install the ...-factory.dlf image.
Use the OpenWRT ...-sysupgrade.bin image for future upgrades.
The J2 serial port can be accessed either by soldering in a header,
standard 0.1" spacing, or by using pogo-pins against the back side.
As configured by the OEM, the U-Boot boot delay is short, however quickly
typing "1" leads to the U-Boot "System load Linux to SDRAM via TFTP"
prompt. The TFTP client is configured by default with
client: 192.168.99.9
server: 192.168.99.8
filename: uImageESR600
It will load an OpenWRT initramfs kernel with this method.
Known issues:
1) Only the ports externally labeled WAN, LAN3 and LAN4 are operational.
LAN1 and LAN2 do not appear to power up. This issue is also present
in the Lava LR25G001.
2) The amber WPS-2.4G LED, in the same lightguide as the blue WPS-5G LED,
is not configured in the Device Tree specification.
3) The blue WAN activity LED is not configured in the Device Tree
specification as this causes the AR8327 switch to fail to initialize.
Signed-off-by: Nick Briggs <nicholas.h.briggs@gmail.com>
[merge conflict in 02_network]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
SoC: Mediatek MT7621A
CPU: 4x 880Mhz
Cache: 32 KB I-Cache and 32 KB D-Cach
256 KB L2 Cache (shared by Dual-Core)
RAM: DDR3 512MB 16bits BUS
FLASH: 16MB
Switch: Mediatek Gigabit Switch (2 x LAN, 1 x WAN)
POE: (1x PD, 2x PSE)
USB: 1x 3.0
PCI: 3x Mini PCIe (3 USB2.0 + 2 x UIM interface)
GPS: Quectel L70B
SIM: 2 Slots
BTN: Reset
LED: - Power
- Ethernet
- Wifi
- USB
UART: UART is present as Pads with throughholes on the PCB.
They are located on left side.
3.3V - RX - GND - TX / 57600-8N1
3.3V is the square pad
Installation
------------
The stock image is a modified openwrt and can be overflashed via sysupgrade -F
Signed-off-by: Daniel Danzberger <daniel@dd-wrt.com>
[merge conflict in mt7621.mk]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
SoC: MediaTek MT7621AT dual-core @ 880MHz
RAM: 256M (Winbond W632GG6KB-1)
FLASH: 128MB (Macronix MX30LF1G18AC-TI)
WiFi: - 2.4GHz MediaTek MT7615N bgn
- 5GHz MediaTek MT7615N nac
Switch: SoC integrated Gigabit Switch (4 x LAN, 1 x WAN)
USB: 1 x USB 3.1 (Gen 1)
BTN: Reset, WPS
LED: - Power (blue)
- 5Ghz (blue)
- 2.4GHz (blue)
- Internet (blue)
- 4x LAN (blue)
(LAN/WAN leds are not controllable by GPIOs)
UART: UART is present as Pads marked J4 on the PCB.
3.3V - TX - RX - GND / 57600-8N1
3.3V is the square pad
MAC: The MAC address on the router-label matches the MAC of
the 2.4 GHz WiFi.
LAN and WAN MAC are identical: MAC_LABEL+4
5 GHz WiFi MAC: also MAC_LABEL+4
Installation
------------
Via U-Boot tftpd:
Switch on device, within 2s press reset button and keep pressed
until power LED starts blinking slowly.
Upload factory image via tftp put, the router's ip is 192.168.1.1
and expects the client on 192.168.1.75.
The images also work on the Asus RT-AC65P models as tested by Gabor.
Signed-off-by: Birger Koblitz <mail@birger-koblitz.de>
Tested-by: Gabor Varga <vargagab@gmail.com>
[fixed Asus -> ASUS in DTS]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
SoC: MediaTek MT7621AT dual-core @ 880MHz
RAM: 256M (Nanya NT5CC128M)
FLASH: 16MB (Macronix MX25L12835F)
WiFi: - 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 casing closed
UART: UART is present as Pads marked J1 on the PCB.
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.1.1)
The sysupgrade image can be installed via TFTP from
the U-Boot bootloader. Connect ethernet port 2.
Signed-off-by: Birger Koblitz <mail@birger-koblitz.de>
[flash node rename, EDIMAX -> Edimax, complete device model name]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
This patch adds the label MAC address for several devices in
ramips.
Some devices require setting the MAC address in 02_network:
For the following devices, the netif device can be linked in
device tree, but the MAC address cannot be read:
- cudy,wr1000
- dlink,dir-615-d
- dlink,dir-615-h1
- dlink,dir-860l-b1
- glinet,gl-mt300a
- glinet,gl-mt300n
- glinet,gl-mt750
- vocore,vocore2
- vocore,vocore2-lite
- zbtlink,zbt-we1326
- zbtlink,zbt-wg3526
For the following devices, label MAC address is tied to lan or
wan, so no node to link to exists in device tree:
- dlink,dir-510l
- dlink,dwr-116-a1
- dlink,dwr-118-a1
- dlink,dwr-118-a2
- dlink,dwr-921-c1
- dlink,dwr-922-e2
- all hiwifi devices
- lava,lr-25g001
- xiaomi,mir3p
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
The Linkit Smart 7688 has a SD-Card reader that does not work with the official build of openwrt. Adding kmod-sdhci-mt7620 makes it working.
Signed-off-by: Ivan Hörler <i.hoerler@me.com>
Only the 2R version got the STM32 uC connected as 2nd SPI device.
Hence move the spidev node from mt7628an_wrtnode_wrtnode2.dtsi to
mt7628an_wrtnode_wrtnode2r.dts.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
The 2.4 GHz radio had very poor signal reception (-89 dBm for an AP
sitting 5 m away). By enabling the external amplifier, received signal
has improved to -50 dBm for the same AP.
Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
So far, MAC address setup for those devices has been using local
addresses although additional MAC addresses are available on flash.
On device, we found the following situation:
position Y1 Y1S
0x4 *:d4 *:e4
0x8004 *:d6 *:e8
0x28 *:d4 *:e4
0x2e *:d7 *:eb
Since 0x4 and 0x28 yield the same address, the former was set for
ðernet in DTS. However, the typical location on this
architecture is 0x28, so this patch changes that.
For further setup in 02_network, the local bit for lan_mac is
removed, so the address from ðernet is used at all. For wan_mac,
instead of calculating an address with local bit set, this patch
exploits the previously unused address in 0x2e.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This patch changes wan MAC address setup from retrieving it by
calculation to reading it from flash.
Changes are limited to cases where on-device check was possible.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
[fix mac for newifi-d1; drop adslr,g7 because it's unlikely for
vendor to specifically use 2.4g mac as wan_mac]
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
In 555ca422d1 ("ramips: fix D-Link DIR-615 H1 switch port
mapping"), port setup for dir-615-h1 was changed without removing
the old one. This was working as the new one was triggered earlier
than the old one.
(In the meantine, changed sorting during ramips rename patches
actually inversed that order.)
Anyway, just remove the wrong case now.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
ARC FreeStation5 is present twice in MAC address setup.
From older commits/changes, it is not possible to reconstruct
the correct choice only by reading the annotations.
Thus, remove the second case and keep the first one, so behavior
stays the same (as nobody seems to have complained about it).
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This patch removes unnecessary MAC address setup statements in
ramips' 02_network by doing several optimizations:
1. For the following devices, lan_mac was set up with
mtd_get_mac_binary although the same address was set in DTS.
The lan_mac statement is removed in 02_network, but
wan_mac is kept:
- mercury,mac1200r-v2
- phicomm,k2g
- skylab,skw92a
- wiznet,wizfi630a
2. For the following devices, wan_mac was set up with
mtd_get_mac_binary although the same address was set in DTS.
The wan_mac statement is removed in 02_network, no
lan_mac is present:
- buffalo,whr-g300n
- glinet,gl-mt300n-v2
- zyxel,keenetic-start
3. For the following device, lan_mac and wan_mac were set up
with mtd_get_mac_binary to the same address as set in DTS.
Both statements are removed in 02_network:
- buffalo,whr-600d
4. For some devices, it was possible to move setup from 02_network
to DTS by introducing previously missing mtd_mac_address:
- buffalo,whr-1166d
- buffalo,whr-300hp2
- buffalo,wsr-600dhp
- ohyeah,oy-0001
- planex,vr500
5. For one device, mtd_mac_address was just wrong and overwritten
by 02_network. Put the correct value in DTS and remove redundant
statement in 02_network:
- asus,rt-ac57u
6. For one device, MAC address defined in DTS is exchanged together
with lan_mac/wan_mac setup in 02_network, so that cases in
02_network can be merged:
- phicomm,k2p
For some devices, an empty case has to be used to prevent them
from falling into the default case and have
WAN address = eth0 address + 1 set to them.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This patch does the following things:
1. mark u-boot-env writable
2. add bootcount support
Currently, u-boot has a flag_boot_success env variable to reset.
Also reset it in our firmware to follow the behavior in vendor's
firmware.
3. disable usb support
This router doesn't have usb port at all.
4. increase spi clock to 40MHz
5. fix pinmux groups
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
As Netgear uses the same image for R6260, R6350 & R6850
we can merge device tree files and generate separate
images for each device.
Signed-off-by: Christoph Krapp <achterin@googlemail.com>
[add missing WiFi compatible string, fix network
configuration]
Signed-off-by: David Bauer <mail@david-bauer.net>
This adds factory image generation for all three
devices. These images can be flashed via WebUI
for easy installation.
Thanks to David Bauer for the inspiration.
Signed-off-by: Christoph Krapp <achterin@googlemail.com>
[altered commit to only include the R6350]
Signed-off-by: David Bauer <mail@david-bauer.net>
There are currently the following issues present for the Netgear R6220,
R6350 and WNDR3700 v5:
- LAN and WAN MAC-addresses are inverted
- WAN MAC-address is off. It are +2 compared to the LAN MAC-address
(R6350 only)
- Switchport order is inverted in LuCi
This commit fixes both these issues by assigning correct MAC-addresses
to LAN and WAN interfaces and defining the switchports with the correct
labels.
Signed-off-by: David Bauer <mail@david-bauer.net>
This commit switches the default trigger for the WiFi LED from a netdev
trigger on "wlan0" to a wireless-phy based trigger. THis allows the LED
to work, even when the wireless interface is not named "wlan0" without
modifiying the LED settings.
Signed-off-by: David Bauer <mail@david-bauer.net>
This adds an easy-installation factory image for the NETGEAR R6220
router. The factory image can either be flashed via the vendor Web-UI or
the bootloader using nmrpflash.
Tested with NETGEAR V1.1.0.86 firmware.
Signed-off-by: David Bauer <mail@david-bauer.net>
The MediaTek MT7621 NAND driver currently intransparently shifts NAND
pages when a block is marked as bad. Because of this, offsets for e.g.
caldata and MAC-addresses seem to be off.
This is, howeer, not a task for the mtd NAND driver, as the flash
translation layer is tasked with this.
This patch disables this badblock shifting. This fix was originally
proposed by Jo-Philipp Wich at
https://bugs.openwrt.org/index.php?do=details&task_id=1926
Fixes FS#1926 ("MTD partition offset not correctly mapped when bad
eraseblocks present")
Signed-off-by: David Bauer <mail@david-bauer.net>
These devices are sold as a "NAS HDD Enclousure"
and have a "NAS Media Streaming & File Server & AP" on
the box. That's why I think they should have some support
for the HDD right out-of-the-box.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
SoC: MT7621AT
RAM: 256MB
Flash: 16M SPI
Ethernet: 5x GE ports
WiFi: 2.4G: MT7615N
5G: MT7615N
Flash instruction:
1.Modify the file to linux.bin
2.Set up FTP service
3.Computer settings fixed IP: 192.168.179.50 255.255.255.0
4.Turn on the power and press and hold the reset button until the indicator light is on for about 5 seconds.
Signed-off-by: Zhenjian Zhang <itdesk.zhang@gmail.com>
[fix mac location]
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
This change the switch settings for:
HC5661: 4 lan ports + 1 wan port
Y1S: 2 lan ports(G port) + 2 lan ports(E port) + 1 wan port
Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
netdev on eth0.2 can't show link status of wan port because eth0 is
connected to builtin switch and is always link up. Use swconfig
trigger instead.
Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
[redo commit message]
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
ipTIME A604M is a 2.4/5GHz band AC1200 router, based on MediaTek
MT7628AN.
Specifications:
- SoC: MT7628AN
- RAM: DDR2 64MB
- Flash: SPI NOR 8MB
- WiFi:
- 2.4GHz: SoC internal
- 5GHz: MT7612EN
- Ethernet: 5x 10/100Mbps
- Switch: SoC internal
- UART:
- J1: 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 commit made the following changes to sync all bootcount scripts:
1. use boot() instead of start()
This script only needs to be executed once when boot is complete.
use boot() to make this explicit.
2. drop sourcing of /lib/functions.sh
This is aready done in /etc/rc.common.
3. ramips: replace board name checking with a case
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
This changes size and offset set for WiFi caldata extraction and
MAC address adjustment to hexadecimal notation.
This will be much clearer for the reader when numbers are big, and
will also match the style used for mtd-cal-data in DTS files.
Since dd cannot deal with hexadecimal notation, one has to convert
back to decimal by simple $(($hexnum)).
Acked-by: Alexander Couzens <lynxis@fe80.eu>
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This changes the offsets for the MAC address location in
mtd_get_mac_binary* and mtd_get_mac_text to hexadecimal notation.
This will be much clearer for the reader when numbers are big, and
will also match the style used for mtd-mac-address in DTS files.
(e.g. 0x1006 and 0x5006 are much more useful than 4102 and 20486)
Acked-by: Alexander Couzens <lynxis@fe80.eu>
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Revert "mac80211: add new minstrel_ht patches to improve probing on mt76x2" (9861050b85)
Revert "kernel: use bulk free in kfree_skb_list to improve performance" (98b654de2e)
Revert "ramips: add preliminary support for WIO ONE" (085141dc5b)
Revert "ramips: add preliminary support for SGE AP-MTKH7-0006 developer board" (b1db6d0539)
Revert "build: use config.site generated by autoconf-lean, drop hardcoded sitefiles" (363ce4329d)
Revert "toolchain: add autoconf-lean" (fdb30eed03)
Revert "build: allow overriding the filename on the remote server when downloading" (6fa0e07758)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Lan and Wan addresses are swapped compared to the original firmware.
This patch fixes this problem
Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com>
In commit d93969a13a ("ramips: Improve compatible for TP-Link
Archer devices") and subsequent ones, names of several devices
in ramips have been changed.
Since LED names are frequently invoked by $boardname, this has
broken LED setup in 01_leds, as $boardname and prefix in DTS
do not match anymore.
This patch updates device name prefixes for LEDs in DTS files,
and provides a migration script.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
HiWiFi HC5761A is an "MT7628AN variant" of HC5761
Specifications:
- MediaTek MT7628AN 580MHz
- 128 MB DDR2 RAM
- 16 MB SPI Flash
- 2.4G MT7628AN 802.11bgn 2T2R 300Mbps
- 5G MT7610EN 802.11ac 433Mbps
- 3x 10/100 Mbps Ethernet
Flash instruction:
1. Get SSH access to the router
2. SSH to router with `ssh -p 1022 root@192.168.199.1`, The SSH password is the same as the webconfig one
3. Upload OpenWrt sysupgrade firmware into the router's `/tmp` folder with SCP
4. Run `mtd write /tmp/<filename> firmware`
5. reboot
Known bug:
- SD slot does not work (See PR 1500)
Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
HC5661A:
- Fix pinctrl
- Fix image size (15808k)
- Use switch trigger for WAN LED
Both:
- Use tpt LED trigger for wireless
- Explicitly disable USB nodes
Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
HiWiFi has several MT7628AN routers which have similar specs
Add HC5X61A.dtsi to include them, like HC5X61.dtsi (for MT7620A)
Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
There's an empty case in 02_network introduced by last commit. Drop it.
Fixes: ee650ba46c ("ramips: remove needless setting of lan_mac to eth0 in 02_network")
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
This removes superfluous lines like
lan_mac=$(cat /sys/class/net/eth0/address)
Since lan_mac only sets the MAC address for eth0.1, these lines
can be safely removed as the address will be inherited from eth0
anyway.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
The vast majority of devices labels "factory" partition with lower
case. Convert the small fraction with capital letter to that and
merge another case in 02_network.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This just merges some duplicate definitions and consolidates lines.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Signed-off-by: Chuanhong Guo <gch981213@gmail.com> [merge duplicated
cases for phicomm k2p]
This cosmetical patch is just meant to make comparing/checking
IMAGE_SIZE values easier.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
There are frequent examples of the ralink_default_fw_size_xxx
variables being used to "roughly" set flash size without caring
about the actual size of the firmware partition.
To discourage this behavior, this patch removes the variables and
just sets IMAGE_SIZE by its numeric value for each target.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Currently, ramips target defines 0x7b0000 as default IMAGE_SIZE
for all devices in ramips target, i.e. this will be set if a
device does not specify IMAGE_SIZE itself.
From 92 devices using that default due to a "missing" IMAGE_SIZE,
14 were incorrect by a small amount (i.e. still "8M" flash) and
12 were completely off ("16M", "4M", ...).
This patch thus removes the _default_ IMAGE_SIZE and defines
IMAGE_SIZE for each device individually. This should indicate to
people supporting new devices that this parameter has to be cared
about.
For the present code, this patch is cosmetical.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This fixes IMAGE_SIZE for all devices based on the partition size
given in DTS:
DEVICE *.MK *.DTS VERDICT
airlink101_ar670w (4M) 0x3c0000 wrong
airlink101_ar725w - 0x3B0000 wrong
asus_rt-n15 (4M) 0x3b0000
belkin_f5d8235-v1 7744k 0x7b0000 wrong
buffalo_wli-tx4-ag300n (4M) 0x3b0000
buffalo_wzr-agl300nh (4M) 0x3b0000
dlink_dap-1522-a1 3801088 0x3a0000
ralink_v11st-fe (4M) 0x003b0000
asus_rt-n56u - 0x007b0000 default
belkin_f9k1109v1 7224k 0x7a0000 wrong
dlink_dir-645 - 0x7b0000 default
edimax_br-6475nd 7744k 0x00790000
loewe_wmdr-143n - 0x7b0000 default
omnima_hpm 16064k 0x00fb0000
samsung_cy-swr1100 - 0x7b0000 default
sitecom_wlr-6000 7244k 0x713000
trendnet_tew-691gr - 0x007b0000 default
trendnet_tew-692gr - 0x007b0000 default
No verdict means that the device is correctly set.
Legend:
( ): Value is set via ralink_default_fw_size_xxM
[ ]: Value is derived from parent definition
- : Value is not set and derived from default definition
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
In ramips, there are the following predefined values for IMAGE_SIZE
ralink_default_fw_size_4M 3866624 3776k 0x3B0000
ralink_default_fw_size_8M 8060928 7872k 0x7B0000
ralink_default_fw_size_16M 16121856 15744k 0xF60000
ralink_default_fw_size_32M 33226752 32448k 0x1FB0000
Out of those, the "16M" value is obviously odd, as it provides more
room for the remaining partitions than the tree others.
Of the devices in all subtargets, there are actually > 50 that have
a firmware partition with 0xFB0000 size, while only 5 (!) have
0xF60000. From the former, many are set to
ralink_default_fw_size_16M anyway, although it is wrong at the
present point.
Consequently, it makes sense to change ralink_default_fw_size_16M
to 0xFB0000, and to update IMAGE_SIZE for the 5 devices with
0xF60000.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
allnet_all0256n-4m, tenda_w150m and unbranded_wr512-3gn-4m have
their firmware partition set to reg = <0x50000 0x3c8000>.
However, based on the 4MB flash, the size should be 0x3b0000.
After some research in the target's history, it looks like the
changed size has been a mistake when transferring device
partitions from Makefile to DTS in 770b28f146.
This patch changes the named three devices back to 0x3b0000.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Like most mt7621 boards, Phicomm K2P stores LAN/WAN mac addresses
at 0xe000/0xe006 of factory partition.
Phicomm uses lan_mac-1 as wan_mac, while our default case in 02_network
uses lan_mac+1.
Add a special case reading lan/wan mac address for Phicomm K2P.
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
Now that the mt76 driver supports the MT7615D chip found on these
devices, use it.
Also add the wpad-basic package.
Note: the driver supports operation on both the 2.4 GHz and the
5 GHz bands, but not yet concurrently.
Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
Newifi D1 is shipped with an 8GB microSD card in its SD slot
Without SD driver users would not be able to use it unless manually installed
Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
1) nand_do_upgrade() is always called by a target code
2) nand_do_upgrade() starts with calling platform_nand_pre_upgrade()
It means there is no need for the platform_nand_pre_upgrade() callback
at all. All code that was present there could bo moved & simplly called
by a target right before the nand_do_upgrade().
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
TP-Link RE650 v1 is a dual-band AC2600 range extender,
based on MediaTek MT7621A and MT7615E. According to the
wikidevi entry for RE650 this device is identical with
TP-Link RE500 as hardware. This patch supports only RE650.
Hardware specification:
- SoC 880 MHz - MediaTek MT7621AT
- 128 MB of DDR3 RAM
- 16 MB - Winbond 25Q128FVSG
- 4T4R 2.4 GHz - MediaTek MT7615E
- 4T4R 5 GHz - MediaTek MT7615E
- 1x 1 Gbps Ethernet - MT7621AT integrated
- 7x LEDs (Power, 2G, 5G, WPS(x2), Lan(x2))
- 4x buttons (Reset, Power, WPS, LED)
- UART header (J1) - 2:GND, 3:RX, 4:TX
Serial console @ 57600,8n1
Flash instructions:
Upload
openwrt-ramips-mt7621-tplink_re650-v1-squashfs-factory.bin
from the RE650 web interface.
TFTP recovery to stock firmware:
Unfortunately, I can't find an easy way to recover the RE
without opening the device and using modified binaries. The
TFTP upload will only work if selected from u-boot, which
means you have to open the device and attach to the serial
console. The TFTP update procedure does *not* accept the
published vendor firmware binaries. However, it allows to
flash kernel + rootfs binaries, and this works if you have
a backup of the original contents of the flash. It's probably
possible to create special image out of the vendor binaries
and use that as recovery image.
Signed-off-by: Georgi Vlaev <georgi.vlaev@gmail.com>
[re-added variables for kernel header]
Signed-off-by: David Bauer <mail@david-bauer.net>
ELECOM WRC-1167GHBK2-S has a MediaTek MT7615D chip for 2.4/5 GHz
wireless.
A driver package for MT7615 chip is added to OpenWrt in
a0e5ca4f35,
so add preliminary MT7615 chip support for WRC-1167GHBK2-S.
Note: Currently, DBDC mode for MT7615 is not supported in mt76 driver.
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
The only step between platform_pre_upgrade() and platform_do_upgrade()
is switching to ramdisk. It should be fine to "mtd erase firmware" from
the later callback and get rid of the first one.
This change wasn't tested on affected target but identical code logic
was verified to work as expected on brcm47xx with initramfs firmware.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
In 2011 (!), network setup for nexaira,bc2 was moved to network
defaults script with a typo so it became b2c:
295e04084c ("ramips: setup bc2 mac addresses from the generic network script")
This patch just removes the useless entry without replacement,
since it seems to have worked for 8 years anyway.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Since mt76x8an ver1 eco2, SDXC pins can be switched to the
following pinmap:
sd_d1 -> PAD_I2S_SDI
sd_d0 -> PAD_I2S_WS
sd_cmd -> PAD_I2S_CLK
sd_d3 -> PAD_I2C_SCLK
sd_d2 -> PAD_I2C_SD
sd_clk -> PAD_GPIO0
sd_wp -> PAD_TXD1
sd_cd -> PAD_RXD1
To use this pinmap, one would need to set ESD_MODE bit (bit 15)
to 1 in GPIO1_MODE and switch other used pads into GPIO mode.
In this mode, we don't need to switch ethernet pins to digital
pad.
Check ESD_MODE bit before applying AGPIO_CFG and use rt_sysc_m32
to set it.
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
SoC: MediaTek MT7621AT
RAM: 128M (Winbond W631GG6KB-15)
FLASH: 16MB (Spansion S25FL128SA)
WiFi: MediaTek MT7603EN bgn 2SS
WiFi: MediaTek MT7612EN nac 2SS
BTN: Reset - WPS
LED: - Power
- LAN {1-4}
- WAN
- WiFi 2.4 GHz
- WiFi 5 GHz
- USB
UART: UART is present next to the Power LED.
TX - RX - GND - 3V3 / 57600-8N1
3V3 is the nearest one to the Power LED.
Installation
------------
Via TFTP:
1. Set your computers IP-Address to 192.168.1.75.
2. Power up the Router with the Reset button pressed.
3. Release the Reset button after 5 seconds.
4. Upload OpenWRT sysupgrade image via TFTP:
> tftp -4 -v -m binary 192.168.1.1 -c put <IMAGE>
Via SSH:
Note: User/password for SSH is identical with the one used in the
Web-interface.
1. Complete the initial setup wizard.
2. Activate SSH under "Administration" -> "System".
3. Transfer the OpenWrt sysupgrade image via scp:
> scp owrt.bin admin@192.168.1.1:/tmp
4. Connect via SSH to the router.
> ssh admin@192.168.1.1
5. Write the OpenWrt image to flash.
> mtd-write -i /tmp/owrt.bin -d linux
6. Reboot the router
> reboot
Signed-off-by: David Bauer <mail@david-bauer.net>
This commit fixes a forgotten case in previous commit.
Fixes: 087e14ab59 ("ramips: mt7621: merge two variants of MQmaker WiTi together")
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
mt7621 and mt7628 now have the ability to detect memory size
automatically.
Drop memory nodes and let kernel determine memory size.
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
mt7621 has the following memory map:
0x0-0x1c000000: lower 448m memory
0x1c000000-0x2000000: peripheral registers
0x20000000-0x2400000: higher 64m memory
detect_memory_region in arch/mips/kernel/setup.c only add the first
memory region and isn't suitable for 512m memory detection because
it may accidentally read the memory area for peripheral registers.
This commit adds memory detection capability for mt7621:
1. add the highmem area when 512m is detected.
2. guard memcmp from accessing peripheral registers:
This only happens when some weird user decided to change
kernel load address to 256m or higher address. Since this
is a quite unusual case, we just skip 512m testing and return
256m as memory size.
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
Belkin F7C027 is clearly Rt5350 SoC, as shown on internal
photographs filed for FCC approval[1].
[1]: https://fcc.io/K7S/F7C027
Fixes commit 3b0264eddb
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
This patch applies sorting to the definitions as whole blocks.
Sorting has been performed fully automatic, line count differences
originate from double empty lines removed.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This patch is cosmetical:
It only applies sorting based on device names, whereas renames
already took place in earlier patches.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Having converted the target to use device compatible, ramips.sh
is obsolete now.
The only remaining entry for the mt7688 evaluation board seems to
be orphaned.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>