oweals/openwrt.git
5 years agoar71xx: update qca-usb-quirks patch
Tomislav Požega [Fri, 19 Jul 2019 04:04:54 +0000 (06:04 +0200)]
ar71xx: update qca-usb-quirks patch

Base address for USB0 has changed from 0x18116c94 on AR934X
to 0x18116d94 on QCA9558. CP Typo remained for years here...

Signed-off-by: Tomislav Požega <pozega.tomislav@gmail.com>
5 years agotfa-layerscape: fix fiptool host build
Petr Štetiar [Wed, 24 Jul 2019 14:00:39 +0000 (14:00 +0000)]
tfa-layerscape: fix fiptool host build

fiptool is a host tool, used in a firmware generation pipeline, but it's
not treated as such, leading to the build breakage on the hosts which
don't have {Open,Libre}SSL dev package installed:

 In file included from fiptool.h:16:0,
                 from fiptool.c:19:
 fiptool_platform.h:18:27: fatal error: openssl/sha.h:
 No such file or directory
  #  include <openssl/sha.h>

So this patch promotes fiptool into the host tool with proper host
include and library paths under STAGING_DIR.

Ref: https://github.com/openwrt/openwrt/pull/2267
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agobuild: allow simple build system customization with local.mk
Petr Štetiar [Mon, 7 Jan 2019 00:57:01 +0000 (01:57 +0100)]
build: allow simple build system customization with local.mk

I tend to automate most of the boring and repetitive tasks like firmware
flashing, build config reconfiguration etc., so I always end up adding
`include local.mk` as a last line in my Makefile, where local.mk is
usually symlink to some other place, just to not accidentally delete it
during `git clean`.

Carrying this single uncommited modification along in the development
process is quite PITA, because it's causing problems during Git
workflow, while rebasing etc.

I hope, that I'm not alone using similar workflow, so I believe, that
this modification might be useful for others as well.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoath79: fix indent in 01_leds
Adrian Schmutzler [Wed, 24 Jul 2019 15:05:02 +0000 (17:05 +0200)]
ath79: fix indent in 01_leds

Change capitalization from spaces to tabs in order to match
the style of the file.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
[fix capitalization in commit title, add short description]
Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agomt76: fix kernel Oops by updating to the latest version
Petr Štetiar [Mon, 22 Jul 2019 20:38:53 +0000 (22:38 +0200)]
mt76: fix kernel Oops by updating to the latest version

75656a4590a3 net: wireless: support of_get_mac_address new ERR_PTR error

Ref: https://github.com/openwrt/mt76/issues/299
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoath79: add support for D-Link DIR-842 C2
Jackson Lim [Sat, 20 Jul 2019 07:37:12 +0000 (15:37 +0800)]
ath79: add support for D-Link DIR-842 C2

Hardware spec of DIR-842 C2:
SoC: QCA9563
DRAM: 128MB DDR2
Flash: 16MB SPI-NOR
Switch: QCA8337N
WiFi 5.8GHz: QCA9888
WiFi 2.4Ghz: QCA9563
USB: 2.0

Flash instructions:

1. Upgrade the factory.bin through the factory web interface or
   the u-boot failsafe interface.
   The firmware will boot up correctly for the first time.
   Do not power off the device after OpenWrt has booted.
   Otherwise the u-boot will enter failsafe mode as the checksum
   of the firmware has been changed.
2. Upgrade the sysupgrade.bin in OpenWrt.
   After upgrading completes the u-boot won't complain about the
   firmware checksum and it's OK to use now.
3. If you powered off the device before upgrading the sysupgrade.bin,
   just upgrade the factory.bin through the u-boot failsafe interface
   and then goto step 2.

Signed-off-by: Jackson Lim <jackcolentern@gmail.com>
[Reword reset-hog comment, fix formatting]
Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agotools: libressl: fix compilation for non-glibc clib (FS#2400)
Hans Dedecker [Tue, 23 Jul 2019 12:47:56 +0000 (14:47 +0200)]
tools: libressl: fix compilation for non-glibc clib (FS#2400)

Fixes compilaton issue for non glibc clibs :

libtool: compile:  gcc -DPACKAGE_NAME=\"libressl\" -DPACKAGE_TARNAME=\"libressl\" -DPACKAGE_VERSION=\"2.9.2\" "-DPACKAGE_STRING=\"libressl 2.9.2\"" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libressl\" -DVERSION=\"2.9.2\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_SYMLINK=1 -DHAVE_ERR_H=1 -DHAVE_ASPRINTF=1 -DHAVE_MEMMEM=1 -DHAVE_STRLCAT=1 -DHAVE_STRLCPY=1 -DHAVE_STRNDUP=1 -DHAVE_STRNLEN=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_SYSLOG=1 -DHAVE_ACCEPT4=1 -DHAVE_PIPE2=1 -DHAVE_POLL=1 -DHAVE_SOCKETPAIR=1 -DHAVE_EXPLICIT_BZERO=1 -DHAVE_GETAUXVAL=1 -DHAVE_GETAUXVAL=1 -DHAVE_DL_ITERATE_PHDR=1 -DHAVE_CLOCK_GETTIME=1 -DHAVE_VA_COPY=1 -DHAS_GNU_WARNING_LONG=1 -DSIZEOF_TIME_T=8 -I. -I../include -I../include/compat -DLIBRESSL_INTERNAL -D__BEGIN_HIDDEN_DECLS= -D__END_HIDDEN_DECLS= -I../crypto/asn1 -I../crypto/bn -I../crypto/ec -I../crypto/ecdsa -I../crypto/evp -I../crypto/modes -I../crypto -I/builds/pantacor/pv-platforms/openwrt-base/openwrt/staging_dir/host/include -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_POSIX_SOURCE -D_GNU_SOURCE -D__STRICT_ALIGNMENT -O2 -I/builds/pantacor/pv-platforms/openwrt-base/openwrt/staging_dir/host/include -fpic -Wall -std=gnu99 -fno-strict-aliasing -fno-strict-overflow -D_FORTIFY_SOURCE=2 -fstack-protector-strong -DHAVE_GNU_STACK -Wno-pointer-sign -MT compat/getprogname_linux.lo -MD -MP -MF compat/.deps/getprogname_linux.Tpo -c compat/getprogname_linux.c -o compat/getprogname_linux.o
compat/getprogname_linux.c: In function 'getprogname':
compat/getprogname_linux.c:32:2: error: #error "Cannot emulate getprogname"
 #error "Cannot emulate getprogname"
  ^~~~~

Reported-by: Anibal Portero <anibal.portero@pantacor.com>
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agoramips: enable Newifi D1 SD slot
DENG Qingfang [Mon, 22 Jul 2019 17:05:20 +0000 (01:05 +0800)]
ramips: enable Newifi D1 SD slot

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>
5 years agonetifd: update to latest git HEAD
Hans Dedecker [Mon, 22 Jul 2019 19:46:31 +0000 (21:46 +0200)]
netifd: update to latest git HEAD

899f168 system-linux: Coverity fixes

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agotools: libressl: fix build on MacOS
Kevin Darbyshire-Bryant [Mon, 22 Jul 2019 13:38:54 +0000 (14:38 +0100)]
tools: libressl: fix build on MacOS

Making all in tests
depbase=`echo handshake_table.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DPACKAGE_NAME=\"libressl\" -DPACKAGE_TARNAME=\"libressl\" -DPACKAGE_VERSION=\"2.9.2\" -DPACKAGE_STRING=\"libressl\ 2.9.2\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libressl\" -DVERSION=\"2.9.2\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_SYMLINK=1 -DHAVE_ERR_H=1 -DHAVE_READPASSPHRASE_H=1 -DHAVE_ASPRINTF=1 -DHAVE_MEMMEM=1 -DHAVE_READPASSPHRASE=1 -DHAVE_STRLCAT=1 -DHAVE_STRLCPY=1 -DHAVE_STRNDUP=1 -DHAVE_STRNLEN=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_GETPROGNAME=1 -DHAVE_SYSLOG=1 -DHAVE_POLL=1 -DHAVE_SOCKETPAIR=1 -DHAVE_ARC4RANDOM=1 -DHAVE_ARC4RANDOM_BUF=1 -DHAVE_ARC4RANDOM_UNIFORM=1 -DHAVE_TIMINGSAFE_BCMP=1 -DHAVE_CLOCK_GETTIME=1 -DHAVE_VA_COPY=1 -DHAVE___VA_COPY=1 -DSIZEOF_TIME_T=8 -I.  -I../include -I../include/compat -DLIBRESSL_INTERNAL -D__BEGIN_HIDDEN_DECLS= -D__END_HIDDEN_DECLS= -I ../crypto/modes -I ../crypto/asn1 -I ../ssl -I ../tls -I ../apps/openssl -I ../apps/openssl/compat -D_PATH_SSL_CA_FILE=\"../apps/openssl/cert.pem\" -I/Users/kevin/wrt/staging_dir/host/include  -D__STRICT_ALIGNMENT  -O2 -I/Users/kevin/wrt/staging_dir/host/include  -fpic -Wall -std=gnu99 -fno-strict-aliasing  -fno-strict-overflow -D_FORTIFY_SOURCE=2 -fstack-protector-strong  -Qunused-arguments -Wno-pointer-sign -MT handshake_table.o -MD -MP -MF $depbase.Tpo -c -o handshake_table.o handshake_table.c &&\
mv -f $depbase.Tpo $depbase.Po
make[4]: *** No rule to make target `/Users/kevin/wrt/build_dir/host/libressl-2.9.2/crypto/.libs/libcrypto_la-cpuid-macosx-x86_64.o', needed by `handshake_table'.  Stop.
make[3]: *** [all-recursive] Error 1

A similar error & clues from
https://gitlab.com/ymorin/buildroot/commit/e783d60473944f8b39f1def45d8d6b483a062158

"
LibreSSL 2.9.1 now has a test that requires libtls.a, however, when building a
shared library only build, the --disable-static flag is passed to libressl,
which prevents the building of libtls.a.

With libtls.a not being built, the following error occurs:
libressl-2.9.1/tls/.libs/libtls.a', needed by 'handshake_table'.  Stop.

There are three options to fix this:
1) Stick with autotools, and provide a patch that removes building anything in
   the tests folder.
2) Pass --enable-static to LIBRESSL_CONF_OPTS
3) Change the package type to cmake, as a cmake build does not have this issue."

It appears we cannot change to cmake because cmake has a dependency on
an ssl library.

Take option 1 and do not build the tests.

Also take the opportunity to remove man page building as well.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
5 years agobase-files: drop support for the platform_nand_pre_upgrade()
Rafał Miłecki [Wed, 17 Jul 2019 09:32:55 +0000 (11:32 +0200)]
base-files: drop support for the platform_nand_pre_upgrade()

No target uses it anymore. All code from that callback was moved into
the platform_do_upgrade().

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agotreewide: sysupgrade: get rid of platform_nand_pre_upgrade()
Rafał Miłecki [Wed, 17 Jul 2019 09:32:54 +0000 (11:32 +0200)]
treewide: sysupgrade: get rid of platform_nand_pre_upgrade()

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>
5 years agolayerscape: sysupgrade: get rid of platform_pre_upgrade()
Rafał Miłecki [Wed, 17 Jul 2019 06:02:05 +0000 (08:02 +0200)]
layerscape: sysupgrade: get rid of platform_pre_upgrade()

1) RAMFS_COPY_BIN and RAMFS_COPY_DATA can be defined at top of the file
   like it's done for all other targets.
2) fw_printenv.lock can be created one step later in the
   platform_do_upgrade(). It seems to be working well on many other
   targets.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agocurl: update to 7.65.3
Hans Dedecker [Sun, 21 Jul 2019 21:25:15 +0000 (23:25 +0200)]
curl: update to 7.65.3

For changes in 7.65.3; see https://curl.haxx.se/changes.html#7_65_3

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agomac80211: brcm: backport first set of 5.4 brcmfmac changes
Rafał Miłecki [Sun, 21 Jul 2019 09:23:32 +0000 (11:23 +0200)]
mac80211: brcm: backport first set of 5.4 brcmfmac changes

This doesn't include 9ff8614a3dbe ("brcmfmac: use separate Kconfig file
for brcmfmac") due to a few conflicts with backports changes.

An important change is:
[PATCH 2/7] brcmfmac: change the order of things in brcmf_detach()
which fixes a rmmod crash in the brcmf_txfinalize().

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agotools: libressl: update to 2.9.2 version
Roman Yeryomin [Thu, 18 Jul 2019 16:35:50 +0000 (19:35 +0300)]
tools: libressl: update to 2.9.2 version

To keep in sync with OpenSSL 1.1.x branch version options.

Signed-off-by: Roman Yeryomin <roman@advem.lv>
5 years agofirmware-utils: mkfwimage: fix build failure on macOS with gcc 9
Petr Štetiar [Fri, 19 Jul 2019 21:04:23 +0000 (23:04 +0200)]
firmware-utils: mkfwimage: fix build failure on macOS with gcc 9

Fixes following errors:

 src/mkfwimage.c:279:8: error: format specifies type 'long' but the argument has type 'off_t' (aka 'long long') [-Werror,-Wformat]
                      d->stats.st_size,
                     ^~~~~~~~~~~~~~~~
 src/mkfwimage.c:280:8: error: format specifies type 'long' but the argument has type 'long long' [-Werror,-Wformat]
                      d->partition_length - d->stats.st_size);
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 src/mkfwimage.c:378:6: error: format specifies type 'unsigned long' but the argument has type 'long long' [-Werror,-Wformat]
                      d->stats.st_size - d->partition_length);
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Reported-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agofirmware-utils: mkfwimage: fix more errors reported by gcc-6/7/9
Petr Štetiar [Fri, 19 Jul 2019 19:34:16 +0000 (21:34 +0200)]
firmware-utils: mkfwimage: fix more errors reported by gcc-6/7/9

src/mkfwimage.c:276:8: error: format '%lld' expects argument of type 'long long int', but argument 4 has type '__off_t' {aka 'const long int'} [-Werror=format=]
src/fw.h:71:36: error: format '%llu' expects argument of type 'long long unsigned int', but argument 6 has type '__off_t' {aka 'long int'} [-Werror=format=]
    inlined from 'main' at src/mkfwimage.c:543:12:
/string_fortified.h:106:10: error: '__builtin_strncpy' output truncated before terminating nul copying 4 bytes from a string of the same length [-Werror=stringop-truncation]
    inlined from 'write_part' at src/mkfwimage.c:235:2,
string_fortified.h:106:10: error: '__builtin_strncpy' specified bound 16 equals destination size [-Werror=stringop-truncation]
    inlined from 'main' at src/mkfwimage.c:477:5:
string_fortified.h:106:10: error: '__builtin_strncpy' specified bound 256 equals destination size [-Werror=stringop-truncation]
    inlined from 'main' at src/mkfwimage.c:496:5:
string_fortified.h:106:10: error: '__builtin_strncpy' specified bound 4096 equals destination size [-Werror=stringop-truncation]
    inlined from 'main' at src/mkfwimage.c:481:5:
string_fortified.h:106:10: error: '__builtin_strncpy' specified bound 4096 equals destination size [-Werror=stringop-truncation]
    inlined from 'main' at src/mkfwimage.c:485:5:
string_fortified.h:106:10: error: '__builtin_strncpy' specified bound 16 equals destination size [-Werror=stringop-truncation]

Runtested on ath79 and UBNT Bullet M XW.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agofirmware-utils: mkfwimage: fix more errors
Kevin Darbyshire-Bryant [Fri, 19 Jul 2019 15:54:17 +0000 (16:54 +0100)]
firmware-utils: mkfwimage: fix more errors

Fix 4 errors reported by gcc 9

3 mismatched format type errors
1 unused variable error

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
5 years agofirmware-utils: mkfwimage: provide human readable error
Petr Štetiar [Fri, 19 Jul 2019 13:52:46 +0000 (15:52 +0200)]
firmware-utils: mkfwimage: provide human readable error

While looking at the ath25 build breakage of 19.07 images today I've
encountered following error:

 mkfwimage -B XS5 -v [...] ath25-ubnt5-squashfs-sysupgrade.bin.new
 ERROR: Failed creating firmware layout description - error code: -2

Which is barely human readable and needs poking into the source code, so
this patch makes the error more verbose and usable by mere mortals.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agofirmware-utils: mkfwimage: enable extra compiler checks and fix them
Petr Štetiar [Fri, 19 Jul 2019 14:10:35 +0000 (16:10 +0200)]
firmware-utils: mkfwimage: enable extra compiler checks and fix them

Let's enforce additional automatic checks enforced by the compiler in
order to catch possible errors during compilation.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoath10k-ct: Revert back to version 4.19
Hauke Mehrtens [Sun, 7 Jul 2019 17:07:40 +0000 (19:07 +0200)]
ath10k-ct: Revert back to version 4.19

Version 5.2 shows a error when registering the devive for me.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 years agoath10k-ct: switch to version 5.2
Hauke Mehrtens [Sun, 7 Jul 2019 11:48:20 +0000 (13:48 +0200)]
ath10k-ct: switch to version 5.2

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 years agoath10k-ct: remove patches for old versions
Hauke Mehrtens [Sun, 7 Jul 2019 11:38:37 +0000 (13:38 +0200)]
ath10k-ct: remove patches for old versions

the ath10k-ct package ships multiple versions of the ath10k-ct driver,
OpenWrt currently only uses the version 4.19, but we still ship some
patches for older versions. Remove all patches only touching older
versions and also remove the patch for older versions from patches which
do the same changes to multiple versions of ath10k-ct.

This removes some unneeded patches, the end binary should stay the same.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 years agoath10k-ct: update to version 2019-06-13
Hauke Mehrtens [Sun, 7 Jul 2019 11:30:03 +0000 (13:30 +0200)]
ath10k-ct: update to version 2019-06-13

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 years agomac80211: Update to version 5.2-rc7
Hauke Mehrtens [Sat, 6 Jul 2019 22:08:20 +0000 (00:08 +0200)]
mac80211: Update to version 5.2-rc7

This updates mac80211 to version 5.2-rc7, this contains all the changes
to the wireless subsystem up to Linux 5.2-rc7.

* The removed patches are applied upstream
* b43 now uses kmod-lib-cordic
* Update the nl80211.h file in iw to match backports version.
* Remove the two backports from kernel 4.9, they were needed for mt76,
  but that can use the version from backports now, otherwise they
  collide and cause compile errors.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 years agoath79: modify device name of I-O DATA WN-AC1600DGR2
INAGAKI Hiroshi [Sun, 16 Jun 2019 16:23:32 +0000 (01:23 +0900)]
ath79: modify device name of I-O DATA WN-AC1600DGR2

The hardware of I-O DATA WN-AC1600DGR3 has completely compatibility
with WN-AC1600DGR2, so modify the device name of WN-AC1600DGR2 to show
the images for DGR2 also support DGR3.

Specification of WN-AC1600DGR3:

- SoC        : Qualcomm Atheros QCA9557
- RAM        : DDR2 128 MiB
- Flash      : SPI-NOR 16 MiB
- WLAN       : 2.4/5 GHz
  - 2.4 GHz  : QCA9557 (SoC), 2T2R
  - 5 Ghz    : QCA9880, 3T3R
- Ethernet   : 5x 10/100/1000 Mbps
  - Switch   : QCA8337N
- LEDs/Input : 6x/6x (4x buttons, 1x slide-switch)
- UART       : through-hole on PCB
  - J1: Vcc, GND, TX, RX from ethernet port side
  - 115200n8

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
5 years agoath79: Add support for TP-Link Archer C60 v2
Adrian Schmutzler [Sun, 5 May 2019 16:46:09 +0000 (18:46 +0200)]
ath79: Add support for TP-Link Archer C60 v2

TP-Link Archer C60 v2 is a dual-band AC1350 router,
based on Qualcomm/Atheros QCA9561 + QCA9886.

Specification:

- 775/650/258 MHz (CPU/DDR/AHB)
- 64 MB of RAM (DDR2)
- 8 MB of FLASH (SPI NOR)
- 3T3R 2.4 GHz
- 2T2R 5 GHz
- 5x 10/100 Mbps Ethernet
- 7x LED, 2x button
- UART header on PCB

Flash instruction (WebUI):
Download *-factory.bin image and upload it via the firmwary upgrade
function of the stock firmware WebUI.

Flash instruction (TFTP):
1. Set PC to fixed IP address 192.168.0.66
2. Download *-factory.bin image and rename it to tp_recovery.bin
3. Start a tftp server with the file tp_recovery.bin in its root
   directory
4. Turn off the router
5. Press and hold reset button
6. Turn on router with the reset button pressed and wait ~15 seconds
7. Release the reset button and after a short time the firmware should
   be transferred from the tftp server
8. Wait ~30 second to complete recovery

Flash instruction (under U-Boot, using UART):
tftp 0x81000000 ...-sysupgrade.bin
erase 0x9f030000 +$filesize
cp.b $fileaddr 0x9f030000 $filesize
reset

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agoath79: Add support for TP-Link Archer C60 v1
Adrian Schmutzler [Sun, 5 May 2019 16:36:43 +0000 (18:36 +0200)]
ath79: Add support for TP-Link Archer C60 v1

TP-Link Archer C60v1 is a dual-band AC1350 router,
based on Qualcomm/Atheros QCA9561+QCA9886.

Specification:

- 775/650/258 MHz (CPU/DDR/AHB)
- 64 MB of RAM (DDR2)
- 8 MB of FLASH (SPI NOR)
- 3T3R 2.4 GHz
- 2T2R 5 GHz
- 5x 10/100 Mbps Ethernet
- 7x LED, 2x button
- UART header on PCB

Flash instruction (WebUI):
Download *-factory.bin image and upload it via the firmwary upgrade
function of the stock firmware WebUI.

Flash instruction (TFTP):
1. Set PC to fixed ip address 192.168.0.66
2. Download *-factory.bin image and rename it to tp_recovery.bin
3. Start a tftp server with the file tp_recovery.bin in its root directory
4. Turn off the router
5. Press and hold Reset button
6. Turn on router with the reset button pressed and wait ~15 seconds
7. Release the reset button and after a short time
the firmware should be transferred from the tftp server
8. Wait ~30 second to complete recovery.

Flash instruction under U-Boot, using UART:
1. tftp 0x81000000 ...-sysupgrade.bin
2. erase 0x9f020000 +$filesize
3. cp.b $fileaddr 0x9f020000 $filesize
4. reset

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agoath79: add support for TP-Link CPE510-v2/v3
Andrew Cameron [Wed, 26 Jun 2019 21:40:54 +0000 (16:40 -0500)]
ath79: add support for TP-Link CPE510-v2/v3

TP-Link CPE510-v2/v3 is an outdoor wireless CPE for 5 GHz with
one Ethernet port based on Atheros AR9344

Specifications:
 - Based on the same underlying hardware as the TP-Link CPE510
 - Power, LAN, and 4 green LEDs
 - 1 10/100Mbps Shielded Ethernet Port (Passive PoE in)
 - Built-in 13dBi 2x2 dual-polarized directional MIMO antenna
 - Adjustable transmission power from 0 to 23dBm/200mw

Flashing instructions:
 Flash factory image through stock firmware WEB UI
 or through TFTP
 To get to TFTP recovery just hold reset button while powering on for
 around 4-5 seconds and release.
 Rename factory image to recovery.bin
 Stock TFTP server IP:192.168.0.100
 Stock device TFTP adress:192.168.0.254

Signed-off-by: Andrew Cameron <apcameron@softhome.net>
[whitespace fixes]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoath79: add support for Trendnet TEW-823DRU
Pramod Pancha [Fri, 5 Jul 2019 17:45:19 +0000 (13:45 -0400)]
ath79: add support for Trendnet TEW-823DRU

Trendnet TEW-823DRU is a dual-band AC1750 router.
The router is based on Qualcomm/Atheros QCA9558 + QCA9880.

Specification:

720 MHz CPU
256 MB of RAM
16 MB of FLASH
3T3R 2.4 GHz
3T3R 5 GHz
5x 10/100/1000 Mbps Ethernet

Firmware can be flashed from the web interface. Tested on 3 routers
with no issues.

Signed-off-by: Pramod Pancha <pancha@vill.com>
[whitespace fixes]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoath79: add support for TP-Link RE355 v1 and RE450 v1
Christoph Krapp [Tue, 16 Jul 2019 18:47:49 +0000 (20:47 +0200)]
ath79: add support for TP-Link RE355 v1 and RE450 v1

Specification:

SoC: Qualcomm Atheros QCA9558
RAM: 64/128MiB
Flash: 8MiB SPI-NOR
Wifi:
  - 2.4GHz: 3T3R (QCA9558)
  - 5GHz: 3T3R (QCA9880)
LAN: 1x 10/100/1000 Mbps
UART:
  - TP1: Tx
  - TP2: Rx
  - TP3: Gnd
  - TP4: 3v3

Flash instructions:
Flash factory image through stock firmware WEB UI.

Signed-off-by: Christoph Krapp <achterin@googlemail.com>
5 years agoramips: add support for TP-Link RE650 v1
Georgi Vlaev [Wed, 17 Apr 2019 18:17:45 +0000 (21:17 +0300)]
ramips: add support for TP-Link RE650 v1

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>
5 years agomtd: cleanup unused code and variables in fis.c
Petr Štetiar [Wed, 17 Jul 2019 21:04:22 +0000 (23:04 +0200)]
mtd: cleanup unused code and variables in fis.c

While compile checking mtd changes in PR#1359 I've noticed following
compiler warnings and cleaned them up:

 fis.c: In function 'fis_remap':
 fis.c:143:25: warning: variable 'redboot' set but not used [-Wunused-but-set-variable]
   struct fis_image_desc *redboot = NULL;
                         ^~~~~~~
 fis.c:142:25: warning: variable 'fisdir' set but not used [-Wunused-but-set-variable]
   struct fis_image_desc *fisdir = NULL;
                         ^~~~~~

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoath79: add support for Bluesocket BSAP1880 board
Daniel Gimpelevich [Sat, 1 Sep 2018 02:28:35 +0000 (19:28 -0700)]
ath79: add support for Bluesocket BSAP1880 board

This board was used in dual-band 802.11n enterprise access points, models
BSAP-1800v2 and BSAP-1840, introduced in 2010 by Bluesocket, which was
acquired by Adtran in 2011, who has now EOL'ed them. They differed only in
that the BSAP-1840's antennae were detachable, while the BSAP-1800v2's were
inside the case. They have an external RJ-45 console port, which works with
standard Cisco 72-3383-01 console cables.

Specification:
- System-On-Chip: AR7161
- CPU/Speed: 600 MHz
- Flash-Chip: Macronix MX25L12845E
- Flash size: 16 MiB
- RAM: 64 MiB
- Wireless No1: Lite-On WN2601A card: AR9160/AR9103 2.4GHz 802.11bgn
- Wireless No2: Lite-On WN2502A card: AR9160/AR9106 5GHz 802.11an
- PHY: Vitesse VSC8601, Rev. B

Installation:
1. Connect to the serial console using a terminal that supports YMODEM at
   115200 bps, 8 data bits, no parity, 1 stop bit
2. Interrupt the bootloader using its password, which is: r00t
3. Issue the "fis init" command, confirming if prompted
4. Look at the length of the openwrt-ath79-generic-*-squashfs-kernel.bin
   file, and substitute it below, instead of where I have "LeNgTh"
5. Issue the following command, and upload this file using YMODEM protocol
   load -r -v -b 0x80060000 -m ymodem
6. Issue the following commands, substituting as mentioned above:
   fis create -b 0x80060000 -l LeNgTh vmlinux_2
   load -r -v -b 0x80100000 -m ymodem
7. Using YMODEM, upload openwrt-ath79-generic-*-squashfs-rootfs.bin
8. Issue the "fis free" command, and for the first range in its response,
   use a hexadecimal calculator to subtract the start from the end in order
   to substitute it below, with the leading "0x" to specify it in
   hexadecimal, instead of where I have "LeNgTh"
9. Issue the following commands, substituting as mentioned above:
   fis create -b 0x80100000 -l LeNgTh -e 0 -r 0 rootfs
   reset
10.Wait for the status LED to go solid green

Tested-by: Brian Gonyer <bgonyer@gmail.com>
Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
[fixed obsolete $ARGV in platform_do_upgrade]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoath79: widen RedBoot directory search and add PHY
Daniel Gimpelevich [Wed, 26 Jun 2019 19:56:47 +0000 (12:56 -0700)]
ath79: widen RedBoot directory search and add PHY

The Bluesocket BSAP1880 board has a Vitesse PHY, for which the driver was
not being included, and its RedBoot directory block is earlier in the
flash than the search was allowing. This commit prepares for supporting it.

Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
5 years agoath79: support "rgmii-id" PHY mode in ag71xx
Daniel Gimpelevich [Wed, 26 Jun 2019 19:39:37 +0000 (12:39 -0700)]
ath79: support "rgmii-id" PHY mode in ag71xx

The ag71xx code did not include a case for the "rgmii-id" PHY mode in the
code. There are devices that need this mode, so I'm adding it.

Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
5 years agomtd: add CRC signature to RedBoot partition map
Daniel Gimpelevich [Sat, 1 Sep 2018 01:14:24 +0000 (18:14 -0700)]
mtd: add CRC signature to RedBoot partition map

The code for calculating the CRC32 signatures for RedBoot FIS partitions
was already included, but for unknown reasons, it was never invoked. Some
bootloaders enforce checking these for loaded kernels, so they should be
written. This patch does so.

Tested-by: Brian Gonyer <bgonyer@gmail.com>
Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
5 years agoopenvpn: add new list option tls_ciphersuites
Martin Schiller [Tue, 28 May 2019 10:50:15 +0000 (12:50 +0200)]
openvpn: add new list option tls_ciphersuites

To configure the list of allowable TLS 1.3 ciphersuites, the option
tls_ciphersuites is used instead of tls_ciphers.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
5 years agobrcm47xx: fix 831-old_gpio_wdt.patch for linux 4.19
Zachary Cook [Thu, 11 Jul 2019 20:09:15 +0000 (16:09 -0400)]
brcm47xx: fix 831-old_gpio_wdt.patch for linux 4.19

Fix the following compilation error when using linux 4.19 on brcm47xx:
drivers/watchdog/old_gpio_wdt.c:236:2: error: implicit declaration of function 'setup_timer'

setup_timer was removed and replaced by timer_setup in linux >=4.15:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=513ae785

Update the patch to use the timer_setup interface

Signed-off-by: Zachary Cook <zachcook1991@gmail.com>
5 years agoath79: ar9330: add missing watchdog node
Petr Štetiar [Wed, 17 Jul 2019 13:19:54 +0000 (15:19 +0200)]
ath79: ar9330: add missing watchdog node

It was reported in FS#2385, that Carambola2 doesn't currently have
working watchdog so fix it by adding watchdog node.

Ref: FS#2385
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoramips: add MT7615 wireless support for ELECOM WRC-1167GHBK2-S
INAGAKI Hiroshi [Thu, 27 Jun 2019 03:27:27 +0000 (12:27 +0900)]
ramips: add MT7615 wireless support for ELECOM WRC-1167GHBK2-S

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
a0e5ca4f3523b9eef96bff32e45f6fa8275b982f,
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>
5 years agoperf: simplify the build process
Petr Štetiar [Tue, 16 Jul 2019 19:43:08 +0000 (21:43 +0200)]
perf: simplify the build process

Redirect the build output to PKG_BUILD_DIR instead of copying over
complete source code.

Build tested on following targets:

 x86/64 ar7/generic ipq40xx/generic imx6/generic ar71xx/generic
 ramips/mt7621 ramips/mt7620 sunxi/cortexa7

Run tested on imx6/apalis.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agokernel: generic: fix perf build breakage on 4.19
Petr Štetiar [Tue, 16 Jul 2019 19:46:49 +0000 (21:46 +0200)]
kernel: generic: fix perf build breakage on 4.19

Drop 211-host_tools_portability.patch which is breaking perf build on
4.19 kernels by removing the include directory from the host's CFLAGS
leading to the following build breakage:

 pmu-events/jevents.c:48:10: fatal error: linux/list.h: No such file or directory
  #include <linux/list.h>
           ^~~~~~~~~~~~~~

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoimx6: apalis: add missing jffs2reset to ramfs during sysupgrade
Petr Štetiar [Tue, 16 Jul 2019 20:06:40 +0000 (22:06 +0200)]
imx6: apalis: add missing jffs2reset to ramfs during sysupgrade

jffs2reset is used to cleanup the rootfs_data overlay, but it's
currently missing in the ramfs during sysupgrade leading to the
following error:

 Switching to ramdisk...
 Performing system upgrade...
 /lib/upgrade/do_stage2: line 27: jffs2reset: not found

Fixes: 2f1a11d0089c ("imx6: apalis: fix config survival after sysupgrade -n")
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoimx6: apalis: fix sysupgrade paths
Petr Štetiar [Tue, 16 Jul 2019 08:23:18 +0000 (10:23 +0200)]
imx6: apalis: fix sysupgrade paths

We can't use $board_name in sysupgrade paths for kernel and rootfs as we
currently generate one image which could be used on two different base
boards.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agox86: add modern network modules to Generic target
Alberto Bursi [Sun, 14 Jul 2019 01:11:00 +0000 (03:11 +0200)]
x86: add modern network modules to Generic target

Many Atom-based embedded/industrial x86 boards can't run 64bit operating
systems due to either processor or board firmware limitations, but they
have modern interfaces (PCIe) or have modern Intel gigabit controllers
onboard.  With the current default package selection for x86 Generic
target their network won't work.

Add the modern gigabit network modules needed or most likely going to be
used as add-in cards, similar to what is the list on x86_64 target.

Signed-off-by: Alberto Bursi <alberto.bursi@outlook.it>
[fixed whitespace issue]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agomt76: update to the latest version
Felix Fietkau [Wed, 17 Jul 2019 07:36:33 +0000 (09:36 +0200)]
mt76: update to the latest version

3d7f738 mt76: mt7615: add missing register initialization

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agomac80211: add config tweak for tx bursting when using VHT
Felix Fietkau [Wed, 19 Jun 2019 10:32:20 +0000 (12:32 +0200)]
mac80211: add config tweak for tx bursting when using VHT

By default, set BE tx queue TXOP limit to 1.0 in the hostapd config
Many vendor drivers are doing similar things to boost throughput.
On MT7612 under ideal conditions, it improves tx throughput from 470 Mbit/s
to about 570 Mbit/s.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agobase-files: don't set ARGV and ARGC
Rafał Miłecki [Sun, 14 Jul 2019 17:00:00 +0000 (19:00 +0200)]
base-files: don't set ARGV and ARGC

Those are not used by any image check function anymore.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agomvebu: sysupgrade: don't use $ARGV in platform_check_image()
Rafał Miłecki [Sun, 14 Jul 2019 16:59:59 +0000 (18:59 +0200)]
mvebu: sysupgrade: don't use $ARGV in platform_check_image()

sysupgrade passes image path to platform_check_image() as an argument so
it can be simply accessed using $1

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agotreewide: sysupgrade: don't use $ARGV in platform_do_upgrade()
Rafał Miłecki [Sun, 14 Jul 2019 17:03:19 +0000 (19:03 +0200)]
treewide: sysupgrade: don't use $ARGV in platform_do_upgrade()

stage2 passes image path to platform_do_upgrade() as an argument so it
can be simply accessed using $1

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agoramips: get rid of platform_pre_upgrade()
Rafał Miłecki [Fri, 12 Jul 2019 12:05:49 +0000 (14:05 +0200)]
ramips: get rid of platform_pre_upgrade()

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>
5 years agoar71xx: get rid of platform_pre_upgrade()
Rafał Miłecki [Fri, 12 Jul 2019 12:05:47 +0000 (14:05 +0200)]
ar71xx: get rid of platform_pre_upgrade()

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>
5 years agoar71xx: enable SGMII fixup on Mikrotik wAP AC
Etienne Champetier [Sun, 14 Jul 2019 02:43:28 +0000 (19:43 -0700)]
ar71xx: enable SGMII fixup on Mikrotik wAP AC

fixes intermittent loss of connectivity on 1Gbit port, with log message:
> 803x_aneg_done: SGMII link is not ok

Thanks to David Bauer for pointing me in the right direction.
I just had to figure out the right bus_id, which you find in this log:
> ag71xx ag71xx.1: connected to PHY at gpio-1:00 [uid=004dd074,
  driver=Atheros 8031 ethernet]

Fixes FS#2236

Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>
[Wrapped commit message - Fixed whitespace erors]
Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agoath79: add seama header fixup for Qihoo C301
Chuanhong Guo [Tue, 16 Jul 2019 11:38:27 +0000 (19:38 +0800)]
ath79: add seama header fixup for Qihoo C301

This script is copied from ar71xx. Without a header fixup, u-boot
checksum for kernel will fail after the first boot.

Fixes: a9360452f0 ("ath79: add support for Qihoo C301")

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
5 years agopackage: mtd: add fixseama command for ath79
Chuanhong Guo [Tue, 16 Jul 2019 11:35:12 +0000 (19:35 +0800)]
package: mtd: add fixseama command for ath79

This is needed by Qihoo C301.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
5 years agoorion: sysupgrade: change platform_check_image() args validation
Rafał Miłecki [Sun, 14 Jul 2019 20:11:40 +0000 (22:11 +0200)]
orion: sysupgrade: change platform_check_image() args validation

sysupgrade passes image to check as argument so use $# instead of $ARGC.
It also fits this function better as it checks $1 and not $ARGV.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agomvebu: sysupgrade: drop platform_copy_config_sdcard() argument
Rafał Miłecki [Sun, 14 Jul 2019 20:08:58 +0000 (22:08 +0200)]
mvebu: sysupgrade: drop platform_copy_config_sdcard() argument

That function doesn't take any arguments so don't pass anything when
calling it.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agoramips: Remove left-over mistyped device string from 02_network
Adrian Schmutzler [Mon, 15 Jul 2019 15:50:36 +0000 (17:50 +0200)]
ramips: Remove left-over mistyped device string from 02_network

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>
5 years agoath79: add wmac migration for all ar93xx/qca95xx SoCs
Chuanhong Guo [Fri, 21 Jun 2019 10:33:53 +0000 (18:33 +0800)]
ath79: add wmac migration for all ar93xx/qca95xx SoCs

Add migration for all ar71xx device path as well as previously
incorrect ath79 path.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
5 years agoath79: ar93xx/qca95xx: move gmac/wmac/pcie node out of apb bus
Chuanhong Guo [Fri, 21 Jun 2019 10:25:12 +0000 (18:25 +0800)]
ath79: ar93xx/qca95xx: move gmac/wmac/pcie node out of apb bus

according to functional block diagram in datasheet, these devices
don't belong to apb bus.
Move these nodes out to match datasheet description.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
5 years agoath79: add support for Qihoo C301
Chuanhong Guo [Mon, 15 Jul 2019 11:43:31 +0000 (19:43 +0800)]
ath79: add support for Qihoo C301

Specifications:
- SoC: AR9344
- RAM: 128MB
- Flash: 2 * 16MB (MX25L12845)
- Ethernet: 2 * FE LAN & 1 * FE WAN
- WiFi: 2.4G: AR9344 5G: QCA9882

Flash instruction:
1. Hold reset and power up the router
2. Set your IP to 192.168.1.x
3. Open 192.168.1.1 and upload the generated *factory* firmware

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
5 years agoramips: mtk-mmc: mt76x8: check ESD_MODE before applying AGPIO_CFG
Chuanhong Guo [Sat, 13 Jul 2019 09:59:03 +0000 (17:59 +0800)]
ramips: mtk-mmc: mt76x8: check ESD_MODE before applying AGPIO_CFG

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>
5 years agompc85xx: split up DEVICE_TITLE
Moritz Warning [Sun, 14 Jul 2019 08:53:27 +0000 (10:53 +0200)]
mpc85xx: split up DEVICE_TITLE

Splits up DEVICE_TITLE into DEVICE_VENDOR, DEVICE_MODEL and DEVICE_VARIANT.

Signed-off-by: Moritz Warning <moritzwarning@web.de>
5 years agolibroxml: bump to the 3.0.2 version
Rafał Miłecki [Sun, 14 Jul 2019 20:24:54 +0000 (22:24 +0200)]
libroxml: bump to the 3.0.2 version

* Fix for memory leak regression
* Support for (un)escaping

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agotarget/toolchain/files/wrapper.sh: simplify 'case'
Eneas U de Queiroz [Mon, 15 Jul 2019 17:08:00 +0000 (14:08 -0300)]
target/toolchain/files/wrapper.sh: simplify 'case'

Removed an eglibc remnant, and while at it, grouped all of the
TOOLCHAIN_PLATFORMs using the same FLAGS together.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
5 years agolibs/toolchain: remove eglibc remnant file
Eneas U de Queiroz [Mon, 15 Jul 2019 17:07:59 +0000 (14:07 -0300)]
libs/toolchain: remove eglibc remnant file

This removes package/libs/toolchain/eglibc-files/etc/nsswitch.conf.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
5 years agotegra: split up DEVICE_TITLE
Moritz Warning [Sun, 14 Jul 2019 08:35:21 +0000 (10:35 +0200)]
tegra: split up DEVICE_TITLE

Splits up DEVICE_TITLE into DEVICE_VENDOR, DEVICE_MODEL and DEVICE_VARIANT.

Signed-off-by: Moritz Warning <moritzwarning@web.de>
5 years agoubox: implement service_running() in log init.d script
Rafał Miłecki [Wed, 3 Jul 2019 09:16:22 +0000 (11:16 +0200)]
ubox: implement service_running() in log init.d script

It allows checking if service is running.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agorpcd: implement service_running() in init.d script
Rafał Miłecki [Wed, 3 Jul 2019 09:16:21 +0000 (11:16 +0200)]
rpcd: implement service_running() in init.d script

It allows checking if service is running.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agofstools: add direct dependencies on libblobmsg-json and libjson-c
Petr Štetiar [Sun, 14 Jul 2019 20:10:37 +0000 (22:10 +0200)]
fstools: add direct dependencies on libblobmsg-json and libjson-c

The OpenWrt buildroot ABI version rebuild tracker does not handle
transient dependencies, therefore add all libraries linked by
block-mount and blockd as direct dependencies to the corresponding
binary package definition.

This ensures that block-mount and blockd is automatically rebuilt and
relinked if any of these libraries has its ABI_VERSION updated in the
future.

Fixes: FS#2373
[jow: similar fix for procd and 98.42% of commit message]
Signed-off-by: Jo-Philip Wich <jow@mein.io>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoath79: add support for devolo WiFi pro 1750x
David Bauer [Tue, 11 Jun 2019 15:27:51 +0000 (17:27 +0200)]
ath79: add support for devolo WiFi pro 1750x

Hardware
--------
CPU:   Qualcomm Atheros QCA9558
RAM:   128M DDR2
FLASH: 16MiB
ETH:   1x Atheros AR8035 (PoE in)
WiFi2: QCA9558 3T3R
WiFi5: QCA9880 3T3R
BTN:   1x Reset
LED:   1x LED Power (non-controllable)
       1x LED Status (internal)
       1x LED LAN (controlled by PHY)
       1x LED WLAN
BEEP:  1x GPIO attached piezo beeper
UART:  3.3V GND TX RX (115200-N-8) (3.3V is square pad)
       Header is located next to external-LED header.

Installation
------------
Make sure you set a password for the root user as prompted on first
setup!

1. Upload OpenWRT sysupgrade image via SSH to the device.
Use /tmp as the destination folder on the device.
User is root, password the one set in the web interface.

2. Install OpenWRT with

> sysupgrade -n -F /tmp/<openwrt-image-name>

Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agogemini: Stop enforcing command line
Linus Walleij [Wed, 10 Jul 2019 17:46:12 +0000 (19:46 +0200)]
gemini: Stop enforcing command line

The command line enforced by the kernel is harmful, we want to
use the command line passed from the device tree. This is
especially important for the SQ201, Teltonika RUT and WBD111
which has a console set to 115200n8 and not 19200n8 like all
the others, so their consoles will be confusingly changing
baudrate between boot loader and kernel. The setting in the
device tree corresponds to what the boot loader is using.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
5 years agogpio-button-hotplug: unify polled and interrupt code
David Bauer [Tue, 2 Jul 2019 21:57:18 +0000 (23:57 +0200)]
gpio-button-hotplug: unify polled and interrupt code

This patch unifies the polled and interrupt-driven gpio_keys code
paths as well implements consistent handling of the debounce
interval set for the GPIO buttons and switches.

Hotplug events will only be fired if

1. The input changes its state and remains stable for the duration
   of the debounce interval (default is 5 ms).

2. In the initial stable (no state-change for duration of the
   debounce interval) state once the driver module gets loaded.

   Switch type inputs will always report their stable state.
   Unpressed buttons will not trigger an event for the initial
   stable state. Whereas pressed buttons will trigger an event.
   This is consistent with upstream's gpio-key driver that uses
   the input subsystem (and dont use autorepeat).

Prior to this patch, this was handled inconsistently for interrupt-based
an polled gpio-keys. Hence this patch unifies the shared logic into the
gpio_keys_handle_button() function and modify both implementations to
handle the initial state properly.

The changes described in 2. ) . can have an impact on the
failsafe trigger. Up until now, the script checked for button
state changes. On the down side, this allowed to trigger the
failsafe by releasing a held button at the right time. On the
plus side, the button's polarity setting didn't matter.

Now, the failsafe will only engage when a button was pressed
at the right moment (same as before), but now it can
theoretically also trigger when the button was pressed the
whole time the kernel booted and well into the fast-blinking
preinit phase. However, the chances that this can happen are
really small. This is because the gpio-button module is usually
up and ready even before the preinit state is entered. So, the
initial pressed button event gets lost and most devices behave
as before.

Bisectors: If this patch causes a device to permanently go into
failsafe or experience weird behavior due to inputs, please
check the following:
 - the GPIO polarity setting for the button
 - the software-debounce value

Run-tested for 'gpio-keys' and 'gpio-keys-polled' on

 - devolo WiFi pro 1200e
 - devolo WiFi pro 1750c
 - devolo WiFi pro 1750x
 - Netgear WNDR4700
 - Meraki MR24
 - RT-AC58U

Signed-off-by: David Bauer <mail@david-bauer.net>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [further
cleanups, simplification and unification]

5 years agobrcm2708: Add Raspberry Pi 4 support
Álvaro Fernández Rojas [Sat, 13 Jul 2019 11:33:44 +0000 (13:33 +0200)]
brcm2708: Add Raspberry Pi 4 support

- Support added to bcm2709 subtarget (32 bit).
- 64 bit kernel still requires many hacks on RPi 4B.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
5 years agobrcm2708: switch to linux-firmware SDIO NVRAM
Álvaro Fernández Rojas [Sat, 13 Jul 2019 11:30:57 +0000 (13:30 +0200)]
brcm2708: switch to linux-firmware SDIO NVRAM

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
5 years agolinux-firmware: add RPi SDIO NVRAM packages
Álvaro Fernández Rojas [Sat, 13 Jul 2019 11:34:59 +0000 (13:34 +0200)]
linux-firmware: add RPi SDIO NVRAM packages

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
5 years agobrcm2708-gpu-fw: add support for Raspberry Pi 4
Álvaro Fernández Rojas [Tue, 9 Jul 2019 18:17:31 +0000 (20:17 +0200)]
brcm2708-gpu-fw: add support for Raspberry Pi 4

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
5 years agobrcm2708: add linux 4.19 support
Álvaro Fernández Rojas [Tue, 9 Jul 2019 18:32:28 +0000 (20:32 +0200)]
brcm2708: add linux 4.19 support

Boot tested on Raspberry Pi B+ (BCM2708) and Raspberry Pi 2 (BCM2709)

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
5 years agomt76: revert an accidental leftover debug change
Felix Fietkau [Sat, 13 Jul 2019 14:00:43 +0000 (16:00 +0200)]
mt76: revert an accidental leftover debug change

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agoprocd: update to latest git HEAD
Hans Dedecker [Sat, 13 Jul 2019 11:24:56 +0000 (13:24 +0200)]
procd: update to latest git HEAD

31f0765 procd: check strchr() result before using it

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agomt76: update to the latest version
Felix Fietkau [Fri, 12 Jul 2019 14:11:45 +0000 (16:11 +0200)]
mt76: update to the latest version

8fc3e6e mt76: mt7615: fix using VHT STBC rates
b21b991 mt76: mt7615: fix PS buffering of action frames
3d43dd8 mt76: mt7615: fix invalid fallback rates
0ce4682 mt76: mt7603: fix invalid fallback rates
3b08966 Revert "mt76: usb: use full intermediate buffer in mt76u_copy"
48800e7 Revert "mt76: usb: remove unneeded {put,get}_unaligned"
439354d Revert "mt76: usb: fix endian in mt76u_copy"
8c1da93 mt76: usb: fix endian in mt76u_copy
307be50 mt76: usb: remove unneeded {put,get}_unaligned
5d29829 mt76: mt76x02: use params->ssn value directly
f74d117 mt76: mt7603: use params->ssn value directly
649f2e8 mt76: mt7615: use params->ssn value directly
b647180 mt76: mt7615: unlock dfs bands

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agomac80211: Do not build b43legacy on BRCM47xx mips74 subtarget
Hauke Mehrtens [Thu, 11 Jul 2019 23:12:11 +0000 (01:12 +0200)]
mac80211: Do not build b43legacy on BRCM47xx mips74 subtarget

b43legacy needs ssb support and we do not compile the mips74 subtarget
of the brcm47xx target with SSB support. This causes a build failure in
the mac80211 package and only some of the kernel modules are being
created.

I am not aware of any device with a BRCM47xx mips74 CPU which uses a
b43legacy compatible device.

Fixes: FS#2334
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 years agoramips: add support for ASUS RT-AC57U
David Bauer [Thu, 11 Jul 2019 15:15:48 +0000 (17:15 +0200)]
ramips: add support for ASUS RT-AC57U

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>
5 years agolua5.3: build shared library
Colby Whitney [Tue, 2 Jul 2019 17:18:00 +0000 (11:18 -0600)]
lua5.3: build shared library

Update the lua5.3 package to build a shared object just like the old lua
package. Ported / recreated the same patch number as the other lua
package. Built and tested library / interpreter on BCM5301X.

Signed-off-by: Colby Whitney <colby.whitney@luxul.com>
5 years agoramips: fix mqmaker witi case in fixup-mac-address
Chuanhong Guo [Thu, 11 Jul 2019 15:21:19 +0000 (23:21 +0800)]
ramips: fix mqmaker witi case in fixup-mac-address

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>
5 years agobase-files: move stage2 upgrade to separated file
Rafał Miłecki [Wed, 3 Jul 2019 07:51:49 +0000 (09:51 +0200)]
base-files: move stage2 upgrade to separated file

do_upgrade_stage2() isn't really any common code. It isn't used anywhere
except for /sbin/sysupgrade that passes it to the stage2.

Moving its code to separated file also simplifies COMMAND variable.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agoramips: mt7621: merge two variants of MQmaker WiTi together
Chuanhong Guo [Wed, 10 Jul 2019 15:57:36 +0000 (23:57 +0800)]
ramips: mt7621: merge two variants of MQmaker WiTi together

Since we can auto-detect memory now, we don't need 2 dts for two
memory variants.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
5 years agoramips: dts: drop memory nodes
Chuanhong Guo [Wed, 10 Jul 2019 05:53:59 +0000 (13:53 +0800)]
ramips: dts: drop memory nodes

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>
5 years agoramips: mt7621: add support for memory detection
Chuanhong Guo [Wed, 10 Jul 2019 03:05:41 +0000 (11:05 +0800)]
ramips: mt7621: add support for memory detection

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>
5 years agoramips: fix bogus MTK_SOC (typo)
Daniel Golle [Wed, 10 Jul 2019 17:28:35 +0000 (19:28 +0200)]
ramips: fix bogus MTK_SOC (typo)

Belkin F7C027 is clearly Rt5350 SoC, as shown on internal
photographs filed for FCC approval[1].

[1]: https://fcc.io/K7S/F7C027

Fixes commit 3b0264eddbc
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agoramips: Sort all subtarget Makefiles
Adrian Schmutzler [Sun, 7 Jul 2019 14:27:51 +0000 (16:27 +0200)]
ramips: Sort all subtarget Makefiles

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>
5 years agoramips: Reapply sorting to board.d files
Adrian Schmutzler [Wed, 3 Jul 2019 21:22:47 +0000 (23:22 +0200)]
ramips: Reapply sorting to board.d files

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>
5 years agokernel/om-watchdog: Apply device renames from ramips
Adrian Schmutzler [Wed, 3 Jul 2019 21:22:44 +0000 (23:22 +0200)]
kernel/om-watchdog: Apply device renames from ramips

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agouboot-envtools: Apply ramips device renames
Adrian Schmutzler [Wed, 3 Jul 2019 21:22:42 +0000 (23:22 +0200)]
uboot-envtools: Apply ramips device renames

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agoramips: Remove base-files/lib/ramips.sh
Adrian Schmutzler [Wed, 3 Jul 2019 21:22:39 +0000 (23:22 +0200)]
ramips: Remove base-files/lib/ramips.sh

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>
5 years agoramips/rt305x: Name DTS files based on scheme
Adrian Schmutzler [Wed, 3 Jul 2019 21:22:36 +0000 (23:22 +0200)]
ramips/rt305x: Name DTS files based on scheme

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agoramips/rt288x,rt3883: Name DTS files based on scheme
Adrian Schmutzler [Wed, 3 Jul 2019 21:22:34 +0000 (23:22 +0200)]
ramips/rt288x,rt3883: Name DTS files based on scheme

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agoramips/mt76x8: Name DTS files based on scheme
Adrian Schmutzler [Wed, 3 Jul 2019 21:22:31 +0000 (23:22 +0200)]
ramips/mt76x8: Name DTS files based on scheme

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>