build: add KERNEL_ENTRY and sort DEFAULT_DEVICE_VARS
The KERNEL_ENTRY was missing from the DEFAULT_DEVICE_VARS.
This bug was discovered while preparing alternative images
for the mpc85xx's TP-Link WDR4900-V1, which all failed to
boot due to this:
|## Booting kernel from Legacy Image at 02000000 ...
| Image Name: POWERPC OpenWrt Linux-4.14.96
| Image Type: PowerPC Linux Kernel Image (uncompressed)
| Data Size: 2056568 Bytes = 2 MiB
| Load Address: 01000000
| Entry Point: 00000000
| Verifying Checksum ... OK
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Hans Dedecker [Sat, 9 Feb 2019 19:59:55 +0000 (20:59 +0100)]
vti: remove setting default firewall zone to wan
Same reasoning as in bdedb798150a58ad7ce3c4741f2f31df97e84c3f; don't set
default firewall zone to wan as the firewall zone for the vti interface
can be configured in the firewall config or it makes it impossible not to
specify a firewall zone for the vti interface.
Hans Dedecker [Sat, 9 Feb 2019 19:48:11 +0000 (20:48 +0100)]
ipip: remove setting default firewall zone to wan
Same reasoning as in bdedb798150a58ad7ce3c4741f2f31df97e84c3f; don't set
default firewall zone to wan as the firewall zone for the ipip interface
can be configured in the firewall config or it makes it impossible not to
specify a firewall zone for the ipip interface.
HsiuWen Yen [Thu, 31 Jan 2019 16:45:22 +0000 (00:45 +0800)]
netfilter: fix checking method of conntrack helper
This patch uses nfct_help() to detect whether an established connection
needs conntrack helper instead of using test_bit(IPS_HELPER_BIT,
&ct->status).
The reason for this modification is that IPS_HELPER_BIT is only set when
the conntrack helper is attached by explicit CT target.
However, in the case that a device enables conntrack helper via the other
ways (e.g., command "echo 1 > /proc/sys/net/netfilter/nf_conntrack_helper")
, the status of IPS_HELPER_BIT will not present any change. That means the
IPS_HELPER_BIT might lose the checking ability in the context.
When mapping for RSSI LEDs was defined for interface wlan0 on
Ubiquiti XM and XW family, it missed connection to actual interface.
Therefore create the mapping to interface, so RSSI LEDs work without
additional configuration, after starting rssileds service.
Also add the required package for this.
While at that, remove coefficients needed for PWM LEDs, as XM and XW
boards do not support PWM LEDs.
Julien Rabier [Mon, 4 Feb 2019 20:03:35 +0000 (21:03 +0100)]
ar71xx: fix RB941-2nD detection
Some hAP lite routers aren't detected because
/proc/cpuinfo shows "RouterBOARD RB941-2nD"
instead of "RouterBOARD 941-2nD".
Fix that.
Signed-off-by: Julien Rabier <taziden@flexiden.org>
[Alter string to include all flavours + slight rewrite of commit msg] Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
Edoardo Scaglia [Fri, 1 Feb 2019 15:43:46 +0000 (16:43 +0100)]
ar71xx: fix Arduino Yun enabling of level shifters outputs
As show in Arduino Yun schematic [1] GPIO 21 and 22 are connected to
output enable pin (OE) of two NTB01xx level shifters.
NTB01xx datasheets [2] [3] states that OE pin are active-high
therefore we should initialize GPIO 21 (DS_GPIO_OE) and GPIO 22
(DS_GPIO_OE2) accordingly to actually enable level shifters outputs.
Petr Štetiar [Thu, 3 Jan 2019 19:20:19 +0000 (20:20 +0100)]
kernel: add missing symbols to 4.19
While preparing 4.19 for imx6 and test building it with
CONFIG_ALL_KMODS=y with verbose mode enabled, I was asked by kernel
config about few missing symbols/modules
Let's add them to the generic config.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
[slight rewrite of commit log] Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
Daniel Golle [Fri, 8 Feb 2019 03:50:47 +0000 (04:50 +0100)]
mac80211: rt2x00: remove patch causing low tx power
Remove 980-rt2x00-reduce-power-consumption-on-mt7620.patch which in
combination with the most recently added patch reportedly causes TX
power to be too weak.
"without patches rssi on receiver is ~ -23dBm with 980 about -35dBm,
with both patches drops below -40dBm. with 987 only ~-28dBm"
We may need to reconsider this once we have implemented TSSI.
Fixes: cdb58b2bfe ("mac80211: rt2x00: reduce tx power to nominal level on RT6352") Reported-by: Tomislav Požega <pozega.tomislav@gmail.com> Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Thu, 7 Feb 2019 23:03:40 +0000 (00:03 +0100)]
mac80211: rt2x00: reduce tx power to nominal level on RT6352
Current implementation of RT6352 support provides too high tx power
at least on iPA/eLNA devices. Reduce amplification of variable gain
amplifier by 6dB to match board target power of 17dBm.
Transmited signal strength with this patch is similar to that of
stock firmware or pandorabox firmware. Throughput measured with iperf
improves. Device tested: Xiaomi Miwifi Mini.
Signed-off-by: Tomislav Požega <pozega.tomislav@gmail.com> Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Florian Eckert [Thu, 11 Oct 2018 11:10:56 +0000 (13:10 +0200)]
gre: remove setting default firewall zone to wan
There are two problems with this behaviour that the zone is set to wan
if no zone config option is defined in the interface section.
* The zone for the interface is "normally" specified in the firewall
config file. So if we have defined "no" zone for this interface zone
option is set now to "wan" additonaly if we add the interface in the firewall
config section to the "lan" zone, the interface is added to lan and wan at once.
iptables-save | grep <iface>
This is not what I expect.
* If I do not want to set a zone to this interface it is not possible.
Remove the default assigment to wan if no zone option is defined.
If some one need the option it stil possible to define this option.
Signed-off-by: Florian Eckert <fe@dev.tdt.de> Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> [PKG_RELEASE increase]
Petr Štetiar [Thu, 3 Jan 2019 02:25:11 +0000 (03:25 +0100)]
ath79: ag71xx: Fix tx queue timeouts during ifup
On ath79 and UBNT Bullet M XW (ar9342) I was experiencing weird issues during
network setup[1] which I was able to reproduce easily with following commands:
uci set network.lan.ipaddr='192.168.1.20'
uci commit network
ifup lan
Which resulted after some time in:
...
WARNING: CPU: 0 PID: 0 at net/sched/sch_generic.c:461 dev_watchdog+0x16c/0x280
NETDEV WATCHDOG: eth0 (ag71xx): transmit queue 0 timed out
...
Sometimes I wasn't able to use networking anymore, sometimes it was enough to
just ifdown/ifup lan and network was backup. On ar71xx it was all working just
fine.
I've found out, that it was happening because ag71xx_poll() wasn't called, thus
the TX queue wasn't emptied. The ag71xx_poll() is being called from napi
hrtimer, which is enabled by napi_schedule() in ar71xx_interrupt(), but since
no interrupts were ever fired again after ag71xx_stop() was called, it was
always leading to tx queue timeouts:
Signed-off-by: Petr Štetiar <ynezz@true.cz>
[move ag->link before ag71xx_hw_disable to retain ordering as original] Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
Flash instruction:
1. Upload openwrt-ath79-generic-tplink_archer-c7-v4-squashfs-factory.bin
via Web interface
Flash instruction using TFTP recovery:
1. Set PC to fixed ip address 192.168.0.66
2. Download openwrt-ath79-generic-tplink_archer-c7-v4-squashfs-factory.bin
and rename it to ArcherC7v4_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.
Petr Štetiar [Fri, 18 Jan 2019 08:25:59 +0000 (09:25 +0100)]
build: Fix missing device variables for artifacts
It was reported to me today on IRC, that building of artifacts doesn't
work properly if the concat_cmd references DEVICE_NAME variable. I've
found out, that it's due to missing call of Device/Export in artifacts
building code path, so this patch adds the missing Device/Export call
which in turn exports DEFAULT_DEVICE_VARS into the artifacts
environment.
Fixes: 493c9a35516c ("build: Introduce building of artifacts") Tested-by: Oskari Lemmela <oskari@lemmela.net> Reported-by: Oskari Lemmela <oskari@lemmela.net> Signed-off-by: Petr Štetiar <ynezz@true.cz>
Ju Se Hoon [Tue, 8 Jan 2019 08:54:19 +0000 (17:54 +0900)]
ramips: add kmod-mt76x2 to WeVo 11AC NAS
The WeVo 11AC NAS has a MT7612E 802.11ac chip on the PCB.
Signed-off-by: Ju Se Hoon <joosahoon@gmail.com>
[renamed author from Albis-dev to real name, editted commit message] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
<https://www.openwall.com/lists/musl/2019/01/21/8>
"This release makes improvements with respect to default thread stack
size, including increasing the default from 80k to 128k, increasing
the default guard size from 4k to 8k, and allowing the default to be
increased via ELF headers so that programs that need larger stacks can
be build without source-level changes, using just LDFLAGS.
Insufficient stack size for AIO threads on kernels that don't honor
the constant MINSIGSTKSZ is also fixed.
The glob core has been rewritten to fix inability to see past
searchable-but-unreadable path components, and to avoid excessive
stack usage and unnecessary syscalls. The tsearch AVL tree
implementation has also been rewritten for better size and
performance. The math library adds more native single-instruction
implementations for arm, s390x, powerpc, and x86_64.
Various bugs are fixed, including several possible deadlocks, one of
which was a new regression in 1.1.20."
detailed release notes can be found in the WHATSNEW file:
<http://git.musl-libc.org/cgit/musl/tree/WHATSNEW#n1989>
Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Petr Štetiar [Sun, 30 Dec 2018 11:42:53 +0000 (12:42 +0100)]
ramips: dts: Unify naming of gpio-led nodes
In DTS Checklist[1] we're now demanding proper generic node names, as
the name of a node should reflect the function of the device and use
generic name for that[2]. Everybody seems to be copy&pasting from DTS
files available in the repository today, so let's unify that naming
there as well and provide proper examples.
Petr Štetiar [Sun, 30 Dec 2018 11:17:25 +0000 (12:17 +0100)]
ramips: dts: Unify naming of gpio-keys nodes
In DTS Checklist[1] we're now demanding proper generic node names, as
the name of a node should reflect the function of the device and use
generic name for that[2]. Everybody seems to be copy&pasting from DTS
files available in the repository today, so let's unify that naming
there as well and provide proper examples.
This patch splits the big board case switch in 02_network in
two functions ipq40xx_setup_interfaces() and ipq40xx_setup_macs()
just like ath79 and ramips do.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Petr Štetiar [Sun, 30 Dec 2018 11:42:53 +0000 (12:42 +0100)]
brcm63xx: dts: Unify naming of gpio-led nodes
In DTS Checklist[1] we're now demanding proper generic node names, as
the name of a node should reflect the function of the device and use
generic name for that[2]. Everybody seems to be copy&pasting from DTS
files available in the repository today, so let's unify that naming
there as well and provide proper examples.
Petr Štetiar [Sun, 30 Dec 2018 11:17:25 +0000 (12:17 +0100)]
brcm63xx: dts: Unify naming of gpio-keys nodes
In DTS Checklist[1] we're now demanding proper generic node names, as
the name of a node should reflect the function of the device and use
generic name for that[2]. Everybody seems to be copy&pasting from DTS
files available in the repository today, so let's unify that naming
there as well and provide proper examples.
* Jan 2, 2019
Rebase patches to make 9980 bisectable.
* Jan 2, 2019
Fix scheduling related assert when wal-peer is deleted with pending
tx buffers (bug 54, and others)
* Jan 7, 2019:
Fix specifying retransmits for AMPDU frames. It was previously ignored
since it is a 'software' retransmit instead of a hardware retransmit.
* Jan 9, 2019
Fix potential way to get zero rates selected (and then assert)
* Jan 18, 2019
pfsched has specific work-around to just return if we find invalid flags AND
if we are in an out-of-order situation. Maybe this is last of the pfsched
related issues (bug 54 and similar).
* Jan 24, 2019
The rcSibUpdate method can be called concurrently with IRQ tx-completion callback,
and that could potentially allow the tx-completion callback to see invalid state
and assert or otherwise mess up the rate-ctrl logic. So, disable IRQs in
rcSibUpdate to prevent this. Related to bug 58.
* Jan 28, 2019
Ensure that cached config is applied to ratectrl objects when fetched from
the cache. This should fix part of bug 58.
* Jan 28, 2019
Ensure that ratectrl objects from cachemgr are always initialized. This fixes
another part of bug 58.
* Jan 30, 2019
Better use of temporary rate-ctrl object. Make sure it is initialized, simplify
code path. This finishes up porting forward similar changes I made for wave-1
firmware long ago, and fixes another potential way to hit bug-58 issues.
* Jan 30, 2019
Cachemgr did not have a callback for when memory was logically freed. This means
that peers could keep stale references to rate-ctrl objects that were in process
of being DMA'd into to load a different peer's rate-ctrl state. This was causing
the bugcheck logic to fail early and often, and I suspect it might be a root cause
of bug 58 as well. The fix is to add a callback and set any 'deleted' memory references
to NULL so that we cannot access it accidentally. Thanks to excellent logs and patience
from the bug-58 reporter!
Hans Dedecker [Mon, 4 Feb 2019 07:48:01 +0000 (08:48 +0100)]
toolchain/gcc: backport FORTIFY patch to 5.5.0
Commit e61061a0886e2d0d6b075d75ae9b53d0a6bc9042 added support for hardening
options in the toolchain. However this breaks the gcc5.5.0 compilation in
case FORTIFY_SOURCE is set different from FORTIFY_SOURCE_NONE as reported
in [1].
Fix this by backporting the upstream patch which fixes this in later gcc versions
Felix Fietkau [Sun, 3 Feb 2019 19:45:26 +0000 (20:45 +0100)]
mt76: update to the latest version
a9d4c0e mt76: mt76x2: avoid running DPD calibration if tx is blocked 4d7e13f mt76: explicitly disable energy detect cca during scan e3c1aad mt76: run MAC work every 100ms 4e8766a mt76: clear CCA timer stats in mt76x02_edcca_init e301f23 mt76: measure the time between mt76x02_edcca_check runs 74075ef mt76: increase ED/CCA tx block threshold
drm: Add support for a panel-orientation connector property, v6
On some devices the LCD panel is mounted in the casing in such a way that
the up/top side of the panel does not match with the top side of the
device (e.g. it is mounted upside-down).
This commit adds the necessary infra for lcd-panel drm_connector-s to
have a "panel orientation" property to communicate how the panel is
orientated vs the casing.
Userspace can use this property to check for non-normal orientation and
then adjust the displayed image accordingly by rotating it to compensate.
Felix Fietkau [Thu, 31 Jan 2019 22:17:49 +0000 (23:17 +0100)]
mt76: update to the latest version
a4ec45c mt7603: fix LED support (copy CFLAGS from main Makefile) edda5c5 mt76x02: use mask for vifs dd52191 mt76x02: use commmon add interface for mt76x2u a80acaf mt76x02: initialize mutli bss mode when set up address 38e832d mt76x02: minor beaconing init changes 171adaf mt76x02: init beacon config for mt76x2u dcab682 mt76: beaconing fixes for USB ff81de1 mt76x02: enable support for IBSS and MESH 8027b5d mt7603: remove copyright headers e747e80 mt76: fix software encryption issues 2afa0d7 mt7603: remove WCID override for software encrypted frames
Felix Fietkau [Wed, 30 Jan 2019 14:17:01 +0000 (15:17 +0100)]
mt76: update to the latest version
c3da1aa mt7603: trigger beacon stuck detection faster 7a53138 mt7603: trigger watchdog reset if flushing CAB queue fails 6eef33b mt7603: remove mt7603_txq_init ae30c30 mt76: add driver callback for when a sta is associated 0db925f mt7603: update HT/VHT capabilities after assoc b5ac8e4 mt7603: initialize LED callbacks only if CONFIG_MT76_LEDS is set c989bac mt76x0: eeprom: fix chan_vs_power map in mt76x0_get_power_info 24bd2c0 mt76x0: phy: report target_power in debugfs bc7ce2a mt76x0: init: introduce mt76x0_init_txpower routine
When config_get is called as "config_get section option" the option
is unexpectedly globbed by the shell which differs from the way options
are read to a variable with "config_get variable section option".
Add another layer of double quotes to fix it.
Michal Hrusecky [Thu, 11 Oct 2018 16:23:19 +0000 (18:23 +0200)]
build: Use LINUX_DIR for Kernel/Patch
Use LINUX_DIR as a path when patching kernel. Doesn't break the current usage,
but allows to create packages that will contain variation of a kernel with
kernel being build in some subdirectory of PKG_BUILD_DIR.
Signed-off-by: Michal Hrusecky <michal.hrusecky@nic.cz>
Jo-Philipp Wich [Sat, 20 Oct 2018 10:18:03 +0000 (12:18 +0200)]
ar71xx: fix packed-not-aligned error with GCC 8.
Building ar71xx currently fails with:
In file included from ./include/linux/ipv6.h:5,
from ./include/net/ipv6.h:16,
from ./include/net/inetpeer.h:16,
from ./include/net/ip_fib.h:24,
from ./include/net/switchdev.h:17,
from ./include/net/dsa.h:23,
from arch/mips/ath79/dev-dsa.h:15,
from arch/mips/ath79/dev-dsa.c:17:
./include/uapi/linux/ipv6.h:107:1: error: alignment 1 of 'struct ipv6_destopt_hao' is less than 2 [-Werror=packed-not-aligned]
} __attribute__((packed));
Address this issue by correcting the alignment of the struct packing
pragma accordingly.
Jeffery To [Wed, 12 Dec 2018 17:33:36 +0000 (01:33 +0800)]
build: fix STAGING_DIR cleaning for packages
This fixes two issues with cleaning package files from STAGING_DIR:
* CleanStaging currently can only remove files and not directories. This
changes CleanStaging to use clean-package.sh, which does remove
directories.
* Because of the way directories are ordered in the staging files list,
clean-package.sh currently tries (and fails) to remove parent
directories before removing subdirectories. This changes
clean-package.sh to process the staging files list in reverse, so that
subdirectories are removed first.
Val Kulkov [Thu, 20 Dec 2018 20:04:43 +0000 (15:04 -0500)]
busybox: keep syslog.conf during sysupgrade
If a user finds that logd is too barebone for their needs and wishes
to have more control over syslog, the user presently has an option
to enable CONFIG_BUSYBOX_CONFIG_FEATURE_SYSLOG and configure syslog
with settings in /etc/syslog.conf.
Presently /etc/syslog.conf silently disappears on sysupgrade. This
patch prevents such unwanted behaviour if busybox syslog is enabled
via CONFIG_BUSYBOX_CONFIG_FEATURE_SYSLOG.
Sven Roederer [Mon, 28 Jan 2019 19:11:50 +0000 (20:11 +0100)]
openssl: bump to 1.0.2q
This fixes the following security problems:
* CVE-2018-5407: Microarchitecture timing vulnerability in ECC scalar multiplication
* CVE-2018-0734: Timing vulnerability in DSA signature generation
* Resolve a compatibility issue in EC_GROUP handling with the FIPS Object Module
Signed-off-by: Sven Roederer <freifunk@it-solutions.geroedel.de>
Hauke Mehrtens [Mon, 28 Jan 2019 20:36:28 +0000 (21:36 +0100)]
kernel: Add missing config option for kernel 4.14
Kernel 4.14.96 got the new configuration option
CIFS_ALLOW_INSECURE_LEGACY which allows to deactivate support for old
and insecure SMB versions like 1.0 and 2.0. Still allow these old SMB
version and fix build problems which occurred because this option was
not defined.
Koen Vandeputte [Mon, 28 Jan 2019 12:54:02 +0000 (13:54 +0100)]
cns3xxx: don't use invalid mask value for clock events
According to a commit from kernel 4.18-rc3, it's not valid
to use "cpu_mask_all" for clock events and it should be
replaced in favor of "cpu_possible_mask" [1]
This warning was seen when booting kernel 4.19 on a cns3xxx board.
Let's fix it also here just to be safe.
Koen Vandeputte [Mon, 28 Jan 2019 09:08:24 +0000 (10:08 +0100)]
cns3xxx: use actual size reads for PCIe (4.19)
upstream commit 802b7c06adc7 ("ARM: cns3xxx: Convert PCI to use generic config accessors")
reimplemented cns3xxx_pci_read_config() using pci_generic_config_read32(),
which preserved the property of only doing 32-bit reads.
It also replaced cns3xxx_pci_write_config() with pci_generic_config_write(),
so it changed writes from always being 32 bits to being the actual size,
which works just fine.
Due to:
- The documentation does not mention that only 32 bit access is allowed.
- Writes are already executed using the actual size
- Extensive testing shows that 8b, 16b and 32b reads work as intended
It makes perfectly sense to also swap 32 bit reading in favor of actual size.
mbedtls: Kconfig option to enable/disable debug functions
This introduces a new Kconfig option to switch on/off mbedtls' support
for debug functions.
The idea behind is to inspect TLS traffic with Wireshark for debug
purposes. At the moment, there is no native or 'nice' support for
this, but at
https://github.com/Lekensteyn/mbedtls/commit/68aea15833e1ac9290b8f52a4223fb4585fb3986
an example implementation can be found which uses the debug functions
of the library. However, this requires to have this debug stuff enabled
in the library, but at the moment it is staticly patched out.
So this patch removes the static part from the configuration patch
and introduces a dynamic config file editing during build.
When enabled, this heavily increases the library size, so I added
a warning in the Kconfig help section.
Signed-off-by: Michael Heimpold <mhei@heimpold.de>