openwrt/staging/blocktrron.git
4 years agoath79: move engenius_loader_okli recipe before devices
Adrian Schmutzler [Fri, 25 Sep 2020 18:04:54 +0000 (20:04 +0200)]
ath79: move engenius_loader_okli recipe before devices

Move engenius_loader_okli image recipe in front of all Engenius
devices, so adding new device entries will not have them sorted
before the shared recipe.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agogemini: Bring up DSA switches
Linus Walleij [Wed, 9 Sep 2020 21:10:11 +0000 (23:10 +0200)]
gemini: Bring up DSA switches

First group the interfaces on the DSA switch into the
right LAN/WAN groups. Tested successfully on the
D-Link DIR-685 with the RTL8366RB DSA switch.

The RTL8366RB is DSA custom tagged and now handled
by the kernel tag parser. (Backported.)

The Vitesse switches are not capable of supporting
DSA per-port tagging. We suspect they must be handled
using some custom VLAN set-up.

Cc: Pawel Dembicki <paweldembicki@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
[sorted devices alphabetically]
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
4 years agoipq40xx: fix DTS warning in qcom-ipq4029-gl-s1300.dts
Christian Lamparter [Fri, 25 Sep 2020 17:02:09 +0000 (19:02 +0200)]
ipq40xx: fix DTS warning in qcom-ipq4029-gl-s1300.dts

.dts:226.17-230.4: Warning (spi_bus_reg): /soc/spi@78b6000/spi@1:
SPI bus unit address format error, expected "0"

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
4 years agoipq40xx: fix DTS warning in qcom-ipq4019-cm520-79f.dts
Christian Lamparter [Fri, 25 Sep 2020 16:57:50 +0000 (18:57 +0200)]
ipq40xx: fix DTS warning in qcom-ipq4019-cm520-79f.dts

.dts:121.4-14: Warning (reg_format): /led_spi/led_gpio@0:reg: \
property has invalid length (4 bytes) (#address-cells == 1, #size-cells == 1)
.dtb: Warning (pci_device_bus_num): Failed prerequisite 'reg_format'
.dtb: Warning (i2c_bus_reg): Failed prerequisite 'reg_format'
.dtb: Warning (spi_bus_reg): Failed prerequisite 'reg_format'
.dts:119.24-126.5: Warning (avoid_default_addr_size): /led_spi/led_gpio@0: \
Relying on default #size-cells value

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
4 years agobcm53xx: add Cisco Meraki MR32
Christian Lamparter [Sat, 29 Aug 2020 21:48:00 +0000 (23:48 +0200)]
bcm53xx: add Cisco Meraki MR32

This patch adds support for Cisco Meraki MR32.
The unit was donated by Chris Blake. Thank you!

WARNING:
Only the 1x1:1 abgn Air Marshal WIPS wifi is currently supported by b43:
 b43-phy2: Found PHY: Analog 9, Type 4 (N), Revision 16
 b43-phy2: Found Radio: Manuf 0x17F, ID 0x2057, Revision 9, Version 1
 b43-phy2: Loading firmware version 784.2 (2012-08-15 21:35:19)
 and only as 802.11ABG!

while WIFI1 and WIFI2 (both BCM4352) are not:
 b43-phy0: Broadcom 4352 WLAN found (core revision 42)
 b43-phy0 ERROR: FOUND UNSUPPORTED PHY (Analog 12, Type 11 (AC), Revision 1)

Hardware Highlights:

SoC: Broadcom BCM53016A1 (1 GHz, 2 cores)
RAM: 128 MiB
NAND: 128 MiB Spansion S34ML01G2 (~114 MiB useable)
ETH: 1GBit Ethernet Port - PoE
WIFI1: Broadcom BCM43520 an+ac (2x2:2 - id: 0x4352)
WIFI2: Broadcom BCM43520 bgn (2x2:2 - id: 0x4352)
WIFI3: Broadcom BCM43428 abgn (1x1:1 - id: 43428)

BLE: Broadcom BCM20732 (ttyS1)
LEDS:   1 x Programmable RGB Status LED (driven by a PWM)
1 x White LED (GPIO)
1 x Orange LED Fault Indicator (GPIO)
2 x LAN Activity / Speed LEDs (On the RJ45 Port)
BUTTON: one Reset button
MISC:   AT24C64 8KiB EEPROM (i2c - stores Ethernet MAC + Serial#!)
ina219 hardware monitor (i2c)
Kensington Lock

SERIAL:
WARNING: The serial port needs a TTL/RS-232 3V3 level converter!
The Serial setting is 115200-8-N-1. The board has a populated
right angle 1x4 0.1" pinheader.
The pinout is: VCC, RX, TX, GND. (Use a multimeter)

Flashing needs a serial adaptor (due to the lack of a working dropbear on
the original firmware).

This flashing procedure for the MR32 was tested with firmware:
"r23-149867:150252-aacharya".

0. Create a seperate Ethernet LAN which does not have access to the internet.
   Ideally use 192.168.1.2 for your PC. Make sure to reserve 192.168.1.1 it
   will be used later on by the OpenWrt firmware. The original Meraki firmware
   will likely try to setup the network via DHCP Discovery, so make sure your
   PC is running a DHCP-Server (i.e.: dnsmasq)
   '# dnsmasq -i eth# -F 192.168.1.5,192.168.1.50
   Furthermore, the PC needs a supported ssh/http/ftp server in order to
   retrieve the initramfs + dtb file

1. Disassemble the MR32 device by removing all screws (4 screws are located
   under the 4 rubber feets!) and prying open the plastic covers without
   breaking the plastic retention clips. Once inside, remove all the screws
   on the outer metal shielding to get to the PCB. It's not necessary to
   remove the antennas!

2. Connect the serial cable to the serial header.

3. Partially reassemble the outer metal shielding to ensure that the SoC
   has a proper heat sink.

4. Connect the Ethernet patch cable to the device and the power cable.

5. Wait for the device to boot and enter the root shell.
   (rooting is not discussed in detail here please refer to
   Chris Blake - "pwning the meraki mr18" blog post:
   <https://servernetworktech.com/2016/02/pwning-the-meraki-mr18/>
   (The same method works with the MR32's r23-149867:150252-aacharya)

   Wait for the MR32 to enter the "<Meraki>" prompt and enter:
   <Meraki> odm serial_num read
   (Verify that it matches what's on the S/N Sticker on the back!)
   <Meraki> odm serial_num write Q2XX-XXXX-XXXV
   <Meraki> odm serial_num read
   (Verify that the S/N has changed - and the LED start to flash)

   now to flash the firmware:
   <Meraki> odm firmware part.safe "http://192.168.1.2/mr32-initramfs.bin"

Once OpenWrt booted use sysupgrade to permanently install
OpenWrt. To do this: Download the latest sysupgrade.bin file
for the MR32 to the device and use sysupgrade *sysupgrade.bin
to install it.

WARNING: DO NOT DELETE the "storage" ubi volume!

To flash later MR32 Firmwares like r25-201804051805-G885d6d78-dhow-rel
requires in-circut-i2c tools to access the I2C EEPROM AT24C64 next to
the SoC. The idea is pretty much the same as from Step 5 from above:
Change the serial number to Q2XXXXXXXXXV (should be around 0x7c), then
attach a serial cable, ethernet (but make sure the device can't reach
the internet!) hit "s" (the small s!) during boot to enter the root-shell
and add the following commands to the /storage/config there:

serial_allow_odm true
serial_access_enabled true
serial_access_check false
valid_config true

and then hit exit to let it finish booting.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
4 years agokernel: package bcm53xx i2c module
Christian Lamparter [Sun, 30 Aug 2020 01:04:42 +0000 (03:04 +0200)]
kernel: package bcm53xx i2c module

The BCM5301x SoCs do have i2c. Since this is only
being used by the Meraki MR32, this will be packaged
as a module.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
4 years agokernel: add default for new config symbols
Christian Lamparter [Sun, 30 Aug 2020 01:10:44 +0000 (03:10 +0200)]
kernel: add default for new config symbols

Provide disabled defaults for I2C_SLAVE_EEPROM and IPMB_DEVICE_INTERFACE.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
4 years agobcm53xx: backport uart2 and pcie2 device-nodes
Christian Lamparter [Sat, 29 Aug 2020 21:23:32 +0000 (23:23 +0200)]
bcm53xx: backport uart2 and pcie2 device-nodes

These have made their way into -next. This patch
also includes the portion of the bcm53xx kernel
patch refreshes as the hunks in
302-ARM-dts-BCM5301X-Update-Northstar-pinctrl-binding.patch
moved slightly due to the added nodes.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
4 years agobcm53xx: enable PWM for bcm53xx
Christian Lamparter [Sat, 29 Aug 2020 20:53:18 +0000 (22:53 +0200)]
bcm53xx: enable PWM for bcm53xx

The Meraki MR32 (BCM53016A1) uses the pwm to drive the
tricolor LED. The driver has been available in upstream
for a long time. Only the Device-Tree definition was
missing, but it has been queued recently.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
4 years agobuild: define PWM_SUPPORT arch feature flag
Christian Lamparter [Sat, 29 Aug 2020 21:07:28 +0000 (23:07 +0200)]
build: define PWM_SUPPORT arch feature flag

As the PWM has its own sub-system in the Linux kernel,
I think it should be handled in the same way as GPIO, RTC, PCI...

This patch introduces a specific feature flag "pwm" and the
"leds-pwm" kernel module as the first customer.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
4 years agoscripts: mkits.sh make it possible to specify fdt@#
Christian Lamparter [Sat, 29 Aug 2020 20:48:49 +0000 (22:48 +0200)]
scripts: mkits.sh make it possible to specify fdt@#

Some bootloaders are really keen on just one special
fdt in a multi-image fit image. This is a problem, because
currently this is fixed to "fdt@1".

This patch introduces a new device variable:
DEVICE_FDT_NUM that allows to specify the right
fdt number.

If the value is absent "1" will be chosen.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
4 years agoipq40xx: Add support for Linksys MR8300 (Dallas)
Hans Geiblinger [Wed, 9 Sep 2020 22:45:02 +0000 (18:45 -0400)]
ipq40xx: Add support for Linksys MR8300 (Dallas)

The Linksys MR8300 is based on QCA4019 and QCA9888
and provides three, independent radios.
NAND provides two, alternate kernel/firmware images
with fail-over provided by the OEM U-Boot.

Hardware Highlights:

SoC: IPQ4019 at 717 MHz (4 CPUs)
RAM: 512MB RAM

SoC: Qualcomm IPQ4019 at 717 MHz (4 CPUs)
RAM: 512M DDR3
FLASH: 256 MB NAND (Winbond W29N02GV, 8-bit parallel)
ETH: Qualcomm QCA8075 (4x GigE LAN, 1x GigE Internet Ethernet Jacks)
BTN: Reset and WPS
USB: USB3.0, single port on rear with LED
SERIAL: Serial pads internal (unpopulated)
LED: Four status lights on top + USB LED
WIFI1: 2x2:2 QCA4019 2.4 GHz radio on ch. 1-14
WIFI2:  2x2:2 QCA4019 5 GHz radio on ch. 36-64
WIFI3:  2x2:2 QCA9888 5 GHz radio on ch. 100-165

Support is based on the already supported EA8300.
Key differences:
EA8300 has 256MB RAM where MR8300 has 512MB RAM.
MR8300 has a revised top panel LED setup.

Installation:
"Factory" images may be installed directly through the OEM GUI using
URL: https://ip-of-router/fwupdate.html (Typically 192.168.1.1)

Signed-off-by: Hans Geiblinger <cybrnook2002@yahoo.com>
[copied Hardware-highlights from EA8300. Fixed alphabetical order.
fixed commit subject, removed bogus unit-address of keys,
fixed author (used Signed-off-By to From:) ]
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
4 years agoipq40xx: add support for Luma Home WRTQ-329ACN
Tomasz Maciej Nowak [Sun, 30 Aug 2020 11:28:10 +0000 (13:28 +0200)]
ipq40xx: add support for Luma Home WRTQ-329ACN

Luma Home WRTQ-329ACN, also known as Luma WiFi System, is a dual-band
wireless access point.

Specification
SoC: Qualcomm Atheros IPQ4018
RAM: 256 MB DDR3
Flash: 2 MB SPI NOR
       128 MB SPI NAND
WIFI: 2.4 GHz 2T2R integrated
      5 GHz 2T2R integrated
Ethernet: 2x 10/100/1000 Mbps QCA8075
USB: 1x 2.0
Bluetooth: 1x 4.0 CSR8510 A10, connected to USB bus
LEDS: 16x multicolor LEDs ring, controlled by MSP430G2403 MCU
Buttons: 1x GPIO controlled
EEPROM: 16 Kbit, compatible with AT24C16
UART: row of 4 holes marked on PCB as J19, starting count from the side
      of J19 marking on PCB
      1. GND, 2. RX, 3. TX, 4. 3.3V
      baud: 115200, parity: none, flow control: none

The device supports OTA or USB flash drive updates, unfotunately they
are signed. Until the signing key is known, the UART access is mandatory
for installation. The difficult part is disassembling the casing, there
are a lot of latches holding it together.

Teardown
Prepare three thin, but sturdy, prying tools. Place the device with back
of it facing upwards. Start with the wall having a small notch. Insert
first tool, until You'll feel resistance and keep it there. Repeat the
procedure for neighbouring walls. With applying a pressure, one edge of
the back cover should pop up. Now carefully slide one of the tools to
free the rest of the latches.
There's no need to solder pins to the UART holes, You can use hook clips,
but wiring them outside the casing, will ease debuging and recovery if
problems occur.

Installation
1. Prepare TFTP server with OpenWrt initramfs image.
2. Connect to UART port (don't connect the voltage pin).
3. Connect to LAN port.
4. Power on the device, carefully observe the console output and when
   asked quickly enter the failsafe mode.
5. Invoke 'mount_root'.
6. After the overlayfs is mounted run:
     fw_setenv bootdelay 3
   This will allow to access U-Boot shell.
7. Reboot the device and when prompted to stop autoboot, hit any key.
8. Adjust "ipaddr" and "serverip" addresses in U-Boot environment, use
   'setenv' to do that, then run following commands:
     tftpboot 0x84000000 <openwrt_initramfs_image_name>
     bootm 0x84000000
   and wait till OpenWrt boots.
9. In OpenWrt command line run following commands:
     fw_setenv openwrt "setenv mtdids nand1=spi_nand; setenv mtdparts mtdparts=spi_nand:-(ubi); ubi part ubi; ubi read 0x84000000 kernel; bootm 0x84000000"
     fw_setenv bootcmd "run openwrt"
10. Transfer OpenWrt sysupgrade image to /tmp directory and flash it
    with:
     ubirmvol /dev/ubi0 -N ubi_rootfs
     sysupgrade -v -n /tmp/<openwrt_sysupgrade_image_name>
11. After flashing, the access point will reboot to OpenWrt, then it's
    ready for configuration.

Reverting to OEM firmware
1. Execute installation guide steps: 1, 2, 3, 7, 8.
2. In OpenWrt command line run following commands:
     ubirmvol /dev/ubi0 -N rootfs_data
     ubirmvol /dev/ubi0 -N rootfs
     ubirmvol /dev/ubi0 -N kernel
     ubirename /dev/ubi0 kernel1 kernel ubi_rootfs1 ubi_rootfs
     ubimkvol /dev/ubi0 -S 34 -N kernel1
     ubimkvol /dev/ubi0 -S 320 -N ubi_rootfs1
     ubimkvol /dev/ubi0 -S 264 -N rootfs_data
     fw_setenv bootcmd bootipq
3. Reboot.

Known issues
The LEDs ring doesn't have any dedicated driver or application to control
it, the only available option atm is to manipulate it with 'i2cset'
command. The default action after applying power to device is spinning
blue light. This light will stay active at all time. To disable it
install 'i2c-tools' with opkg and run:
 i2cset -y 2 0x48 3 1 0 0 i
The light will stay off until next cold boot.

Additional information
After completing 5. step from installation guide, one can disable asking
for root password on OEM firmware by running:
 sed -e 's/root:x:/root::/' -i /etc/passwd
This is useful for investigating the OEM firmware. One can look
at the communication between the stock firmware and the vendor's
cloud servers or as a way of making a backup of both flash chips.
The root password seems to be constant across all sold devices.
This is output of 'led_ctl' from OEM firmware to illustrate
possibilities of LEDs ring:

Usage: led_ctl [status | upgrade | force_upgrade | version]
       led_ctl solid    COLOR <brightness>
       led_ctl single   COLOR INDEX <brightness 0 - 15>
       led_ctl spinning COLOR <period 1 - 16 (lower = faster)>
       led_ctl fill     COLOR <period 1 - 16 (lower = faster)>
                                             ( default is 5 )
       led_ctl flashing COLOR <on dur 1 - 128>  <off dur 1 - 128>
                              (default is  34)  ( default is 34 )
       led_ctl pulsing  COLOR
COLOR: red, green, blue, yellow, purple, cyan, white

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
[squash "ipq-wifi: add BDFs for Luma Home WRTQ-329ACN" into commit,
changed ubi volumes for easier integration, slightly reworded
commit message, changed ubi volume layout to use standard names all
around]
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
4 years agoipq40xx: add open-drain support to pinctrl-msm
Brian Norris [Sat, 18 Jul 2020 20:51:47 +0000 (20:51 +0000)]
ipq40xx: add open-drain support to pinctrl-msm

Submitted upstream. Shouldn't affect existing devices, but enables new
device support.

https://lore.kernel.org/linux-gpio/20200703080646.23233-1-computersforpeace@gmail.com/

Currently queued for-next:
https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git/commit/?h=for-next&id=13355ca35cd16f5024655ac06e228b3c199e52a9

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
[refresh patch]
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
4 years agodnsmasq: fix handling ignore condition for dnssec
Yousong Zhou [Fri, 25 Sep 2020 02:28:19 +0000 (10:28 +0800)]
dnsmasq: fix handling ignore condition for dnssec

It should return false to indicate that the option should not be ignored

Fixes 064dc1e8 ("dnsmasq: abort when dnssec requested but not
available")

Reported-by: Sami Olmari <sami@olmari.fi>
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
4 years agodnsmasq: support tftp_unique_root in /etc/config/dhcp
W. Michael Petullo [Thu, 24 Sep 2020 02:42:00 +0000 (21:42 -0500)]
dnsmasq: support tftp_unique_root in /etc/config/dhcp

The TFTP server provided by dnsmasq supports serving a select boot image
based on the client's MAC or IP address. This allows an administrator
to activate this feature in /etc/config/dhcp. Here is an example
/etc/config/dhcp that configures dnsmasq with --tftp-unique-root=mac:

...

config dnsmasq
option enable_tftp 1
option tftp_root /usr/libexec/tftpboot
option tftp_unique_root mac

config boot router
option serveraddress 192.168.1.1
option servername tftp.example.com
option filename openwrt-initramfs-kernel.bin

...

With this configuration, dnsmasq will serve
/usr/libexec/tftpboot/00-11-22-33-44-55/openwrt-initramfs-kernel.bin to
the client with MAC address 00:11:22:33:44:55.

Signed-off-by: W. Michael Petullo <mike@flyn.org>
4 years agovxlan: fix rsc config option
Hans Dedecker [Thu, 24 Sep 2020 20:04:39 +0000 (22:04 +0200)]
vxlan: fix rsc config option

Fix route short circuit config option; fixes commit 036221ce5a899eb99ef1c1623fc9460af00a69e7

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
4 years agokernel: bump 5.4 to 5.4.67
John Audia [Wed, 23 Sep 2020 12:39:37 +0000 (08:39 -0400)]
kernel: bump 5.4 to 5.4.67

All modifications made by update_kernel.sh

Build system: x86_64
Build-tested: ipq806x, lantiq/xrx200 and ath79/generic
Run-tested: ipq806x (R7800), lantiq (Easybox 904 xDSL)

No dmesg regressions, everything functional

Signed-off-by: John Audia <graysky@archlinux.us>
[add test on lantiq]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agovxlan: add extra config options
Hans Dedecker [Mon, 14 Sep 2020 19:55:01 +0000 (21:55 +0200)]
vxlan: add extra config options

Add config options:
  srcportmin/srcportmax : range of port numbers to use as  UDP source ports
                          to communicate to the remote VXLAN tunnel endpoint
  ageing                : lifetime in seconds of FDB entries learnt by the kernel
  maxaddress            : maximum number of FDB entries
  learning              : enable/disable entering unknown source link layer addresses
                          and IP addresses into the VXLAN device FDB.
  rsc                   : enable/disable route short circuit
  proxy                 : enable/disable ARP proxy
  l2miss                : enable/disable netlink LLADDR miss notifications
  l3miss                : enable/disable netlink IP ADDR miss notifications
  gbp                   : enable/disable the Group Policy extension

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
4 years agoramips: add support for Linksys EA7300 v2
J. Scott Heppler [Wed, 23 Sep 2020 02:30:45 +0000 (19:30 -0700)]
ramips: add support for Linksys EA7300 v2

This submission relied heavily on the work of
Santiago Rodriguez-Papa <contact at rodsan.dev>

Specifications:

*  SoC:            MediaTek  MT7621A            (880  MHz  2c/4t)
*  RAM:            Winbond W632GG6MB-12         (256M  DDR3-1600)
*  Flash:          Winbond W29N01HVSINA         (128M  NAND)
*  Eth:            MediaTek  MT7621A            (10/100/1000  Mbps  x5)
*  Radio:          MT7603E/MT7615N              (2.4  GHz  &  5  GHz)
                     4  antennae:  1  internal  and  3  non-deatachable
*  USB:            3.0  (x1)
*  LEDs:
          White    (x1  logo)
          Green    (x6  eth  +  wps)
          Orange   (x5,  hardware-bound)
*  Buttons:
          Reset    (x1)
          WPS      (x1)

Installation:

Flash factory image through GUI.

This might fail due to the A/B nature of this device. When flashing, OEM
firmware writes over the non-booted partition. If booted from 'A',
flashing over 'B' won't work. To get around this, you should flash the
OEM image over itself. This will then boot the router from 'B' and
allow you to flash OpenWRT without problems.

Reverting to factory firmware:

Hard-reset the router three times to force it to boot from 'B.' This is
where the stock firmware resides. To remove any traces of OpenWRT from
your router simply flash the OEM image at this point.

Signed-off-by: J. Scott Heppler <shep971@centurylink.net>
4 years agomt76: update to the latest version
Felix Fietkau [Wed, 23 Sep 2020 06:36:47 +0000 (08:36 +0200)]
mt76: update to the latest version

73301065ac32 mt76: mt7615: reduce maximum VHT MPDU length to 7991
8c47ed12c2be mt76: mt7915: add offchannel condition in switch channel command
1449e602fa10 mt76: Convert to DEFINE_SHOW_ATTRIBUTE
b22977c2727d mt76: mt7663s: remove max_tx_fragments limitation

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agomac80211: update sta connection monitor regression fix
Felix Fietkau [Tue, 22 Sep 2020 11:16:18 +0000 (13:16 +0200)]
mac80211: update sta connection monitor regression fix

Reset the connection monitor on all acked frames

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agotarget: update SPDX license names
Adrian Schmutzler [Tue, 22 Sep 2020 18:49:55 +0000 (20:49 +0200)]
target: update SPDX license names

SPDX moved from GPL-2.0 to GPL-2.0-only and from GPL-2.0+ to
GPL-2.0-or-later. Reflect that in the SPDX license headers.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoscripts: update SPDX license names
Paul Spooren [Tue, 22 Sep 2020 08:46:30 +0000 (22:46 -1000)]
scripts: update SPDX license names

SPDX moved from GPL-2.0 to GPL-2.0-only and from GPL-2.0+ to
GPL-2.0-or-later. Reflect that in the SPDX license headers.

Signed-off-by: Paul Spooren <mail@aparcar.org>
[adjust commit title, update remaining files]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoath79: remove DTS from ATH79 target name
Paul Spooren [Mon, 21 Sep 2020 21:16:09 +0000 (11:16 -1000)]
ath79: remove DTS from ATH79 target name

The legacy ar71xx target is removed and multiple targets use DTS now, so
there is no need to point that out for ATH79 specifically.

Signed-off-by: Paul Spooren <mail@aparcar.org>
4 years agohostapd: ubus: make (B)SSID optional for neighbor report
David Bauer [Sun, 20 Sep 2020 21:49:35 +0000 (23:49 +0200)]
hostapd: ubus: make (B)SSID optional for neighbor report

Make the BSSID and SSID fields optional when configuring a neighbor
report into hostapd.

Both options can now be an empty string. For the BSSID, the first 6 byte
are copied from the neighbor report. For the SSID, the SSID for the
affected hostapd BSS is used.

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agohostapd: ubus: send notification instead of event
David Bauer [Tue, 22 Sep 2020 13:25:57 +0000 (15:25 +0200)]
hostapd: ubus: send notification instead of event

Rafal Milecki pointed out that ubus events are meant for low-level ubus
events only (e.g. addition or removal of an object). Higher level
events should happen as notifications on the ubus object itself.

Dispatch BSS events on the main hostapd ubus object instead of
publishing them as ubus events.

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agomediatek: mt7622: select bluetooth module instead of firmware
Chuanhong Guo [Tue, 22 Sep 2020 13:13:54 +0000 (21:13 +0800)]
mediatek: mt7622: select bluetooth module instead of firmware

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agomediatek: build btmtkuart as a kernel module
Chuanhong Guo [Tue, 22 Sep 2020 13:04:02 +0000 (21:04 +0800)]
mediatek: build btmtkuart as a kernel module

bluetooth on mt7622 needs a firmware to start. It can't be built-in or
it tries to load firmware before rootfs is mounted, and then fails.
build it as a kernel module to fix that.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agohostapd: ubus: fix infinite loop when configuring RRM NR
David Bauer [Mon, 21 Sep 2020 07:18:27 +0000 (09:18 +0200)]
hostapd: ubus: fix infinite loop when configuring RRM NR

The return-code was set, however it was never returned, nor was
the loop interrupted.

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agohostapd: send procd event on BSS update
David Bauer [Fri, 18 Sep 2020 13:53:16 +0000 (15:53 +0200)]
hostapd: send procd event on BSS update

Dispatch ubus events also to procd in order to trigger service reloads
on hostapd updates.

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agohostapd: send ubus event on BSS update
David Bauer [Thu, 17 Sep 2020 23:11:13 +0000 (01:11 +0200)]
hostapd: send ubus event on BSS update

hostapd will emit a ubus event with the eventname hostapd.<ifname>.<event>
when adding, removing or reloading a BSS.

This way, services which install state (for example the RMM neighbor
list) can on-demand reinstall this information for the BSS without
polling this state.

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agoodhcpd: number UCI defaults script
Stijn Segers [Sun, 20 Sep 2020 21:03:32 +0000 (23:03 +0200)]
odhcpd: number UCI defaults script

UCI defaults scripts are supposed to be numbered, but odhcpd's lacked numbering, which
turned out to mess up my custom scripts numbered 9[0-9]_*. The idea is to have high number
(custom) scripts executed last. Jow confirmed numbering is the default case, not the
exception (thanks).

Signed-off-by: Stijn Segers <foss@volatilesystems.org>
4 years agopolicycoreutils: fix ALTERNATIVES install location
Daniel Golle [Mon, 21 Sep 2020 17:51:37 +0000 (18:51 +0100)]
policycoreutils: fix ALTERNATIVES install location

Fixes: 7817c831ef ("policycoreutils: break into smaller packages")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agopolicycoreutils: break into smaller packages
Daniel Golle [Mon, 21 Sep 2020 17:12:24 +0000 (18:12 +0100)]
policycoreutils: break into smaller packages

Instead of vaguely describing dependencies in the package description
actually split-up into individual packages, each with their
dependencies expressed accurately.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agolibselinux: split utility packages and add PKG_LICENSE
Daniel Golle [Mon, 21 Sep 2020 12:47:57 +0000 (13:47 +0100)]
libselinux: split utility packages and add PKG_LICENSE

Split utility packages similar to coreutils in packages feed, adding
ALTERNATIVES for those which are also provided by busybox-selinux.
Also add missing license information.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agomac80211: fix regression in station connection monitor optimization
Felix Fietkau [Mon, 21 Sep 2020 15:56:04 +0000 (17:56 +0200)]
mac80211: fix regression in station connection monitor optimization

When the nulldata frame was acked, the probe send count needs to be reset,
otherwise it will keep increasing until the connection is considered dead,
even though it fine.

Reported-by: Georgi Valkov <gvalkov@abv.bg>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agozram-swap: explicitly use mkswap/swapon/swapoff from /sbin
Rui Salvaterra [Fri, 14 Aug 2020 12:21:22 +0000 (13:21 +0100)]
zram-swap: explicitly use mkswap/swapon/swapoff from /sbin

The required BusyBox applets are enabled by default, so we can rely on them
being present in the system. This way, we make sure there are no conflicts
with less featured variants of these same applets which might also be
present in the system.

Fixes: 0bd7dfa3ed60 ("zram-swap: enable swap discard")
Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
[wrap commit description]
Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agomac80211: select the first available channel for 5GHz interfaces
Davide Fioravanti [Thu, 17 Sep 2020 13:40:27 +0000 (15:40 +0200)]
mac80211: select the first available channel for 5GHz interfaces

Some 5GHz wifi interfaces, especially in Tri-band routers, can't use
channel 36. In these cases, the default configuration for 5GHz
interfaces, once enabled, doesn't work.

This patch selects the first non-disabled channel for 5GHz interfaces.

Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com>
4 years agomediatek: mt7623: use bash for generating bootable images
David Woodhouse [Tue, 8 Sep 2020 08:26:34 +0000 (09:26 +0100)]
mediatek: mt7623: use bash for generating bootable images

It turns out that 'echo -e' isn't portable; it doesn't work in the dash
builtin echo and Ubuntu users are complaining.

I can't even get octal (specified by POSIX) to work consistently because
those  variants of 'echo' which *do* support -e don't seem to interpret
octalwithout it.

I could switch to /bin/echo but using -e with that isn't actually
portable *either* even though it works today.

For now just stick with bash, and use its builtin. We may end up using
something else entirely; perhaps perl.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
4 years agomediatek: fix missing pause on switch port for Banana Pi R2
David Woodhouse [Tue, 8 Sep 2020 08:26:33 +0000 (09:26 +0100)]
mediatek: fix missing pause on switch port for Banana Pi R2

This causes rx drops when running iperf.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
4 years agomediatek: mt7623n-preloader: add preloader for Banana Pi R64
David Woodhouse [Tue, 8 Sep 2020 08:26:32 +0000 (09:26 +0100)]
mediatek: mt7623n-preloader: add preloader for Banana Pi R64

We want to be able to make full system images for this system too, just
as we now can for the MT7623 platforms.

The package directory (mt7623n) is now a bit misnamed as it's overly
specific, but the precise set of platforms which we support this way
is evolving and we'll fix it up when the dust settles and we know what
nomenclature makes most sense.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
4 years agoipq806x: fix support of Edgecore ECW5410 support
Adrian Schmutzler [Sat, 19 Sep 2020 11:16:52 +0000 (13:16 +0200)]
ipq806x: fix support of Edgecore ECW5410 support

This fixes several stylistic and functional errors of the recently
added Edgecore ECW5410:

  - fix call in 11-ath10k-caldata
  - use hex notation in 11-ath10k-caldata
  - remove redundant definitions from DTS that are already in DTSI
  - use proper sorting in image/Makefile
  - use DEVICE_VENDOR/DEVICE_MODEL instead of DEVICE_TITLE
  - use SOC instead of DEVICE_DTS

Fixes: 59f0a0fd839e ("ipq806x: add Edgecore ECW5410 support")
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agokernel: bump 5.4 to 5.4.66
John Audia [Thu, 17 Sep 2020 13:51:25 +0000 (09:51 -0400)]
kernel: bump 5.4 to 5.4.66

All modifications made by update_kernel.sh/no manual intervention needed

Run-tested: ipq806x (R7800), ath79 (Archer C7v5), x86/64

No dmesg regressions, everything appears functional

Signed-off-by: John Audia <graysky@archlinux.us>
[add run test from PR]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agokernel: fix mtd partition erase < parent_erasesize writes
John Thomson [Wed, 5 Aug 2020 21:13:54 +0000 (07:13 +1000)]
kernel: fix mtd partition erase < parent_erasesize writes

This bug applied where mtd partition end address,
or erase start address, was not cleanly divisible by parent mtd erasesize.

This error would cause the bits following the end of the partition
to the next erasesize block boundary to be erased,
and this partition-overflow data to be written to the partition erase
address (missing additional partition offset address)
of the mtd (top) parent device.

Fixes: FS#2428
Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au>
Tested-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
[shorten commit title, add Fixes, fix kernel 4.19 as well]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoarm-trusted-firmware-mvebu: add support for espressobin
Andre Heider [Sat, 2 Nov 2019 12:14:08 +0000 (13:14 +0100)]
arm-trusted-firmware-mvebu: add support for espressobin

Use build variants to cover all 11 hardware options [0]:
espressobin-512mb
espressobin-v3-v5-1gb-1cs
espressobin-v3-v5-1gb-1cs-emmc
espressobin-v3-v5-1gb-2cs
espressobin-v3-v5-1gb-2cs-emmc
espressobin-v3-v5-2gb
espressobin-v3-v5-2gb-emmc
espressobin-v7-1gb
espressobin-v7-1gb-emmc
espressobin-v7-2gb
espressobin-v7-2gb-emmc

CLOCKSPRESET is set to CPU_800_DDR_800 for all builds, which is the only
stable configuration. That actually matches what Globalscale shipped as
CPU_1000_DDR_800 combined with kernel versions < v4.19.42. [1][2].

[0] https://github.com/ARM-software/arm-trusted-firmware/blob/master/docs/plat/marvell/armada/build.rst
[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8db82563451f976597ab7b282ec655e4390a4088
[2] https://forum.armbian.com/topic/10335-espressobin-update-to-585-results-in-kernel-panic/?tab=comments#comment-79916

Signed-off-by: Andre Heider <a.heider@gmail.com>
4 years agoarm-trusted-firmware-mvebu: update a3700-utils
Andre Heider [Sun, 30 Aug 2020 04:52:59 +0000 (06:52 +0200)]
arm-trusted-firmware-mvebu: update a3700-utils

Update to current head of the branch A3700_utils-armada-18.12-fixed:
0967979 ddr: Add DDR3 2CS layout for EspressoBin v5 2GB board
486523e ddr: fix typo for ESPRESSObin 2GB layout
490b2b3 TBB: Fix building for Crypto++ 6.0 and later
0141dd1 TBB: Split INCDIR from LIBDIR

Signed-off-by: Andre Heider <a.heider@gmail.com>
4 years agoarm-trusted-firmware-mvebu: update to v2.3
Andre Heider [Wed, 19 Aug 2020 15:54:51 +0000 (17:54 +0200)]
arm-trusted-firmware-mvebu: update to v2.3

Switch to release tarballs and add missing license information while
here.

Signed-off-by: Andre Heider <a.heider@gmail.com>
4 years agoarm-trusted-firmware-mvebu: install to own subdir
Andre Heider [Thu, 20 Aug 2020 05:53:41 +0000 (07:53 +0200)]
arm-trusted-firmware-mvebu: install to own subdir

Lift the dependency on the build order, where flash-image.bin may be missing
from the u-boot dir.

While at it, also install the uart images for rescue purposes.

Signed-off-by: Andre Heider <a.heider@gmail.com>
4 years agoarm-trusted-firmware-mvebu: fix compiler spam
Andre Heider [Thu, 20 Aug 2020 05:51:41 +0000 (07:51 +0200)]
arm-trusted-firmware-mvebu: fix compiler spam

Gets rid of these warnings:
cc1: note: someone does not honour COPTS correctly, passed 0 times

Signed-off-by: Andre Heider <a.heider@gmail.com>
4 years agoarm-trusted-firmware-mvebu: reuse default prepare target
Andre Heider [Wed, 19 Aug 2020 18:30:25 +0000 (20:30 +0200)]
arm-trusted-firmware-mvebu: reuse default prepare target

Don't wipe internal state files, fixes e.g. refreshing patches.

Signed-off-by: Andre Heider <a.heider@gmail.com>
4 years agouboot-mvebu: add support for espressobin
Andre Heider [Sat, 2 Nov 2019 12:14:08 +0000 (13:14 +0100)]
uboot-mvebu: add support for espressobin

This builds two u-boot binaries: one for boards without eMMC and one
with.

Signed-off-by: Andre Heider <a.heider@gmail.com>
4 years agouboot-mvebu: update to v2020.10-rc4
Andre Heider [Wed, 19 Aug 2020 15:54:58 +0000 (17:54 +0200)]
uboot-mvebu: update to v2020.10-rc4

TODO: switch to release v2020.10 once released.

Remove one merged patch, refresh the rest.

Signed-off-by: Andre Heider <a.heider@gmail.com>
4 years agobpftools: support NLS, fix ppc build and update to 5.8.9
Tony Ambardar [Sun, 30 Aug 2020 22:54:51 +0000 (15:54 -0700)]
bpftools: support NLS, fix ppc build and update to 5.8.9

With global NLS support enabled (CONFIG_BUILD_NLS), the linked libelf.so
and libbfd.so libraries will depend on libintl.so. Import the nls.mk helper
to set library prefixes and flags accordingly, and also conditionally add
"-lintl" as link-time library.

Fix a build error on ppc due to a EDEADLOCK redefinition in errno.h.

Use upstream stable kernel 5.8.9, and fix overriding of feature detection
to only allow/hide detected features. Also refresh existing patches.

Fixes: 2f0d672088 ("bpftools: add utility and library packages supporting
eBPF usage")

Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
4 years agofirmware: intel-microcode: update to 20200616
Tan Zien [Tue, 8 Sep 2020 15:52:23 +0000 (23:52 +0800)]
firmware: intel-microcode: update to 20200616

intel-microcode (3.20200616.1)

  * New upstream microcode datafile 20200616
    + Downgraded microcodes (to a previously shipped revision):
      sig 0x000406e3, pf_mask 0xc0, 2019-10-03, rev 0x00d6, size 101376
      sig 0x000506e3, pf_mask 0x36, 2019-10-03, rev 0x00d6, size 101376
  * Works around hangs on boot on Skylake-U/Y and Skylake Xeon E3,
  * This update *removes* the SRBDS mitigations from the above processors
  * Note that Debian had already downgraded 0x406e3 in release 3.20200609.2

intel-microcode (3.20200609.2)

  * REGRESSION FIX: 0x406e3: rollback to rev 0xd6 and document regression
    * Microcode rollbacks (closes: LP#1883002)
      sig 0x000406e3, pf_mask 0xc0, 2019-10-03, rev 0x00d6, size 101376
    * THIS REMOVES THE SECURITY FIXES FOR SKYLAKE-U/Y PROCESSORS
    * Avoid hangs on boot on (some?) Skylake-U/Y processors,
  * ucode-blacklist: blacklist models 0x8e and 0x9e from late-loading,
    just in case.  Note that Debian does not do late loading by itself.
    Refer to LP#1883002 for the report, 0x806ec hangs upon late load.

intel-microcode (3.20200609.1)

  * SECURITY UPDATE
    * For most processors: SRBDS and/or VRDS, L1DCES mitigations depending
      on the processor model
    * For Skylake HEDT and Skylake Xeons with signature 0x50654: VRDS and
      L1DCES mitigations, plus mitigations described in the changelog entry
      for package release 3.20191112.1.
    * Expect some performance impact, the mitigations are enabled by
      default.  A Linux kernel update will be issued that allows one to
      selectively disable the mitigations.
  * New upstream microcode datafile 20200609
    * Implements mitigation for CVE-2020-0543 Special Register Buffer Data
      Sampling (SRBDS), INTEL-SA-00320, CROSSTalk
    * Implements mitigation for CVE-2020-0548 Vector Register Data Sampling
      (VRDS), INTEL-SA-00329
    * Implements mitigation for CVE-2020-0549 L1D Cache Eviction Sampling
      (L1DCES), INTEL-SA-00329
    * Known to fix the regression introduced in release 2019-11-12 (sig
      0x50564, rev. 0x2000065), which would cause several systems with
      Skylake Xeon, Skylake HEDT processors to hang while rebooting
    * Updated Microcodes:
      sig 0x000306c3, pf_mask 0x32, 2019-11-12, rev 0x0028, size 23552
      sig 0x000306d4, pf_mask 0xc0, 2019-11-12, rev 0x002f, size 19456
      sig 0x00040651, pf_mask 0x72, 2019-11-12, rev 0x0026, size 22528
      sig 0x00040661, pf_mask 0x32, 2019-11-12, rev 0x001c, size 25600
      sig 0x00040671, pf_mask 0x22, 2019-11-12, rev 0x0022, size 14336
      sig 0x000406e3, pf_mask 0xc0, 2020-04-27, rev 0x00dc, size 104448
      sig 0x00050653, pf_mask 0x97, 2020-04-24, rev 0x1000157, size 32768
      sig 0x00050654, pf_mask 0xb7, 2020-04-24, rev 0x2006906, size 34816
      sig 0x00050656, pf_mask 0xbf, 2020-04-23, rev 0x4002f01, size 52224
      sig 0x00050657, pf_mask 0xbf, 2020-04-23, rev 0x5002f01, size 52224
      sig 0x000506e3, pf_mask 0x36, 2020-04-27, rev 0x00dc, size 104448
      sig 0x000806e9, pf_mask 0x10, 2020-04-27, rev 0x00d6, size 103424
      sig 0x000806e9, pf_mask 0xc0, 2020-04-27, rev 0x00d6, size 103424
      sig 0x000806ea, pf_mask 0xc0, 2020-04-27, rev 0x00d6, size 103424
      sig 0x000806eb, pf_mask 0xd0, 2020-04-27, rev 0x00d6, size 103424
      sig 0x000806ec, pf_mask 0x94, 2020-04-23, rev 0x00d6, size 103424
      sig 0x000906e9, pf_mask 0x2a, 2020-04-23, rev 0x00d6, size 103424
      sig 0x000906ea, pf_mask 0x22, 2020-04-27, rev 0x00d6, size 102400
      sig 0x000906eb, pf_mask 0x02, 2020-04-23, rev 0x00d6, size 103424
      sig 0x000906ec, pf_mask 0x22, 2020-04-27, rev 0x00d6, size 102400
      sig 0x000906ed, pf_mask 0x22, 2020-04-23, rev 0x00d6, size 103424
  * Restores the microcode-level fixes that were reverted by release
    3.20191115.2 for sig 0x50654 (Skylake Xeon, Skylake HEDT)

intel-microcode (3.20200520.1)

  * New upstream microcode datafile 20200520
    + Updated Microcodes:
      sig 0x000206d6, pf_mask 0x6d, 2020-03-04, rev 0x0621, size 18432
      sig 0x000206d7, pf_mask 0x6d, 2020-03-24, rev 0x071a, size 19456

intel-microcode (3.20200508.1)

  * New upstream microcode datafile 20200508
    + Updated Microcodes:
      sig 0x000706e5, pf_mask 0x80, 2020-03-12, rev 0x0078, size 107520
    * Likely fixes several critical errata on IceLake-U/Y causing system
      hangs

intel-microcode (3.20191115.2)

  * Microcode rollbacks (closes: #946515, LP#1854764):
    sig 0x00050654, pf_mask 0xb7, 2019-07-31, rev 0x2000064, size 33792
  * Avoids hangs on warm reboots (cold boots work fine) on HEDT and
    Xeon processors with signature 0x50654.

intel-microcode (3.20191115.1)

  * New upstream microcode datafile 20191115
    + Updated Microcodes:
      sig 0x000406e3, pf_mask 0xc0, 2019-10-03, rev 0x00d6, size 101376
      sig 0x000506e3, pf_mask 0x36, 2019-10-03, rev 0x00d6, size 101376
      sig 0x000806e9, pf_mask 0x10, 2019-10-15, rev 0x00ca, size 100352
      sig 0x000806e9, pf_mask 0xc0, 2019-09-26, rev 0x00ca, size 100352
      sig 0x000806ea, pf_mask 0xc0, 2019-10-03, rev 0x00ca, size 100352
      sig 0x000806eb, pf_mask 0xd0, 2019-10-03, rev 0x00ca, size 100352
      sig 0x000806ec, pf_mask 0x94, 2019-10-03, rev 0x00ca, size 100352
      sig 0x000906e9, pf_mask 0x2a, 2019-10-03, rev 0x00ca, size 100352
      sig 0x000906ea, pf_mask 0x22, 2019-10-03, rev 0x00ca, size 99328
      sig 0x000906eb, pf_mask 0x02, 2019-10-03, rev 0x00ca, size 100352
      sig 0x000906ec, pf_mask 0x22, 2019-10-03, rev 0x00ca, size 99328
      sig 0x000906ed, pf_mask 0x22, 2019-10-03, rev 0x00ca, size 100352
      sig 0x000a0660, pf_mask 0x80, 2019-10-03, rev 0x00ca, size 91136

intel-microcode (3.20191113.1)

  * New upstream microcode datafile 20191113
    + SECURITY UPDATE, refer to the 3.20191112.1 changelog entry for details
      Adds microcode update for CFL-S (Coffe Lake Desktop)
      INTEL-SA-00270, CVE-2019-11135, CVE-2019-0117
    + Updated Microcodes (previously removed):
      sig 0x000906ec, pf_mask 0x22, 2019-08-14, rev 0x00c6, size 99328

intel-microcode (3.20191112.1)

  * New upstream microcode datafile 20191112
    + SECURITY UPDATE
      - Implements MDS mitigation (TSX TAA), INTEL-SA-00270, CVE-2019-11135
      - Implements TA Indirect Sharing mitigation, and improves the
        MDS mitigation (VERW)
      - Fixes FIVR (Xeon Voltage Modulation) vulnerability, INTEL-SA-00271,
        CVE-2019-11139
      - Fixes SGX vulnerabilities and errata (including CVE-2019-0117)
    + CRITICAL ERRATA FIXES
      - Fixes Jcc conditional jump macro-fusion erratum (Skylake+, except
        Ice Lake), causes a 0-3% typical perforance hit (can be as bad
        as 10%).  But ensures the processor will actually jump where it
        should, so don't even *dream* of not applying this fix.
      - Fixes AVX SHUF* instruction implementation flaw erratum
    + Removed Microcodes:
      sig 0x000906ec, pf_mask 0x22, 2019-02-14, rev 0x00ae, size 98304
    + New Microcodes:
      sig 0x000406d8, pf_mask 0x01, 2019-09-16, rev 0x012d, size 84992
      sig 0x00050656, pf_mask 0xbf, 2019-09-05, rev 0x400002c, size 51200
      sig 0x00060663, pf_mask 0x80, 2018-04-17, rev 0x002a, size 87040
      sig 0x000706a8, pf_mask 0x01, 2019-08-29, rev 0x0016, size 74752
      sig 0x000706e5, pf_mask 0x80, 2019-09-05, rev 0x0046, size 102400
      sig 0x000a0660, pf_mask 0x80, 2019-08-27, rev 0x00c6, size 91136
    + Updated Microcodes:
      sig 0x000406e3, pf_mask 0xc0, 2019-08-14, rev 0x00d4, size 101376
      sig 0x00050654, pf_mask 0xb7, 2019-09-05, rev 0x2000065, size 34816
      sig 0x00050657, pf_mask 0xbf, 2019-09-05, rev 0x500002c, size 51200
      sig 0x000506e3, pf_mask 0x36, 2019-08-14, rev 0x00d4, size 101376
      sig 0x000706a1, pf_mask 0x01, 2019-08-28, rev 0x0032, size 73728
      sig 0x000806e9, pf_mask 0x10, 2019-08-14, rev 0x00c6, size 99328
      sig 0x000806e9, pf_mask 0xc0, 2019-08-14, rev 0x00c6, size 100352
      sig 0x000806ea, pf_mask 0xc0, 2019-08-14, rev 0x00c6, size 99328
      sig 0x000806eb, pf_mask 0xd0, 2019-08-14, rev 0x00c6, size 100352
      sig 0x000806ec, pf_mask 0x94, 2019-08-14, rev 0x00c6, size 100352
      sig 0x000906e9, pf_mask 0x2a, 2019-08-14, rev 0x00c6, size 100352
      sig 0x000906ea, pf_mask 0x22, 2019-08-14, rev 0x00c6, size 99328
      sig 0x000906eb, pf_mask 0x02, 2019-08-14, rev 0x00c6, size 100352
      sig 0x000906ed, pf_mask 0x22, 2019-08-14, rev 0x00c6, size 99328
    + Updated Microcodes (previously removed):
      sig 0x00050653, pf_mask 0x97, 2019-09-09, rev 0x1000151, size 32768

Signed-off-by: Tan Zien <nabsdh9@gmail.com>
4 years agofirmware: amd64-microcode: update to 20191218
Tan Zien [Tue, 8 Sep 2020 15:41:44 +0000 (23:41 +0800)]
firmware: amd64-microcode: update to 20191218

amd64-microcode (3.20191218.1)

  * New microcode update packages from AMD upstream:
    + Removed Microcode updates (known to cause issues):
      sig 0x00830f10, patch id 0x08301025, 2019-07-11
  * README: update for new release

amd64-microcode (3.20191021.1)

  * New microcode update packages from AMD upstream:
    + New Microcodes:
      sig 0x00830f10, patch id 0x08301025, 2019-07-11
    + Updated Microcodes:
      sig 0x00800f12, patch id 0x08001250, 2019-04-16
      sig 0x00800f82, patch id 0x0800820d, 2019-04-16

amd64-microcode (3.20181128.1)

  * New microcode update packages from AMD upstream:
    + New Microcodes:
      sig 0x00800f82, patch id 0x0800820b, 2018-06-20

Signed-off-by: Tan Zien <nabsdh9@gmail.com>
4 years agokernel: drop kmod-bmp085, kmod-bmp085-i2c and kmod-bmp085-spi
Aleksander Jan Bajkowski [Sun, 6 Sep 2020 21:28:54 +0000 (23:28 +0200)]
kernel: drop kmod-bmp085, kmod-bmp085-i2c and kmod-bmp085-spi

CONFIG_BMP085* is replaced by CONFIG_BMP280 since 4.9[1] and this package is empty.
OpenWRT also has kmod-iio-bmp280* package and we can drop old packages.

1. [ misc: retire the old BMP085 driver ]
(https://github.com/torvalds/linux/commit/832c8232dd7be4977ae9fb9c7cbc4decce19a8fc#diff-5000d544d790c669405eb2a6775e5981)

Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
4 years agokernel: add module support Intel Ethernet Controller I225 Series
Tan Zien [Thu, 10 Sep 2020 17:21:23 +0000 (01:21 +0800)]
kernel: add module support Intel Ethernet Controller I225 Series

add kernel module igc support Intel Ethernet Controller I225 Series.

Signed-off-by: Tan Zien <nabsdh9@gmail.com>
4 years agotools/libressl: update to 3.2.1
Yuan Tao [Sat, 12 Sep 2020 19:50:36 +0000 (03:50 +0800)]
tools/libressl: update to 3.2.1

libressl update to 3.2.1
Delete 001-dont-build-tests-man.patch
Add configure args :
--enable-static
--disable-tests

The patch (001-dont-build-tests-man.patch) no longer works with the current version.
Follow the patch notes:
Adding the --enable-static and --disable-tests parameters should replace the patch.

Signed-off-by: Yuan Tao <ty@wevs.org>
4 years agomt76: update to the latest version
Felix Fietkau [Fri, 18 Sep 2020 15:28:30 +0000 (17:28 +0200)]
mt76: update to the latest version

3b946a6dc588 mt76: dma: cache dma map address/len in struct mt76_queue_entry
c4c8b6a20d3b mt76: mt7915: fix HE BSS info
15391c1c947f mt76: fix tx hang on non-AQL frame limit
72c8a81e64e8 mt76: mt7915: fix encap offload multicast traffic with 4-address mode
69b3f868d14b mt76: mt7915: use napi_consume_skb to bulk-free tx skbs
5f080033ec7d mt76: move txwi handling code to dma.c, since it is mmio specific
b1f425686125 mt76: mt7915: fix VHT LDPC capability
8f48855f5d14 mt76: mt7915: simplify mt7915_lmac_mapping
cfaf40858718 mt76: mt7915: fix queue/tid mapping for airtime reporting
115b62efac21 mt76: remove retry_q from struct mt76_txq and related code
e22c65cdc585 mt76: mt7915: simplify checks for the 802.3 offload path
bab866a01e4f mt76: mt7915: fix unexpected firmware mode
0fc3c5eb61d0 mt76: dma: queue more rx frames internally before passing them to the stack
130e5de09364 Revert "mt76: dma: queue more rx frames internally before passing them to the stack"
e3af31409d41 update mt7915 firmware to the latest version
e2b8a4ec9891 mt76: testmode: add a limit for queued tx_frames packets
146488631f7b mt76: mt7615: Remove set but unused variable 'index'
0b7d2b76288e mt76: mt7615: fix VHT LDPC capability
848f4a6334a8 mt76: mt7622: fix fw hang on mt7622
0a955d944bd0 mt76: mt7663s: do not use altx for ctl/mgmt traffic
13b96411513b mt76: mt7663s: split mt7663s_tx_update_sched in mt7663s_tx_{pick,update}_quota
d62ba15b1bbf mt76: mt7663s: introduce __mt7663s_xmit_queue routine
fdf14d1b6aec mt76: move pad estimation out of mt76_skb_adjust_pad
d048f8e87ba0 mt76: mt7663s: fix possible quota leak in mt7663s_refill_sched_quota
979c0fdc5d27 mt76: mt7663s: introduce sdio tx aggregation
56e77a3a3ade mt76: mt7663: check isr read return value in mt7663s_rx_work
f96cffa03e57 mt76: mt7615: unlock dfs bands
1ccd31bbe1f4 mt76: Use fallthrough pseudo-keyword
448cd2d36ee2 mt76: mt76x0: Move tables used only by init.c to their own header file
17ba3432f5af Revert "mt76: mt7615: unlock dfs bands"
fee1f4a8e87f mt76: mt7915: fix possible memory leak in mt7915_mcu_add_beacon
5b78e5292777 mt76: Fix unsigned expressions compared with zero
ec84891a4d23 mt76: mt7915: convert to use le16_add_cpu()

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agorpcd: update to the latest master
Rafał Miłecki [Fri, 18 Sep 2020 06:18:53 +0000 (08:18 +0200)]
rpcd: update to the latest master

3fea655 rc: support init.d scripts with START=0

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
4 years agouhttpd: update to the latest master
Rafał Miłecki [Fri, 18 Sep 2020 06:13:35 +0000 (08:13 +0200)]
uhttpd: update to the latest master

47c34bd ubus: add ACL support for "subscribe" request

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
4 years agoath79/mikrotik: fix soft_config location for SXT 5n
Roger Pueyo Centelles [Mon, 31 Aug 2020 13:15:15 +0000 (15:15 +0200)]
ath79/mikrotik: fix soft_config location for SXT 5n

The soft_config partition for these devices lays between 0xe000 and
0xf000 (as correctly detected by the RouterBoard platform driver),
before the bootloader2 partition which starts at 0x10000.

This commit correctly sorts the partitions, fixing the parsing error.

Fixes: FS#3314
Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
Reviewed-by: Thibaut VARÈNE <hacks@slashdirt.org>
4 years agolantiq: use uniform "u-boot-env" mtd label
Martin Schiller [Tue, 15 Sep 2020 06:24:22 +0000 (08:24 +0200)]
lantiq: use uniform "u-boot-env" mtd label

This is the most popular choice in the linux kernel tree.

Within OpenWrt, this change will establish consistency with ath79
and ramips targets.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
[extend commit message, include netgear_dm200, update base-files]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agomvebu: image: add check for fdt_add_r and kernel_addr_r variables
Vladimir Vid [Mon, 14 Sep 2020 15:24:24 +0000 (17:24 +0200)]
mvebu: image: add check for fdt_add_r and kernel_addr_r variables

fdt_addr and kernel_addr variables are getting obsolete in the mainline
u-boot in favor of fdt_addr_r and kernel_addr_r.

By checking if the new variables exist, we can make sure that devices with newer
version of u-boot will work while not breaking support for the existing ones.

Signed-off-by: Vladimir Vid <vladimir.vid@sartura.hr>
Acked-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
4 years agomediatek: fix hardware flow offload
Felix Fietkau [Thu, 17 Sep 2020 17:14:13 +0000 (19:14 +0200)]
mediatek: fix hardware flow offload

Add support for dealing with DSA ports

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agousbutils: update USB IDs to the latest version
David Bauer [Wed, 16 Sep 2020 23:23:38 +0000 (01:23 +0200)]
usbutils: update USB IDs to the latest version

Update from 0.321 to 0.339

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agolibjson-c: update to 0.15
David Bauer [Wed, 16 Sep 2020 23:02:40 +0000 (01:02 +0200)]
libjson-c: update to 0.15

Drop patches as they've been upstreamed:
 * 001-Fix-CVE-2020-12762.patch

Refresh patches:
 * 000-libm.patch

Add patch to avoid build failure due to missing docs in tarball.

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agoipq40xx: enable FRITZRepeater 3000 ports on switch
David Bauer [Tue, 15 Sep 2020 09:19:14 +0000 (11:19 +0200)]
ipq40xx: enable FRITZRepeater 3000 ports on switch

The ethernet ports on the AVM FRITZRepeater 3000 are not separated
between LAN and WAN in the stock firmware. OpenWrt currently abstracts
port 4 as eth0 and port 5 as eth1, bridging them in the kernel.

This patch adjusts the GMAC port bitmasks and default bitmask for ar40xx
to bridge them on the switch, avoiding traffic on both ports to pass
thru the CPU.

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agoath79: add support for Ubiquiti UniFi AP Pro
David Bauer [Fri, 11 Sep 2020 16:32:05 +0000 (18:32 +0200)]
ath79: add support for Ubiquiti UniFi AP Pro

This adds support for the Ubiquiti UniFi AP Pro to the ath79 target. The
device was previously supported on the now removed ar71xx target.

SoC   Atheros AR9344
WiFi  Atheros AR9344 & Atheros AR9280
ETH   Atheros AR8327
RAM   128M DDR2
FLASH 16M SPI-NOR

Installation
------------

Follow the Ubiquiti TFTP recovery procedure for this device.

1. Hold down the reset button while connecting power for 10 seconds.
2. Transfer the factory image via TFTP to the AP (192.168.1.20)
3. Wait 2 minutes for the AP to write the firmware to flash. The device
   will automatically reboot to OpenWrt.

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agomac80211: do not allow bigger VHT MPDUs than the hardware supports
Felix Fietkau [Thu, 17 Sep 2020 10:09:23 +0000 (12:09 +0200)]
mac80211: do not allow bigger VHT MPDUs than the hardware supports

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agoipq806x: sort entries in lib/upgrade/platform.sh
Adrian Schmutzler [Thu, 17 Sep 2020 11:03:18 +0000 (13:03 +0200)]
ipq806x: sort entries in lib/upgrade/platform.sh

Apply alphabetic sorting like in the other files.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agotreewide: remove empty default cases
Adrian Schmutzler [Thu, 17 Sep 2020 10:46:19 +0000 (12:46 +0200)]
treewide: remove empty default cases

There is no apparent reason to have an empty default case.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoipq806x: sort entries in 02_network
Adrian Schmutzler [Thu, 17 Sep 2020 10:33:45 +0000 (12:33 +0200)]
ipq806x: sort entries in 02_network

Apply alphabetic sorting like in the other files.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agozram-swap: default to lzo instead of lzo-rle compression
Rui Salvaterra [Thu, 30 Jul 2020 12:49:18 +0000 (13:49 +0100)]
zram-swap: default to lzo instead of lzo-rle compression

On devices with small amounts of RAM, zram-swap fails to initialise due to the
default compression algorithm (lzo-rle). Startup example on an AirGrid M2, with
32 MiB of RAM:

root@airgrid:/etc/config# /etc/init.d/zram start
zram_start: activating '/dev/zram0' for swapping (13 MegaBytes)
zram_reset: enforcing defaults via /sys/block/zram0/reset
sh: write error: Out of memory
mkswap: image is too small
swapon: /dev/zram0: Invalid argument
root@airgrid:/etc/config#

Fix this by defaulting to traditional lzo, which works fine and is always
available.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
4 years agoipq40xx: add Edgecore OAP-100 support
John Crispin [Mon, 7 Sep 2020 11:08:41 +0000 (13:08 +0200)]
ipq40xx: add Edgecore OAP-100 support

flashing the unit
* first update to latest edcore FW as per the PDF instructions
* boot the initramfs
  - tftpboot 0x88000000 openwrt-ipq40xx-generic-edgecore_oap100-initramfs-fit-uImage.itb; bootm
* inside the initramfs call the following commiands
  - ubiattach -p /dev/mtd0
  - ubirmvol /dev/ubi0 -n0
  - ubirmvol /dev/ubi0 -n1
  - ubirmvol /dev/ubi0 -n2
* scp the sysupgrade image to the board and call
  - sysupgrade -n openwrt-ipq40xx-generic-edgecore_oap100-squashfs-nand-sysupgrade.bin

Signed-off-by: John Crispin <john@phrozen.org>
4 years agoipq40xx: add Edgecore ECW5211 support
Robert Marko [Mon, 7 Sep 2020 10:50:45 +0000 (12:50 +0200)]
ipq40xx: add Edgecore ECW5211 support

This patch adds support for the Edgecore ECW5211 indoor AP.

Specification:
- SoC: Qualcomm Atheros IPQ4018 ARMv7-A 4x Cortex A-7
- RAM: 256MB DDR3
- NOR Flash: 16MB SPI NOR
- NAND Flash: 128MB MX35LFxGE4AB SPI-NAND
- Ethernet: 2 x 1G via Q8075 PHY connected to ethernet adapter via PSGMII (802.3af POE IN on eth0)
- USB: 1 x USB 3.0 SuperSpeed
- WLAN: Built-in IPQ4018 (2x2 802.11bng, 2x2 802.11 acn)
- CC2540 BLE connected to USB 2.0 port
- Atmel AT97SC3205T I2C TPM

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
4 years agoipq806x: add Edgecore ECW5410 support
Robert Marko [Mon, 7 Sep 2020 10:43:37 +0000 (12:43 +0200)]
ipq806x: add Edgecore ECW5410 support

This patch adds support for the Edgecore ECW5410 indoor AP.

Specification:
- SoC: Qualcomm Atheros IPQ8068 ARMv7 2x Cortex A-15
- RAM: 256MB(225 usable) DDR3
- NOR Flash: 16MB SPI NOR
- NAND Flash: 128MB S34MS01G2 Parallel NAND
- Ethernet: 2 x 1G via 2x AR8033 PHY-s connected directly to GMAC2 and GMAC3 via SGMII (802.3af POE IN on eth0)
- USB: 1 x USB 3.0 SuperSpeed
- WLAN: 2x QCA9994 AC Wawe 2 (1x 2GHz bgn, 1x 5GHz acn)
- CC2540 BLE
- UART console on RJ45 next to ethernet ports exposed.
Its Cisco pin compatible, 115200 8n1 baud.

Installation instructions:
Through stock firmware or initramfs.

1.Connect to console
2. Login with root account, if password is unknown then interrupt the boot with f and reset it in failsafe.
3. Transfer factory image
4. Flash the image with ubiformat /dev/mtd1 -y -f <your factory image path>

This will replace the rootfs2 with OpenWrt, if you are currently running from rootfs2 then simply change /dev/mtd1 to /dev/mtd0

Note

Initramfs:
1.  Connect to console
2.  Transfer the image from TFTP server with tftpboot,
or by using DHCP advertised image with dhcp command.
3. bootm
4. Run ubiformat /dev/mtd1

You need to interrupt the bootloader after rebooting and run:
run altbootcmd

This will switch your active rootfs partition to one you wrote to and boot from it.

So if rootfs1 is active, then it will change it to rootfs2.

This will format the rootfs2 partition, if your active partition is 2 then simply change /dev/mtd1 with /dev/mtd0
If you dont format the partition you will be writing too, then sysupgrade will find existing UBI rootfs and kernel volumes and update those.
This will result in wrong ordering and OpenWrt will panic on boot.

5. Transfer sysupgrade image
6. Flash with sysupgrade -n.

Note that sysupgrade will write the image to rootfs partition that is not currently in use.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
4 years agoipq806x: import bootargs-append from IPQ40xx
Robert Marko [Mon, 18 May 2020 10:35:15 +0000 (12:35 +0200)]
ipq806x: import bootargs-append from IPQ40xx

This imports the patch that adds bootargs-append support from IPQ40xx.

This way we can append additional boot arguments from DTS instead of only being able to overwrite them.

This way dual firmware devices can use the rootfs number that bootloader passes to decide from what to boot.
But we still need to append console info and ubi root info.

This is used by Edgecore ECW5410.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
4 years agoipq806x: add GSBI1 node to DTSI
Robert Marko [Mon, 18 May 2020 10:28:37 +0000 (12:28 +0200)]
ipq806x: add GSBI1 node to DTSI

IPQ806x series also has a GSBI1 with UART and I2C peripherals, so lets add the node for it.

Its needed for Edgecore ECW5410 which uses the UART from GSBI1 as second UART for Bluetooth.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
4 years agoipq806x: 5.4: enable AT803X driver
Robert Marko [Mon, 18 May 2020 10:25:20 +0000 (12:25 +0200)]
ipq806x: 5.4: enable AT803X driver

Its needed for Edgecore ECW5410 which does not use QCA8337 switch,
but rather 2x AR8033 PHY-s directly connected to GMAC-s.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
4 years agofirmware: ipq-wifi: enable use on IPQ806x
Robert Marko [Mon, 18 May 2020 10:34:06 +0000 (12:34 +0200)]
firmware: ipq-wifi: enable use on IPQ806x

This enables the ipq-wifi package to be used on IPQ806x target.
Its needed for boards using a different BDF than one shipped in the upstream board-2.bin.

Currently needed for Edgecore ECW5410.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
4 years agolantiq: remove trailing whitespaces in dts
Aleksander Jan Bajkowski [Thu, 10 Sep 2020 19:42:37 +0000 (21:42 +0200)]
lantiq: remove trailing whitespaces in dts

Remove trailing whitespaces in dts files.

Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
4 years agomac80211: allow bigger A-MSDU sizes in VHT, even if HT is limited
Felix Fietkau [Wed, 16 Sep 2020 16:47:52 +0000 (18:47 +0200)]
mac80211: allow bigger A-MSDU sizes in VHT, even if HT is limited

Improves tx throughput when connecting to some APs (e.g. Asus RT-AC88U)

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agoath79: fix button types for WZR-HP-AG300H and WZR-600DHP
Adrian Schmutzler [Wed, 16 Sep 2020 15:34:35 +0000 (17:34 +0200)]
ath79: fix button types for WZR-HP-AG300H and WZR-600DHP

Router and Movie "keys" are actually switches for both devices
according to the manual. This has been properly implemented in ar71xx,
but overlooked when porting to ath79.

Fixes: 480bf2827392 ("ath79: add support for Buffalo WZR-HP-AG300H")
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoath79: add support for Buffalo WZR-600DHP
Adrian Schmutzler [Sun, 13 Sep 2020 13:27:49 +0000 (15:27 +0200)]
ath79: add support for Buffalo WZR-600DHP

The hardware of this device seems to be identical to WZR-HP-AG300H.
It was already implemented as a clone in ar71xx.

Specification:
- 680 MHz CPU (Qualcomm Atheros AR7161)
- 128 MiB RAM
- 32 MiB Flash
- WiFi 5 GHz a/n
- WiFi 2.4 GHz b/g/n
- 5x 1000Base-T Ethernet
- 1x USB 2.0

Installation of OpenWRT from vendor firmware:
- Connect to the Web-interface at http://192.168.11.1
- Go to “Administration” → “Firmware Upgrade”
- Upload the OpenWrt factory image

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoath79: use common device definition for Buffalo devices
Adrian Schmutzler [Sun, 13 Sep 2020 12:48:26 +0000 (14:48 +0200)]
ath79: use common device definition for Buffalo devices

The Buffalo devices in ath79 share their image generation code,
so let's create a shared Device definition for them.

Since most of them use BUFFALO_HWVER := 3, this is moved as
default to the shared definition as well.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoath79: consistently use "info" label for default-mac partition
Adrian Schmutzler [Sat, 12 Sep 2020 18:54:04 +0000 (20:54 +0200)]
ath79: consistently use "info" label for default-mac partition

The tp-link safeloader devices typically contain a partition
"default-mac" which stores the MAC addresses. It is followed by other
partitions containing device info, like

  {"default-mac", 0x610000, 0x00020},
  {"pin", 0x610100, 0x00020},
  {"product-info", 0x611100, 0x01000},

In DTS, we typically assign a 0x10000 sized partition for these,
which is mostly labelled "mac" or "info". In rarer cases, the
partitions have been enclosed in a larger "tplink" or "config"
partition.

However, when comparing different devices, the implementation appears
relatively arbitrary at the moment.
Thus, this PR aims at harmonizing these partitions by always using
the name "info" for the DTS partition containing "default-mac".
"info" is preferred over "mac" as we never just have "default-mac"
alone, but always some other device-info partitions as well.

While at it, this also establishes a similar partitioning for the
few devices where the "info" partitions are part of a bigger
unspecific "config" partition or similar.

Besides the harmonization itself, this also allows to merge a few
cases in 11-ath10k-caldata.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agobase-files: drop default setup for vconfig
Adrian Schmutzler [Thu, 10 Sep 2020 15:24:52 +0000 (17:24 +0200)]
base-files: drop default setup for vconfig

vconfig has been disabled by default since 2015 [1] and there are
no remaining uses in entire OpenWrt trunk. However, we still set up
a specific name_type for it during boot.

While this setup is properly implemented to be only triggered when
vconfig is present, it still seems anachronistic and unnecessary
to set up a standard for a tool that is not used anymore.

Therefore, this removes the set_name_type initialization and leaves
it for those people actually using the tool to configure it as needed.

[1] 899a23227e55 ("busybox: improve applets & deprecate ifconfig, route")

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agortl838x: fix incorrect assignment from kstrtoul in serial.c
Adrian Schmutzler [Wed, 16 Sep 2020 14:29:21 +0000 (16:29 +0200)]
rtl838x: fix incorrect assignment from kstrtoul in serial.c

Assign return value of kstrtoul to error variable instead of
conversion value.

Suggested-by: Birger Koblitz <git@birger-koblitz.de>
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agortl838x: refresh config
Adrian Schmutzler [Tue, 15 Sep 2020 10:41:37 +0000 (12:41 +0200)]
rtl838x: refresh config

Use "make kernel_oldconfig" to update and sort target config.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agortl838x: remove some debug output in rtl838x-nor.c
Adrian Schmutzler [Tue, 15 Sep 2020 10:31:56 +0000 (12:31 +0200)]
rtl838x: remove some debug output in rtl838x-nor.c

Seems like leftovers from development, remove them.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agouhttpd: update to the latest master
Rafał Miłecki [Tue, 15 Sep 2020 11:41:19 +0000 (13:41 +0200)]
uhttpd: update to the latest master

1172357 ubus: add new RESTful API
fe1888f ubus: fix blob_buf initialization

Fixes: 3d167ed805a9 ("uhttpd: update to the latest master")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
4 years agortl838x: remove and add some empty lines
Adrian Schmutzler [Tue, 15 Sep 2020 10:28:43 +0000 (12:28 +0200)]
rtl838x: remove and add some empty lines

Do some minor empty lines cleanup, i.e. remove those at EOF and
add some for cosmetic reasons/consistency.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoRevert "build: create tmp/userids file"
Jo-Philipp Wich [Mon, 14 Sep 2020 14:16:59 +0000 (16:16 +0200)]
Revert "build: create tmp/userids file"

This reverts commit 34cc2c9a99f6542f009aa660790061f169aa96b3.

The reverted shell code is a very poor reimplementation of the existing
package-metadata.pl usergroup subcommand and the resulting file is not
used anymore, so drop this code.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
4 years agoscripts: ipkg-build: simplify uid/gid resolving
Jo-Philipp Wich [Mon, 14 Sep 2020 14:57:46 +0000 (16:57 +0200)]
scripts: ipkg-build: simplify uid/gid resolving

Use the prepared .packageusergroup file to lookup user and group names
when processing the passed file mode.

Also replace the various subshell/cut invocations with a sequence of
standard variable interpolations which fixes paths with embedded colons
as a side-effect.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
4 years agobuild: dump effective user/group id mapping to file
Jo-Philipp Wich [Mon, 14 Sep 2020 14:20:35 +0000 (16:20 +0200)]
build: dump effective user/group id mapping to file

This file can be subsequently used to resolve symbolic user or group names
to their numeric IDs when packing ipk archives.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
4 years agobuild: add user/group ID resolve function
Paul Spooren [Mon, 14 Sep 2020 02:02:02 +0000 (16:02 -1000)]
build: add user/group ID resolve function

With the introduction of `./tmp/userids` the `ipkg-build` script can now
resolve values of "PKG_FILE_MODES", allowing users to set names rather
than numeric values.

Signed-off-by: Paul Spooren <mail@aparcar.org>
4 years agobuild: create tmp/userids file
Paul Spooren [Mon, 14 Sep 2020 01:55:52 +0000 (15:55 -1000)]
build: create tmp/userids file

Multiple packages contain a USERID variable defining required user and
group for the package to run. With the recent addition of
"PKG_FILE_MODES" it is possible to define user and group of specific
files, replacing (possibly insecure) post-inst scripts. These modes are
set during build time and put directly into the packages.

To allow user and group names rather than the numeric values, a mapping
like `/etc/passwd` is required by the `ipkg-build` script, mapping names
defined in "PKG_FILE_MODES" to a numeric value, as the build system does
not create any users during build.

This commit adds a single line to the `prepare-tmpinfo` target, so that
everytime the feeds are updated the *passwd like* content of
`./tmp/userids` is updated.

Signed-off-by: Paul Spooren <mail@aparcar.org>
4 years agortl838x: add new architecture
Birger Koblitz [Sun, 13 Sep 2020 07:06:13 +0000 (09:06 +0200)]
rtl838x: add new architecture

This adds support for the RTL838x Architecture.
SoCs of this type are used in managed and un-managed Switches and Routers
with 8-28 ports. Drivers are provided for SoC initialization, GPIOs, Flash,
Ethernet including a DSA switch driver and internal and external PHYs used
with these switches.

Supported SoCs:

RTL8380M
RTL8381M
RTL8382M

The kernel will also boot on the following RTL839x SoCs, however driver
support apart from spi-nor is missing:

RTL8390
RTL8391
RTL8393

The following PHYs are supported:

RTL8214FC (Quad QSGMII multiplexing GMAC and SFP port)
RTL8218B internal: internal PHY of the RTL838x chips
RTL8318b external (QSGMII 8-port GMAC phy)
RTL8382M SerDes for 2 SFP ports
Initialization sequences for the PHYs are provided in the form of
firmware files.

Flash driver supports 3 / 4 byte access

DSA switch driver supports VLANs, port isolation, STP and port mirroring.

The ALLNET ALL-SG8208M is supported as Proof of Concept:

RTL8382M SoC
1 MIPS 4KEc core @ 500MHz
8 Internal PHYs (RTL8218B)
128MB DRAM (Nanya NT5TU128MB)
16MB NOR Flash (MXIC 25L128)
8 GBEthernet ports with one green status LED each (SoC controlled)
1 Power LED (not configurable)
1 SYS LED (configurable)
1 On-Off switch (not configurable)
1 Reset button at the right behind right air-vent (not configurable)
1 Reset button on front panel (configurable)
12V 1A barrel connector
1 serial header with populated standard pin connector and with markings
  GND TX RX Vcc(3.3V), connection properties: 115200 8N1

To install, upload the sysupgrade image to the OEM webpage.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>