Commit graph

36 commits

Author SHA1 Message Date
Piotr Dymacz
24043a0d2e ramips: add support for TP-Link TL-WR840N v4 and TL-WR841N v13
TP-Link TL-WR840N v4 and TL-WR841N v13 are simple N300 routers with
5-port FE switch and non-detachable antennas. Both are very similar
and are based on MediaTek MT7628NN (aka MT7628N) WiSoC.

The difference between these two models is in number of available
LEDs, buttons and power input switch.

This work is partially based on GitHub PR#974.

Specification:

- MT7628N/N (580 MHz)
- 64 MB of RAM (DDR2)
- 8 MB of FLASH
- 2T2R 2.4 GHz
- 5x 10/100 Mbps Ethernet
- 2x external, non-detachable antennas
- UART (J1) header on PCB (115200 8n1)
- TL-WR840N v4: 5x LED (GPIO-controlled), 1x button
- TL-WR841N v13: 8x LED (GPIO-controlled*), 2x button, power input
  switch

* WAN LED in TL-WR841N v13 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.

Factory image notes:

These devices use version 3 of TP-Link header, fortunately without RSA
signature (at least in case of devices sold in Europe). The difference
lays in the requirement for a non-zero value in "Additional Hardware
Version" field. Ideally, it should match the value stored in vendor
firmware header on device ("0x4"/"0x13" for these devices) but it seems
that anything other than "0" is correct.

We are able to prepare factory firwmare file which is accepted and
(almost) correctly flashed from the vendor GUI. As it turned out, it
accepts files without U-Boot image with second header at the beginning
but due to some kind of bug in upgrade routine, flashed image gets
corrupted before it's written to flash.

Tests showed that the GUI upgrade routine copies value of "Additional
Hardware Version" from existing firmware into offset "0x2023c" in
provided file, _before_ storing it in flash. In case of vendor firmware
upgrade files (which all include U-Boot image and two headers), this
offset points to the matching field in kernel+rootfs firmware part
header. Unfortunately, in case of LEDE factory image file which contains
only one header, it points to the offset "0x2023c" in kernel image. This
leads to a corrupted kernel and ends up with a "soft-bricked" device.

The good news is that U-Boot in these devices contains well known tftp
recovery mode, which can be triggered with "reset" button. What's more,
in comparison to some of older MediaTek based TP-Link devices, this
recovery mode doesn't write whole file at offset "0x0" in flash, without
verifying provided file in advance. In case of recovery mode in these
devices, first "0x20000" bytes are always skipped and "0x7a0000" bytes
from rest of the file are stored in flash at offset "0x20000".

Flash instruction:

Until (if at all) TP-Link fixes described problem, the only way to flash
LEDE image in these devices is to use tftp recovery mode in U-Boot:

1. Configure PC with static IP 192.168.0.66/24 and tftp server.
2. Rename "lede-ramips-mt7628-tl-wr84...-squashfs-tftp-recovery.bin"
   to "tp_recovery.bin" and place it in tftp server directory.
3. Connect PC with one of LAN ports, press the reset button, power up
   the router and keep button pressed for around 6-7 seconds, until
   device starts downloading the file.
4. Router will download file from server, write it to flash and reboot.

To access U-Boot CLI, keep pressed "4" key during boot.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2017-06-29 10:37:36 +02:00
Stijn Tintel
880f73c327 kernel: cleanup CONFIG_SCHED_HRTICK
Remove CONFIG_SCHED_HRTICK from target configs, as it was added to the
generic config in b47fd76563.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2017-06-29 04:46:59 +02:00
Sergey Ryazanov
68e7a2a0b7 kernel: disable CONFIG_SG_POOL by default
CONFIG_SG_POOL symbol is selected only by CONFIG_SCSI, since the last
one is disabled by default then disable CONFIG_SG_POOL by default too.
And explicitly enable it only for platforms that use CONFIG_SCSI.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
2017-06-07 18:31:10 +02:00
Daniel Golle
d17cb4a68a ramips: purge default packages on MT7621
In order to have a smaller initramfs image remove all packages not
needed on all devices and add them explicitely for those actually
needing them. Also remove wpad-mini from ramips default package set
and add it to all sub-targets except for MT7621.
While at it reorder packages alphabetically and replace kmod-mt76 with
kmod-mt7603 and/or kmod-mt76x2 depending on the chip actually used on
a specific board.

Hopefully fixes FS#758

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2017-05-04 14:13:23 +02:00
John Crispin
9c24227090 ramips: add v4.9 support
NAND support is missing

Signed-off-by: John Crispin <john@phrozen.org>
2017-02-14 12:17:52 +01:00
FUKAUMI Naoki
6b0b526a4f ramips: add support for Buffalo WCR-1166DS
Buffalo WCR-1166DS is a small wireless router with

 - MT7628AN + MT7612E
 - 64MiB DDR2 SDRAM
 - 16MiB SPI flash
 - 2T2R 11ac/a/b/g/n Wi-Fi
 - 2x 10/100M ethernet switch
 - 8x programmable LED
 - 3x button
 - UART pad on PCB (J2: 3.3V, GND, TX, RX)

factory image can be installed via stock web UI.

due to the "dual image" function in the bootloader, the second half of
the SPI flash ("firmware2" partition) cannot be used as a part of the
file system.

Signed-off-by: FUKAUMI Naoki <naobsd@gmail.com>
2017-01-31 11:10:58 +01:00
Rafał Miłecki
0658527e1e switch to the new usbport LED trigger
This makes init.d script handle existing UCI entries using the new
trigger. It also switches all targets to use its package.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2016-10-19 12:09:45 +02:00
Jonas Gorski
bebcb81da5 ramips: switch from 24kec to 24kc
Since the only difference between 24Kec and 24Kc is the addition of DSP
ASE support, and we don't use it anymore, there is no need to keep 24Kec
as a separate cpu type.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2016-08-08 11:29:56 +02:00
Felix Fietkau
9abbaa9539 build: remove MIPS dsp/dsp2 CPU_SUBTYPE
There does not seem to be any meaningful difference in generated code.
This will save some time and space on snapshot builds

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-03 14:56:45 +02:00
Álvaro Fernández Rojas
604b92dbd0 ramips: fix the number of uarts for each SoC
- Use default number of uarts (2) for rt288x/rt305x/rt3883/mt7620.
- Allow up to 3 uarts on MT7621 and MT7628.
- Remove unneeded SERIAL_8250_RT288X for MT7628.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-06-03 12:20:33 +02:00
John Crispin
5d0eff9801 ramips: set default profile to priority 1
doing so will sort all profiles alphabetically

Signed-off-by: John Crispin <john@phrozen.org>
2016-05-14 21:27:16 +02:00
John Crispin
0f12f32996 ramips: convert mt7628 to new image building code
Signed-off-by: John Crispin <john@phrozen.org>
2016-05-12 03:29:36 +02:00
Jo-Philipp Wich
e885286834 target: globally remove ARCH_PACKAGES overrides
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-04-17 19:55:09 +02:00
John Crispin
99414dbcf1 ramips: Add support for Xiaomi MiWiFi Nano
Xiaomi MiWiFi Nano is based on Mediatek MT7628 with 64MB ram 16MB flash

Signed-off-by: Noble Pepper <openwrtmail@noblepepper.com>

v3  includes changes suggested by L. D. Pinney & Karl Palsson-
Eliminate en25q64 (4MB) flash chip
Alphabetization
Remove hyphen in model
Rename profile from miwifinano.mk to xiaomi.mk
Add gpios that are attached to leds

SVN-Revision: 49024
2016-03-16 09:26:48 +00:00
Felix Fietkau
3abf5ce656 ramips: convert the remaining subtargets to 4.4
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48954
2016-03-07 17:56:53 +00:00
Felix Fietkau
15517811e4 ramips: enable mt76 on mt7688 by default
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48886
2016-03-02 17:40:58 +00:00
Felix Fietkau
22693a9086 ramips: fix kernel configuration for mt7628
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48025
2016-01-01 15:20:38 +00:00
John Crispin
b4bb10b3a0 ralink: update config files to build the cleaned up ethernet driver
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 47902
2015-12-17 09:26:20 +00:00
John Crispin
5d4f5689fd ramips: add missing kernel symbols
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 47884
2015-12-12 21:01:02 +00:00
John Crispin
6df4426245 ralink: bump to the target to v4.3
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 47831
2015-12-10 19:06:32 +00:00
John Crispin
7295e9fb8b ramips: add alsa support
add the SDK alsa driver. this has only been tested on mt7628/88 and wm8960.
mt7620 is only compile tested.

Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 47205
2015-10-19 10:07:54 +00:00
Jonas Gorski
efb2c403cf ramips: disable the openwrt commandline hack
We don't make use of it, so no need to have it enabled.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 46759
2015-08-30 12:18:14 +00:00
John Crispin
302a9f8982 ramips: diable ill_acc driver by default
this treacled down via the stable tree and wandered into 3.18.14

Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 45793
2015-05-27 20:02:04 +00:00
Jonas Gorski
954004eccc kernel: disable INET_LRO by default
INET_LRO deprecated and there are exactly two drivers using it, neither
being included in any of the targets enabling INET_LRO. At the same time
both drivers needing it select it.

So just disable it for everyone.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 45584
2015-04-28 13:31:08 +00:00
John Crispin
7648d80c90 ralink: drop 3.14 support
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 44811
2015-03-16 07:39:46 +00:00
John Crispin
d15ac306fa kernel: move KERNFS to generic config
KERNFS symbol is selected by SYSFS, so place it in generic config.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

SVN-Revision: 44615
2015-03-06 07:56:47 +00:00
John Crispin
f04a268a04 kernel: disable ARCH_NEEDS_CPU_IDLE_COUPLED
Disable ARCH_NEEDS_CPU_IDLE_COUPLED by-default in generic config, since
only one platfrom (omap) needs them.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

SVN-Revision: 44614
2015-03-06 07:56:34 +00:00
John Crispin
6617845711 kernel: move MTD_SPLIT_SUPPORT to generic config
CONFIG_MTD_SPLIT_SUPPORT symbol default value is 'y' and many platform
specific configs explicitly enables it, while no one platform disables
this symbol. So place it in generic config and remove from platform
specific configs.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

SVN-Revision: 44612
2015-03-06 07:56:08 +00:00
John Crispin
7886cced18 kernel: remove GENERIC_NET_UTILS from platform configs
CONFIG_GENERIC_NET_UTILS is selected by CONFIG_NET and already enabled
in generic config, so we don't need this symbol in platform specific
configurations.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

SVN-Revision: 44611
2015-03-06 07:55:57 +00:00
Jonas Gorski
3139140339 kernel: move CONFIG_MIPS_O32_FP64_SUPPORT to generic configs
Most MIPS targets have it disabled, so move the symbol to the generic
configs to keep target configs small.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 44583
2015-03-01 11:37:15 +00:00
John Crispin
428dd56a60 ralink: fix the config files
oops, accidently moved instead of copied them

Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 44454
2015-02-14 20:48:53 +00:00
John Crispin
654bc380ec ralink: add 3.18 support
keep default as 3.14, mt7621 gic need to be ported to 3.18

Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 44349
2015-02-09 12:13:55 +00:00
Felix Fietkau
7cc5b6f9e9 all targets: remove all =m kernel config symbols
modules build during the kernel compile phase are ignored anyway,
all modules should be built using KernelPackage in
package/kernel/linux/modules/*
selecting the appropriate config symbols there rather than in
target/linux/*/config-*

Signed-off-by: Daniel Golle <daniel@makrotopia.org>

SVN-Revision: 43842
2015-01-05 13:02:44 +00:00
Felix Fietkau
8eb074756d ramips: use CONFIG_MTD_SPLIT_UIMAGE_FW instead of CONFIG_MTD_UIMAGE_SPLIT
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 43813
2015-01-02 21:53:38 +00:00
Felix Fietkau
aefd3c569c ramips: split mt7621 spi into a separate driver, increase maximum transfer size
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 43807
2015-01-02 21:52:53 +00:00
John Crispin
cadf517107 ralink: add support for mt7628
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 43197
2014-11-06 09:31:31 +00:00