aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* generic: revert broken LED core patchMatthias Schiffer2018-03-081-0/+28
| | | | | | | | | At least on some devices, LEDs don't work anymore since kernel 4.4.120. Revert the broken change. See also: https://www.spinics.net/lists/stable/msg223656.html Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* base-files: tune fragment queue thresholds for available system memoryMatthias Schiffer2018-03-072-10/+21
| | | | | | | | | The default fragment low/high thresholds are 3 and 4 MB. On devices with only 32MB RAM, these settings may lead to OOM when many fragments that cannot be reassembled are received. Decrease fragment low/high thresholds to 384 and 512 kB on devices with less than 64 MB RAM. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* include/package-defaults.mk: fix default Build/Prepare with empty ./srcMatthias Schiffer2018-03-071-1/+1
| | | | | | | Copying ./src/* would fail when src exists, but is empty or only contains hidden files. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* include/rootfs.mk: retain list of conffiles with CONFIG_CLEAN_IPKGMatthias Schiffer2018-03-071-1/+8
| | | | | | | | /usr/lib/opkg/status must not be removed completely, otherwise the packages' conffile lists will be missing. Replace it with a reduced version only containing the conffile entries. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* include/rootfs.mk: do not remove opkg prerm scripts during rootfs preparationMatthias Schiffer2018-03-071-1/+0
| | | | | | | When a user removes a preinstalled opkg package, the package's prerm script (and in particular our default_prerm) should run. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* base-files: sysupgrade: do not rely on opkg to list changed conffilesMatthias Schiffer2018-03-072-2/+21
| | | | | | | Many packages use the opkg conffiles field to list configuration files that are to be retained on upgrades. Make this work on systems without opkg. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* kernel: bump 4.4 to 4.4.120 for 17.01Stijn Segers2018-03-0419-70/+63
| | | | | | | | | Bump the 4.4 kernel for the 17.01 release to 4.4.120. Refresh patches. Compile-tested: ar71xx, ramips/mt7621, x86/64 Run-tested: ar71xx, x86/64 Signed-off-by: Stijn Segers <foss@volatilesystems.org>
* x86: add preinit hook to reload microcodeZoltan HERPAI2018-03-041-0/+10
| | | | Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
* firmware: add microcode package for IntelZoltan HERPAI2018-03-041-0/+49
| | | | | | | | | | | | | | | | Compiling the Intel microcode package results in a microcode.bin and a microcode-64.bin. As we can decide based on the subtarget which should be used, we'll only split the required .bin file with iucode-tool. x64 will get the intel-microcode-64.bin All other variants will get intel-microcode.bin The microcodes will be updated from preinit via a common script - that's the earliest place where we can do it. Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
* firmware: add microcode package for AMDZoltan HERPAI2018-03-041-0/+45
| | | | | | | | | | | Use the Debian repository for sourcing the ucode files. Current (20171205) includes support for fam17h CPUs already. The microcodes will be updated from preinit via a common script - that's the earliest place where we can do it. Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
* tools: add iucode-toolZoltan HERPAI2018-03-041-0/+47
| | | | | | | | | | | | Add tool to "compile" Intel microcode files. The tool will be compiled for host (to split the microcode.dat) and for target (to forcibly reload the microcode if required). Instead of using the large microcode.bin/microcode-64.bin, the splitted ucode files (separate for CPU families) will be installed. Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
* x86: enable microcode loading for Intel and AMDZoltan HERPAI2018-03-041-1/+4
| | | | Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
* odhcpd: fix interop with wide DHCPv6 client (FS#1377)Hans Dedecker2018-03-021-4/+4
| | | | | | aedc154 dhcpv6-ia: don't always send reconf accept option (FS#1377) Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* base-files: fix off-by-one in counting seconds for factory resetRafał Miłecki2018-03-011-1/+1
| | | | | | | | | There was a mismatch between indicating factory reset and code actually starting it. After 5 seconds status LED started blinking rapidly letting user know it's ready to release reset button. In practice button had to stay pressed for another second in order to relly start the process. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* sunxi: disable LPAE to allow kernel to run on A13Matteo Scordino2018-02-271-22/+2
| | | | | | | | | Fixes issue FS#1355. LPAE extensions are enabled, but the A13 does not support them. The result is the boot process stopping at "Starting kernel ..." Fixes: 468735c3a2f7 ("target: sunxi: enable kvm support") Signed-off-by: Matteo Scordino <matteo.scordino@gmail.com>
* bcm53xx: fix fallback code for picking status LEDRafał Miłecki2018-02-271-1/+1
| | | | | | | | Looking for a wrong LED file name was stopping this code from find any LED. This affects devices with only a red/amber power LED. Fixes: 3aaee1ba023ac ("bcm53xx: failsafe support") Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* mountd: update to the latest version from 2018-02-26Rafał Miłecki2018-02-261-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | This significantly improves mountd stability & reliability by: 1) Sending hotplug.d event when appropriate 2) Properly unmounting 3) Handling corner cases when unmounting fails 4) Improving log messages 5f2c419 mount: drop duplicated includes aaf2743 mount: call hotplug-call with ACTION=remove before trying to unmount 97da4ed mount: try lazy unmount if normal one fails 1b62489 mount: create not working symlink when unmounting fails e77dc6d mount: reorder deleting code in the mount_enum_drives() 76766ae mount: rename tmp variables in the mount_add_list() 04b897f mount: drop duplicated rmdir() call from the mount_enum_drives() a27ea3f mount: drop duplicated unlink() call from the mount_dev_del() bf7cc33 mount: fix/improve unmounting log messages 36f9197 mount: fix removing mount point if it's expired ed4270f mount: struct mount: replace "mounted" and "ignore" fileds with a "status" 1af9ca2 mount: change mount_dev_del() argument to struct mount * 7c8fea8 mount: rename /proc/mount parser to mount_update_mount_list() 7aadd1c mount: improve handling mounts table size Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* perf: restrict libunwind dependency to archs that actually support libunwindMatthias Schiffer2018-02-251-1/+1
| | | | | | | | | | Allow building perf on uncommon targets again. Depending on the kernel version, not all of these archs will actually use libunwind in perf. Still, it seems simpler and less error-prone to use the same list that is defined in the libunwind package. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* libunwind: fix build with musl on PPCMatthias Schiffer2018-02-251-0/+383
| | | | | | | | | | | Works around two incompatiblities between glibc and (POSIX-compliant) musl: - missing register definitions from asm/ptrace.h - non-POSIX-compliant ucontext_t on PPC32 with glibc Compile tested on mpc85xx. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* uqmi: ensure CID is a numeric value before proceedingKoen Vandeputte2018-02-201-4/+4
| | | | | | | | | | | The current implementation only checked if uqmi itself executed correctly which is also the case when the returned value is actually an error. Rework this, checking that CID is a numeric value, which can only be true if uqmi itself also executed correctly. Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: update 17.01 kernel to 4.4.116Stijn Segers2018-02-2030-241/+126
| | | | | | | | | | | | | | | | | | This bumps the 4.4. kernel in LEDE 17.01 to 4.4.116. More Meltdown & Spectre mitigation. * Refresh patches. * Refresh x86/config for RETPOLINE. * Deleted 8049-PCI-layerscape-Add-fsl-ls2085a-pcie-compatible-ID.patch (accepted upstream) * Deleted 8050-PCI-layerscape-Fix-MSG-TLP-drop-setting.patch (accepted upstream) * 650-pppoe_header_pad.patch does not apply anymore (code was replaced). Bumps from 4.4.113 to 4.4.115 were handled by Kevin Darbyshire-Bryant. Compile-tested on: ar71xx, ramips/mt7621, x86/64 Run-tested on: ar71xx, ramips/mt7621, x86/64 Signed-off-by: Stijn Segers <foss@volatilesystems.org>
* uqmi: use built-in command for data-link verificationKoen Vandeputte2018-02-182-2/+20
| | | | | | | | | | | uqmi contains a command for directly querying the modem if there is a valid data connection, so let's use it. This avoids the cases were all previous tests are succesful, but the actual data link is not up for some reasons, leading to states were we thought the link was up when it actually wasn't .. Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* uqmi: use correct value for connection checkingKoen Vandeputte2018-02-181-4/+8
| | | | | | | | | | | | | | Originally, the implementation only checked if uqmi command execution succeeded properly without actually checking it's returned data. This lead to a pass, even when the returned data was indicating an error. Rework the verification to actually check the returned data, which can only be correct if the uqmi command itself also executed correctly. On command execution success, value "pdh_" is a pure numeric value. Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* uqmi: use general method for state cleaningKoen Vandeputte2018-02-181-10/+4
| | | | | | | | | | Debugging shows that using the general method properly cleans on each run, while the method specifying the client-ID shows "No effect" even while in connected state. Fixes several connectivity issues seen on specific modems. Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* uqmi: silence error on pin verificationKoen Vandeputte2018-02-181-1/+1
| | | | | | | | | | | | If a device only supports the 2nd verification method (uim), the first method will fail as expected reporting an error: "Command not supported" Silence both separate methods and only report an error regarding pin verification if both fail. Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* uqmi: fix raw-ip mode for newer lte modemsKoen Vandeputte2018-02-182-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some newer LTE modems, like the MC7455 or EC25-E do not support "802.3" mode, and will stay in "raw-ip" regardless of the mode being set. In this case, the driver must be informed that it should handle all packets in raw mode. [1] This commit fixes connectivity issues for these devices. Before: [ Node 5 ] udhcpc -i wwan0 udhcpc: started, v1.27.2 udhcpc: sending discover udhcpc: sending discover udhcpc: sending discover After: [ Node 5 ] udhcpc -i wwan0 udhcpc: started, v1.27.2 udhcpc: sending discover udhcpc: sending select for 100.66.245.226 udhcpc: lease of 100.66.245.226 obtained, lease time 7200 udhcpc: ifconfig wwan0 100.66.245.226 netmask 255.255.255.252 broadcast + udhcpc: setting default routers: 100.66.245.225 [1] https://lists.freedesktop.org/archives/libqmi- devel/2017-January/002064.html Tested on cns3xxx using a Sierra Wireless MC7455 LTE-A Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com> [bumped PKG_RELEASE] Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* net: uqmi: fix blocking in endless loops when unplugging deviceAlexandru Ardelean2018-02-181-0/+2
| | | | | | | | | | | If you unplug a QMI device, the /dev/cdc-wdmX device disappears but uqmi will continue to poll it endlessly. Then, when you plug it back, you have 2 uqmi processes, and that's bad, because 2 processes talking QMI to the same device [and the same time] doesn't seem to work well. Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
* kernel: refresh patchesKoen Vandeputte2018-02-187-57/+18
| | | | Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: backport raw-ip mode for newer QMI LTE modemsKoen Vandeputte2018-02-187-0/+701
| | | | | | | | | | | | | | Backport support for raw-ip mode including all known fixes afterwards. Newer LTE modems only tend to support this mode, which was only introduced in kernel 4.5. Also backport support for the Quectel EC2x LTE modem series which is a very popular device. No custom changes were needed in order to apply these patches. Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* base-files: don't evaluate block-device ueventDaniel Golle2018-02-151-5/+8
| | | | | | | | | | Backport commits fixing the detection of GPT partition names during preinit and sysupgrade, closing a shell-injection vulnerability. da52dd0c83 ("base-files: quote values when evaluating uevent") 267873ac9b ("base-files: don't evaluate block-device uevent") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ramips: backport mt7530/762x switch fixesJo-Philipp Wich2018-02-151-20/+239
| | | | | | | | | | dc7a1e8555 ("ramips: fix reporting effective VLAN ID on MT7621 switches") 341b1427fc ("ramips: properly map pvid for vlans with remapped vid on mt7530/762x switches") bb4002c79d ("ramips: don't clobber vlans with remapped vid on mt7530/762x switches") Fixes FS#991, FS#1147, FS#1341 Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* perf: use libunwindMaxim Gorbachyov2018-02-131-1/+1
| | | | | | | Without libunwind perf does not show userspace stack frames. Tested on mvebu. Signed-off-by: Maxim Gorbachyov <maxim.gorbachyov@gmail.com>
* libunwind: enable build for armMaxim Gorbachyov2018-02-131-1/+1
| | | | | | Tested with perf on mvebu. Signed-off-by: Maxim Gorbachyov <maxim.gorbachyov@gmail.com>
* ar71xx: remove bs-partition ro-flag for UniFi ACDavid Bauer2018-02-111-1/+1
| | | | | | | | | | | | This removes the read-only flag from the bs (bootselect) partition on UniFi AC devices. This allows to correct the indicator from which partition the device is booting its kernel from. See also: - https://github.com/freifunk-gluon/gluon/issues/1301 - https://bugs.lede-project.org/index.php?do=details&task_id=662 Signed-off-by: David Bauer <mail@david-bauer.net>
* procd: update to latest git HEADHans Dedecker2018-02-091-3/+3
| | | | | | 9a4036f trace: add missing limits.h include Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* ar71xx: /lib/ar71xx.sh: add model detection for TP-Link TL-WR810NMatthias Schiffer2018-02-031-0/+3
| | | | | | Properly report the revision in /tmp/sysinfo/model. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* iptables: make kmod-ipt-debug part of default ALL buildYousong Zhou2018-01-262-4/+3
| | | | | | | | | The iptables TRACE target is only available in raw table that's why the dependency was moved from iptables-mod-trace into kmod-ipt-debug Fixes FS#1219 Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
* iptables: Fix target TRACE issueMartin Wetterwald2018-01-262-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | The package kmod-ipt-debug builds the module xt_TRACE, which allows users to use '-j TRACE' as target in the chain PREROUTING of the table raw in iptables. The kernel compilation flag NETFILTER_XT_TARGET_TRACE is also enabled so that this feature which is implemented deep inside the linux IP stack (for example in sk_buff) is compiled. But a strace of iptables -t raw -I PREROUTING -p icmp -j TRACE reveals that an attempt is made to read /usr/lib/iptables/libxt_TRACE.so, which fails as this dynamic library is not present on the system. I created the package iptables-mod-trace which takes care of that, and target TRACE now works! https://dev.openwrt.org/ticket/16694 https://dev.openwrt.org/ticket/19661 Signed-off-by: Martin Wetterwald <martin.wetterwald@corp.ovh.com> [Jo-Philipp Wich: also remove trace extension from builtin extension list and depend on kmod-ipt-raw since its required for rules] Signed-off-by: Jo-Philipp Wich <jo@mein.io> Tested-by: Enrico Mioso <mrkiko.rs@gmail.com>
* curl: fix libcurl/mbedtls async interfaceDarren Tucker2018-01-242-1/+28
| | | | | | | | | | | | When using mbedtls, curl's nonblocking interface will report a request as done immediately after the socket is written to and never read from the connection. This will result in a HTTP status code of 0 and zero length replies. Cherry-pick the patch from curl 7.53.0 to fix this (https://github.com/curl/curl/commit/b993d2cc). Fixes https://bugs.openwrt.org/index.php?do=details&task_id=1285. Signed-off-by: Darren Tucker <dtucker@dtucker.net>
* kernel: bump 4.4 to 4.4.112 for 17.01Kevin Darbyshire-Bryant2018-01-2213-167/+21
| | | | | | | | | | | | | | | | | | | | | | Refresh patches. Remove upstreamed patches: target/linux/generic/patches-4.4/030-2-smsc75xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch target/linux/generic/patches-4.4/030-3-cx82310_eth-use-skb_cow_head-to-deal-with-cloned-skb.patch target/linux/generic/patches-4.4/030-4-sr9700-use-skb_cow_head-to-deal-with-cloned-skbs.patch target/linux/generic/patches-4.4/030-5-lan78xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch CVEs completely or partially addressed: CVE-2017-5715 CVE-2017-5753 CVE-2017-17741 CVE-2017-1000410 Compile-tested: ar71xx Archer C7 v2 Run-tested: ar71xx Archer C7 v2 Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* dnsmasq: backport validation fix in dnssec security fixKevin Darbyshire-Bryant2018-01-202-2/+2
| | | | | | | | | A DNSSEC validation error was introduced in the fix for CVE-2017-15107 Backport the upstream fix to the fix (a simple typo) Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk> (backported from commit adaf1cbcc8b253ea807dbe0416b4b04c33dceadf)
* dnsmasq: backport dnssec security fix for 17.01Kevin Darbyshire-Bryant2018-01-192-1/+203
| | | | | | | | | | | | | | | | | | | | | | | | | CVE-2017-15107 An interesting problem has turned up in DNSSEC validation. It turns out that NSEC records expanded from wildcards are allowed, so a domain can include an NSEC record for *.example.org and an actual query reply could expand that to anything in example.org and still have it signed by the signature for the wildcard. So, for example !.example.org NSEC zz.example.org is fine. The problem is that most implementers (your author included, but also the Google public DNS people, powerdns and Unbound) then took that record to prove the nothing exists between !.example.org and zz.example.org, whereas in fact it only provides that proof between *.example.org and zz.example.org. This gives an attacker a way to prove that anything between !.example.org and *.example.org doesn't exists, when it may well do so. Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* mountd: bump to git HEAD versionHans Dedecker2018-01-171-4/+4
| | | | | | | | c54e5c6 mount: check if block was mounted before cleaning it up e31565a mount: remove directory if mounting fails 0f4f20b mount: call hotplug mount scripts only on success Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* kernel: bump 4.4 to 4.4.111 for 17.01Kevin Darbyshire-Bryant2018-01-173-5/+5
| | | | | | | | Refresh patches Tested-on: ar71xx Archer C7 v2 Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* kmod-sched-cake: bump to latest cake bake for 17.01Kevin Darbyshire-Bryant2018-01-161-3/+3
| | | | | | | | | | | | | | | | | More important bug fix: 402f05c Use full-rate mtu_time in all tins. Fixes an issue where some cake tins experienced excessive latency since 49776da (dynamically adjust target) Minor bug fixes: 31277c2 Avoid unsigned comparison against zero. Fix compiler warning, no known impact. 8cf5278 ack_filter: fix TCP flag check. A very contrived case may have lead to dropping a SYN packet that should not be dropped. Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* ar71xx: Netgear WNR2000v4: do not include USB packages [17.01]Stijn Segers2018-01-131-1/+0
| | | | | | | | | The Netgear WNR2000v4 does not have a USB port. Hence, including USB packages into the default images is useless. It looks like the WNR2000v4 definition in master is OK. v2 fixes the silly typo in the patch title (WNR2000v4 instead of WNR200v4) Signed-off-by: Stijn Segers <foss@volatilesystems.org>
* build: fix restoring /etc/opkg with PER_DEVICE_ROOTFSJo-Philipp Wich2018-01-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | When generating per-device rootfs directories, the ./etc/opkg/ directory is moved away prior to calling opkg install, opkg remove and rootfs_prepare. After the opkg invocations and the rootfs_prepare macro call, the saved opkg config directory is supposed to be moved back to its previous ./etc/opkg location. The mv command however can fail to properly restore the directory under certain circumstances, e.g. when the prior opkg or files/ overlay copy operations caused a new ./etc/opkg/ directory to be created. In this case, the backed up directory (named target-dir-$hash.opkg) will be moved into the preexisting ./etc/opkg/ directory instead, causing the opkg configuration to be located in a wrong path on the final rootfs, e.g. in /etc/opkg/target-dir-$hash.opkg/distfeeds.conf instead of /etc/opkg/distfeeds.conf. Solve this problem by replacing the naive "mv" command with a recursive "cp -T" invocation which causes the backed up directory tree to get merged with the destination directory in case it already exists. Also perform the rootfs_prepare macro call after restoring the opkg configuration, to allow users to override it again by using the files/ overlay mechanism. Signed-off-by: Jo-Philipp Wich <jo@mein.io> (cherry picked from commit ab1785b1b2559c9f2d09d4d3ce43e11f4b828616)
* ramips: fix lenovo newifi-y1 switch and LED configChuanhong Guo2018-01-092-3/+5
| | | | | | | | | | | | | | There are 3 ethernet ports on Y1. LAN1 on port1, LAN2 on port0 and WAN on port4. Use a standalone switch configuration to match this and use the switch trigger so that LAN LED could indicate the connetction status for both lan ports correctly. This patch also drop the internet led configuration, because there is a WAN led for port4 and eth0.2 isn't always used as WAN. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ramips: firewrt: indicate boot status via LEDMathias Kresin2018-01-091-0/+1
| | | | | | | Add the Firefly FireWRT gree power LED to diag.sh to indicate the boot status via the power LED. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ag71xx: Fix rx ring buffer stall on small packets flood on qca956x and qca953x.Vittorio Gambaletta2018-01-093-1/+22
| | | | | | Backported from Code Aurora QSDK Signed-off-by: Vittorio Gambaletta <openwrt@vittgam.net>