4 years agotcpdump: Update to 4.9.1
Daniel Engberg [Mon, 24 Jul 2017 22:10:58 +0000 (00:10 +0200)]
tcpdump: Update to 4.9.1

Update tcpdump to 4.9.1

 * CVE-2017-11108: Fix bounds checking for STP.

Signed-off-by: Daniel Engberg <>
4 years agokernel: update kernel 4.4 to version 4.4.79
Hauke Mehrtens [Sun, 23 Jul 2017 12:25:40 +0000 (14:25 +0200)]
kernel: update kernel 4.4 to version 4.4.79

Signed-off-by: Hauke Mehrtens <>
4 years agokernel: update kernel 4.9 to version 4.9.40
Hauke Mehrtens [Sun, 23 Jul 2017 11:40:40 +0000 (13:40 +0200)]
kernel: update kernel 4.9 to version 4.9.40

Signed-off-by: Hauke Mehrtens <>
4 years agoopkg: bump to version 2017-07-28
Jo-Philipp Wich [Fri, 28 Jul 2017 11:18:32 +0000 (13:18 +0200)]
opkg: bump to version 2017-07-28

Commits since last 2017-07-11:

4bd8601 pkg_parse: fix segfault when parsing descriptions with leading newlines

Fixes FS#933.

Signed-off-by: Jo-Philipp Wich <>
4 years agobrcm63xx: DTS: fix AV4202N flash layout
Paul Wassi [Sun, 23 Jul 2017 10:07:58 +0000 (12:07 +0200)]
brcm63xx: DTS: fix AV4202N flash layout

Fix incorrect offset and size of linux partition.

Fixes: 97b36aca09da ("brcm63xx: add pflash for remaining pflash equipped boards")
Signed-off-by: Paul Wassi <>
Signed-off-by: Jonas Gorski <>
4 years agoramips: drop stray kernel 4.4 configs
Mathias Kresin [Tue, 25 Jul 2017 17:37:08 +0000 (19:37 +0200)]
ramips: drop stray kernel 4.4 configs

The kernel 4.4 patches where already removed with the bump to 4.9. Drop
the the subtarget configs as well.

Signed-off-by: Mathias Kresin <>
4 years agoramips: add support for Loewe WMDR-143N
Oliver Fleischmann [Thu, 20 Jul 2017 19:02:33 +0000 (21:02 +0200)]
ramips: add support for Loewe WMDR-143N

The WMDR-143N is a small module originally used as a Wifi client
in some Loewe smart TV sets. It is sold cheaply at german surplus
shops. The module contains a RT3662 SOC.


- 500 MHz CPU Clock
- 1x 10/100Mbps Ethernet (pin header)
- 32 MB of RAM
- 8 MB of FLASH
- 2T3R 2.4/5 GHz (SOC internal)
- 3 Antennas on PCB
- UART pads on PCB (J3: 1 = +3.3V, 2 = RX, 3 = TX, 4 = GND), TX
  and RX are 3,3V only! The square hole is pin 1
- Power supply pads on PCB (J6: 1 and 2 = +5V, 3 and 4 = GND)
  The square hole is pin 1

The original firmware has two identical kernel/rootfs images and
two "Factory" calibration data blocks in flash. The LEDE image
leaves only the first "Factory" block in place and uses both
"Kernel" blocks and the redundant "Factory" block together to gain
enough space for the jffs2 partition.

Flash instructions:

You need UART and Ethernet connections to flash the board. Use
the LEDE "sysupgrade.bin" image with tftp.

Apply power to the board and in the first 5 seconds, hit 2 to
select TFTP upload. The bootloader asks for board- and server IP
addresses and filename.

Alternate method: With the vendor firmware running, assign an IP
address to the ethernet port, tftp the firmware image to
/tmp and write to mtd4 ("KernelA").

Signed-off-by: Oliver Fleischmann <>
[remove pinctrl node from dts, no pin is used as GPIO]
Signed-off-by: Mathias Kresin <>
4 years agoramips: pinctrl: return proper error if pinctrl0 is empty
Mathias Kresin [Tue, 25 Jul 2017 18:23:28 +0000 (20:23 +0200)]
ramips: pinctrl: return proper error if pinctrl0 is empty

Children of the pinctrl0 node are optional. Return EINVAL (=missing)
instead of 0. Fixes a hang if the pinctrl0 has no children.

Signed-off-by: Mathias Kresin <>
Acked-by: John Crispin <>
4 years agoscripts/ inhibit compile deps on missing build types
Jo-Philipp Wich [Wed, 26 Jul 2017 22:18:12 +0000 (00:18 +0200)]
scripts/ inhibit compile deps on missing build types

a not existing build type, the metadata script will emit a reference to an
unresolvable build target in tmp/.packagedeps, causing the make process to
fail hard in a way not catchable by the IGNORE_ERRORS mechanism.

In a situation where a package "test-a" declares a build dependency
"PKG_BUILD_DEPENDS:=test-b/host" while the Makefile of "test-b" does not
implement a HostBuild, make fails with an unrecoverable error in the form:

    make[1]: Entering directory '...'
    make[1]: *** No rule to make target 'package/test-b/host/compile',
                 needed by 'package/test-a/compile'.  Stop.
    make[1]: Leaving directory '...'
    .../ recipe for target 'package/test-a/compile' failed
    make: *** [package/test-a/compile] Error 2

Extend the metadata generation script to catch such unresolved references
and emit a visable warning upon detection.

After this change, the script will emit a warning similar to:

    WARNING: Makefile "package/test-a/Makefile" has a build dependency on
    "test-b/host" but "package/test-b/Makefile" does not implement a
    "host" build type

Fixes a global build cluster outage which occured after the "python-cffi"
feed package removed its HostBuild which the "python-cryptography" package
build-depended on.

Signed-off-by: Jo-Philipp Wich <>
4 years agoramips: refresh the rcu_sched patch and remove debug info
John Crispin [Wed, 26 Jul 2017 07:32:22 +0000 (09:32 +0200)]
ramips: refresh the rcu_sched patch and remove debug info

Signed-off-by: John Crispin <>
4 years agoralink: fix rcu_sched stalls on mt7621
John Crispin [Tue, 25 Jul 2017 12:46:01 +0000 (14:46 +0200)]
ralink: fix rcu_sched stalls on mt7621

there were 2 bugs
*) core1 came up with a bad bogo mips, looks like the clock needed time to stabilize
*) HPT frequency was not set making r4k timers not come up properly

Signed-off-by: John Crispin <>
4 years agoramips: add support for the GnuBee Personal Cloud One
L. D. Pinney [Sat, 22 Jul 2017 01:15:56 +0000 (09:15 +0800)]
ramips: add support for the GnuBee Personal Cloud One

    The GnuBee Personal Cloud One crowdfunded on
    It is a low-cost, low-power, network-attached storage device.


    - SoC: MediaTek MT7621AT
    - RAM: DDR3 512 MB
    - Flash: 32 MB
    - Six SATA ports for 2.5" Drives
    - One micro SDcard
    - One USB 3.0
    - Two USB 2.0
    - Gigabit Ethernet: 1 x WAN and 1 x LAN
    - UART 3.5mm Audio Jack or 3 pin header - 57600 8N1
    - Four GPIOs available on a pin header

    Flash instructions:

    The GnuBee Personal Cloud One ships with libreCMC installed.
    libreCMC is a Free Software Foundation approved fork of LEDE/OpenWrt.
    As such one can upgrade using the webinterface or sysupgrade.

    Das U-Boot has multiple options for recovery or updates including :

    - USB
    - http
    - tftp

Signed-off-by: L. D. Pinney <>
[use switchdev led trigger, all interfaces are in vlan1; rename leds
according to board.d setting; remove ge2 group from the pinmux, this
group doesn't exist in the driver]
Signed-off-by: Mathias Kresin <>
4 years agoramips: DIR-860L-B1 fix switch port numbering
Thibaut VARENE [Tue, 25 Jul 2017 10:29:14 +0000 (12:29 +0200)]
ramips: DIR-860L-B1 fix switch port numbering

Luci shows switch ports in inverted order on that device.
This patch fixes switch port numbering and matches them to the device

Signed-off-by: Thibaut VARENE <>
4 years agokernel: netfilter: fix nf-nathelper(-extra) description
Uwe Arnold [Thu, 20 Jul 2017 18:04:26 +0000 (20:04 +0200)]
kernel: netfilter: fix nf-nathelper(-extra) description

The tftp and irc netfilter modules are provided by nf-nathelper-extra
and not by nf-nathelper.

Signed-off-by: Uwe Arnold <>
[move the irc module as well]
Signed-off-by: Mathias Kresin <>
4 years agoramips: fix wps button gpio for DWR-512
Giuseppe Lippolis [Tue, 18 Jul 2017 20:55:53 +0000 (22:55 +0200)]
ramips: fix wps button gpio for DWR-512

The WPS button is at GPIO#7.

Signed-off-by: Giuseppe Lippolis <>
4 years agoramips: DTS: VoCore2 improvements/fixes
Paul Wassi [Sat, 22 Jul 2017 09:15:55 +0000 (11:15 +0200)]
ramips: DTS: VoCore2 improvements/fixes

The VoCore2 features 128MB of RAM, therefore set
memory in DTS to 128*1024*1024 = 0x8000000
The board's LED is connected to GND, set it to
Make serial console working again on kernel 4.9 by
change of pinmux configuration.

Signed-off-by: Paul Wassi <>
4 years agoramips: add support for TP-Link RE350
Alex Maclean [Sun, 23 Jul 2017 19:06:44 +0000 (20:06 +0100)]
ramips: add support for TP-Link RE350

The TP-Link RE350 is a wall-wart AC1200 range extender/access point with
a single gigabit ethernet port and two non-detachable antennas, based on
the MT7621A SoC with MT7603E and MT7612E radios.

Firmware wise it is very similar to the QCA based RE450.

SoC: MediaTek MT7621A (880MHz)
Flash: 8MiB (Winbond W25Q64)
RAM:   64MiB (DDR2)
Ethernet: 1x 1Gbit
Wireless: 2T2R 2.4Ghz (MT7603E) and 5GHz (MT7612E)
LEDs: Power, 2.4G, 5G (blue), WPS (red and blue), ethernet link/act
Buttons: On/off, LED, reset, WPS

Serial header at J1, 57600 8n1:
Pin 1 TX
Pin 2 RX
Pin 3 GND
Pin 4 3.3V

Factory image can be uploaded directly through the stock UI.

Signed-off-by: Alex Maclean <>
4 years agofirmware-utils: tplink-safeloader: add support for TP-Link RE350
Alex Maclean [Mon, 3 Jul 2017 20:05:44 +0000 (21:05 +0100)]
firmware-utils: tplink-safeloader: add support for TP-Link RE350

Signed-off-by: Alex Maclean <>
4 years agoath9k: fix regression in multicast buffering fix
Felix Fietkau [Tue, 25 Jul 2017 17:47:48 +0000 (19:47 +0200)]
ath9k: fix regression in multicast buffering fix

Update the more data flag on the last frame, but tx from the first frame

Signed-off-by: Felix Fietkau <>
4 years agoath9k: fix typo in US tx power reduction fix
Felix Fietkau [Tue, 25 Jul 2017 07:13:24 +0000 (09:13 +0200)]
ath9k: fix typo in US tx power reduction fix

Use max_t instead of min_t to prevent the value from going below zero

Signed-off-by: Felix Fietkau <>
4 years agobuild: do not override argv[0] in inner exec calls
Jo-Philipp Wich [Mon, 24 Jul 2017 11:33:33 +0000 (13:33 +0200)]
build: do not override argv[0] in inner exec calls

Only mangle argv[0] of the first executed process and leave the argument
vector of subsequent invocations as-is to allow child programs to properly
discover resources relative to their binary locations.

Fixes "cc1" discovery when executing the host gcc through the bundled
"ccache" executable.

Signed-off-by: Jo-Philipp Wich <>
4 years agoath9k: fix more-data flag for buffered multicast packets
Felix Fietkau [Mon, 24 Jul 2017 08:48:26 +0000 (10:48 +0200)]
ath9k: fix more-data flag for buffered multicast packets

The flag needs to be cleared for the last packet in the list, not the
first one. Fixes some issues with multicast packet loss for powersave
clients connected to an ath9k AP.

Signed-off-by: Felix Fietkau <>
4 years agoath9k: adjust tx power reduction for US regulatory domain
Felix Fietkau [Wed, 19 Jul 2017 06:54:53 +0000 (08:54 +0200)]
ath9k: adjust tx power reduction for US regulatory domain

FCC regulatory rules allow for up to 3 dBi antenna gain. Account for
this in the EEPROM based tx power reduction code.

Signed-off-by: Felix Fietkau <>
4 years agofirmware-utils: drop mktplinkfw-kernel tool
Piotr Dymacz [Thu, 6 Jul 2017 16:26:23 +0000 (18:26 +0200)]
firmware-utils: drop mktplinkfw-kernel tool

As we can now use combined mode in "mktplinkfw" tool to generate the
same header/image, this tool is no longer needed.

Signed-off-by: Piotr Dymacz <>
4 years agoar71xx: image: use tplink-v1-header in place of mktplinkfw-kernel
Piotr Dymacz [Thu, 6 Jul 2017 16:24:37 +0000 (18:24 +0200)]
ar71xx: image: use tplink-v1-header in place of mktplinkfw-kernel

Signed-off-by: Piotr Dymacz <>
4 years agobuild: move mktplinkfw-combined command to
Piotr Dymacz [Thu, 6 Jul 2017 16:10:22 +0000 (18:10 +0200)]
build: move mktplinkfw-combined command to

We will need "mktplinkfw-combined" command also in the "ramips" target
for new MediaTek based TP-Link devices, with "safeloader" image type.

Also, rename the command to "tplink-v1-header", use "VERSION_DIST"
variable instead of "OpenWrt" and allow passing additional parameters.

Signed-off-by: Piotr Dymacz <>
4 years agofirmware-utils: mktplinkfw: rework combined image option
Piotr Dymacz [Thu, 6 Jul 2017 14:34:47 +0000 (16:34 +0200)]
firmware-utils: mktplinkfw: rework combined image option

We use combined option in "mktplinkfw" tool for generating initramfs
kernel images and header for kernel inside "safeloader" image type (in
fact, only for TL-WR1043ND v4 at this moment).

There is also "mktplinkfw-kernel" tool, a stripped-down version, used
only for generating "simple" header, for safeloader image types.

This changes how "mktplinkfw" handles combined images (which then will
allow us to drop the stripped-down version of the tool):

- drop "ignore size" command line option (it was used only for combined
  images anyway)
- don't require "flash layout id" for combined images (we don't need and
  shouldn't limit size of the initramfs kernel and for kernels inside
  safeloader images, the "tplink-safeloader" tool does the size check)
- require kernel address and entry point in command line parameters for
  combined images (consequence of previous point)
- don't include md5 sum and firmware length values in header (they are
  needed only for update from vendor GUI and are ingored in case of
  initramfs and "tplink-safeloader" images)
- drop "fake" flash layout for TL-WR1043ND v4 as it's no longer needed

Also, adjust "mktplinkfw-combined" command in ar71xx/image/ to
match introduced changes in "mktplinkfw" tool.

Signed-off-by: Piotr Dymacz <>
4 years agouboot-envtools: add support for ALFA Network AP121F
Piotr Dymacz [Fri, 31 Mar 2017 11:43:06 +0000 (13:43 +0200)]
uboot-envtools: add support for ALFA Network AP121F

Signed-off-by: Piotr Dymacz <>
4 years agoar71xx: add support for ALFA Network AP121F
Piotr Dymacz [Fri, 31 Mar 2017 11:37:31 +0000 (13:37 +0200)]
ar71xx: add support for ALFA Network AP121F

ALFA Network AP121F is a pocket-size router dedicated for VPN/TOR users.
Device is based on Atheros AR9331 WiSoC and is running a custom version
(updated from OpenWrt CC to LEDE 17.01 release) of NetAidKit firmware.


- 400/400/200 MHz (CPU/DDR/AHB)
- 64 MB of RAM (DDR1)
- 16 MB of FLASH (SPI NOR)
- 1x 10/100 Mbps Ethernet
- 1T1R 2.4 GHz
- 1x microSD (optional, on separate PCB)
- 3x LED, 1x button, 1x switch
- UART header on PCB

Flash instruction (under U-Boot web recovery mode):

1. Configure PC with static IP
2. Connect PC with RJ45 port, press the reset button, power up device,
   wait for first blink of all LEDs (indicates network setup), then keep
   button for 3 following blinks and release it.
3. Open address in your browser and upload sysupgrade image.

Signed-off-by: Piotr Dymacz <>
4 years agofirmware-utils: tplink-safeloader: add support for TL-WR902AC v1 US
Piotr Dymacz [Wed, 19 Jul 2017 20:12:07 +0000 (22:12 +0200)]
firmware-utils: tplink-safeloader: add support for TL-WR902AC v1 US

Signed-off-by: Piotr Dymacz <>
4 years agosamba36: Remove legacy options
Rosen Penev [Fri, 21 Jul 2017 20:04:34 +0000 (13:04 -0700)]
samba36: Remove legacy options

Browseable is now set through LuCI per share, so remove it. Same with
writeable (inverted synonym for read only). domain master and preferred
master seem to be legacy settings for Windows 9x. encrypt passwords
defaults to yes. Probably should not be disabled either.

Also reordered alphabetically.

Signed-off-by: Rosen Penev <>
[rewrap commit message, fix SoB, fix author, bump pkg revsion]
Signed-off-by: Jo-Philipp Wich <>
4 years agomwlwifi: update to version / 2017-07-13
Jo-Philipp Wich [Sat, 22 Jul 2017 14:19:00 +0000 (16:19 +0200)]
mwlwifi: update to version / 2017-07-13

Reported-by: Kabuli Chana <>
Signed-off-by: Jo-Philipp Wich <>
4 years agonetifd: update to git HEAD
Stijn Tintel [Fri, 21 Jul 2017 19:59:16 +0000 (21:59 +0200)]
netifd: update to git HEAD

d397e8c netifd: Fix printf calls + function declarations.
34afb76 system-linux: fix GRE ikey/okey endianness

Signed-off-by: Stijn Tintel <>
4 years agoRevert "kernel: do not try to probe builtin modules on empty kmod package install"
Jo-Philipp Wich [Fri, 21 Jul 2017 16:53:07 +0000 (18:53 +0200)]
Revert "kernel: do not try to probe builtin modules on empty kmod package install"

This change currently causes some issues with loading out of tree kernel modules
so revert that commit for now.

Reverts commit 34c01e68b5d6b06ce3794ef0e2b06e81ec3ce8ca. Fixes FS#919.

Signed-off-by: Jo-Philipp Wich <>
4 years agomt76: update to the latest version, fixes stability issues
Felix Fietkau [Fri, 21 Jul 2017 16:53:32 +0000 (18:53 +0200)]
mt76: update to the latest version, fixes stability issues

8a649c3 mt7603: mac: code optimization
8dee788 mt7603: mac: stop netdev queues during watchdog reset
3c4c9a6 tx: move state check in mt76_txq_send_burst()

Signed-off-by: Felix Fietkau <>
4 years agoipset: split libipset as a subpackage
Alexandru Ardelean [Tue, 20 Jun 2017 12:18:11 +0000 (15:18 +0300)]
ipset: split libipset as a subpackage

Intent is to link against it, and have the option to
not install the ipset utility (if needed).

One example/use-case is keepalived (from package)
feeds, where it would be nice to just depend on a
`libipset` (sub)package.

Signed-off-by: Alexandru Ardelean <>
4 years agoag71xx: add support for port mirroring
Milan Krstić [Wed, 26 Apr 2017 19:52:44 +0000 (21:52 +0200)]
ag71xx: add support for port mirroring

This exposes hardware port mirroring in ag71xx driver (e.g. TL-WR841ND) via
swconfig API.

Signed-off-by: Milan Krstić <>
4 years agodnsmasq: introduce config support for forced DHCP options
Jo-Philipp Wich [Wed, 21 Jun 2017 14:48:41 +0000 (16:48 +0200)]
dnsmasq: introduce config support for forced DHCP options

Introduce a new UCI list setting `list dhcp_option_force` which is available
in sections of type `dnsmasq` and `dhcp`.

The `dhcp_option_force` setting has the same semantics as `dhcp_option` but
generates `dhcp-option-force` directives instead of `dhcp-option` ones in
emitted native configuration.

Signed-off-by: Jo-Philipp Wich <>
4 years agoscripts/ Adjust URLs
Daniel Engberg [Sun, 25 Jun 2017 16:14:33 +0000 (18:14 +0200)]
scripts/ Adjust URLs

Internet2 isn't considered a trusted issuer meaning that https links to will fail.

The host has a trusted SSL cert and peering
is good so it can replace without performance issues.

Signed-off-by: Daniel Engberg <>
[Jo-Philipp Wich: rewrapped commit message]
Signed-off-by: Jo-Philipp Wich <>
4 years agobuild: fix invocation of bundled in SDK and Imagebuilder
Jo-Philipp Wich [Sun, 16 Jul 2017 21:43:19 +0000 (23:43 +0200)]
build: fix invocation of bundled in SDK and Imagebuilder

Commit 72d751cba9 "build: rework library bundling" introduced a new helper
binary "runas" whose sole purpose was mangling the argv vector passed to
the actual called ELF image so that the renamed executable could obtain the
proper name from argv[0].

This approach, however totally defeated the purpose of calling bundled ELF
executables through the shipped loader since the execv() invocation
performed by "runas" would cause the kernel the interprete the final program
image through the system ELF loader again.

To solve the problem, use an alternative approach of shipping a shared object
"" which uses an ELF ".init_array" function pointer to obtain the
argv[] vector of the to-be-executed main() function and mangle it in-place.

The actual argv[0] value to use is communicated out-of-band using an
environment variable "RUNAS_ARG0" by the shell wrapper script. The wrapper
script also takes care of setting LD_PRELOAD to instruct the shipped ELF
loader to preload the actual ELF program image with the "" helper

Fixes FS#909.

Signed-off-by: Jo-Philipp Wich <>
4 years agobrcm47xx: fix switch port mapping on Asus RT-N12 and RT-N16 models
Jo-Philipp Wich [Wed, 19 Jul 2017 08:39:10 +0000 (10:39 +0200)]
brcm47xx: fix switch port mapping on Asus RT-N12 and RT-N16 models

On Asus RT-N12 and RT-N16 models, the WAN and LAN4 ports are swapped in the
initial switch configuration since the presets present in nvram appear to be

Add special casing for these models to detect_by_model() in order to ensure
a proper switch configuration.

Fixes FS#502.

Signed-off-by: Jo-Philipp Wich <>
4 years agobase-files: upgrade: don't loop forever trying to kill processes
Matthias Schiffer [Wed, 12 Jul 2017 22:19:32 +0000 (00:19 +0200)]
base-files: upgrade: don't loop forever trying to kill processes

When processes don't die on SIGKILL (usually because of kernel bugs), it's
better to give up instead of looping forever.

upgraded will trigger a reboot in this case (and if this fails, a hardware
watchdog will eventually time out and reset the system, if present).

Signed-off-by: Matthias Schiffer <>
4 years agoprocd: update to latest version
Matthias Schiffer [Wed, 12 Jul 2017 22:18:50 +0000 (00:18 +0200)]
procd: update to latest version

17026f4 system: return ubus error when sysupgrade_exec_upgraded() has failed
13f252f upgraded: Check chroot() return value
85ccb95 init: Check chroot return value in sysupgrade_exec_upgraded()
76dcbee upgraded: improve error handling
d749b2a upgraded: register stage2 process in uloop as intended

Signed-off-by: Matthias Schiffer <>
4 years agoar71xx: use the RB912UAG-{2, 5}HPnD Power LED for diag
Sergey Ryazanov [Fri, 14 Jul 2017 08:59:16 +0000 (11:59 +0300)]
ar71xx: use the RB912UAG-{2, 5}HPnD Power LED for diag

The Power LED of RB912UAG-{2,5}HPnD boards can be controlled by sofware,
so use it for diag purposes and make the User LED free for other tasks.

Signed-off-by: Sergey Ryazanov <>
4 years agoar71xx: keep the RouterBOARD Power LED in On state
Sergey Ryazanov [Fri, 14 Jul 2017 08:58:54 +0000 (11:58 +0300)]
ar71xx: keep the RouterBOARD Power LED in On state

It is quite unexpected behaviour when the Power LED switches off as soon
as the kernel starts booting. So set the default state to 'Keep' for
the Power LEDs of all RouterBOARDs (e.g. RB91x, SXT Lite series, etc.).

Signed-off-by: Sergey Ryazanov <>
[switch the default state to keep instead of on]
Signed-off-by: Mathias Kresin <>
4 years agoramips: add support for Phicomm K2P
Chuanhong Guo [Tue, 18 Jul 2017 05:02:51 +0000 (13:02 +0800)]
ramips: add support for Phicomm K2P

It uses one MT7615D radio chip with DBDC mode enabled. This mode allows
this single chip act as an 2x2 11n radio and an 2x2 11ac radio at the
same time. However mt76 doesn't  support it currently so there is no
wireless available.

- SoC: MediaTek MT7621AT
- Flash: 16 MB
- RAM: 128 MB
- Ethernet: 1 x WAN (10/100/1000Mbps) and 4 x LAN (10/100/1000 Mbps)
- Wireless radio: MT7615D on PCIE0
- UART: 1 x UART on PCB - 57600 8N1

- Wireless radio doesn't work due to the lack of driver.

Flash instruction:
Using UART:
1. Configure PC with a static IP address and setup an TFTP server.
2. Put the firmware into the tftp directory.
3. Connect the UART line as described on the PCB.
4. Power up the device and press 2,then follow the instruction to
   set device and tftp server IP address and input the firmware
   file name.U-boot will then load the firmware and write it into
   the flash.

Signed-off-by: Chuanhong Guo <>
4 years agolantiq: fix sleep with spinlock held in xrx200 network driver
Andrea Merello [Sat, 8 Jul 2017 08:11:11 +0000 (10:11 +0200)]
lantiq: fix sleep with spinlock held in xrx200 network driver

In the xrx200_close() function we call napi_disable(), that could
sleep, with priv->hw->chan[i].lock held. This could lead to deadlock
and causes the kernel to complain.

Look at the code I couldn't convince myself about why we
need to protect that specific code part with the lock. IMHO there
seems no reason to protect the refcount variables, because AFAIK
ndo_close() and ndo_open() callbacks are already called with a
semaphore held. Neither I could figure out why napi_disable() have to
be called with that lock held. The only remaining code part for
which I could guess the lock is useful for is ltq_dma_close()
function call.

This patch reduces the lock to the said function call, avoiding the
sleep-with-spinlock-held situation

Signed-off-by: Andrea Merello <>
[fold into 0025-NET-MIPS-lantiq-adds-xrx200-net.patch, backport to
kernel 4.4]
Signed-off-by: Mathias Kresin <>
4 years agokernel: do not try to probe builtin modules on empty kmod package install
Jonas Gorski [Sun, 18 Jun 2017 15:40:01 +0000 (17:40 +0200)]
kernel: do not try to probe builtin modules on empty kmod package install

Builtin modules are always present, and trying to load them will cause
modprobe to spew errors when installing the empty kmod packages.

Fix this by never generating any postinst module install instructions
for builtin modules.

Fixes #842.

Signed-off-by: Jonas Gorski <>
4 years agouml: Backport upstream fix to build against static libpthread
Florian Fainelli [Tue, 18 Jul 2017 21:52:51 +0000 (14:52 -0700)]
uml: Backport upstream fix to build against static libpthread

Backport upstream commit f44f1e7da7c8e3f4575d5d61c4df978496903fcc ("um:
Avoid longjmp/setjmp symbol clashes with libpthread.a") to fix build
issues on hosts that only have a static libpthread.

Signed-off-by: Florian Fainelli <>
4 years agotoolchain/arc: update to the most recent release arc-2017.03
Evgeniy Didin [Wed, 12 Jul 2017 15:00:31 +0000 (18:00 +0300)]
toolchain/arc: update to the most recent release arc-2017.03

arc-2017.03 is the most recent release toolchain for ARC cores
and it is based on upstream Binutils 2.28 and GCC 6.3.0

Signed-off-by: Evgeniy Didin <>
Cc: Alexey Brodkin <>
Cc: John Crispin <>
Cc: Hauke Mehrtens <>
4 years agodnsmasq: backport remove ping check of configured dhcp address
Hans Dedecker [Tue, 18 Jul 2017 20:55:29 +0000 (22:55 +0200)]
dnsmasq: backport remove ping check of configured dhcp address

Remove ping check in DHCPDISCOVER case as too many buggy clients leave
an interface in configured state causing the ping check to fail.

Signed-off-by: Hans Dedecker <>
4 years agotools: expat: fix build on older host systems
Jo-Philipp Wich [Tue, 18 Jul 2017 20:50:11 +0000 (22:50 +0200)]
tools: expat: fix build on older host systems

Expat release 2.2.2 requires support for either syscall(SYS_getrandom) which
is available on Linux 3.17 or support for getrandom() which is only available
in glibc 2.25 or later.

Since some of our builders still run on Linux 3.16, we need to forcibly
disable the use of getrandom() for the host builds.

Signed-off-by: Jo-Philipp Wich <>
4 years agotools/expat: Update host version to 2.2.2
Ted Hess [Mon, 17 Jul 2017 20:42:29 +0000 (16:42 -0400)]
tools/expat: Update host version to 2.2.2

Ref: CVE-2017-9233, CVE-2016-9063

Signed-off-by: Ted Hess <>
4 years agofstools: update to latest
Daniel Golle [Sun, 16 Jul 2017 20:32:46 +0000 (22:32 +0200)]
fstools: update to latest

0dfe61a block: support /dev/xvd* nodes
f038a61 libfstools: fix matching device name

Signed-off-by: Daniel Golle <>
4 years agox86: Fix xen serial console by removing conflicting PATA driver
Baptiste Jonglez [Sat, 15 Jul 2017 17:48:09 +0000 (19:48 +0200)]
x86: Fix xen serial console by removing conflicting PATA driver

The Xen serial console has been broken since the xen_domu subtarget
was merged in the generic x86 subtarget (commits 1d6879ee and 371b382a).

The reason for the broken serial console seems to be an IRQ conflict
between the serial console driver and the PATA_LEGACY driver:

[    1.330125] genirq: Flags mismatch irq 8. 00000000 (hvc_console) vs. 00000000 (platform[pata_legacy.4])
[    1.330134] hvc_open: request_irq failed with rc -16.
[    1.330148] Warning: unable to open an initial console.

Just drop the PATA_LEGACY driver from the x86/generic and x86_64
subtargets, since this driver is marked experimental and only supports
very old ISA devices anyway.  It is still included in the x86/legacy
subtarget where it rightfully belongs.

Fixes: FS#787
Signed-off-by: Baptiste Jonglez <>
4 years agox86/64: add xen DomU support
Baptiste Jonglez [Sat, 15 Jul 2017 16:48:01 +0000 (18:48 +0200)]
x86/64: add xen DomU support

Xen support for x86/generic was added in 1d6879ee.  This commit also
enables it for x86/64.

This was successfully tested with Xen 4.5, although the serial console
is broken in the same way as x86/generic (see FS#787)

Signed-off-by: Baptiste Jonglez <>
4 years agox86: Move USB support from subtargets to target config
Baptiste Jonglez [Sat, 15 Jul 2017 16:48:00 +0000 (18:48 +0200)]
x86: Move USB support from subtargets to target config

All x86 subtargets enable USB support, so it makes sense to enable it
in the target config instead, to avoid duplication.

Also refresh subtarget configs accordingly.

Signed-off-by: Baptiste Jonglez <>
4 years agox86: Refresh subtargets kernel config
Baptiste Jonglez [Sat, 15 Jul 2017 16:47:59 +0000 (18:47 +0200)]
x86: Refresh subtargets kernel config

This was done by simply running `make kernel_menuconfig CONFIG_TARGET=subtarget`
and then saving without changing any option.

Most of the removed options can be explained because they are already
present in the target config or in the generic 4.9 config:

- PAE-related options, enabled by default on x86 by 961c0eac
- LZO-related options, enabled by default since 4.9

As far as I understand the build system, this shouldn't have any
user-visible impact, because the build system already merges the
various kernel configs during build.

Signed-off-by: Baptiste Jonglez <>
4 years agox86: Drop stray subtarget "epia"
Baptiste Jonglez [Sat, 15 Jul 2017 16:47:58 +0000 (18:47 +0200)]
x86: Drop stray subtarget "epia"

This subtarget was added by 961c0eac, probably by mistake.  It does
not contain anything beside a kernel config.

Acked-by: Daniel Golle <>
Cc: Daniel Golle <>
Signed-off-by: Baptiste Jonglez <>
4 years agotreewide: use only board_name function to get name
Mathias Kresin [Sun, 9 Jul 2017 11:00:36 +0000 (13:00 +0200)]
treewide: use only board_name function to get name

Do not parse /tmp/sysinfo/board_name, /proc/cpuinfo or the device tree
compatible string directly. Always use the board_name function to get
the board name.

The admswconfig package still reads /proc/cpuinfo directly. The code
looks somehow broken and the whole adm5120 which uses this package
looks unmaintained. Leave it as it is for now.

Signed-off-by: Mathias Kresin <>
4 years agotreewide: drop target board_name functions
Mathias Kresin [Sun, 9 Jul 2017 10:25:04 +0000 (12:25 +0200)]
treewide: drop target board_name functions

They are not used any longer.

Signed-off-by: Mathias Kresin <>
4 years agotreewide: use the generic board_name function
Mathias Kresin [Fri, 12 May 2017 20:36:07 +0000 (22:36 +0200)]
treewide: use the generic board_name function

Use the generic function instead ot the target specific ones.

Signed-off-by: Mathias Kresin <>
4 years agosunix: run b53_hack later
Mathias Kresin [Wed, 12 Jul 2017 06:10:59 +0000 (08:10 +0200)]
sunix: run b53_hack later

The script relies on the board name but runs prior the generic sysinfo
script which sets the board name.

Signed-off-by: Mathias Kresin <>
4 years agotreewide: do board detection during preinit
Mathias Kresin [Fri, 7 Apr 2017 16:01:17 +0000 (18:01 +0200)]
treewide: do board detection during preinit

Do the board detection during preinit to unify it across all targets.

Signed-off-by: Mathias Kresin <>
4 years agotreewide: populate boardname and model earlier
Mathias Kresin [Fri, 7 Apr 2017 16:09:08 +0000 (18:09 +0200)]
treewide: populate boardname and model earlier

For targets using the generic board detection and board specific
settings in, the board name is still unset at the time the
set_state() provided by is called by 10_indicate_preinit.

Change the execution order to ensure the boardname is populated before
required the first time. Do the target specific board detection as
early as possible, directly followed by the generic one to allow a
seamless switch to the generic function for populating /tmp/sysinfo/.

Signed-off-by: Mathias Kresin <>
4 years agokmod-sched-cake: drop maintainer
Kevin Darbyshire-Bryant [Fri, 16 Jun 2017 19:06:50 +0000 (20:06 +0100)]
kmod-sched-cake: drop maintainer

Drop myself from maintainership of 'cake'.

Signed-off-by: Kevin Darbyshire-Bryant <>
4 years agoimage: fix ar71xx legacy images
Mathias Kresin [Fri, 14 Jul 2017 17:35:02 +0000 (19:35 +0200)]
image: fix ar71xx legacy images

legacy images:

- an already jffs2 padded squashfs rootfs is overwritten
  with an unpadded/raw one.

- the squashfs-raw and squashfs-64k rootfs are not replaced by the
  ones including the DEVICE_PACKAGES

Call Image/Build/squashfs after the DEVICE_PACKAGES are added to the
base squashfs rootfs to fix the issues.

Fixes: FS#904
Signed-off-by: Mathias Kresin <>
4 years agoramips: fix GL-inet GL-MT300N-V2 WAN/LAN MAC address
John Marrett [Thu, 13 Jul 2017 12:03:07 +0000 (08:03 -0400)]
ramips: fix GL-inet GL-MT300N-V2 WAN/LAN MAC address

Correct MAC address lookup to appropriate offset based on vendor

Override the WAN MAC to use the same address as LAN. The switch driver
increments the base MAC address for the WAN vlan but the stock firmware
uses the same MAC address for all interfaces.

Based on vendor source commit

Signed-off-by: John Marrett <>
4 years agoimx6: fix DualLite/Solo GW551X board detection
Mathias Kresin [Mon, 15 May 2017 16:21:39 +0000 (18:21 +0200)]
imx6: fix DualLite/Solo GW551X board detection

The model name is a different one in the device tree source file.

Signed-off-by: Mathias Kresin <>
4 years agonftables: Update to 0.7
Nick Brassel [Mon, 10 Jul 2017 07:15:00 +0000 (17:15 +1000)]
nftables: Update to 0.7

Updated nftables to latest.

Signed-off-by: Nick Brassel <>
4 years agokernel: update kernel 4.9 to 4.9.37
Koen Vandeputte [Wed, 12 Jul 2017 20:59:03 +0000 (22:59 +0200)]
kernel: update kernel 4.9 to 4.9.37

- Refreshed all patches
- Removed upstreamed
- Adapted 4 patches:

Removed hunk 5 which got upstreamed

Adapted these 2 RFC patches, merging the delta's from an upstream commit
(see below) which made it before these 2.

- Moved fake_doorbell bitmask due to new item

Compile tested on: cns3xxx, imx6
Run tested on: cns3xxx, imx6

Signed-off-by: Koen Vandeputte <>
4 years agotools/flex: Revert "tools/flex: add autoreconf"
Hauke Mehrtens [Thu, 13 Jul 2017 20:47:42 +0000 (22:47 +0200)]
tools/flex: Revert "tools/flex: add autoreconf"

This was already done in commit 91e262c6b35a7 ("tools: flex: fix build
with automake 1.15.1")

This reverts commit 6b127d86390f85e92e59f3dba04fa585efb3b2c5.

Signed-off-by: Hauke Mehrtens <>
4 years agozlib: use default Build/Configure rule
Stijn Tintel [Sat, 11 Mar 2017 08:32:19 +0000 (09:32 +0100)]
zlib: use default Build/Configure rule

Signed-off-by: Stijn Tintel <>
4 years agolzo: use default Build/Configure rule
Stijn Tintel [Sat, 11 Mar 2017 08:18:22 +0000 (09:18 +0100)]
lzo: use default Build/Configure rule

Signed-off-by: Stijn Tintel <>
4 years agoscripts/ drop NOGRUB variable
Stijn Tintel [Tue, 11 Jul 2017 01:12:42 +0000 (03:12 +0200)]
scripts/ drop NOGRUB variable

It's not used since commit 816a9b30f683b8376423ff029d40e0e4a2701026.

Signed-off-by: Stijn Tintel <>
4 years agoscripts/ move from x86/image
Stijn Tintel [Tue, 11 Jul 2017 00:49:34 +0000 (02:49 +0200)]
scripts/ move from x86/image

The script can also be useful for other targets.

Signed-off-by: Stijn Tintel <>
4 years agoscripts: make all scripts executable
Stijn Tintel [Tue, 11 Jul 2017 00:48:39 +0000 (02:48 +0200)]
scripts: make all scripts executable

Signed-off-by: Stijn Tintel <>
4 years agoscripts/ remove script
Stijn Tintel [Tue, 11 Jul 2017 00:41:05 +0000 (02:41 +0200)]
scripts/ remove script

Commit 6f5f328003128c95af2ffb3876eeadb473c463a0 removed
because it was outdated and bad practice. Let's be consistent and remove as well.

Signed-off-by: Stijn Tintel <>
4 years agocurl: bump to version 7.54.1
Alif M. Ahmad [Mon, 26 Jun 2017 15:09:59 +0000 (15:09 +0000)]
curl: bump to version 7.54.1

Upgrade the curl package to latest version. Patches refreshed.

Signed-off-by: Alif M. Ahmad <>
4 years agoar71xx/image: change unifi UBNT_CHIP to ar7240
Alexander Couzens [Wed, 12 Jul 2017 22:41:04 +0000 (00:41 +0200)]
ar71xx/image: change unifi UBNT_CHIP to ar7240

Verified by OEM firmware images which contains the same

Tested-by: Andreas Bräu <>
Signed-off-by: Alexander Couzens <>
4 years agoar71xx: set US region code for TP-Link TL-WR710N v1 image
Matthias Schiffer [Wed, 12 Jul 2017 17:22:51 +0000 (19:22 +0200)]
ar71xx: set US region code for TP-Link TL-WR710N v1 image

Non-US versions of the TP-Link TL-WR710N v1 don't have a region code so
far, so we can just set US unconditionally.

Signed-off-by: Matthias Schiffer <>
4 years agoopkg: bump to version 2017-07-11
Yousong Zhou [Wed, 12 Jul 2017 02:34:00 +0000 (10:34 +0800)]
opkg: bump to version 2017-07-11

Commits since last 2017-05-03

    52fc006 pkg_alternatives: pass if the desired symlink already exists
    c668fce opkg: add --no-check-certificate argument

Signed-off-by: Yousong Zhou <>
4 years agonetfilter: add iptables-mod-rpfilter package
Alin Nastac [Fri, 16 Jun 2017 12:16:07 +0000 (14:16 +0200)]
netfilter: add iptables-mod-rpfilter package

Unlike /proc/sys/net/ipv4/conf/INTF/rp_filter flag, rule iptables -t raw
-I PREROUTING -m rpfilter --invert -j DROP prevents conntrack table to
become full when a packet flood with randomly selected source IP addresses
is received from the lan side.

Signed-off-by: Alin Nastac <>
4 years agouci: update to the latest version
Hans Dedecker [Tue, 11 Jul 2017 19:03:03 +0000 (21:03 +0200)]
uci: update to the latest version

c4df32b file: remove redundant NULL check on return value of uci_realloc()
5d08b7f build: fix BUILD_STATIC
49ec6ef Fix skipping directories in uci_list_config_files
c203c2f Revert "mandatory anonymous section identifier"
0a1a2fc uci/lua: add explicit close() method
7daf942 uci/lua: add list_configs() function
fe45f97 test: adjust for auto-naming anonymous sections
2eb9c09 cli: remove now-defunct UCI_FLAG_EXPORT_NAME support
df72af4 mandatory anonymous section identifier

Signed-off-by: Hans Dedecker <>
4 years agobase-files: automatically handle paths and symlinks for RAMFS_COPY_BIN
Matthias Schiffer [Mon, 10 Jul 2017 16:37:25 +0000 (18:37 +0200)]
base-files: automatically handle paths and symlinks for RAMFS_COPY_BIN

Depending on busybox applet selection, paths of basic utiilties may differ,
and may not work as symlinks to busybox. Simply using whatever binary is
found in PATH and detecting symlinks automatically is more robust and
easier to maintain.

The list of binaries is also slightly cleaned up and duplicates are

Signed-off-by: Matthias Schiffer <>
4 years agokirkwood: upgrade: fix RAMFS_COPY_*
Matthias Schiffer [Mon, 10 Jul 2017 16:16:23 +0000 (18:16 +0200)]
kirkwood: upgrade: fix RAMFS_COPY_*

RAMFS_COPY_* are moved to toplevel. The nand_do_upgrade call is
moved to platform_do_upgrade.

Fixes: 30f61a34b4cf "base-files: always use staged sysupgrade"
Signed-off-by: Matthias Schiffer <>
4 years agoipq806x: upgrade: fix RAMFS_COPY_*
Matthias Schiffer [Mon, 10 Jul 2017 16:03:39 +0000 (18:03 +0200)]
ipq806x: upgrade: fix RAMFS_COPY_*

RAMFS_COPY_* are moved to toplevel. The unneeded
linksys_preupgrade function is removed, and the nand_do_upgrade call is
moved to platform_do_upgrade.

Fixes: 30f61a34b4cf "base-files: always use staged sysupgrade"
Signed-off-by: Matthias Schiffer <>
4 years agobcm53xx: upgrade: fix RAMFS_COPY_*
Matthias Schiffer [Sat, 10 Jun 2017 14:14:54 +0000 (16:14 +0200)]
bcm53xx: upgrade: fix RAMFS_COPY_*

Fixes: 30f61a34b4cf "base-files: always use staged sysupgrade"
Signed-off-by: Matthias Schiffer <>
4 years agobase-files: upgrade: correctly handle nand_do_upgrade argument passed from preupgrade
Matthias Schiffer [Mon, 10 Jul 2017 08:35:19 +0000 (10:35 +0200)]
base-files: upgrade: correctly handle nand_do_upgrade argument passed from preupgrade

Fixes: 30f61a34b4cf "base-files: always use staged sysupgrade"
Signed-off-by: Matthias Schiffer <>
4 years agodnsmasq: restore ability to include/exclude raw device names
Jo-Philipp Wich [Mon, 10 Jul 2017 08:53:29 +0000 (10:53 +0200)]
dnsmasq: restore ability to include/exclude raw device names

Commit 5cd88f4 "dnsmasq: remove use of uci state for getting network ifname"
broke the ability to specify unmanaged network device names for inclusion
and exclusion in the uci configuration.

Restore support for raw device names by falling back to the input value
when "network_get_device" yields no result.

Fixes FS#876.

Signed-off-by: Jo-Philipp Wich <>
4 years agoar71xx: image: simplify Meraki MR16 device definition
Piotr Dymacz [Fri, 7 Jul 2017 16:51:26 +0000 (18:51 +0200)]
ar71xx: image: simplify Meraki MR16 device definition

Signed-off-by: Piotr Dymacz <>
4 years agoar71xx: fix upgrade platform check for Compex WPJ558
Enrique Giraldo [Thu, 6 Jul 2017 13:46:42 +0000 (15:46 +0200)]
ar71xx: fix upgrade platform check for Compex WPJ558

The magic number was wrong and always marked the images as invalid.

Signed-off-by: Enrique Giraldo <>
4 years agoar71xx: support LED in TP-Link TL-WR902AC RJ45 socket
Piotr Dymacz [Wed, 5 Jul 2017 08:44:02 +0000 (10:44 +0200)]
ar71xx: support LED in TP-Link TL-WR902AC RJ45 socket

TP-Link TL-WR902AC has another one, tiny LED inside RJ45 socket which is
attached to GPIO15. Add support for it, use it as a "lan" LED and rename
old one to "internet". Also, fix uci option name for "lan" LED in system
configuration ("wan" -> "lan").

Signed-off-by: Piotr Dymacz <>
4 years agoar71xx: verify TP-Link TL-WR902AC sysupgrade image
Piotr Dymacz [Wed, 5 Jul 2017 07:07:43 +0000 (09:07 +0200)]
ar71xx: verify TP-Link TL-WR902AC sysupgrade image

Until we enable requirement for metadata in sysupgrade images under
ar71xx target, this prevents users from using wrong image.

Signed-off-by: Piotr Dymacz <>
4 years agofirmware-utils: tplink-safeloader: fix Archer C60 factory image
Henryk Heisig [Fri, 30 Jun 2017 22:45:19 +0000 (00:45 +0200)]
firmware-utils: tplink-safeloader: fix Archer C60 factory image

This commit fixes build factory image for TP-Link Archer C60v1.
Size of partition "SupportList" is only 256 bytes, and can
contain only 3 entries.

Signed-off-by: Henryk Heisig <>
4 years agoar71xx: add metadata to some TP-Link images
Henryk Heisig [Fri, 30 Jun 2017 22:28:39 +0000 (00:28 +0200)]
ar71xx: add metadata to some TP-Link images

This commit adds metadata to TP-Link sysupgrade images
created by tplink-safeloader with uImage kernel header.

Signed-off-by: Henryk Heisig <>
4 years agoncurses: add libnucrses-dev package
Daniel Golle [Sat, 8 Jul 2017 21:16:52 +0000 (23:16 +0200)]
ncurses: add libnucrses-dev package

It's needed to use the SDK and IB on an OpenWrt/LEDE host.

Signed-off-by: Daniel Golle <>
4 years agomtd-utils: use source package name for lzo in PKG_BUILD_DEPENDS
Matthias Schiffer [Sat, 8 Jul 2017 20:51:34 +0000 (22:51 +0200)]
mtd-utils: use source package name for lzo in PKG_BUILD_DEPENDS

PKG_BUILD_DEPENDS should always refer to source package names.

Signed-off-by: Matthias Schiffer <>
4 years agofirmware-utils: mktplinkfw2: use static board struct for custom values
Rafał Miłecki [Sun, 2 Jul 2017 21:09:46 +0000 (23:09 +0200)]
firmware-utils: mktplinkfw2: use static board struct for custom values

It seems simpler to store all custom (command line set) option values in
a struct identical to the predefined ones. It doesn't require:
1) Having so many global variables
2) Copying data from the predefined boards

Signed-off-by: Rafał Miłecki <>
4 years agofirmware-utils: mktplinkfw2: update firmware header
Rafał Miłecki [Sun, 2 Jul 2017 09:23:52 +0000 (11:23 +0200)]
firmware-utils: mktplinkfw2: update firmware header

1) Be consistent and use tabs
2) Drop FIXME from boot comments - some images use these fields normally

Signed-off-by: Rafał Miłecki <>