ath10k: Re-enable intermediate softqueues for all devices
The upstream ath10k driver disables the intermediate softqueues for some
devices. This patch reverts that behaviour and always enables the
softqueues (and associated bufferbloat fixes). We have had reports of people
running this with good results:
https://lists.bufferbloat.net/pipermail/make-wifi-fast/2017-September/001497.html
scripts/download.pl: fail loudly if provided hash is unsupported
Currently, if the provided hash is unsupported (length different from 32
or 64 bytes), we happily download the requested file without any kind of
checksum verification.
This is quite dangerous and may provide a false sense of security, because
a single typo in the hash (e.g. one character deleted by mistake) may skip
checksum verification entirely.
Instead, fail immediately if we don't support the provided hash.
In particular, if an external package repository decides to change the
hash algorithm one day, we will now fail loudly instead of skipping
checksum verification without complaints.
Note: if some users of scripts/download.pl knowingly provide an empty hash
because they don't need checksum verification, this change will break
them. This does not seem to be the case currently, but if this feature is
ever needed, an option should be added to download.pl instead of relying
on the hash being empty.
On a TL-WN710N, this patch increases iperf performance from ~92.5 to ~93.5 mbps. Keep in mind the WN710N is a 100mbps device. I expect greater numbers from gigabit devices.
Tim Harvey [Fri, 8 Sep 2017 18:56:59 +0000 (11:56 -0700)]
cns3xxx: fix GPIO controller interrupt enable
The cns3xxx interrupt controller uses a single register and as such
the 'mask' reg/functions must be used as opposed to the 'enable'/'disable'
reg/functions.
This fixes an issue that occurs if more than one GPIO on a specific controller
(there is GPIOA and GPIOB each having 32 GPIO's) uses interrupts. When one
would get enabled all others would be disabled prior to this patch.
Signed-off-by: Tim Harvey <tharvey@gateworks.com> Acked-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
Fixed an authentication bypass issue in SSL/TLS. When the TLS
authentication mode was set to 'optional',
mbedtls_ssl_get_verify_result() would incorrectly return 0 when the
peer's X.509 certificate chain had more than
MBEDTLS_X509_MAX_INTERMEDIATE_CA intermediates (default: 8), even when
it was not trusted. This could be triggered remotely on both the client
and server side. (Note, with the authentication mode set by
mbedtls_ssl_conf_authmode()to be 'required' (the default), the handshake
was correctly aborted).
Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk> Tested-by: Magnus Kroken <mkroken@gmail.com>
Enrique Giraldo [Wed, 2 Aug 2017 15:08:32 +0000 (17:08 +0200)]
ar71xx: add metadata to wpj344 and wpj558 images
This adds metadata to wpj344 and wpj558 images to prevent loading
firmware of wpj344 into wpj558 and vice versa. This until now was
possible and break the units and had to be recovered from the uboot.
Original firmware is based on OpenWrt.
Use sysupgrade image directly in vendor GUI.
Signed-off-by: Enrique Giraldo <enrique.giraldo@galgus.net>
[whitespace fixes, ac radio caldata offset fix] Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
For the Archer C50v1, the EU and US versions are differentiated by their
respective HW additional version (0x0 for US, 0x2 for EU).
The stock web interface checks this field before flashing, making it
impossible to flash the current (US) factory image on EU hardware.
However the bootloader does not check this field, making it possible to use
a single sysupgrade image for both hardware.
This patch adds the necessary build bits to generate both EU and US factory
images, and renames the target as "Archer C50v1" since there are as of now
3 different versions of Archer C50 (all with different CPUs).
The HNET C108
(http://www.szhwtech88.com/Product-product-cid-100-id-4374.html) is a
mifi based on MT7602A, which has the following specifications:
* CPU: MT7620A
* 1x 10/100Mbps Ethernet.
* 16 MB Flash.
* 64 MB RAM.
* 1x USB 2.0 port. Only power is connected, this port is meant for
charging other devices.
* 1x mini-PCIe slots.
* 1x SIM slots.
* 1x 2.4Ghz WIFI.
* 1x button.
* 6000 mAh battery.
* 5x controllable LEDs.
Works:
* Wifi.
* Switch.
* mini-PCIe slot. Only tested with a USB device (a modem).
* SIM slot.
* Sysupgrade.
* Button (reset).
Not working (also applies to the factory firmware):
* Wifi LED. It is always switched on, there is no relation to the
up/down state or activity of the wireless interface.
Not tested:
* SD card reader.
Notes:
* The C108 has no dedicated status LED. I therefore set the LAN LED as
status LED.
Installation:
The router comes pre-installed with OpenWRT, including a variant of
Luci. The initial firmware install can be done through this UI,
following normal procedure. I.e., access the UI and update the firmware
using the sysupgrade-image. Remember to select that you do not want to
keep existing settings.
Recovery:
If you brick the device, the C108 supports recovery using TFTP. Keep the
reset button pressed for ~5sec when booting to trigger TFTP. Set the
address of the network interface on your machine to 10.10.10.3/24, and
rename your image file to Kernal.bin.
Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com>
Mathias Kresin [Thu, 31 Aug 2017 05:52:00 +0000 (07:52 +0200)]
kernel: rtl8306: fix port link status
In case the link changes from down to up, the register is only updated
on read. If the link failed/was down, this bit will be 0 until after
reading this bit again.
Fixes a reported link down by swconfig alebit the link is up (query for
the link again will show the correct link status)
Mathias Kresin [Wed, 9 Aug 2017 16:43:56 +0000 (18:43 +0200)]
lantiq: fix xrx200 switch carrier state
In conditions where none of the switch ports is connected during boot,
the priv->port[i].link != priv->port[i].phydev->link condition is false
since both link values are equal (false). The carrier of the switch
netdev is never set to off and the link state reported by ip is UNKNOWN.
Turn the carrier off if none of the switch ports has a link, regardless
whether something has been changed. Add a check for a carrier to
prevent unnecessary calls to netif_carrier_off() if the carrier is
already off.
Commit 77645ffcd9ad ("ramips: add support for the GnuBee Personal Cloud
One") dropped the execution permission from 01_leds with the result
that the file isn't started during first boot and no default LED
configuration is added.
Revert the introduced file permission change.
Fixes: FS#979 Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com>
[cherry picked the fix from a board support patch] Signed-off-by: Mathias Kresin <dev@kresin.me>
Hans Dedecker [Tue, 5 Sep 2017 12:33:01 +0000 (14:33 +0200)]
odhcp6c: add workaround for broken extendprefix scenario
Extendprefix is typically used to extend an IPv6 RA prefix from a mobile
wan link to the LAN; such scenario requires correct RA prefix settings
like the on link flag not being set.
However some mobile manufacter set the RA prefix on link flag which breaks
basic IPv6 routing.
Work around this issue by filtering out the route being equal to the
extended prefix.
ar71xx: WNDR4300: use the switch LED trigger on the WAN port
The WAN port on the Netgear WNDR4300 router has two LEDs,
amber and green. Use the switch LED trigger to behave as the
rest of the LAN HW controlled LEDs
- Green: 1 Gbps
- Amber: 100/10 Mbps
Signed-off-by: Daniel Gonzalez Cabanelas <dgcbueu@gmail.com>
Kuang Rufan [Fri, 25 Aug 2017 12:45:19 +0000 (20:45 +0800)]
ar71xx: add support for TL-WR1041N(v2) LAN/WAN LEDs.
1. Add support to LAN/WAN LEDs attached to ar8327.
2. Fix the problem that LAN/WAN LEDs does not blink in hardware (auto)
mode when connected to 10M/100M ethernet.
Hans Dedecker [Fri, 1 Sep 2017 14:02:33 +0000 (16:02 +0200)]
ubox: update to git HEAD version
b1bc8d5 kmodloader: log error message in case of out of memory f346111 kmodloader: lift restriction on module alias info f1ef2c3 kmodloader: fix possible segfaults 9cb63df kmodloader: fix endianess check 2cff779 kmodloader: Check module endian before loading d54f38a kmodloader/get_module_info: initialized aliases to make it more clean a0b6fef kmodloader: insmod: fix a memoryleak in error case 278c4c4 kmodloader/get_module_name: null-terminate the string 16f7e16 syslog: remove unnecessary sizeof struct between messages
Thibaut VARENE [Fri, 4 Aug 2017 10:32:04 +0000 (12:32 +0200)]
generic: make switch_port_stats tx/rx_bytes long long
This generic structure defines tx_bytes and rx_bytes as unsigned long (u32),
while several devices would typically report unsigned long long (u64).
The code can work as is, but there's a chance that with a sufficiently fast
interface the overflow might happen too fast to be correctly noticed by the
consumers of this data.
This patch makes both field unsigned long long and updates the only known
consumer of this data: swconfig_leds.c
João Chaínho [Thu, 31 Aug 2017 15:45:39 +0000 (16:45 +0100)]
ar71xx: fix switch port numbering on RB750r2 and RB750UPr2
This patch fixes the switch port numbering on Mikrotik RB750r2 (hEX lite) and RB750UPr2 (hEX PoE lite).
Tested on a RB750UPr2. Maybe this patch is applicable to other devices (e.g. RB951Ui-2nD, RB952Ui-5ac2nD) but I have no way to test them.
Signed-off-by: João Chaínho <joaochainho@gmail.com>
Rosen Penev [Wed, 30 Aug 2017 22:58:09 +0000 (15:58 -0700)]
dropbear: Link ssh and scp command to /bin instead of /usr/bin
ssh and scp commands interfere with OpenSSH when installed in /usr/bin .
One use case is when installing dropbear to get root access when only OpenSSH is available (OpenSSH disallows root password logins). Once dropbear installs, it replaces OpenSSH's executables, even when removed with opkg. OpenSSH must be reinstalled to get them back.
Koen Vandeputte [Thu, 31 Aug 2017 11:30:11 +0000 (13:30 +0200)]
musl: update to 1.1.16+ git HEAD 2017-08-30
Fixes critical issues for memset() & fflush()
Changes:
5f7efb8 move IPPORT_RESERVED from netdb.h to netinet/in.h 5f3b652 add powerpc64 and s390x to list of supported archs in INSTALL
file 9d4c902 fix undefined behavior in memset due to missing sequence points c7f56b4 __init_libc: add fallbacks for __progname setup cc08669 add SIOCGSTAMPNS socket ioctl macro to ioctl.h 02b50c9 fix mips ioctl macros to match linux asm/sockios.h 670d6d0 fix unsynchronized access to FILE structure in fflush(0)
uboot-envtools: Add support for IPQ806x AP148 and DB149
IPQ806x AP148 and DB149 boards didn't have the UCI ubootenv
section initialized, so the usage of fw_printenv required manual
configuration. With this change, the "fw_printenv" and "fw_setenv"
command will automatically work on NOR and NAND based platforms.
Daniel Golle [Wed, 19 Jul 2017 21:53:35 +0000 (23:53 +0200)]
busybox: move passwd applet to /bin
busybox currently installs passwd into /usr/bin which prevents its
'full' shadow-utils variant from being installed.
Move the passwd applet to /bin to avoid that collision.
shadow also provides /usr/bin/login which doesn't collide with busybox
as the busybox login applet is installed at /bin/login.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Wed, 19 Jul 2017 21:52:22 +0000 (23:52 +0200)]
busybox: move traceroute applets to /bin
busybox currently installs traceroute and traceroute6 into /usr/bin
which prevents their 'full' iputils variants from being installed.
Move those applets to /bin so they can coexist with their iputils
siblings using the same PATH convention already applied for coreutils
and other drop-in 'full' versions.
Refresh existing patch while at it.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Rosen Penev [Sat, 26 Aug 2017 03:12:13 +0000 (20:12 -0700)]
samba36: Remove syslog and load printers lines.
printer support is removed using 200-remove_printer_support.patch. the syslog parameter requires samba to be compiled with --with-syslog. Currently samba does not log to syslog and probably has not for a long time.
Zoltan Gyarmati [Sat, 26 Aug 2017 13:14:20 +0000 (15:14 +0200)]
scripts/dowload.pl: use glob to expand target dir
If CONFIG_DOWNLOAD_FOLDER is set to for example "~/dl", the download
script fails to create the .hash and .dl files with the following
errors:
Cannot create file ~/dl/dropbear-2017.75.tar.bz2.dl: No such file or directory
sh: 1: cannot create ~/dl/dropbear-2017.75.tar.bz2.hash: Directory nonexistent
If the tarball already exists in the ~/dl dir, it's properly found and
used, so this issue only affects the download.pl script.
This patch calls glob() on the target dir parameter, which will expand `~`.
Koen Vandeputte [Tue, 22 Aug 2017 14:37:33 +0000 (16:37 +0200)]
musl: bump to latest 1.1.16+ git HEAD
Changes:
1698fe6 fix build failure for sh4a due to missing colon in asm statement 80bf595 trap UB from attempts to join a detached thread e31c8c2 ppc64: fix setjmp/longjmp handling of TOC pointer 52cf5c1 qsort: add a short comment about the algorithm dc2f368 disable global visibility override hack (vis.h) by default 947d330 add _NL_LOCALE_NAME extension to nl_langinfo a08910f fix missing volatile qualifier on lock in __get_locale 2e6e084 remove ineffective compiler assist from printf bc42dcb fix undefined behavior in ptrace d906fa3 unify the use of FUTEX_PRIVATE 60ab365 fix undefined behavior in free f688884 reapply va_arg hacks removal to wprintf bd00cc8 remove useless declarations in string.h f3055e0 allow specifying argv[0] when invoking a program via ldso
command 43c423a fix regression in dlopen promotion from RTLD_LOCAL to
RTLD_GLOBAL 66b53cf ldso: avoid spurious & possible erroneous work for libs with no
deps 94f7441 powerpc64: add single-instruction math functions 9d12a6a fix clang CFLAGS checks and silence unused argument warnings ce385fc s390x: add single-instruction math functions e6def54 fix arm run-time abi string functions 91d34c4 fix regression in getspnam[_r] error code for insufficient
buffer size 5948bc1 fix omission of microblaze user.h definitions b7bfb5c fix iconv conversions for iso88592-iso885916 64f8558 handle errors from localtime_r in ctime_r 2d7d05f set errno when getpw*_r, getgr*_r, and getspnam_r fail 5c10c33 handle localtime errors in ctime 1c86c7f handle mremap failure in realloc of mmap-serviced allocations 1080008 getdate: correctly specify error number af05173 catopen: set errno to EOPNOTSUPP 84eff79 fix glob failure to match plain "/" to root directory bc313e8 use hard-coded sh4a atomic opcodes to avoid linker errors on sh 179766a towupper/towlower: fast path for ascii chars 1c49700 remove long-obsolete clang workarounds from mips* syscall_arch.h
files 4073f03 fix fstatat syscall on mips64 81f4a12 fix fchown fallback on arches without chown(2) 97bd6b0 fix iconv conversions to legacy 8bit encodings f9f686b have posix_spawnattr_setflags check for supported flags 77e895d add no-op POSIX_SPAWN_USEVFORK to spawn.h 5555041 s390x: provide sigcontext struct definition bb439bb implement new posix_spawn flag POSIX_SPAWN_SETSID 58e2396 remove va_arg hacks in printf core with undefined behavior e1232f5 make ttyname[_r] return ENODEV rather than ENOENT 1a7fa5e fix regression in support for resolv.conf attempts option 8c44a06 fix scalbn when result is in the subnormal range 2577b1b allow full-range file offsets to mmap on archs with 64-bit
syscall args b3751c3 fix dl_iterate_phdr in static PIE binaries 1ca5975 fix read past end of buffer in getaddrinfo backend 54807d4 aarch64: add single instruction math functions b6e1fe0 fix strptime output for %C without %y 834ef7a fix processing of strptime %p format 85dfab7 fix off-by-one in strptime %j 9571c53 regex: fix newline matching with negated brackets e6917ec increase limit on locale name length from 15 to 23 bytes e4fc9ad search locale name variants for gettext translations 16319a5 make setlocale return a single name for LC_ALL if all categories
match 0c53178 fix dlopen/dlsym regression opening libs already loaded at
startup dbff2bb fix POSIX-format TZ dst transition times for southern hemisphere 74bca42 s390x: fix fpreg_t and remove unused per_struct a393d5c precalculate gnu hash rather than doing it lazily in find_sym
inner loop 8cba1dc fix threshold constants in j0f, y0f, j1f, y1f cb52539 remove unused refcnt field for shared libraries c49d3c8 avoid loading of multiple libc versions via explicit pathname 3ec8b3a fix one-byte overflow in legacy getpass function 733d1ea fix wide scanf's use of a compound literal past its lifetime 6a209f1 fix possible fd leak, unrestored cancellation state on dns
socket fail 500f5be in static dl_iterate_phdr, fix use of possibly-uninitialized aux
data 6582baa fix free of uninitialized buffer pointer on error in regexec 6476b81 emulate lazy relocation as deferrable relocation 4823b13 reorder addend handling before symbol lookup in relocation code 4ff234f rework ldso handling of global symbol table for consistency c9783e4 treat STB_WEAK and STB_GNU_UNIQUE like STB_GLOBAL in find_sym fc85fb3 fix ld-behavior-dependent crash in ppc64 ldso startup 827c4e6 fix lsearch and lfind to pass key as first arg to the compar
callback 0a4a16d allow page size to vary on arm b261a24 fix build regression in arm atomics asm with new binutils 9201c3a s390x: implement dlsym d6601f0 avoid unbounded strlen in gettext functions dbbb373 fix use of uninitialized pointer in gettext core 01e6bbe fix bindtextdomain logic error deactivating other domains 6894f84 fix spurious EINTR errors from multithreaded set*id, etc. 1f53e7d fix crashes in x32 __tls_get_addr 27b3fd6 fix crash from corrupted tls module list after failed dlopen 809ff8c treat base 1 as an error in strtol-family functions 786fda8 fix getopt[_long] clobbering of optopt on success 150747b reduce impact of REG_* namespace pollution in x86[_64] signal.h
Tested on cns3xxx & imx6
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com> Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
Rosen Penev [Thu, 24 Aug 2017 23:51:24 +0000 (16:51 -0700)]
samba36: Don't resolve interfaces.
It's redundant and also buggy. IPv6 link local addresses and ::1 are not resolved for example. Doesn't matter since lo and br-lan for example, resolve to them.
Signed-off-by: Rosen Penev <rosenp@gmail.com> Acked-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
Fix SIGSEGV in rfc1035.c answer_request() line 1228 where memset()
is called with header & limit pointing at the same address and thus
tries to clear memory from before the buffer begins.
answer_request() is called with an invalid edns packet size provided by
the client. Ensure the udp_size provided by the client is bounded by
512 and configured maximum as per RFC 6891 6.2.3 "Values lower than 512
MUST be treated as equal to 512"
The client that exposed the problem provided a payload udp size of 0.
Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk> Acked-by: Hans Dedecker <dedeckeh@gmail.com>
config: make CONFIG_ALL_* select other CONIFG_ALL_* options
Select the other CONFIG_ALL_* options in the hierarchy when the master
option is selected. Currently CONFIG_ALL_KMODS is not selected when the
build bot selects CONFIG_ALL_NONSHARED for example.
Now the rtc kmods should get build when CONFIG_ALL_KMODS,
CONFIG_ALL_NONSHARED or CONFIG_ALL and CONFIG_RTC_SUPPORT are selected
like it is done by the build bots for targets with rtc support.
brcm2708: bcm2710: do not activate neon-vfpv4 manually
Neon and vfpv4 support are activated by GCC on all ARMv8 CPUs because
this is now a mandatory part of the architecture. There is not need to
activate is manually.
Kuang Rufan [Fri, 25 Aug 2017 06:10:21 +0000 (14:10 +0800)]
dnsmasq: add support for multiple tags for each host.
Currently, dnsmasq support assigning multiple tags to a host record
(--dhcp-host), but we only support only 1 tag for a host. The commit
makes the following config to be valid:
config host
option name 'computer'
option mac '00:11:22:33:44:55'
option ip '192.168.1.100'
list tag 'vendor_class'
list tag 'vendor_id'
config tag 'vendor_class'
list dhcp_option 'option:vendor-class,00:...<omitted>'
config tag 'vendor_id'
option force '1'
list dhcp_option 'option:vendor-id-encap,00:...<omitted>'
Signed-off-by: Kuang Rufan <kuangrufan@pset.suntec.net> Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
Koen Vandeputte [Tue, 22 Aug 2017 14:37:32 +0000 (16:37 +0200)]
xtables-addons: update to version 2.13
Changes:
89d1b80 xt_condition: namespace support #2 c839e87 xt_geoip: check for allocation overflow a587f95 compat_xtables: use more accurate printf format for NIPQUAD 1874fcd xt_DNETMAP: fix a buffer overflow 21ea7b7 xt_LOGMARK: resolve new gcc7 warnings ee8da2b build: support for Linux 4.12 19a4359 xt_condition: add support for namespaces 1b37966 xt_psd: resolve compiler warning
Ryan Mounce [Thu, 3 Aug 2017 11:07:58 +0000 (20:37 +0930)]
tools: patch various gnu tools for macOS 10.13
These host tools compile but may crash at runtime when building on
macOS 10.13 (High Sierra). Backport upstream gnulib patch until new
releases of affected tools.
Ansuel Smith [Sun, 13 Aug 2017 18:36:56 +0000 (20:36 +0200)]
samba36-net: new package
Samba could also be usefull for sending commands to windows pc (like shoutdown command). This new package add the bin to include this kind of command to the samba package.
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
Pavel Kubelun [Sat, 12 Aug 2017 14:56:11 +0000 (17:56 +0300)]
ramips: add Xiaomi Mi Router 3G support
This commit adds support for Xiaomi Mi WiFi Router 3G.
Short specification:
- MT7621AT + MT7603EN + 7612EN
- 256MB DDR3 RAM
- 128MB NAND flash
- 1+2 x 1000M Ethernet
- 1x USB 3.0 port
- reset button
- yellow, blue, red leds
Installation through telnet/ssh:
- copy lede-ramips-mt7621-mir3g-squashfs-kernel1.bin and
lede-ramips-mt7621-mir3g-squashfs-rootfs0.bin to usb disk or wget it
from LEDE download site to /tmp
- switch to /extdisks/sda1/ (if copied to USB drive) or to /tmp if
wgetted from LEDE download site
- run: mtd write lede-ramips-mt7621-mir3g-squashfs-kernel1.bin kernel1
- run: mtd write lede-ramips-mt7621-mir3g-squashfs-rootfs0.bin rootfs0
- run: mtd erase kernel0
- run: reboot
Originally stock firmware has following partitions:
- ...
- kernel0 (primary kernel image)
- kernel1 (secondary kernel image, used by u-boot in failsafe routine)
- rootfs0 (primary rootfs)
- rootfs1 (secondary rootfs in case primary fails)
- overlay (used as ubi overlay)
This commit squashes rootfs0, rootfs1 and overlay partitions into 1, so
it can be used by LEDE fully for package installation, resulting in 117,5MiB.
This device lacks hw watchdog, so adding softdog instead (stock does the same).
Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
Rafał Miłecki [Wed, 23 Aug 2017 09:18:04 +0000 (11:18 +0200)]
iwinfo: update to the latest git HEAD
c1a03e8 nl80211: request split information about frequencies 5638567 nl80211: store info about freq being not available for some bandwidths ce51cb8 Allow storing more info about each frequency 5c10efa nl80211: support receiving split frequencies 335967c nl80211: improve error handling ab089dd nl80211: propagate netlink errors to callers 7bba117 nl80211: handle netlink errors in nl80211_wait() d22c64c iwinfo: add device id for Ubiquiti NanoStation Loco M2