oweals/openwrt.git
5 years agoramips: add two-way hashing scheme for MT7621
HsiuWen Yen [Mon, 7 Jan 2019 08:29:35 +0000 (16:29 +0800)]
ramips: add two-way hashing scheme for MT7621

Sometimes the tuples might be hashed to the same FOE entry.
When this hash collision problem occurs, some of the
connections will not be bound and consequently the CPU
idle rate cannot reach 100%. Therefore, two-way hashing
is adopted to alleviate this problem.

Signed-off-by: HsiuWen Yen <y.hsiuwen@gmail.com>
5 years agoglibc: update to latest 2.27 commit (BZ #24018)
Hans Dedecker [Mon, 7 Jan 2019 14:13:39 +0000 (15:13 +0100)]
glibc: update to latest 2.27 commit (BZ #24018)

68c2930a56 NEWS: add entries for bugs 23275, 23861, and 23907
766e8fb932 intl: Do not return NULL on asprintf failure in gettext [BZ #24018]

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agomac80211: add ABI_VERSION to fix rebuild of dependent packages after upgrades
Felix Fietkau [Sun, 6 Jan 2019 20:48:02 +0000 (21:48 +0100)]
mac80211: add ABI_VERSION to fix rebuild of dependent packages after upgrades

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agoipq40xx: copy Fritz4040 UBoot to STAGING_DIR_IMAGE
David Bauer [Fri, 4 Jan 2019 20:17:20 +0000 (21:17 +0100)]
ipq40xx: copy Fritz4040 UBoot to STAGING_DIR_IMAGE

Copy U-Boot to STAGING_DIR_IMAGE (and append it to the EVA-image from
there) to fix image generation using the image-builder.

Also remove the bootloader from DEVICE_PACKAGES and instead use the
BUILD_DEVICES directive from within the U-Boot makefile.

This fixes eva-image generation using the OpenWRT image-builder.

Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agompc85xx: 4.19: refresh kernel config
Christian Lamparter [Sat, 5 Jan 2019 21:31:27 +0000 (22:31 +0100)]
mpc85xx: 4.19: refresh kernel config

This patch syncs the 4.19 kernel config to the
current generic configuration.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agompc85xx: 4.14: refresh kernel config
Christian Lamparter [Sat, 5 Jan 2019 21:30:25 +0000 (22:30 +0100)]
mpc85xx: 4.14: refresh kernel config

This patch syncs the 4.14 kernel config to the
current generic configuration.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoipq40xx: 4.14: Sync kernel config
Robert Marko [Thu, 3 Jan 2019 22:32:47 +0000 (23:32 +0100)]
ipq40xx: 4.14: Sync kernel config

This patch syncs the 4.14 kernel config to the
current generic configuration.

Signed-off-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [reworded commit]
5 years agoipq40xx: 4.19: Sync kernel config
Robert Marko [Wed, 2 Jan 2019 13:21:48 +0000 (14:21 +0100)]
ipq40xx: 4.19: Sync kernel config

This patch syncs the 4.19 kernel config since the
KERNEL_STACKPROTECTOR and compiler options are
now part of the 4.19 generic config.

Signed-off-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [reworded commit]
5 years agoipq40xx: fix 4.14 ImageBuilder build woes
Christian Lamparter [Thu, 3 Jan 2019 22:24:16 +0000 (23:24 +0100)]
ipq40xx: fix 4.14 ImageBuilder build woes

Robert Marko reported an issue with the current imagebuilder images:
"Imagebuilder includes the new kmod-usb-dwc3-qcom USB driver
package by default even on 4.14. [...] the current state imagebuilder
can't build images under 4.14 at all as the kmod-usb-dwc3-qcom does
not exist in it so it throws and error and exits."

This patch reverts the Makefile to just kmod-usb-dwc3-of-simple and
once the switch to 4.19 is done. It also removes the
kmod-usb-phy-qcom-dwc3 as they only contain the usb-phy drivers for
the ipq806x generation.

Dynamic switching based on the KERNEL_PATCHVER is possible by using:
   $(if $(filter 4.14,$(KERNEL_PATCHVER)),kmod-usb-dwc3-of-simple,kmod-usb-dwc3-qcom)
though it

Fixes: 13321fa1429 ("ipq40xx: Use kmod-usb-dwc3-qcom by default")
Fixes: 6e58fb2c33e ("ipq40xx: kmod-usb-dwc3-of-simple vs kmod-usb-dwc3-qcom")
Reported-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoapm821xx: MBL: fix kernel/apollo3g.dtb artifact build
Christian Lamparter [Thu, 3 Jan 2019 22:01:31 +0000 (23:01 +0100)]
apm821xx: MBL: fix kernel/apollo3g.dtb artifact build

The name for the artifact should have been apollo3g.dtb
and not kernel.dtb.

Fixes: 908bdbfce9f9 ("apm821xx: utilize build ARTIFACTs")
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agompc85xx: add kernel 4.19 support
Pawel Dembicki [Tue, 1 Jan 2019 11:16:32 +0000 (11:16 +0000)]
mpc85xx: add kernel 4.19 support

Copied config from 4.14

Add patches for 4.19

Drop patch 103-powerpc-fix-build-cross32ar.patch,
because issue was fixed in upstream.

Compiled: generic p1020
Compiled and tested: (unofficial) P2020, TP-Link TL-WDR4900

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [reworded commit]
5 years agokernel: 4.19: kmod-ptp-gianfar follow upstream changes
Pawel Dembicki [Wed, 2 Jan 2019 12:30:37 +0000 (13:30 +0100)]
kernel: 4.19: kmod-ptp-gianfar follow upstream changes

This patch deprecates the kmod-ptp-gianfar package and
introduces kmod-ptp-qoriq for 4.19+ in its place. This
has become necessary due to the linux kernel commit
ceefc71d4c05 ("ptp: rework gianfar_ptp as QorIQ common PTP driver")

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [reworded commit]
5 years agompc85xx: tl-wdr4900-v1: convert to mtdsplit image
Pawel Dembicki [Thu, 3 Jan 2019 16:08:51 +0000 (16:08 +0000)]
mpc85xx: tl-wdr4900-v1: convert to mtdsplit image

Currently, the image creation process for the TP-Link tl-wdr4900-v1
needs a fixed sized kernel and places the rootfs partition at a
fixed offset. With the upcoming move to 4.19 the kernel will no
longer fit into the existing allocated space for the kernel
partition.

This patch converts the device to utilize the established
tplink,firmware mtdsplitter, which can deal with a dynamic
kernel/rootfs size.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [reworded commit]
5 years agoath79: add support for devolo WiFi pro 1200i
David Bauer [Tue, 1 Jan 2019 18:17:23 +0000 (19:17 +0100)]
ath79: add support for devolo WiFi pro 1200i

Hardware
--------
CPU:   Qualcomm Atheros QCA9558
RAM:   128M DDR2
FLASH: 16MiB
ETH:   1x Atheros AR8035 (PoE in)
WiFi2: QCA9558 2T2R
WiFi5: QCA9880 2T2R
BTN:   1x Reset
LED:   1x LED blue
       1x LED red
BEEP:  1x GPIO attached piezo beeper
UART:  3.3V GND TX RX (115200-N-8) (3.3V is square pad)
       Header is located next to reset-button

Installation
------------
Make sure you set a password for the root user as prompted on first
setup!

1. Upload OpenWRT sysupgrade image via SSH to the device.
Use /tmp as the destination folder on the device.
User is root, password the one set in the web interface.

2. Install OpenWRT with

> sysupgrade -n -F /tmp/<openwrt-image-name>

Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agoath79: add support for devolo WiFi pro 1750i
David Bauer [Tue, 1 Jan 2019 18:17:22 +0000 (19:17 +0100)]
ath79: add support for devolo WiFi pro 1750i

Hardware
--------
CPU:   Qualcomm Atheros QCA9558
RAM:   128M DDR2
FLASH: 16MiB
ETH:   1x Atheros AR8035 (PoE in)
WiFi2: QCA9558 3T3R
WiFi5: QCA9880 3T3R
BTN:   1x Reset
LED:   1x LED blue
       1x LED red
BEEP:  1x GPIO attached piezo beeper
UART:  3.3V GND TX RX (115200-N-8) (3.3V is square pad)
       Header is located next to reset-button

Installation
------------
Make sure you set a password for the root user as prompted on first
setup!

1. Upload OpenWRT sysupgrade image via SSH to the device.
Use /tmp as the destination folder on the device.
User is root, password the one set in the web interface.

2. Install OpenWRT with

> sysupgrade -n -F /tmp/<openwrt-image-name>

Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agoramips: cleanup the RB750Gr3 support
Anton Arapov [Sat, 29 Dec 2018 00:28:27 +0000 (01:28 +0100)]
ramips: cleanup the RB750Gr3 support

Always enable the pwr led and use the usr led for boot status indication.

Rename nodes in the dts, to match what is recommend in the devicetree
specification.

Increase the maximum spi frequency to 20MHz and drop the m25p,chunked-io
which isn't required on mt7621.

Use the BTN_0 keycode for the mode button. This board doesn't have any
wireless.

Use a more descriptive label for the reset button and the GPIO enabling
the usb vcc supply.

Use the beeper kernel module for the buzzer.

Fix the pinmux to switch only pins used as GPIOs to the GPIO function.
Add support for the PoE enable GPIO to the userspace. The PoE power
status can be read via GPIO7. Since OpenWrt doesn't have support for
reading inputs from userspace, prepare only the pinmux for the GPIO.

Signed-off-by: Anton Arapov <arapov@gmail.com>
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoramips: add RB750Gr3 native support
Anton Arapov [Sat, 29 Dec 2018 00:28:27 +0000 (01:28 +0100)]
ramips: add RB750Gr3 native support

This patch adds support of MikroTik RouterBOARD 750Gr3, without the need
to reflashing the bootloader.

Installation through RouterBoot follows the usual MikroTik method
https://openwrt.org/toh/mikrotik/common

Since the image isn't compatible with RouterBOARD 750Gr3 installations
which have replaced the bootloader, the former used userspace boardname
is not added to the SUPPORTED_DEVICES, to prevent a brick while trying
to upgrade to the image with native support.

Signed-off-by: Anton Arapov <arapov@gmail.com>
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agobusybox: Add ALTERNATIVES for findutils
Daniel F. Dickinson [Wed, 2 Jan 2019 10:55:30 +0000 (05:55 -0500)]
busybox: Add ALTERNATIVES for findutils

Currently busybox find and xargs conflict with the versions from
findutils package.  Fix this by using ALTERNATIVES in busybox
and the related findutils (from packages feed) commit.

The conflict is due to the binaries being in the the same place
in rootfs and opkg not being happy about that.

Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> [PKG_RELEASE increase]
5 years agokernel: Fix kmod-w1 dependency on hwmon-core for 4.19
Petr Štetiar [Tue, 18 Dec 2018 10:07:28 +0000 (11:07 +0100)]
kernel: Fix kmod-w1 dependency on hwmon-core for 4.19

kmod-w1 depends on kmod-hwmon-core since Linux 4.14

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agokernel: Fix rtc-ds1307 dependency on hwmon-core for 4.19
Petr Štetiar [Tue, 18 Dec 2018 10:08:16 +0000 (11:08 +0100)]
kernel: Fix rtc-ds1307 dependency on hwmon-core for 4.19

It seems, that since Linux 4.18-rc1 rtc-ds1307 depends on hwmon-core.

 commit 6b583a64fd1e019fd01626b46892ebf2361951c5
 Author: Heiner Kallweit <hkallweit1@gmail.com>
 Date:   Wed Sep 27 22:41:26 2017 +0200

    rtc: ds1307: simplify hwmon config

    We don't have to define an extra config symbol, IS_REACHABLE does
    what we need. And having this config symbol just to save the few
    bytes of hwmon support on non-DS3231 chips isn't worth it IMO
    (especially as the symbol is set per default).

While at it, use the same dependency check for `kmod-regmap` as well, so
it's future proof as well.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agofirewall: update to latest git HEAD
Hans Dedecker [Thu, 3 Jan 2019 16:04:52 +0000 (17:04 +0100)]
firewall: update to latest git HEAD

70f8785 zones: add zone identifying local traffic in raw OUTPUT chain
6920de7 utils: Free args in __fw3_command_pipe()
6ba9105 options: redirects: Fix possible buffer overflows

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agoath79: merge cases in 02_network
Paul Wassi [Wed, 2 Jan 2019 12:23:51 +0000 (13:23 +0100)]
ath79: merge cases in 02_network

Merge some duplicate cases in /etc/board.d/02_network

Signed-off-by: Paul Wassi <p.wassi@gmx.at>
5 years agobuild: Drop user/group ID/name from sysupgrade.tar
Sven Eckelmann [Thu, 6 Dec 2018 10:23:00 +0000 (11:23 +0100)]
build: Drop user/group ID/name from sysupgrade.tar

Tar will automatically record the user/group ID and name for
files/directories. This reduces the reproducibility of the sysupgrade.tar
because most of the people don't use the same username as the OpenWrt
buildserver.

Signed-off-by: Sven Eckelmann <sven@narfation.org>
5 years agobuild: Use stable file ordering in sysupgrade.tar
Sven Eckelmann [Thu, 6 Dec 2018 10:09:18 +0000 (11:09 +0100)]
build: Use stable file ordering in sysupgrade.tar

The file ordering in the current sysupgrade depends on the order of file in
a filesystem. This is often already in a sane (alphabetical order) but this
is not always the case. For example, the OpenWrt build servers return a
different ordering.

This breaks the reproducibility of the sysupgrade tarballs significantly
and also resulted in images which cannot be used for upgrades on devices
like the OpenMesh A42/A62.

Signed-off-by: Sven Eckelmann <sven@narfation.org>
5 years agouboot-envtools: Add domywifi dw33d support
shanpo [Fri, 21 Dec 2018 05:11:17 +0000 (13:11 +0800)]
uboot-envtools: Add domywifi dw33d support

Signed-off-by: shanpo <jwdsccd@gmail.com>
5 years agouboot-envtools: ipq40xx: Configuration for GL.iNet GL-B1300
Ibrahim Tachijian [Wed, 10 Oct 2018 09:50:53 +0000 (11:50 +0200)]
uboot-envtools: ipq40xx: Configuration for GL.iNet GL-B1300

This commit adds the nescessary settings to allow reading the uboot environment variables on the GL.iNet GL-B1300 board.

Signed-off-by: Ibrahim Tachijian <barhom@netsat.se>
5 years agox86: enable kmod-bnx2 on 64-bit by default
Alberto Bursi [Sun, 23 Dec 2018 05:41:39 +0000 (06:41 +0100)]
x86: enable kmod-bnx2 on 64-bit by default

Gigabit ethernet adapters using BCM5706/5708/5709/5716 chipset are
common on servers and as easy/cheap to get as Intel based ones.

Signed-off-by: Alberto Bursi <alberto.bursi@outlook.it>
5 years agokernel: mtd: add support for EN25QH64 in spi-nor.c
Roger Pueyo Centelles [Mon, 24 Dec 2018 14:39:32 +0000 (15:39 +0100)]
kernel: mtd: add support for EN25QH64 in spi-nor.c

The Eon EN25QH64 is a 64 Mbit SPI NOR flash memory chip. Its 32, 128 and
256 Mbits siblings are supported upstream but this particular size wasn't.
This commit includes patches for kernels 4.14 and 4.19.

Tested on a COMFAST CF-E120A v3 (ath79).

Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
5 years agohostapd: update to version 2018-12-02 (2.7)
Hauke Mehrtens [Mon, 10 Dec 2018 22:13:42 +0000 (23:13 +0100)]
hostapd: update to version 2018-12-02 (2.7)

This updates hostapd to version the git version from 2018-12-02 which
matches the 2.7 release.

The removed patches were are already available in the upstream code, one
additional backport is needed to fix a compile problem.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 years agofstools: update to the latest master branch
Rafał Miłecki [Wed, 2 Jan 2019 06:13:19 +0000 (07:13 +0100)]
fstools: update to the latest master branch

This is a big block(d) cleanup with new feature of generating "mount"
hotplug.d events.

It's an important update for those who were using mountd in the
pre-18.06 releases. Due to the mountd being replaced with blockd a
support for "mountd" hotplug.d events has been lost. It broke all kind
of shell scripts that were e.g. managing services depending on an
external USB drive availability.

This basically (re-)adds support for calling /etc/hotplug.d/mount/
scripts with ACTION ("add" or "remove") and DEVICE set.

af93f4b block(d): improve hotplug.d "mount" events for the autofs
3bb3352 blockd: unmount device explicitly when it disappears
28753b3 block: remove target directory after unmounting
c8c7ca5 block: cleanup handling "start" action of the "autofs" command
f1bb762 block: make blockd_notify() return an int instead of void
71c2bde block: generate hotplug.d mount events
30f5096 block: validate amount of arguments for the "autofs" command
dc6a462 blockd: don't reparse blob msg in the vlist callbacks
f6a9686 blockd: don't unmount device when removing it from the list
1913fea block: don't duplicate unmounting code in the mount_action()
6b445fa block: make umount_device() function more generic
a778468 block: don't duplicate mounting code in the mount_device()
5dc631d block: simplify code picking mount target directory
2971779 block: move blockd_notify() call out of the conditional blocks
b86bd6e block: fix formatting & indent in the mount_device()
e12c0d6 fstools: use EXIT_FAILURE when indicating error on exit
091aa3d fstools: guard usage of WEXITSTATUS

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agoglibc: update to latest 2.27 commit (BZ #24027, BZ #23927)
Hans Dedecker [Tue, 1 Jan 2019 14:30:28 +0000 (15:30 +0100)]
glibc: update to latest 2.27 commit (BZ #24027, BZ #23927)

3981fc3453 malloc: Always call memcpy in _int_realloc [BZ #24027]
f6d0e8c36f Fix rwlock stall with PREFER_WRITER_NONRECURSIVE_NP (bug 23861)
2794474c65 powerpc: Add missing CFI register information (bug #23614)
d8ca7a0c71 Fix _dl_profile_fixup data-dependency issue (Bug 23690)
f1e211096b inet/tst-if_index-long: New test case for CVE-2018-19591 [BZ #23927]
4e9f34e54f support: Implement <support/descriptors.h> to track file descriptors
e75481a7a7 support: Close original descriptors in support_capture_subprocess
0f79dc0be3 support_quote_string: Do not use str parameter name
6b2dd53aa0 support: Implement support_quote_string
50477165b9 malloc: Add another test for tcache double free check.
4b246928bd malloc: tcache double free check

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agoath79: align GL-AR750S boardname to other GL.iNet devices
Christoph Krapp [Tue, 1 Jan 2019 12:03:20 +0000 (12:03 +0000)]
ath79: align GL-AR750S boardname to other GL.iNet devices

As the official device name is GL-AR750S, rename the board accordingly.

Signed-off-by: Christoph Krapp <achterin@googlemail.com>
5 years agoapm821xx: sata: boot-part feature integration
Christian Lamparter [Thu, 27 Dec 2018 18:12:23 +0000 (19:12 +0100)]
apm821xx: sata: boot-part feature integration

This patch adds the boot-part feature to the apm82181 sata target.
This makes it possible to configure the boot partition size with
the generic CONFIG_TARGET_KERNEL_PARTSIZE symbol.

Please note: For people using custom images: Just like with
CONFIG_TARGET_ROOTFS_PARTSIZE changing the value can cause
sysupgrade to repartition the device!

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoapm821xx: use bin file extension for sysupgrade-tar images
Christian Lamparter [Thu, 27 Dec 2018 22:02:18 +0000 (23:02 +0100)]
apm821xx: use bin file extension for sysupgrade-tar images

Use the file extension bin for sysupgrade-tar images with
metadata to unify the file extension across the target/tree.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoapm821xx: utilize build ARTIFACTs
Christian Lamparter [Thu, 27 Dec 2018 21:56:08 +0000 (22:56 +0100)]
apm821xx: utilize build ARTIFACTs

The exported kernel dtbs can be build as artifacts.
This way, the MyBook Live's DTB is not generated twice.

While at it, give the artifacts their proper name.
For the wndr4700 use the "device-tree" partition name and
for the MyBook Live: "apollo3g.dtb" to match the mbl_boot.scr.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoipq806x: add support for Buffalo WXR-2533DHP
INAGAKI Hiroshi [Mon, 24 Dec 2018 06:20:25 +0000 (15:20 +0900)]
ipq806x: add support for Buffalo WXR-2533DHP

Buffalo WXR-2533DHP is a 2.4/5 GHz band 11ac router, based on Qualcomm
IPQ8064.

The U-Boot on WXR-2533DHP employs a complicated dual firmware
protection scheme against corruptions of the kernel and rootfs
images. See the notes in buffalo.sh for details.

specifications:

- Qualcomm IPQ8064 (384 - 1,400 MHz, 2C2T)
- 512 MB of RAM (DDR3)
- 256 MB of Flash (NAND)
- 4T4R 2.4/5 GHz Wlan (QCA9980)
- 5x 10/100/1000 Mbps Ethernet
- 10x LEDs, 8x keys (6x buttons, 2x slide-switches)
- 2x USB 3.0 Type-A
- 12VDC/4A AC Adapter
- UART through-hole on PCB
  - J3: Vcc, GND, TX, RX from USB port side
  - 115200n8

Boot instructions for the initramfs image:

1. Prepare the TFTP server with the initramfs image renamed to
   "wxr2300dhp-initramfs.uImage" and IP address "192.168.11.10".
2. Press the "AOSS" button while powering on the WXR-2533DHP.
3. Wait until the "Wireless" LED flashes before releasing the AOSS button.
   The WXR-2533DHP will grab the image from TFTP server and will boot it.

Flashing instructions:

To persistently write the firmware, flash an openwrt sysupgrade image
from inside the initramfs, for example transfer
via `scp <sysupgrade> root@192.168.1.1:/tmp` and flash on the device
with `sysupgrade -n /tmp/<sysupgrade>`. Then wait ~120 seconds to
let it finish the flashing process.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [reworded message]
5 years agobase-files: allow non-standard rootfs volume name in UBI in sysupgrade
INAGAKI Hiroshi [Tue, 1 Jan 2019 00:15:34 +0000 (09:15 +0900)]
base-files: allow non-standard rootfs volume name in UBI in sysupgrade

This commit allows to use non-standard UBI volume name as the rootfs
volume in sysupgrade.

ex.:
  The U-Boot on Buffalo WXR-2533DHP checks existence and checksum of
  "ubi_rootfs" volume when booting, so this name is required.

OpenWrt currently provides several patches:

490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch
491-ubi-auto-create-ubiblock-device-for-rootfs.patch
492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch

to facilitate ubi rootfs automount. However the upstream kernel
also supports the means of booting from a fully custom ubi
partition name and ubi volume name via bootargs/kernel's cmdline
parameters:

ubi.mtd=mtd_partition_name
ubi.block=rootfs_volume_name
root=/dev/ubiblock$X_$Y

For more information and examples visit the wiki over at linux-mtd:
<http://www.linux-mtd.infradead.org/faq/ubifs.html>
<http://www.linux-mtd.infradead.org/doc/ubi.html>

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [reworded commit]
5 years agoipq806x: add ramdisk feature
INAGAKI Hiroshi [Sun, 30 Dec 2018 03:01:41 +0000 (12:01 +0900)]
ipq806x: add ramdisk feature

This commits adds the "ramdisk" feature to ipq806x target. The
main driving force behind this decision is to facilitate the
installation of OpenWrt on some locked IPQ806x devices.

Examples:

- NEC Aterm WG2600HP

  The U-Boot on WG2600HP is protected with a password which prevents
  users from gaining access to the u-boot prompt in order to install
  the images from there.

  Therefore, on this device, installing OpenWrt by the user involves
  changing the bootcmd as follows so that WG2600HP downloads and
  executes initramfs image from TFTP server.

  ex.:
    bootcmd="ping ${serverip} && tftpboot 0x44000000 wg2600hp-initramfs.bin; bootipq"

- Buffalo WXR-2533DHP

  The U-Boot on WXR-2533DHP has built-in firmware recovery mode.
  It's activated by holding the "AOSS" button during boot. This
  will trigger the device to download the firmware from an TFTP
  server and booting from it. By using this, the user  can the
  install OpenWrt firmware without having access to the UART
  console.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [reworded commit]
5 years agokernel: Add missing symbols to 4.19
Christian Lamparter [Sat, 29 Dec 2018 20:05:09 +0000 (21:05 +0100)]
kernel: Add missing symbols to 4.19

Tested with apm82181 and ipq40xx minimal image versions.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agobusybox: update to 1.30.0
Hannu Nyman [Mon, 31 Dec 2018 13:29:50 +0000 (15:29 +0200)]
busybox: update to 1.30.0

Update busybox to 1.30.0.
Refresh patches.
Leave new features disabled by default.

Config refreshed via:

  cd package/utils/busybox/config/
  ../convert_menuconfig.pl ../../../../build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/busybox-1.30.0

  make package/busybox/compile

  cd package/utils/busybox
  ./convert_defaults.pl < ../../../build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/busybox-1.30.0/.config > Config-defaults.in

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
5 years agoath79: fix case statement in 01_leds
Paul Wassi [Tue, 1 Jan 2019 00:35:17 +0000 (01:35 +0100)]
ath79: fix case statement in 01_leds

Fix a missing 'end-of-case' recently introduced in 01_leds

Signed-off-by: Paul Wassi <p.wassi@gmx.at>
5 years agoath79: rework elecom-header recipe
Mathias Kresin [Mon, 31 Dec 2018 15:41:07 +0000 (16:41 +0100)]
ath79: rework elecom-header recipe

Replace the code with a more readable version. Rename the recipe
to reflect the real usecase.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agotreewide: fix spaces vs. tabs
Paul Wassi [Mon, 31 Dec 2018 15:15:06 +0000 (16:15 +0100)]
treewide: fix spaces vs. tabs

Fix spaces vs. tabs issues in ath79 and ramips.

Signed-off-by: Paul Wassi <p.wassi@gmx.at>
5 years agoath79: tweak the position of factory partition for wr818
Rosy Song [Fri, 7 Dec 2018 03:41:57 +0000 (11:41 +0800)]
ath79: tweak the position of factory partition for wr818

The 'factory' partition will move to 0x50000-0x60000 in 2019. As
the webserver in bootloader is compatible with different mtdlayout,
all the users still can upgrade firmware whatever on ath79 or ar71xx.

Signed-off-by: Rosy Song <rosysong@rosinson.com>
5 years agoath79: add support for COMFAST CF-E110N
Roger Pueyo Centelles [Mon, 10 Dec 2018 14:44:56 +0000 (15:44 +0100)]
ath79: add support for COMFAST CF-E110N

This patch adds support for the COMFAST CF-E110N, an outdoor wireless
CPE with two Ethernet ports and a 802.11bgn radio.

Specifications:

 - 650/400/216 MHz (CPU/DDR/AHB)
 - 2x 10/100 Mbps Ethernet, both with PoE-in support
 - 64 MB of RAM (DDR2)
 - 16 MB of FLASH
 - 2T2R 2.4 GHz, up to 26 dBm
 - 11 dBi built-in antenna
 - POWER/LAN/WAN/WLAN green LEDs
 - 4x RSSI LEDs (2x red, 2x green)
 - UART (115200 8N1) and GPIO (J9) headers on PCB

Flashing instructions:

 The original firmware is based on OpenWrt so a sysupgrade image can be
 installed via the stock web GUI. Settings from the original firmware
 will be saved and restored on the new want, so a factory reset will be
 needed: once the new firmware is flashed, perform the factory reset by
 pushing the reset button several times during the boot process, while the
 WAN LED flashes, until it starts flashing quicker.

 The U-boot bootloader contains a recovery HTTP server to upload the
 firmware. Push the reset button while powering the device on and keep it
 pressed for >10 seconds. The recovery page will be at http://192.168.1.1

Notes:

 The device is advertised, sold and labeled as "CF-E110N", but the
 bootloader and the stock firmware identify it as "v2".

Acknowledgments:

 Petr Štetiar <ynezz@true.cz>
 Sebastian Kemper <sebastian_ml@gmx.net>
 Chuanhong Guo <gch981213@gmail.com>

Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
[drop unused labels from devicetree source file]
Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoath79: add support for TP-Link Archer C6 v2
Georgi Vlaev [Fri, 28 Dec 2018 08:24:01 +0000 (10:24 +0200)]
ath79: add support for TP-Link Archer C6 v2

This patch adds support for TP-Link Archer C6 v2 (EU)

Hardware specification:
- SOC: Qualcomm QCA9563 @ 775MHz
- Flash: GigaDevice GD25Q64CSIG (8MiB)
- RAM: Zentel A3R1GE40JBF (128 MiB DDR2)
- Ethernet: Qualcomm QCA8337N: 4x 1Gbps LAN + 1x 1Gbps WAN
- Wireless:
  - 2.4GHz (bgn) QCA9563 integrated (3x3)
  - 5GHz (ac) Qualcomm QCA9886 (2x2)
- Button: 1x power, 1x reset, 1x wps
- LED: 6x LEDs: power, wlan2g, wlan5g, lan, wan, wps
- UART: There's no UART header on the board

Flash instructions:

Upload
openwrt-ath79-generic-tplink_archer-c6-v2-squashfs-factory.bin
via the router Web interface.

Flash instruction using tftp recovery:

1. Connect the computer to one of the LAN ports of the router
2. Set the computer IP to 192.168.0.66
3. Start a tftp server with the OpenWrt factory image in the
   tftp root directory renamed to ArcherC6v2_tp_recovery.bin.
4. Connect power cable to router, press and hold the reset
   button and turn the router on
5. Keep the reset button pressed until the WPS LED lights up
6. Wait ~150 seconds to complete flashing

According to the GPL source the non-EU variant has different
GPIOs assigned to some of the LEDs and buttons. The flash
layout might be different as well. The wikidevi entry for
Archer A6/C6 assumes they are identical.

Signed-off-by: Georgi Vlaev <georgi.vlaev@gmail.com>
5 years agoath79: add support for EnGenius EWS511AP
Guan-Hong Lin [Tue, 18 Dec 2018 08:35:30 +0000 (16:35 +0800)]
ath79: add support for EnGenius EWS511AP

EnGenius EWS511AP is a wireless managed wall AP with PoE support,
based on Qualcomm/Atheros QCA9531(Honeybee) + QCA9887.

Short specification:

- 128MB of RAM
- 16 MB of SPI FLASH
- 2T2R 2.4 GHz (QCA9531), 802.11b/g/n
- 1T1R 5 GHz (QCA9887), 802.11ac/n/a
- 2x 10/100 Mbps Ethernet (one port with PoE support)
- 1x Power LED, 2x LAN LEDs, 1x WLAN 2.4G LED, 1x WLAN 5G LED
- 1x RESET button
- built-in watchdog chipset

Flash instruction:

From EnGenius firmware to OpenWrt firmware:

Original firmware is based on QSDK.
Use sysupgrade firmware directly in vendor GUI.
Reset to factory default is necessary.

From OpenWrt firmware to EnGenius firmware:

1. Setup a TFTP server on your computer and configure static IP to 192.168.99.8
   Put the OpenWrt firmware in the root directory on your computer.
2. Power up EWS511AP. Press 4 and then press any key to enter u-boot.
3. Download OpenWrt firmware
   (ath)> tftpboot 0x80060000 ${dir}"openwrt-ath79-generic-engenius_ews511ap-squashfs-sysupgrade.bin"
4. Flash the firmware
   (ath)> erase 0x9f060000 +f50000
   (ath)> cp.b $fileaddr 0x9f060000 $filesize
5. Reboot
   (ath)> reset

Signed-off-by: Guan-Hong Lin <GH.Lin@senao.com>
5 years agoath79: add status LED on GL.iNet AR300M
Paul Wassi [Mon, 31 Dec 2018 12:59:31 +0000 (13:59 +0100)]
ath79: add status LED on GL.iNet AR300M

This adds the triggers for the status LED of this device.

Signed-off-by: Paul Wassi <p.wassi@gmx.at>
5 years agoath79: fix boardname of GL.iNet GL-AR300M
Paul Wassi [Mon, 31 Dec 2018 12:45:29 +0000 (13:45 +0100)]
ath79: fix boardname of GL.iNet GL-AR300M

This device is called GL-AR300M, therefore rename the board(s)
to 'gl-ar300m-nor' and 'gl-ar300m-nand'

Signed-off-by: Paul Wassi <p.wassi@gmx.at>
[change boardname in uboot envtools as well, don't use wildcards for
boardname]
Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoath79: Add support for TP-Link WR810N
Paul Wassi [Fri, 28 Dec 2018 23:45:22 +0000 (00:45 +0100)]
ath79: Add support for TP-Link WR810N

Device specifications given in b23b0fb28b760ce66a8f93d4681c8bd300d75d30

Signed-off-by: Paul Wassi <p.wassi@gmx.at>
5 years agoath79: Add GL.iNet AR150 LED triggers
Paul Wassi [Mon, 31 Dec 2018 12:13:14 +0000 (13:13 +0100)]
ath79: Add GL.iNet AR150 LED triggers

When switching from ar71xx to ath79 the default netdev LED
triggers for LAN and WAN got lost.

Signed-off-by: Paul Wassi <p.wassi@gmx.at>
5 years agoath79: fix boardname of GL.iNet GL-AR150
Paul Wassi [Sun, 30 Dec 2018 20:37:50 +0000 (21:37 +0100)]
ath79: fix boardname of GL.iNet GL-AR150

This device is called GL-AR150, therefore rename the board
to 'gl-ar150'

Signed-off-by: Paul Wassi <p.wassi@gmx.at>
5 years agoath79: add support for ELECOM WRC-1750GHBK2-I/C
INAGAKI Hiroshi [Sat, 29 Dec 2018 15:55:35 +0000 (00:55 +0900)]
ath79: add support for ELECOM WRC-1750GHBK2-I/C

ELECOM WRC-1750GHBK2-I/WRC-1750GHBK2-C are 2.4/5 GHz band 11ac
routers, based on Qualcomm Atheros QCA9563.

This commit also includes small fix; use "0x0x03000101" as pll_1000
instead of "0x03000000".

Specification:

- SoC:      Qualcom Atheros QCA9563
- RAM:      128 MB (DDR2)
- Flash:    16 MB (SPI-NOR)
- WLAN:     2.4/5 GHz
  - 2.4 GHz: 2T2R (SoC internal)
  - 5 GHz:   3T3R (QCA9880)
- Ethernet: 10/100/1000 Mbps
- LED/key:  4x/3x (2x buttons, 1x slide-switch)
- UART:     through-hole on PCB
  - Vcc, RX, GND, TX from switch (QCA8337N) side
  - 115200n8

Flash instruction using factory image:

1. Boot WRC-1750GHBK2-I/C normaly
2. Access to "http://192.168.2.1/" and open firmware upgrade page
("ファームウェア更新 手動更新(アップデート)")
3. Select the OpenWrt factory image and click apply ("適用") button
to perform firmware update
4. On the (initramfs) factory image, perform sysupgrade with
squashfs-sysupgrade image
5. Wait ~150 seconds to complete flashing

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
5 years agoath79: Fix UBNT Unifi AC LEDs
Paul Wassi [Sun, 30 Dec 2018 21:41:55 +0000 (22:41 +0100)]
ath79: Fix UBNT Unifi AC LEDs

Both LEDs on these devices are ACTIVE_HIGH, change back to what
it is on ar71xx.

Signed-off-by: Paul Wassi <p.wassi@gmx.at>
5 years agoath79: Fix system LED on TP-Link WR740/741 v4
Paul Wassi [Mon, 31 Dec 2018 10:58:16 +0000 (11:58 +0100)]
ath79: Fix system LED on TP-Link WR740/741 v4

The system LED on these devices is ACTIVE_LOW, change back to what
it is on ar71xx.

Signed-off-by: Paul Wassi <p.wassi@gmx.at>
5 years agoath79: add support for TP-Link TL-WR841N/ND v8
Antonio Silverio [Wed, 17 Oct 2018 07:18:45 +0000 (09:18 +0200)]
ath79: add support for TP-Link TL-WR841N/ND v8

CPU: Atheros AR9341 535MHz
RAM: 32MB
FLASH: 4MiB
PORTS: 4 Port 100/10 Switch, 1 Port 100/10 Wan
WiFi: Atheros AR9341 2x2:2 bgn
LED: Power (static on), LAN (controlled by Switch), WAN, SYS, WiFi, RFKill
BTN: WPS, WiFi, Reset

Installation:
Upload the factory image via the vendor-GUI.

Signed-off-by: Antonio Silverio <menion@gmail.com>
[resolve merge conflicts, squash commits, fix commit title, remove
default default off led properties, mark sysupgrade image compatible
with the ar71xx version of the board, drop blank lines from dts]
Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoath79: use caldata patching for Archer C58/C59
David Bauer [Sun, 30 Dec 2018 21:28:42 +0000 (22:28 +0100)]
ath79: use caldata patching for Archer C58/C59

With this commit the TP-Link Archer C58 and Archer C59 use caldata
patching in order to set the correct 5GHz MAC-address.

Tested on TP-Link Archer C59 v1.

For more details see commit 330965b.

Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agoath79: add support for GL.iNet GL-AR750S
Christoph Krapp [Sun, 30 Dec 2018 16:36:22 +0000 (16:36 +0000)]
ath79: add support for GL.iNet GL-AR750S

Right now this patch adds nor image generation only. NAND image
generation is not supportet at the moment.

Furtheremore support for the MicroSD port is not implemented as of now.

Specification:
- SOC: QCA9563 (775MHz)
- Flash: 16 MiB (W25Q128FVSG)
- RAM: 128 MiB DDR2
- Ethernet: 2x 1Gbps LAN + 1x 1Gbps WAN
- Wireless: 2.4GHz (bgn) and 5GHz (ac)
- USB: 1x USB 2.0 port
- Button: 1x switch button, 1x reset button
- LED: 3x LEDS (green)
  - Another LED can be accessed on GPIO 7 if soldered

Flash instruction:
- Set static ip to 192.168.1.2
- Unplug the power cord
- Hold reset button
- Plug power back in
- Right led will flash 5 times
- Release reset button
- Browse to 192.168.1.1
- Choose sysupgrade image in NOR-flash section
- Press "update nor firmware"
- After successful transfer unplug network cable before device restarts

Signed-off-by: Christoph Krapp <achterin@googlemail.com>
[resolve merge conflicts, rename buttons, use switch input type for mode
switch]
Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoiwinfo: fix PKG_MIRROR_HASH
Mathias Kresin [Sun, 30 Dec 2018 19:16:55 +0000 (20:16 +0100)]
iwinfo: fix PKG_MIRROR_HASH

The PKG_MIRROR_HASH was for some reason wrong.

Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoath79: fix OCEDO Koala ethernet configuration
David Bauer [Sat, 29 Dec 2018 22:31:19 +0000 (23:31 +0100)]
ath79: fix OCEDO Koala ethernet configuration

The OCEDO Koala has incorrect PLL settings which result in ~3% packet
loss on ethernet connections.

Also omit the gmac-configuration as it's incorrect too.

Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agoath79: add support for D-Link DIR-859 A1
Weijie Gao [Sat, 29 Dec 2018 09:22:32 +0000 (17:22 +0800)]
ath79: add support for D-Link DIR-859 A1

Hardware spec of DIR-859 A1:
SoC: QCA9563
DRAM: 64MB DDR2
Flash: 16MB SPI-NOR
Switch: QCA8337N
WiFi 5.8GHz: QCA9880

USB is supported on the PCB but not connected.

Flash instructions:

1. Upgrade the factory.bin through the factory web interface or the u-boot
   failsafe interface.
   The firmware will boot up correctly for the first time.
   Do not power off the device after OpenWrt has booted. Otherwise the u-boot
   will enter failsafe mode as the checksum of the firmware has been changed.
2. Upgrade the sysupgrade.bin in OpenWrt.
   After upgrading completes the u-boot won't complain about the firmware
   checksum and it's OK to use now.
3. If you powered off the device before upgrading the sysupgrade.bin, just
   upgrade the factory.bin through the u-boot failsafe interface and then goto
   step 2.

Signed-off-by: Weijie Gao <hackpascal@gmail.com>
[squash commits, use common seama recipes, sync factory image recipe
with ramips version]
Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agobuild: move seama commands to image-commands.mk
Mathias Kresin [Sat, 29 Dec 2018 19:06:56 +0000 (20:06 +0100)]
build: move seama commands to image-commands.mk

Move it to image-commands.mk to get rid of duplicate recipes.

Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoar71xx: sync seama image build code with ramips
Mathias Kresin [Sat, 29 Dec 2018 18:40:56 +0000 (19:40 +0100)]
ar71xx: sync seama image build code with ramips

Use the same syntax as used in the ramips target, to use common seama
recipes.

Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoramips: consolidate seama image build code
Mathias Kresin [Sat, 29 Dec 2018 18:25:00 +0000 (19:25 +0100)]
ramips: consolidate seama image build code

Create a common template which has the required image build code
defined. Add some new variables to pass individual parts to the seama
recipes.

Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoopkg: drop argument from check_signature in opkg.conf
Jonas Gorski [Mon, 10 Sep 2018 09:42:53 +0000 (11:42 +0200)]
opkg: drop argument from check_signature in opkg.conf

check_signature is a bool option and doesn't take any arguments. The
presence of the 1 falsely suggests setting it to 0 disables the check,
while the option actually needs to be removed or commented out to be
disabled. So remove the argument to make it more clear.

Fixes: beca028bd6bb ("build: add integration for managing opkg package feed keys")
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
5 years agobrcm63xx: remove broken DSP platform device code
Jonas Gorski [Wed, 19 Dec 2018 23:02:31 +0000 (00:02 +0100)]
brcm63xx: remove broken DSP platform device code

There is no driver and it crashes the kernel, so just remove it.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
5 years agobrcm63xx: fix bcm6348 pinmux group selection
Jonas Gorski [Wed, 19 Dec 2018 23:05:15 +0000 (00:05 +0100)]
brcm63xx: fix bcm6348 pinmux group selection

The mask/shift computation used the pin group number instead of the pin
number, resulting in always modifying group 4 when applying muxes, so
fix it to consistently use the pin number.

Fixes: 0755c2d11706 ("brcm63xx: add pinctrl support")
Reported-by: Daniel Gonzalez Cabanelas <dgcbueu@gmail.com>
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
5 years agobrcm63xx: VH4032N: add the SPROM fixups
Daniel Gonzalez Cabanelas [Wed, 14 Nov 2018 00:48:15 +0000 (01:48 +0100)]
brcm63xx: VH4032N: add the SPROM fixups

Add the SPROM fixups for the onboard BCM43222 wifi on the Observa
VH4032N

Signed-off-by: Daniel Gonzalez Cabanelas <dgcbueu@gmail.com>
5 years agobrcm63xx: fix gpio hogs on gpio/pinctrl nodes
Jonas Gorski [Mon, 19 Feb 2018 09:18:06 +0000 (10:18 +0100)]
brcm63xx: fix gpio hogs on gpio/pinctrl nodes

Work around a chicken/egg issue in registration of dual gpio/pinctrl
nodes.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
5 years agobrcm63xx: rename switch core reset patch to 0xx as it has been accepted
Jonas Gorski [Tue, 18 Dec 2018 09:42:40 +0000 (10:42 +0100)]
brcm63xx: rename switch core reset patch to 0xx as it has been accepted

The core reset fix was accepted upstream, so move it to its right place.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
5 years agotools/cmake: update to 3.13.2
Hans Dedecker [Sat, 29 Dec 2018 16:27:20 +0000 (17:27 +0100)]
tools/cmake: update to 3.13.2

Update to the latest stable version and refresh patches; see
https://cmake.org/cmake/help/v3.13/release/3.13.html for the latest
changes in 3.13.x

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agoath79: Fix wrong TL-WR740N v4 switch port order
Eduardo Barros [Tue, 25 Dec 2018 23:20:03 +0000 (23:20 +0000)]
ath79: Fix wrong TL-WR740N v4 switch port order

Fix the switch port order to have the correct order in LuCI.

Fixes: FS#1469

Signed-off-by: Eduardo Barros <geadas@gmail.com>
[trim commit title, add a proper commit message, add fixes tag, keep
alphabetical order of the blocks]
Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoomcproxy: optimize interface triggers
Hans Dedecker [Sat, 29 Dec 2018 14:56:39 +0000 (15:56 +0100)]
omcproxy: optimize interface triggers

Before installing an interface triggger check if an interface
trigger for the interface is already in place.
This avoids installing identical interface triggers for a given
interface

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agoomcproxy: fix installation of interface triggers (FS#1972)
David Santamaría Rogado [Tue, 11 Dec 2018 19:50:21 +0000 (20:50 +0100)]
omcproxy: fix installation of interface triggers (FS#1972)

omcproxy will not start up if either the downlink or uplink interface is
not up at boottime as the interface triggers are not correctly
installed.

Further rework omcproxy init to make use of network functions defined
in network.sh; set proper family and proto options in procd firewall
rules.

Signed-off-by: David Santamaría Rogado <howl.nsp@gmail.com>
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agoramips: add support for GeHua GHL-R-001
Deng Qingfang [Thu, 27 Dec 2018 05:39:16 +0000 (13:39 +0800)]
ramips: add support for GeHua GHL-R-001

Specs
SoC: MT7621AT
RAM: 512MiB
Flash: 32MiB MX25L25635F SPI NOR
2.4G: MT7603EN
5G: MT7612EN
Ethernet: 4x GE ports (1x WAN, 3x LAN) with link status LEDs
USB 3.0
LEDs: POWER, 5G WIFI, 2.4G WIFI, USB, Internet.
      The last two ones are controlled by GPIO
UART: There are 2 UARTs (UARTLITE1/ttyS0 and UARTLITE3/ttyS1) on board.
      UARTLITE1 is close to LEDs, and UARTLITE3 is close to flash chip.
      The stock u-boot uses UARTLITE1 by default. Baud rate is 57600

Flash instruction
1. telnet 192.168.9.1 2317, username is "root" and password is "admin"
   One can alternatively use UART to log in
2. Put OpenWrt firmware in a FAT32 USB drive, and connect it to the router
   One can alternatively download the firmware via wget through Internet
3. mtd write /path/to/openwrt.bin firmware
4. reboot

Signed-off-by: Deng Qingfang <dengqf6@mail2.sysu.edu.cn>
5 years agoramips: fix MT7621 dtsi
Deng Qingfang [Tue, 25 Dec 2018 15:03:24 +0000 (23:03 +0800)]
ramips: fix MT7621 dtsi

Fix SysTick reg
Add uartlite2 and uartlite3 nodes

Signed-off-by: Deng Qingfang <dengqf6@mail2.sysu.edu.cn>
5 years agoramips: add support for DLINK DWR-922-E2
Simon Quigley [Thu, 20 Dec 2018 16:47:52 +0000 (11:47 -0500)]
ramips: add support for DLINK DWR-922-E2

Very similar to the DWR-921-C1, except has a telephony/RJ11 port (not
sure if supported, I didn't try), wireless router with QMI LTE embedded
modem is based on the MT7620N SoC.

Specification:

  * MediaTek MT7620N (580 Mhz)
  * 64 MB of RAM
  * 16 MB of FLASH
  * 802.11bgn radio
  * 5x 10/100 Mbps Ethernet (1 WAN and 4 LAN)
  * 2x external, detachable (LTE) antennas
  * UART header on PCB (57600 8n1)
  * 6x LED (GPIO-controlled)
  * 1x bi-color Signal Strength LED (GPIO-controlled)
  * 2x button
  * JBOOT bootloader

The status led has been assigned to the dwr-922-e2:green:signalstrength
(lte signal strength) led. At the end of the boot it is switched off and
is available for lte operation. Works correctly also during sysupgrade
operation.

Installation:
Apply factory image via d-link http web-gui, or via recovery interface:

How to recover/revert to OEM firmware:
1.) Push and hold the reset button and turn on the power. Wait until all
    LEDs start rapidly blinking (~10sec.)
2.) DHCP should give you an IP in the 192.168.123.0/24 subnet, or set
    one manually
3.) Upload original factory image via JBOOT http interface at IP
    192.168.123.254
4.) If http doesn't work, it can be done with curl command:
      curl -F FN=@XXXXX.bin http://192.168.123.254/upg
    where XXXXX.bin is name of firmware file.
5.) You can optionally telnet to 192.168.123.254 before or during the
    upload and it will report the flashing status, memory address etc.
6.) Once web UI and/or telnet says "Success", power cycle the router, or
    type "reboot" into the telnet session.

Signed-off-by: Simon Quigley <squigley@squigley.net>
[squashed commits, word wrap commit message, rename signal strenght led
name to match what is used for the DWR-921-C1 since they share the led
configuration, add label referenced in the aliases node]
Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agokernel: fix f2fs on big endian machines
Christian Lamparter [Sat, 29 Dec 2018 12:41:35 +0000 (13:41 +0100)]
kernel: fix f2fs on big endian machines

The WD MyBook Live SquashFS images didn't work anymore due to
a upstream regression in f2fs commit: 0cfe75c5b01199
("f2fs: enhance sanity_check_raw_super() to avoid potential overflows")
that got backported to 4.14.86 and landed in 4.18.

by Martin Blumenstingl:
|Treat "block_count" from struct f2fs_super_block as 64-bit little endian
|value in sanity_check_raw_super() because struct f2fs_super_block
|declares "block_count" as "__le64".
|
|This fixes a bug where the superblock validation fails on big endian
|devices with the following error:
|  F2FS-fs (sda1): Wrong segment_count / block_count (61439 > 0)
|  F2FS-fs (sda1): Can't find valid F2FS filesystem in 1th superblock
|  F2FS-fs (sda1): Wrong segment_count / block_count (61439 > 0)
|  F2FS-fs (sda1): Can't find valid F2FS filesystem in 2th superblock
|As result of this the partition cannot be mounted.
|
|With this patch applied the superblock validation works fine and the
|partition can be mounted again:
|  F2FS-fs (sda1): Mounted with checkpoint version = 7c84
|
|My little endian x86-64 hardware was able to mount the partition without
|this fix.
|To confirm that mounting f2fs filesystems works on big endian machines
|again I tested this on a 32-bit MIPS big endian (lantiq) device.

Hopefully, this will do until Martin's patch moved through upstream
to -stable.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoapm821xx: fix MBL DUO SUPPORTED_DEVICES compat id
Christian Lamparter [Wed, 31 Oct 2018 14:25:19 +0000 (15:25 +0100)]
apm821xx: fix MBL DUO SUPPORTED_DEVICES compat id

The MyBook Live DUO used "wd,mybooklive-duo" as the first
compatible string and not "wd_mybooklive-duo".

Fixes: 9b47aa93c76 ("apm821xx: unify My Book Live Single + Duo images")
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoramips: mt7621: fix 5GHz WiFi LED on ZBT WG3526
Andreas Ziegler [Thu, 27 Dec 2018 14:34:18 +0000 (15:34 +0100)]
ramips: mt7621: fix 5GHz WiFi LED on ZBT WG3526

This fixes the 5GHz WiFi LED which was previously not working.

Signed-off-by: Andreas Ziegler <dev@andreas-ziegler.de>
5 years agoath79: fix Archer A7 v5 5GHz MAC adress
David Bauer [Fri, 28 Dec 2018 17:18:24 +0000 (18:18 +0100)]
ath79: fix Archer A7 v5 5GHz MAC adress

Currently all Archer A7 v5 have the same (incorrect) MAC address.
The address is currently derived from eth1 which is not present on the
QCA9563. Use eth0 to get the correct MAC address.

Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agoiwinfo: update to latest git
Mathias Kresin [Sat, 29 Dec 2018 09:16:37 +0000 (10:16 +0100)]
iwinfo: update to latest git

dd508af iwinfo: fix QCA9984 vendor id
0eaabf1 iwinfo: add device id for Atheros AR9287
6e998ec iwinfo: add device id for MediaTek MT7612E
5aa8c54 libiwinfo: nl80211: add mesh stats on assoclist.
77a9e98 iwinfo: Add Mikrotik R11e-2HPnD and R11e-5HacT to hardware list

Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoRevert "samba36: add hotplug support"
Rafał Miłecki [Tue, 25 Dec 2018 17:46:44 +0000 (18:46 +0100)]
Revert "samba36: add hotplug support"

This reverts commit fd569e5e9d0a46ea957cb253e97a4b3ea8c2c540.

After an extra review & discussion few concerns were raised regarding
that feature:
1) It reacts to hotplug.d "block" events instead of more accurate (but
   currently unavailable) "mount" events.
2) It requires *something* to mount block device before samba hotplug.d
   gets fired. Otherwise samba_add_section() will just return.
3) It doesn't reload Samba which some users may expect
4) It operates on /etc/ which is not a right place for autogenerated
   ephemeral config.
5) It doesn't include any cleanup for non-existing shares.

Cc: Rosy Song <rosysong@rosinson.com>
Cc: Jo-Philipp Wich <jo@mein.io>
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agomt76: update to the latest version
Felix Fietkau [Sun, 9 Dec 2018 11:13:40 +0000 (12:13 +0100)]
mt76: update to the latest version

417ab77 mt7603: improve recovery from PSE reset failure
fea7ad8 mt76: move mt76x02_phy_get_min_avg_rssi to mt76 core
9d009be mt7603: add dynamic sensitivity tuning based on false CCA events
2c8e9ac mt7603: initialize channel maximum power from eeprom data
b2cc29b mt76: move mt76x02_get_txpower to mt76 core
6203d46 mt7603: add support for setting transmit power
294e095 mt7603: reset DMA scheduler on MT7628
8178f0d mt7603: apply efuse data only when it exists
e67e551 mt76: dma: remove napi from mt76_dma_rx_fill signature
0490bd2 mt76: usb: do not build the skb if reported len does not fit in buf_size
eb076ae mt76: Add missing include of linux/module.h
1d2819e mt76: fix typo in mt76x02_check_mac_err routine
9c9fae3 mt76: mac: run mt76x02_mac_work routine atomically
6be90b6 mt76: usb: avoid queue/status spinlocks while passing tx status to mac80211
40dad32 mt76x0: pci: fix ACS support
d94e9c4 mt76x02: do not set protection on set_rts_threshold callback
0d83d73 mt76x02: fixup MT_PROT_RATE_* defines
628f8d7 mt76x02: set protection according to ht operation element
f7d8c17 mt76x0: configure MT_VHT_HT_FBK_CFG1
10f57cf mt76x2: add static qualifier to mt76x2_init_hardware
37b2ad3 mt76: dfs: run mt76x02_dfs_set_domain atomically
51b6daf mt76x2: init: set default value for MT_TX_LINK_CFG
9661da4 mt76: add energy detect CCA support to mt76x{0,2}e drivers
876d0e9 mt76: mac: minor optimizations in mt76x02_mac_tx_rate_val
c78e317 mt76: dma: do not build skb if reported len does not fit in buf_size
3598046 mt76: mmio: introduce mt76x02_check_tx_hang watchdog

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agoramips: add support for CreativeBox v1
Weijie Gao [Sat, 8 Dec 2018 18:55:56 +0000 (02:55 +0800)]
ramips: add support for CreativeBox v1

Hardware:
SoC: MT7621
DRAM: 512MB DDR3
Flash: 32MB SPI-NOR
WiFi 2.4GHz: MT7603 @ PCIe0
WiFi 5.8GHz: MT7612 @ PCIe1
SATA: ASM1061 @ PCIe2

Interfaces:
GBE RJ45 x5
USB3.0 x1
eSATA (with USB2.0) x1
SATA x1
UART x1
I2C x1
JTAG x1

Flash instructions:
Through factory bootloader or firmware web interface

Signed-off-by: Weijie Gao <hackpascal@gmail.com>
5 years agoramips: add SPDX license identifier into some dts,dtsi
NOGUCHI Hiroshi [Sun, 23 Dec 2018 11:12:56 +0000 (20:12 +0900)]
ramips: add SPDX license identifier into some dts,dtsi

Acked-by: Mathias Kresin <dev@kresin.me>
Acked-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Signed-off-by: NOGUCHI Hiroshi <drvlabo@gmail.com>
5 years agolldpd: consolidate CONFIGURE_VARS
Stijn Tintel [Thu, 27 Dec 2018 19:04:32 +0000 (21:04 +0200)]
lldpd: consolidate CONFIGURE_VARS

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
5 years agoapm821xx: switch MyBook Live's recovery images to multi-file
Christian Lamparter [Thu, 22 Nov 2018 11:50:24 +0000 (12:50 +0100)]
apm821xx: switch MyBook Live's recovery images to multi-file

This patch converts the MyBook Live's recovery image to utilize the
multi-image method which integrates the device-tree binary directly
into the image.

The new initramfs can be loaded through the MyBook Live's U-boot
in the following way:

=> setenv ipaddr 192.168.1.1
=> setenv serverip 192.168.1.2
=> sata init; run addtty; tftp $kernel_addr_r wd_mybooklive-initramfs.bin; bootm
   Waiting for PHY auto negotiation to complete... done
   ENET Speed is 1000 Mbps - FULL duplex connection (EMAC0)
   Using ppc_4xx_eth0 device
   TFTP from server 192.168.1.2; our IP address is 192.168.1.1
   Filename 'wd_mybooklive-initramfs.bin'.
   Load address: 0x1000000
   Loading: ################################################ [...]
   done
   [...]
   Booting kernel from Legacy Image at 01000000 ...
      Image Name:    initramfs
      Image Type:   PowerPC Linux Multi-File Image (gzip compressed)
   [...]

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoapm821xx: 4.14: switch to upstream dw-dma-hport patch
Christian Lamparter [Thu, 27 Dec 2018 20:49:53 +0000 (21:49 +0100)]
apm821xx: 4.14: switch to upstream dw-dma-hport patch

This patch fixes the build regression on 4.14 build
due to dt-bindings/dma/dw-dmac.h MIA.

apm82181.dtsi:24:10: fatal error: dt-bindings/dma/dw-dmac.h: No such file or directory

Fixes: 32141c183a28 ("apm821xx: add linux 4.19 apm821xx patches")
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agobrcm47xx: add support for the kernel 4.19
Rafał Miłecki [Thu, 27 Dec 2018 20:54:28 +0000 (21:54 +0100)]
brcm47xx: add support for the kernel 4.19

One patch that wasn't ported due to a lot of conflict is:
901-Revert-bcma-switch-GPIO-portions-to-use-GPIOLIB_IRQC.patch

Hopefully a correct/real fix will get developed before we switch
brcm47xx to the 4.14.

This IS NOT ready for switching/trying/using 4.19 yet due to some DMA
regression affecting bgmac:
[    0.945472] bgmac_bcma bcma0:2: Found PHY addr: 25
[    0.954565] libphy: bcma_mdio mii bus: probed
[    0.959486] ------------[ cut here ]------------
[    0.964387] WARNING: CPU: 0 PID: 1 at ./include/linux/dma-mapping.h:516 bgmac_enet_probe+0x1b4/0x5c4
[    0.973751] Modules linked in:
[    0.976913] CPU: 0 PID: 1 Comm: swapper Not tainted 4.19.9 #0
[    0.982750] Stack : 804a0000 804597c4 00000000 00000000 80458fd8 8381bc2c 838282d4 80481a47
[    0.991367]         8042e3ec 00000001 804d38f0 00000204 83980000 00000065 8381bbe0 6f55b24f
[    0.999975]         00000000 00000000 80520000 00002018 00000000 00000075 00000007 00000000
[    1.008583]         00000000 80480000 000ee811 00000000 00000000 00000000 80432c00 80248db8
[    1.017196]         00000009 00000204 83980000 803ad7b0 00000000 801feeec 00000000 804d0000
[    1.025804]         ...
[    1.028325] Call Trace:
[    1.030875] [<8000aef8>] show_stack+0x58/0x100
[    1.035513] [<8001f8b4>] __warn+0xe4/0x118
[    1.039708] [<8001f9a4>] warn_slowpath_null+0x48/0x64
[    1.044935] [<80248db8>] bgmac_enet_probe+0x1b4/0x5c4
[    1.050101] [<802498e0>] bgmac_probe+0x558/0x590
[    1.054906] [<80252fd0>] bcma_device_probe+0x38/0x70
[    1.060017] [<8020e1e8>] really_probe+0x170/0x2e8
[    1.064891] [<8020e714>] __driver_attach+0xa4/0xec
[    1.069784] [<8020c1e0>] bus_for_each_dev+0x58/0xb0
[    1.074833] [<8020d590>] bus_add_driver+0xf8/0x218
[    1.079731] [<8020ef24>] driver_register+0xcc/0x11c
[    1.084804] [<804b54cc>] bgmac_init+0x1c/0x44
[    1.089258] [<8000121c>] do_one_initcall+0x7c/0x1a0
[    1.094343] [<804a1d34>] kernel_init_freeable+0x150/0x218
[    1.099886] [<803a082c>] kernel_init+0x10/0x104
[    1.104583] [<80005878>] ret_from_kernel_thread+0x14/0x1c
[    1.110107] ---[ end trace f441c0d873d1fb5b ]---
[    1.114914] bgmac_bcma bcma0:2: Allocation of TX ring 0x200 failed
[    1.121215] bgmac_bcma bcma0:2: Unable to alloc memory for DMA
[    1.127626] bgmac_bcma: probe of bcma0:2 failed with error -12
[    1.133838] bgmac_bcma: Broadcom 47xx GBit MAC driver loaded

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agoath79: ubnt-bullet-m-xw: Remove eth1 disabled node
Petr Štetiar [Thu, 20 Dec 2018 11:27:45 +0000 (12:27 +0100)]
ath79: ubnt-bullet-m-xw: Remove eth1 disabled node

It's redundant as eth1 is disabled by default in ath79.dtsi.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoath79: ubnt-bullet-m-xw: Move eth0 mtd-mac-address to the common include
Petr Štetiar [Wed, 12 Dec 2018 19:45:14 +0000 (20:45 +0100)]
ath79: ubnt-bullet-m-xw: Move eth0 mtd-mac-address to the common include

It's same for Bullet and Nanostation so far, so let's hope it's going to
be the same for other boards sharing the same platform.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoath79: ubnt-bullet-m-xw: Remove pll-data property from eth0 node
Petr Štetiar [Wed, 12 Dec 2018 19:32:40 +0000 (20:32 +0100)]
ath79: ubnt-bullet-m-xw: Remove pll-data property from eth0 node

It's not necessary as it's already defined in ar934x.dtsi to:

  pll-data = <0x16000000 0x00000101 0x00001616>;

And in ar71xx it's currently set to the same values:

 #define AR934X_PLL_VAL_1000 0x16000000
 #define AR934X_PLL_VAL_100 0x00000101
 #define AR934X_PLL_VAL_10 0x00001616

And dumping the value from the airOS v6.1.7 has the same value:

  AR934X_PLL_ETH_XMII_CONTROL_REG 0x1805002C 0x101

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoath79: ubnt-xw: Add LED aliases for diag and status LED support
Petr Štetiar [Thu, 6 Dec 2018 00:14:01 +0000 (01:14 +0100)]
ath79: ubnt-xw: Add LED aliases for diag and status LED support

Currently there is no LED signalization for various system states
implemented in diag.sh, so this patch adds support for it.

Tested-by: Joe Ayers <ae6xe@arrl.net>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoapm821xx: add linux 4.19 apm821xx patches
Christian Lamparter [Sun, 30 Sep 2018 09:40:13 +0000 (11:40 +0200)]
apm821xx: add linux 4.19 apm821xx patches

This patch updates the apm821xx target to use the 4.19 kernel.

4.19 ships with all the crypto4xx driver patches. Furthermore,
the DW-DMA fix for the SATA controller has been backported from
4.20 and integrated.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agokernel: 4.19: fix usbport led trigger regression
Christian Lamparter [Tue, 25 Dec 2018 20:54:42 +0000 (21:54 +0100)]
kernel: 4.19: fix usbport led trigger regression

|In the patch "usb: simplify usbport trigger" together with
|"leds: triggers: add device attribute support" caused an
|regression for the usbport trigger. it will no longer
|enumerate any "ports" (i.e the sysfs directory stays empty)
|if the usb host drivers are fully initialized before the
|usbport trigger was loaded.

<https://marc.info/?l=linux-usb&m=154577101631079>

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoipq40xx: convert to device-tree based USB LED trigger
Christian Lamparter [Thu, 20 Dec 2018 21:43:30 +0000 (22:43 +0100)]
ipq40xx: convert to device-tree based USB LED trigger

Thanks to the ledtrig-usb.c the USB LED trigger can be
setup in the device-tree definition for the Asus RT-AC58U
and ZyXEL NBG6617.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoipq40xx: fix warning triggered by bad interrupt definition
Christian Lamparter [Sun, 23 Dec 2018 19:13:34 +0000 (20:13 +0100)]
ipq40xx: fix warning triggered by bad interrupt definition

This patch fixes a kernel warning that got triggered by 4.19
because of a bad/missing interrupt level definition in the DTS.

| WARNING: CPU: 2 PID: 1996 at drivers/irqchip/irq-gic.c:1016
| CPU: 2 PID: 1996 Comm: kmodloader Not tainted 4.19.9 #0
| Hardware name: Generic DT based system
| [<c0317884>] (warn_slowpath_null) from [<c04f9cd0>]
| [<c04f9cd0>] (gic_irq_domain_translate) from [<c035af30>]
| [<c035af30>] (irq_create_fwspec_mapping) from [<c035b1e0>]
| [<c035b1e0>] (irq_create_of_mapping) from [<c0614eec>]
| [<c0614eec>] (of_irq_get) from [<c0614f3c>]
| [<c0614f3c>] (of_irq_to_resource) from [<c0614ff0>]
| [<c0614ff0>] (of_irq_to_resource_table) from [<c0610e08>]
| [<c0610e08>] (of_device_alloc) from [<c0610ea0>]
| [<c0610ea0>] (of_platform_device_create_pdata)
| [<c061120c>] (of_platform_bus_create)
| [<c06113c4>] (of_platform_populate)
| [<bf4c06b4>] (dwc3_qcom_probe [dwc3_qcom])

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoipq40xx: kmod-usb-dwc3-of-simple vs kmod-usb-dwc3-qcom
Christian Lamparter [Sun, 23 Dec 2018 19:28:29 +0000 (20:28 +0100)]
ipq40xx: kmod-usb-dwc3-of-simple vs kmod-usb-dwc3-qcom

Robert Marko <robimarko@gmail.com> noted in
"ipq40xx: Use kmod-usb-dwc3-qcom by default":
| Since 4.18 we cant use DWC3 OF Simple anymore so we
| have to use kmod-usb-dwc3-qcom.

This patch adds a TODO right next to the KERNEL_PATCHVER so
it will be picked up when moving to 4.19.

I would also like to point out:

All users/devs that are compiling their own images from source
and have a existing 4.14 config and want to switch to 4.19:

Please drop kmod-usb-dwc3-of-simple and add kmod-usb-dwc3-qcom
module package. Otherwise, the USB port on your router will no
longer work.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoipq40xx: MR33: device-tree update
Christian Lamparter [Sat, 22 Dec 2018 19:54:15 +0000 (20:54 +0100)]
ipq40xx: MR33: device-tree update

 - 4.19 no longer refuses to initialize the mdio bus if
   a phy is not connected.

 - fix partition unit-address

 - restrict partition offset and size to 32-bit integers.

 - add note to warn people not to mess with the ubi
   partition size.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>