Commit graph

35338 commits

Author SHA1 Message Date
Jo-Philipp Wich
70b4e46804 e2fsprogs: fix build on OS X systems
On OS X systems, the compilation of e2fsprogs fails at subst.c due to a
missing sys/stat.h include:

    subst.c:333:14: error: variable has incomplete type 'struct stat'
            struct stat stbuf;
                        ^
    subst.c:333:9: note: forward declaration of 'struct stat'
            struct stat stbuf;
                   ^
    subst.c:392:8: warning: implicit declaration of function 'fstat' is invalid in C99
          [-Wimplicit-function-declaration]
                            if (fstat(fd, &stbuf) == 0) {
                                ^
    subst.c:438:12: warning: implicit declaration of function 'fchmod' is invalid in C99
          [-Wimplicit-function-declaration]
                                    (void) fchmod(ofd, 0444);
                                           ^
    2 warnings and 1 error generated.
    make[3]: *** [subst.o] Error 1

Declare the nescessary HAVE_SYS_STAT_H macro to include the required header in
order to avoid the undeclared stat structure.

Tested-By: David Thornley <david.thornley@touchstargroup.com>
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-07-04 16:26:26 +02:00
Rafał Miłecki
eaf0d22421 bcm53xx: calculate Seama MD5 using content of kernel partition
We don't want checksum to cover any part of UBI as even its part with
SquashFS may be changed due to e.g. flash wearing.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
2016-07-04 12:32:12 +02:00
Rafał Miłecki
3c014dc306 Revert "bcm53xx: use uncompressed zImages"
This reverts commit b3be33f135.

CFE is known to fail in some non-standard cases, e.g. when using kernel
or format different that what was tested by Broadcom. This kernel change
triggered some problem with booting OpenWrt kernel stored in Seama.

As long as Seama checksum was covering enough data, it was working fine.
We need to change it however, because calculating MD5 over part of UBI
containing SquashFS is unsafe. UBI may move PEBs depending on flash
wearing level which would break CFE booting the image.

For some reason this kernel change was breaking CFE. Calculating MD5
over 0x47ffc0 B data or less (there is 0x40 B long header) was stopping
booting process at:
Starting program at 0x00008000

As our kernel is usually 0x3fffc0 B it was affected by this problem.

Reverting this change fixes sysupgrade (which already uses kernel size
for MD5 calculation) and will allow us to adjust "fixseama" command call
on the first boot.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
2016-07-04 12:32:12 +02:00
Álvaro Fernández Rojas
a1b52e2b53 dosfstools: update to v4.0
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-07-04 12:12:27 +02:00
Felix Fietkau
39a229ed4b ipq806x: enable ath10k firmware for 988x, 99x0 and 9984 by default
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-04 11:41:32 +02:00
Daniel Dickinson
abf0768131 ustream-ssl: Fix recursive dependency
Two variants incorrectly include themselves in
conditional depends on ssl libraries, which results
in a recursive dependency.

Signed-off-by: Daniel Dickinson <lede@daniel.thecshore.com>
2016-07-04 10:51:41 +02:00
John Crispin
d09f0045ea ramips: fix up switch settings for Sitecom WL-351 v1 002
Pinmux for rgmii needs to be set to rgmii, not gpio.
Hide the ESW switch on boot (using new rgmii esw devicetree attribute).
Also add a Sitecom-specific profile, since the image needs to include
the rtl8366 kernel driver.

Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de>
2016-07-03 08:00:26 +02:00
Felix Fietkau
e892472b1e x86: enable kmod-igb on 64-bit by default
It is used on APU2 devices

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-03 19:43:18 +02:00
Felix Fietkau
f5088dc13f kernel: fix duplicate drivers for the PC speaker in one package
Only use the ALSA capable one, it supports regular beeps as well

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-03 19:35:43 +02:00
Felix Fietkau
d5ee23ee27 x86: stop relying on hexdump for image build signature
Use perl to generate random number instead.
See https://github.com/freifunk-gluon/gluon/issues/811

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-03 18:39:11 +02:00
Felix Fietkau
f226d5879e mac80211: move include statements for skb_get_hash_perturb() to prevent issues with newer kernels
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-03 18:13:11 +02:00
Felix Fietkau
b174832159 mac80211: backport skb_get_hash_perturb() for 4.1 and older
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-03 17:56:53 +02:00
Martin Blumenstingl
70afc0bdd1 kernel: mac80211: set the parent of the ath9k gpio_chip
This allows gpiolib to re-use ath9k's devicetree node as GPIO
controller.
Example:

ath9k: ath9k@0 {
	#gpio-cells = <2>;
	gpio-controller;
}

Now the ath9k node can be used just like any other GPIO controller:
	gpios = <&ath9k 1 GPIO_ACTIVE_HIGH>;

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
2016-07-02 19:34:50 +02:00
Martin Blumenstingl
7b7ea91e24 kernel: mac80211: enable the gpio controller for all ath9k devices
This enables ath9k's built-in GPIO controller for all chip versions
(instead of an explicit whitelist). This also allows us to get rid of
some duplicate code between hw.c and gpio.c because hw.c already
determines the number of GPIOs.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
2016-07-02 19:34:50 +02:00
Martin Blumenstingl
3ce71eaedd kernel: mac80211: fold the AR9280 GPIO patch into the ath9k GPIO patch
This folds 550-ath9k_add_ar9280_gpio_chip.patch into
548-ath9k_enable_gpio_chip.patch because the former patch only extends
code which is introduced in the latter.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
2016-07-02 19:34:50 +02:00
Mathias Kresin
cbfeb7796e mac80211: refresh patches
Signed-off-by: Mathias Kresin <dev@kresin.me>
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
2016-07-02 19:34:50 +02:00
Felix Fietkau
76d09dcb01 ath10k: fix tx performance regression on older chipsets
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-02 19:34:50 +02:00
Felix Fietkau
d002aee42c mac80211: enable STBC and LDPC for VHT rates
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-02 19:34:50 +02:00
Felix Fietkau
898fff8253 ath10k-firmware: add symlink for QCA9984 board.bin
Use first caldata for devices without OTP. The driver uses the caldata
instead of the board.bin data anyway

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-02 19:34:50 +02:00
Felix Fietkau
67a7daa938 mac80211: update to wireless-testing 2016-06-20
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-02 19:34:50 +02:00
Felix Fietkau
de165b66be imx6: fix redundant PROFILES overrides in image makefile
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-02 19:34:19 +02:00
Felix Fietkau
7e7a31e682 imx6: fix build breakage introduced in 9e41c3f54e
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-02 19:34:19 +02:00
Felix Fietkau
61d82e7b02 imx6: fix image makefile indentation for Device/ sections
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-02 19:34:19 +02:00
Hauke Mehrtens
1d15a96b29 kernel: fix build of kmod-udptunnel4 and kmod-udptunnel6
The kernel config option CONFIG_NET_UDP_TUNNEL is not visible and can
not directly be activated. When kmod-udptunnel4 or kmod-udptunnel6 are
build these packages could be empty when no other kernel module selects
CONFIG_NET_UDP_TUNNEL.

Reported-by: Baptiste Jonglez <baptiste@bitsofnetworks.org>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2016-07-02 18:35:58 +02:00
John Crispin
2a8bb46294 jsonfilter: update to latest git HEAD
Signed-off-by: John Crispin <john@phrozen.org>
2016-07-02 10:16:18 +02:00
neheb
8a83ffbefd procd: Set /dev/kmsg to 600
Small cleanup. I initially though /dev/kmsg was used for dmsg(and journald
on desktops) but this seems not to be the case. dmsg is still accessible
as non-root(gives output) which begs the question what does this do? Some
googling reveals that permissions are set to 600 for some embedded systems
while 644 for others. I can't find any justification for the latter. Might
as well err on the side of caution.

Signed-off by: Rosen Penev <rosenp@gmail.com>
2016-07-02 10:16:18 +02:00
John Crispin
bb00c0a33c fstools: update to latest git HEAD
Signed-off-by: John Crispin <john@phrozen.org>
2016-07-02 10:16:18 +02:00
John Crispin
a74f593647 procd: update to latest git HEAD
Signed-off-by: John Crispin <john@phrozen.org>
2016-07-02 10:16:18 +02:00
John Crispin
c5a2713929 ubox: update to latest git HEAD
Signed-off-by: John Crispin <john@phrozen.org>
2016-07-02 10:16:17 +02:00
John Crispin
1e9c066595 ustream-ssl: update to latest git HEAD
Signed-off-by: John Crispin <john@phrozen.org>
2016-07-02 10:16:17 +02:00
John Crispin
25275bcc24 ubus: update to latest git HEAD
Signed-off-by: John Crispin <john@phrozen.org>
2016-07-02 10:16:17 +02:00
Sergey Sergeev
c312cef223 ar71xx: spi-rb4xx fix.
In new kernels we should use clk_prepare_enable instead of clk_enable
since clk_enable does not make proper initialization that leads
to rise WARN_ON messages and not working spi bus on the device.

Signed-off-by: Sergey Sergeev <adron@yapic.net>
2016-07-02 10:16:17 +02:00
Sergey Sergeev
3fbadd624a nand-utile: add package
This package is a custom build(like ubi-utils) of mtd-utils from infradead.org
It is required to work with Mikrotik NAND based devices

Signed-off-by: Sergey Sergeev <adron@yapic.net>
2016-07-02 10:16:17 +02:00
Felix Fietkau
f9e7ffe73b ar71xx: prevent spurious ethernet resets from dma hang check false positives
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-02 10:30:58 +02:00
Hauke Mehrtens
f28502a485 libnl-tiny: Generic Netlink multicast groups support
This adds this commit from normal libnl to libnl-tiny:
2dbc1ca76c

commit 2dbc1ca76c5b82c40749e609eb83877418abb006
Author: dima <dima.ky@gmail.com>
Date:   Wed Oct 13 17:53:34 2010 +0300

    Generic Netlink multicast groups support

    I have a patch against commit d378220c96c3c8b6f27dca33e7d8ba03318f9c2d
    extending libnl with a facility to receive generic netlink messages sent
    to multicast groups.

    Essentially it add one new function genl_ctrl_resolve_grp which
    prototype looks like this
    int genl_ctrl_resolve_grp(struct nl_sock *sk, const char *family_name,
            const char *grp_name)
    It resolves  the family name and the group name to group id. Then
    the returned id can be used in nl_socket_add_membership to subscribe
    to multicast messages.

    Besides that it adds two more functions

    uint32_t nl_socket_get_peer_groups(struct nl_sock *sk)
    void nl_socket_set_peer_groups(struct nl_sock *sk, uint32_t groups)

    allowing to modify the socket peer groups field. So it's possible to
    multicast messages from the user space using the legacy interface.
    Looks like there is no way (or I was not able to find one?) to modify
    the netlink socket destination group from the user space, when the
    group id is greater then 32.

Signed-off-by: Hauke Mehrtens <hauke.mehrtens@intel.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name> [cosmetic style fix]
2016-07-02 10:12:04 +02:00
daniel
f576ff05a1 kernel: Fix ipv6 mc snooping if bridge has no ipv6 address
This patch is a backport for current LEDE 4.4 Kernels.
It is already upstream, for linux-next and stable.
The initial commit message is below:

The bridge is falsly dropping ipv6 mulitcast packets if there is:
 1. No ipv6 address assigned on the brigde.
 2. No external mld querier present.
 3. The internal querier enabled.

When the bridge fails to build mld queries, because it has no
ipv6 address, it slilently returns, but keeps the local querier enabled.
This specific case causes confusing packet loss.

Ipv6 multicast snooping can only work if:
 a) An external querier is present
 OR
 b) The bridge has an ipv6 address an is capable of sending own queries

Otherwise it has to forward/flood the ipv6 multicast traffic,
because snooping cannot work.

This patch fixes the issue by adding a flag to the bridge struct that
indicates that there is currently no ipv6 address assinged to the bridge
and returns a false state for the local querier in
__br_multicast_querier_exists().

Special thanks to Linus Lüssing.

Signed-off-by: Daniel Danzberger <daniel@dd-wrt.com>
2016-06-30 22:48:39 +02:00
John Crispin
97c90557a9 spidev_test: copy the source code into the package folder
Signed-off-by: John Crispin <john@phrozen.org>
2016-06-30 22:48:39 +02:00
Stephen Walker
66b67b743f kernel: other.mk: add pps-ldisc support
The pps-ldisc kernel module supports Pulse-Per-Second connected with the CD (Carrier Detect) pin.

Signed-off-by: Stephen Walker <stephendwalker+github@gmail.com>
2016-06-30 22:48:39 +02:00
Yousong Zhou
559a7d1177 ar71xx: seama: fix making factory images
rootfs part needs to be aligned to erase block size which is passed as
the 6th argument to Image/Build/Seama  and is now 65536 since commit
commit 5119ee9 "ar71xx: fix bogus hardcoded kernel image size for Seama
images (fixes #20585)", but $(($(6) - 64)) still assumes that the
argument is a limit on kernel partition size, i.e. 1310720, so the
generated factory image is wrong in that the kernel will fail to find
the rootfs (FlySpray link at [1])

This patch will workaround it with the following steps

1. Calculate the required space for seama header and META data in step 5
2. Pre-padding 64 bytes to lzma-compressed loader
3. Generate correctly padded image-$(2).tmp
4. Strip out the padding
5. Seal it with seama utility

While at it convert seama to new build method

[1] FS#35 - mynet-n750 factory images don't find root partition,
    https://bugs.lede-project.org/index.php?do=details&task_id=35

Reported-by: Steven Haigh <netwiz@crc.id.au>
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2016-06-30 22:48:39 +02:00
Yousong Zhou
ea284d704b ar71xx: image: unify indentation with 2 whitespaces
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2016-06-30 22:48:39 +02:00
Yousong Zhou
e3cf2cc1c6 ar71xx: image: remove duplicate IMAGES definition
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2016-06-30 22:48:39 +02:00
Yousong Zhou
11cbe29833 ar71xx: hiwifi-hc6361: move packages selection to generic.mk
Remove kmod-crypto-deflate and kmod-ledtrig-gpio as the device works the
same by default without them

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2016-06-30 22:48:39 +02:00
John Crispin
9597675d8e procd: change /dev/{gpio,hvc*} perms to 0600
Signed-off-by: John Crispin <john@phrozen.org>
2016-06-30 22:48:39 +02:00
neheb
c6cef6dde7 procd: adjust /dev entries to desktop distro defaults
This changes the default permissions for /dev entries to be more similar to
a desktop distro. Taken from the defaults of Arch Linux and Ubuntu. Also
changed some that were nonsensical. For example, all 660 permissions on
desktop distros were of the form root:x where x is something other than
root. As such, 660 is useless for LEDE where the specific group is missing.
audio seems to be the only group that isn't.

Signed-off by: Rosen Penev <rosenp@gmail.com>
2016-06-30 22:48:39 +02:00
John Crispin
2dc9beddc0 ramips: disable the WP pin on the SDK mmc driver
Signed-off-by: John Crispin <john@phrozen.org>
2016-06-30 22:48:39 +02:00
John Crispin
81add8f753 ramips: fix pinmux typo
Reported-by: Joy Kicer <joykicer@gmail.com>
Signed-off-by: John Crispin <john@phrozen.org>
2016-06-30 22:48:39 +02:00
Etienne CHAMPETIER
3946a55291 base-files: seed /dev/urandom
This commit:
1) seed /dev/urandom with the saved seeds as early as possible
   (see /lib/preinit/81_urandom_seed)
2) save a seed at /etc/urandom.seed if it doesn't exists
3) save a new seed each boot at "system.@system[0].urandom_seed"
   (see /etc/init.d/urandom_seed)

We use getrandom() so we are sure /dev/urandom pool is initialized

Seed size is 512 bytes (ie /proc/sys/kernel/random/poolsize / 8)
it's the same size as in ubuntu 14.04 and all systemd systems

Seeding /dev/urandom doesn't change entropy estimation, so we still have
"random: ubus urandom read with 4 bits of entropy available"
messages in the logs, but we can now ignore them if
after "urandom-seed: Seeding with ..." message

Saving a new seed on each boot is disabled by default to avoid too much
writes without user consent

v2: log preinit messages to /dev/kmsg
v3: use non generic function name for logging, as /lib/preinit/ files
    are all sourced together in /etc/preinit
v4: after a lot of discussion on the ML, use a uci config param
v5: config param is now the path of the seed

Signed-off-by: Etienne CHAMPETIER <champetier.etienne@gmail.com>
Acked-by: Jo-Philipp Wich <jo@mein.io>
2016-06-30 22:48:39 +02:00
Daniel Dickinson
e408abd7fb kernel: Add option to make using filesystem ACL support the default
This adds a configuration options that allows to make filesystem ACL support
the default in the kernel, except for old nfs.

Signed-off-by: Daniel Dickinson <openwrt@daniel.thecshore.com>
2016-06-30 22:48:39 +02:00
Daniel Dickinson
3ee278c5c9 package/kernel: Enable XATTR by default
OpenWrt enables XATTR support pretty much universally, therefore
for filesystems that a loaded as modules also enable XATTR support
so that there are no unexpected missing capabilities.

Signed-off-by: Daniel Dickinson <lede@daniel.thecshore.com>
2016-06-30 22:48:39 +02:00
Hauke Mehrtens
d635ef50c5 e2fsprogs: fix build problem with very old libmagic
The libmagic shipped with RedHat 5 does not define
MAGIC_NO_CHECK_ELF and MAGIC_NO_CHECK_COMPRESS. e2fsprogs should
check for that, otherwise the build will fail.

Signed-off-by: Hauke Mehrtens <hauke.mehrtens@intel.com>
2016-06-30 20:51:53 +02:00