aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
Commit message (Collapse)AuthorAgeFilesLines
* kernel: backport 4.18 patch adding DMI_PRODUCT_SKURafał Miłecki2019-06-171-0/+57
| | | | | | | | | It's needed for applying some hardware quirks. This fixes: drivers/net/wireless/broadcom/brcm80211/brcmfmac/dmi.c:60:20: error: 'DMI_PRODUCT_SKU' undeclared here (not in a function); did you mean 'DMI_PRODUCT_UUID'? DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "T8"), Fixes: 8888cb725d49 ("mac80211: brcm: backport remaining brcmfmac 5.2 patches") Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* mvebu: fixes commit a7e68927d0George Amanakis2019-06-161-1/+1
| | | | | | | | | | err_free_stats has been deprecated. Replace with err_netdev. Compile-tested on: mvebu Runtime-tested on: mvebu Fixes: a7e68927d047 ("kernel: bump 4.14 to 4.14.125 (FS#2305 FS#2297)") Signed-off-by: George Amanakis <gamanakis@gmail.com>
* kernel: Activate CONFIG_OPTIMIZE_INLININGHauke Mehrtens2019-06-164-18/+332
| | | | | | | | | | | | | | | | | | | | | | | This will reduce the size of the kernel if CONFIG_CC_OPTIMIZE_FOR_SIZE is set like for all targets with small_flash feature flag. I haven't seen any changes for an ARM64 target which optimizes the kernel for speed instead. On the ath79/tiny target the uncompressed kernel size was reduced by 3.2% and the compressed kernel size by 2.1% kernel size with CONFIG_OPTIMIZE_INLINING=n 4346412 build_dir/target-mips_24kc_musl/linux-ath79_tiny/vmlinux 1391169 build_dir/target-mips_24kc_musl/linux-ath79_tiny/tplink_tl-wr941-v4-kernel.bin Kernel size with CONFIG_OPTIMIZE_INLINING=y 4212396 build_dir/target-mips_24kc_musl/linux-ath79_tiny/vmlinux 1362051 build_dir/target-mips_24kc_musl/linux-ath79_tiny/tplink_tl-wr941-v4-kernel.bin This change is currently pending for kernel 5.2 and already in linux-next, this updates our patch to match the upstream version. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ath79: Add SUPPORTED_DEVICES for Archer C7 v1/v2Adrian Schmutzler2019-06-151-0/+2
| | | | | | | | The identifier for both devices is "archer-c7" on ar71xx, set here: https://github.com/openwrt/openwrt/blob/master/target/linux/ar71xx/base-files/lib/ar71xx.sh#L348 https://github.com/openwrt/openwrt/blob/master/target/linux/ar71xx/base-files/lib/ar71xx.sh#L511 Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq40xx: fix high resolution timerPavel Kubelun2019-06-158-6/+64
| | | | | | | | | | | | | | | | Cherry-picked from CAF QSDK repo. see 090-ipq40xx-fix-high-resolution-timer.patch Original commit message: The kernel is failing in switching the timer for high resolution mode and clock source operates in 10ms resolution. The always-on property needs to be given for timer device tree node to make clock source working in 1ns resolution. Signed-off-by: Pavel Kubelun <be.dissent@gmail.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [changed authorship of main patch to pavel and cherry-picked patch to Abhishek Sahu]
* ipq40xx: directly define voltage per oppPavel Kubelun2019-06-1522-34/+42
| | | | | | | This should align opp table with what it was before converting to OPP v2. Signed-off-by: Pavel Kubelun <be.dissent@gmail.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* kernel: mt29f_spinand: fix memory leak during page programMantas Pucka2019-06-151-0/+90
| | | | | | | | | Memory is allocated with devm_kzalloc() on every page program and leaks until device is closed (which never happens). Convert to kzalloc() and handle error paths manually. Signed-off-by: Mantas Pucka <mantas@8devices.com>
* ath79: Merge cases in 11-ath10k-caldataAdrian Schmutzler2019-06-151-5/+2
| | | | | | Cosmetical patch that just merges two cases. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* gemini: Make root filesystem writeableLinus Walleij2019-06-151-6/+8
| | | | | | | | | | | | | | | | | The squashfs+jffs2 root filesystem only came up as read-only and the config would not take: [ 25.600237] mount_root: Could not open mtd device: /dev/mtd4 [ 25.634674] mount_root: reading rootfs_data failed [ 25.665346] mount_root: Could not open mtd device: /dev/mtd3 [ 25.699802] mount_root: reading rootfs failed [ 25.726426] mount_root: mounting /dev/root Well that is not very strange since the whole firmware partition is made read-only in the device tree. Let's fix that by augmenting the OpenWrt patch. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* gemini: Fix MAC address assignment for DIR-685Linus Walleij2019-06-151-0/+15
| | | | | | | | | | The DIR-685 has the MAC addresses in the RedBoot code just like DNS-313. Check some magic numbers to determine that the MAC address is where we want it and extract it from RedBoot. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [replaced ifconfig with ip, ! -z = -n, added string quotes]
* gemini: Make a per-board case for ethernet MACLinus Walleij2019-06-151-12/+16
| | | | | | | | The DNS-313 isn't the only special board so let's bite the bullet and create a case ladder in preparation for DIR-685. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [refreshed]
* gemini: Use library functions to assign MAC addressLinus Walleij2019-06-151-12/+20
| | | | | | | | | | | | | | | | | This simplifies the ethernet address extraction script by using standard library functions to locate the MTD partitions and extract ethernet address from a binary offset location in the flash. Furthermore, the aging ifconfig is replaced by the ip tool, which will now assign the MAC addresses. Suggested-by: Christian Lamparter <chunkeey@gmail.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [ifconfig replacement, use -n instead of ! -z, -n requires string to be quoted within the test brackets, drop prepended "x" in check, add quotes, make local variables local, kill whitespaces]
* gemini: enable CONFIG_PACKETChristian Lamparter2019-06-152-2/+0
| | | | | | | | | | CONFIG_PACKET is a important feature to have. The Packet protocol is used by applications which communicate directly with network devices without an intermediate network protocol implemented in the kernel, e.g. tcpdump and ip. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* kernel: add missing symbol to 4.19 configStijn Tintel2019-06-141-0/+1
| | | | | | | | | | Kernel 4.19.47 added a new kernel config symbol ARM64_ERRATUM_1463225. This causes a build failure for sunxi/cortexa53. Add the symbol to the generic config to fix this, and avoid future build failures on other arm64 targets that expose this symbol. As the erratum only affects Cortex-A76 cores, we can safely disable it. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* kernel: bump 4.19 to 4.19.50Koen Vandeputte2019-06-129-47/+12
| | | | | | | | | Refreshed all patches. Compile-tested on: cns3xxx, imx6 Runtime-tested on: cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.14 to 4.14.125 (FS#2305 FS#2297)Koen Vandeputte2019-06-1226-1101/+350
| | | | | | | | | | | | | | | | Refreshed all patches. This bump contains upstream commits which seem to avoid (not properly fix) the errors as seen in FS#2305 and FS#2297 Altered patches: - 403-net-mvneta-convert-to-phylink.patch - 410-sfp-hack-allow-marvell-10G-phy-support-to-use-SFP.patch Compile-tested on: ar71xx, cns3xxx, imx6, mvebu, x86_64 Runtime-tested on: ar71xx, cns3xxx, imx6, x86_64 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.9 to 4.9.181Koen Vandeputte2019-06-123-5/+5
| | | | | | | | | Refreshed all patches. Compile-tested on: ar7 Runtime-tested on: none Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ramips: Remove redundant LED-casesKristian Evensen2019-06-101-68/+32
| | | | | | | 01_leds has several redundant LED-cases. This commit cleans up the file by merging these cases into shared cases. Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com>
* ath79: Add support for TP-Link Archer C25 v1Adrian Schmutzler2019-06-106-9/+231
| | | | | | | | | | | | | | | | | The TP-Link Archer C25 is a low-cost dual-band router. Specification: - CPU: Atheros QCA9561 775 MHz - RAM: 64 MB - Flash: 8 MB - Wifi: 3x3 2.4 GHz (integrated), 1x1 5 GHz QCA9887 - NET: 5x 10/100 Mbps Ethernet Some LEDs are controlled by an additional 74HC595 chip, but not all of them as e.g. for the C59. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: Reorder some TP-Link Archer devices in 01_ledsAdrian Schmutzler2019-06-101-8/+8
| | | | Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: mt7620: select kmod-rt2800-pci driver for RT5592Deng Qingfang2019-06-101-1/+3
| | | | | | | | | | | ASUS RP-N53 and Buffalo WHR-600D use RT5592 for 5GHz wireless After commit 367813b9b17 the driver for RT5592 (rt2800pci) is not selected by default anymore, which broke their 5GHz wireless Add it back to device packages Fixes: 367813b9b17 ("ramips: mt7620: fix dependencies") Signed-off-by: Deng Qingfang <dengqf6@mail2.sysu.edu.cn>
* ath79: migrate Archer C7 5GHz radio device pathsDavid Santamaría Rogado2019-06-101-6/+20
| | | | | | | | | | | | | | | | | | When upgrading a TP-Link Archer C7 v2 from ar71xx to ath79, the 5ghz radio stops working because the device path changed. Some people subtitute the unsupported QCA9880v1 in the Archer v1 with supported QCA9880v2 radio. Since the stock radio doesn't work, so it's safe to apply the change also for the Archer v1 images as well. Also this patch renames the migration file and variables from wmac to wifi. Signed-off-by: David Santamaría Rogado <howl.nsp@gmail.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [removed comment, added return 0 (not that it matters since uci is clever, see 00-wmac-migration thread), reworded commit message]
* ath79: Consistently label art partition with lower caseAdrian Schmutzler2019-06-1019-36/+33
| | | | | | | | This patch harmonizes the label and alias for art partitions across ath79. Since lower case seems to be more frequent, use that consistently. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: Read MAC addresses from flash in 11-ath10k-caldataAdrian Schmutzler2019-06-101-14/+23
| | | | | | | | | | In commit c3a8518 eth0 and eth1 have been swapped for some devices, but 11-ath10k-caldata has not been updated. Instead of fixing this by swapping eth0/eth1, this patch will read addresses from flash (as done for several devices already) so adjustments due to eth order become obsolete. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: Consistently label info partitionAdrian Schmutzler2019-06-107-15/+9
| | | | | | | | | | | | | | | | The info/product-info partition, which frequently contains MAC adresses, is typically assigned the 'info' alias in DTS, but then labelled with 'info', 'product-info' or 'config'. This leads to different aliases if used for setting MAC adresses in DTS compared to when using e.g. mtd_get_mac_binary. Occationally, also multiple switch-case entries are used just because of different labelling. This patch relabels those partitions in ath79 to consistently use 'info'. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* mpc85xx: re-enable TL-WDR4900v1 imagesPawel Dembicki2019-06-101-1/+1
| | | | | | | | | This reverts commit 324e94f31bfd ("mpc85xx: disable bricking TL-WDR4900v1 images") The previous commit fixes the TL-WDR4900v1. Enable the target again. Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* mpc85xx: convert TL-WDR4900 v1 to simpleImageChristian Lamparter2019-06-108-212/+165
| | | | | | | | | | | | | | | | | Converts the TP-Link WDR4900 v1 to use the simpleImage in the hopes of prolonging the life of the device. While at it, the patch makes the fdt.bin an ARTIFACT and sets the KERNEL_SIZE to 2684 KiB as a precaution since the stock u-boot is using a fixed kernel size. Note: Give the image some time, it will take much longer to extract and boot. [tested for 4.14/4.19] Signed-off-by: Christian Lamparter <chunkeey@gmail.com> Co-authored-by: Pawel Dembicki <paweldembicki@gmail.com> Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
* kirkwood: image: fix unwanted 2nd inclusion of kernelPetr Štetiar2019-06-091-5/+5
| | | | | | | | | | | | | | | | | | | In commit d2e18dae2892 ("kirkwood: cleanup image build code") the image build code was refactored, setting KERNEL_IN_UBI=0 which doesn't work as the KERNEL_IN_UBI needs to be unset in order to make it working as intended, which leads to factory images with two kernels in them: binwalk --keep-going openwrt-kirkwood-cisco_on100-squashfs-factory.bin MD5 Checksum: c33e3d1eb0cb632bf0a4dc287592eb70 DECIMAL HEX DESCRIPTION ------------------------------------------------------------------------------- 0 0x0 uImage header [...] "ARM OpenWrt Linux-4.14.123" 5769216 0x580800 uImage header [...] "ARM OpenWrt Linux-4.14.123" Cc: Mathias Kresin <dev@kresin.me> Ref: https://bugs.openwrt.org/index.php?do=details&task_id=2285 Fixes: d2e18dae2892 ("kirkwood: cleanup image build code") Signed-off-by: Petr Štetiar <ynezz@true.cz>
* kernel: re-add bridge allow reception on disabled portChen Minqiang2019-06-073-9/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The "bridge allow reception on disabled port" implementation was broken after these commits: 08802d93e2c1 ("kernel: bump 4.19 to 4.19.37") b765f4be407c ("kernel: bump 4.14 to 4.14.114") 456f486b53a7 ("kernel: bump 4.9 to 4.9.171") This leads to issues when for example WDS is used, tied to a bridge: [ 96.503771] wlan1: send auth to d4:5f:25:eb:09:82 (try 1/3) [ 96.517956] wlan1: authenticated [ 96.526209] wlan1: associate with d4:5f:25:eb:09:82 (try 1/3) [ 97.086156] wlan1: associate with d4:5f:25:eb:09:82 (try 2/3) [ 97.200919] wlan1: RX AssocResp from d4:5f:25:eb:09:82 (capab=0x11 status=0 aid=1) [ 97.208706] wlan1: associated [ 101.312913] wlan1: deauthenticated from d4:5f:25:eb:09:82 (Reason: 2=PREV_AUTH_NOT_VALID) It seems upstream introduced a new patch, [1] so we have to reimplement these patches properly: target/linux/generic/pending-4.9/150-bridge_allow_receiption_on_disabled_port.patch target/linux/generic/pending-4.14/150-bridge_allow_receiption_on_disabled_port.patch target/linux/generic/pending-4.19/150-bridge_allow_receiption_on_disabled_port.patch [1] https://lkml.org/lkml/2019/4/24/1228 Fixes: 08802d93e2c1 ("kernel: bump 4.19 to 4.19.37") Fixes: b765f4be407c ("kernel: bump 4.14 to 4.14.114") Fixes: 456f486b53a7 ("kernel: bump 4.9 to 4.9.171") Signed-off-by: Chen Minqiang <ptpt52@gmail.com> [updated commit message and title] Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: backport act_ctinfoKevin Darbyshire-Bryant2019-06-062-0/+1201
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ctinfo is a new tc filter action module. It is designed to restore information contained in firewall conntrack marks to other packet fields and is typically used on packet ingress paths. At present it has two independent sub-functions or operating modes, DSCP restoration mode & skb mark restoration mode. The DSCP restore mode: This mode copies DSCP values that have been placed in the firewall conntrack mark back into the IPv4/v6 diffserv fields of relevant packets. The DSCP restoration is intended for use and has been found useful for restoring ingress classifications based on egress classifications across links that bleach or otherwise change DSCP, typically home ISP Internet links. Restoring DSCP on ingress on the WAN link allows qdiscs such as but by no means limited to CAKE to shape inbound packets according to policies that are easier to set & mark on egress. Ingress classification is traditionally a challenging task since iptables rules haven't yet run and tc filter/eBPF programs are pre-NAT lookups, hence are unable to see internal IPv4 addresses as used on the typical home masquerading gateway. Thus marking the connection in some manner on egress for later restoration of classification on ingress is easier to implement. Parameters related to DSCP restore mode: dscpmask - a 32 bit mask of 6 contiguous bits and indicate bits of the conntrack mark field contain the DSCP value to be restored. statemask - a 32 bit mask of (usually) 1 bit length, outside the area specified by dscpmask. This represents a conditional operation flag whereby the DSCP is only restored if the flag is set. This is useful to implement a 'one shot' iptables based classification where the 'complicated' iptables rules are only run once to classify the connection on initial (egress) packet and subsequent packets are all marked/restored with the same DSCP. A mask of zero disables the conditional behaviour ie. the conntrack mark DSCP bits are always restored to the ip diffserv field (assuming the conntrack entry is found & the skb is an ipv4/ipv6 type) e.g. dscpmask 0xfc000000 statemask 0x01000000 |----0xFC----conntrack mark----000000---| | Bits 31-26 | bit 25 | bit24 |~~~ Bit 0| | DSCP | unused | flag |unused | |-----------------------0x01---000000---| | | | | ---| Conditional flag v only restore if set |-ip diffserv-| | 6 bits | |-------------| The skb mark restore mode (cpmark): This mode copies the firewall conntrack mark to the skb's mark field. It is completely the functional equivalent of the existing act_connmark action with the additional feature of being able to apply a mask to the restored value. Parameters related to skb mark restore mode: mask - a 32 bit mask applied to the firewall conntrack mark to mask out bits unwanted for restoration. This can be useful where the conntrack mark is being used for different purposes by different applications. If not specified and by default the whole mark field is copied (i.e. default mask of 0xffffffff) e.g. mask 0x00ffffff to mask out the top 8 bits being used by the aforementioned DSCP restore mode. |----0x00----conntrack mark----ffffff---| | Bits 31-24 | | | DSCP & flag| some value here | |---------------------------------------| | | v |------------skb mark-------------------| | | | | zeroed | | |---------------------------------------| Overall parameters: zone - conntrack zone control - action related control (reclassify | pipe | drop | continue | ok | goto chain <CHAIN_INDEX>) Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk> Reviewed-by: Toke Høiland-Jørgensen <toke@redhat.com> Acked-by: Cong Wang <xiyou.wangcong@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> Make suitable adjustments for backporting to 4.14 & 4.19 and add to SCHED_MODULES_FILTER Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* layerscape: update patches-4.14 to LSDK 19.03Biwen Li2019-06-0638-6688/+28071
| | | | | | | | | | | | | | | | | | | | All patches of LSDK 19.03 were ported to Openwrt kernel. We still used an all-in-one patch for each IP/feature for OpenWrt. Below are the changes this patch introduced. - Updated original IP/feature patches to LSDK 19.03. - Added new IP/feature patches for eTSEC/PTP/TMU. - Squashed scattered patches into IP/feature patches. - Updated config-4.14 correspondingly. - Refreshed all patches. More info about LSDK and the kernel: - https://lsdk.github.io/components.html - https://source.codeaurora.org/external/qoriq/qoriq-components/linux Signed-off-by: Biwen Li <biwen.li@nxp.com> Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: convert to use TF-A for firmwareBiwen Li2019-06-061-49/+39
| | | | | | | | | | This patch is to convert to use TF-A for firmware. - Use un-swapped rcw since swapping will be done in TF-A. - Use u-boot with TF-A defconfig. - Rework memory map for TF-A introduction. Signed-off-by: Biwen Li <biwen.li@nxp.com> Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: drop armv8_32b supportYangbo Lu2019-06-066-1071/+1
| | | | | | | NXP LSDK has decided to drop armv8_32b support considering few users are using it. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: remove POSIX_MQUEUE configsYangbo Lu2019-06-063-6/+0
| | | | | | | The POSIX_MQUEUE configs had been handled by OpenWrt configuration. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* kernel: handle CFQ_GROUP_IOSCHED/CGROUP_HUGETLB in config-4.14Yangbo Lu2019-06-061-0/+2
| | | | | | | | The generic config-4.14 should handle below configs. - CONFIG_CFQ_GROUP_IOSCHED - CONFIG_CGROUP_HUGETLB Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* brcm63xx: DVA-G3810BN/TL: Fix the WAN ethernet portDaniel Gonzalez Cabanelas2019-06-0638-98/+96
| | | | | | | | | | | The WAN port has the wrong configuration in the kernel for the DVA-G3810BN/TL The WAN port uses the internal phy, but it isn't enabled at the kernel board data. Fix it. Signed-off-by: Daniel Gonzalez Cabanelas <dgcbueu@gmail.com> Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
* Revert "kernel: backport act_ctinfo"Kevin Darbyshire-Bryant2019-06-062-1201/+0
| | | | | | | | | | This reverts commit 7c50182e0cdce0366715082872a2afbcf208bbf8. Produces build error: Package kmod-sched is missing dependencies for the following libraries: nf_conntrack.ko Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* kernel: backport act_ctinfoKevin Darbyshire-Bryant2019-06-062-0/+1201
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ctinfo is a new tc filter action module. It is designed to restore information contained in firewall conntrack marks to other packet fields and is typically used on packet ingress paths. At present it has two independent sub-functions or operating modes, DSCP restoration mode & skb mark restoration mode. The DSCP restore mode: This mode copies DSCP values that have been placed in the firewall conntrack mark back into the IPv4/v6 diffserv fields of relevant packets. The DSCP restoration is intended for use and has been found useful for restoring ingress classifications based on egress classifications across links that bleach or otherwise change DSCP, typically home ISP Internet links. Restoring DSCP on ingress on the WAN link allows qdiscs such as but by no means limited to CAKE to shape inbound packets according to policies that are easier to set & mark on egress. Ingress classification is traditionally a challenging task since iptables rules haven't yet run and tc filter/eBPF programs are pre-NAT lookups, hence are unable to see internal IPv4 addresses as used on the typical home masquerading gateway. Thus marking the connection in some manner on egress for later restoration of classification on ingress is easier to implement. Parameters related to DSCP restore mode: dscpmask - a 32 bit mask of 6 contiguous bits and indicate bits of the conntrack mark field contain the DSCP value to be restored. statemask - a 32 bit mask of (usually) 1 bit length, outside the area specified by dscpmask. This represents a conditional operation flag whereby the DSCP is only restored if the flag is set. This is useful to implement a 'one shot' iptables based classification where the 'complicated' iptables rules are only run once to classify the connection on initial (egress) packet and subsequent packets are all marked/restored with the same DSCP. A mask of zero disables the conditional behaviour ie. the conntrack mark DSCP bits are always restored to the ip diffserv field (assuming the conntrack entry is found & the skb is an ipv4/ipv6 type) e.g. dscpmask 0xfc000000 statemask 0x01000000 |----0xFC----conntrack mark----000000---| | Bits 31-26 | bit 25 | bit24 |~~~ Bit 0| | DSCP | unused | flag |unused | |-----------------------0x01---000000---| | | | | ---| Conditional flag v only restore if set |-ip diffserv-| | 6 bits | |-------------| The skb mark restore mode (cpmark): This mode copies the firewall conntrack mark to the skb's mark field. It is completely the functional equivalent of the existing act_connmark action with the additional feature of being able to apply a mask to the restored value. Parameters related to skb mark restore mode: mask - a 32 bit mask applied to the firewall conntrack mark to mask out bits unwanted for restoration. This can be useful where the conntrack mark is being used for different purposes by different applications. If not specified and by default the whole mark field is copied (i.e. default mask of 0xffffffff) e.g. mask 0x00ffffff to mask out the top 8 bits being used by the aforementioned DSCP restore mode. |----0x00----conntrack mark----ffffff---| | Bits 31-24 | | | DSCP & flag| some value here | |---------------------------------------| | | v |------------skb mark-------------------| | | | | zeroed | | |---------------------------------------| Overall parameters: zone - conntrack zone control - action related control (reclassify | pipe | drop | continue | ok | goto chain <CHAIN_INDEX>) Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk> Reviewed-by: Toke Høiland-Jørgensen <toke@redhat.com> Acked-by: Cong Wang <xiyou.wangcong@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> Make suitable adjustments for backporting to 4.14 & 4.19 Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* kernel: bump 4.19 to 4.19.48Koen Vandeputte2019-06-059-17/+17
| | | | | | | | | Refreshed all patches. Compile-tested on: cns3xxx, imx6 Runtime-tested on: cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: generic: make kernel-debug.tar.bz2 usable againPetr Štetiar2019-06-053-72/+0
| | | | | | | | | | | This patch removes 202-reduce_module_size.patch which is causing missing debug symbols in kernel modules, leading to unusable kernel-debug.tar.bz2 on all platforms, making debugging of release kernel crashes difficult. Cc: Felix Fietkau <nbd@nbd.name> Acked-by: Jonas Gorski <jonas.gorski@gmail.com> Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ramips: add support for TOTOLINK LR1200Chuanhong Guo2019-06-053-0/+165
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: - SoC: MT7628DAN (MT7628AN with 64MB built-in RAM) - Flash: 8M SPI NOR - Ethernet: 5x 10/100Mbps - WiFi: 2.4G: MT7628 built-in 5G: MT7612E - 1x miniPCIe slot for LTE modem (only USB pins connected) - 1x SIM slot Flash instruction: U-boot has a builtin web recovery page: 1. Hold the reset button while powering it up 2. Connect to the ethernet and set an IP in 192.168.1.0/24 range 3. Open your browser and upload firmware through http://192.168.1.1 Note about the LTE modem: If your router comes with an EC25 module and it doesn't show up as a QMI device, you should do the following to switch it to QMI mode: 1. Install kmod-usb-serial-option and a terminal software (e.g. minicom or screen). All 4 serial ports of the modem should be available now. 2. Open /dev/ttyUSB3 with the terminal software and type this AT command: AT+QCFG="usbnet",0 3. Power-cycle the router. You should now get a QMI device recognized. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ath79: add support for 8devices Carambola2 development boardRytis Zigmantavičius2019-06-053-0/+148
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: - Atheros AR9331 (400 MHz) - 64 MB of RAM (DDR2) - 16 MB of Flash (SPI) - 1T1R 2.4 Wlan (AR9331) - 2x 10/100 Mbps Ethernet - 3x LEDs, 1x gpio button - 1x USB 2.0, 5V - UART over usb, 115200n8 Upgrading from ar71xx target: - Put image into board: scp openwrt-ath79-generic-8dev_carambola2-squashfs-sysupgrade.bin \ root@192.168.1.1/tmp/ - Run sysupgrade sysupgrade /tmp/sysupgrade.bin Upgrading from u-boot: - Set up tftp server with sysupgrade.bin image - Go to u-boot (reboot and press ESC when prompted) - Set TFTP server IP setenv serverip 192.168.1.254 - Set device ip from same subnet setenv ipaddr 192.168.1.1 - Copy new firmware to board tftpboot 0x81000000 sysupgrade.bin - erase flash erase 0x9f050000 +${filesize} - flash firmware cp.b 0x81000000 0x9f050000 ${filesize} - Reset board reset Signed-off-by: Rytis Zigmantavičius <rytis.z@8devices.com> [wrapped long line in commit description, whitespace and art address fix in DTS, keep default lan/wan setup, removed -n in sysupgrade] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ath79: Add support for ZBT-WD323Kristian Evensen2019-06-055-0/+186
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ZBT-WD323 is a dual-LTE router based on AR9344. The detailed specifications are: * AR9344 560MHz/450MHz/225MHz (CPU/DDR/AHN). * 128 MB RAM * 16MB of flash(SPI-NOR, 22MHz) * 1x 2.4GHz wifi (Atheros AR9340) * 3x 10/100Mbos Ethernet (AR8229) * 1x USB2.0 port * 2x miniPCIe-slots (USB2.0 only) * 2x SIM slots (standard size) * 4x LEDs (1 gpio controlled) * 1x reset button * 1x 10 pin terminal block (RS232, RS485, 4x GPIO) * 2x CP210x UART bridge controllers (used for RS232 and RS485) * 1x 2 pin 5mm industrial interface (input voltage 12V~36V) * 1x DC jack * 1x RTC (PCF8563) Tested: - Ethernet switch - Wifi - USB port - MiniPCIe-slots (+ SIM slots) - Sysupgrade - Reset button - RS232 Intallation and recovery: The board ships with OpenWRT, but sysupgrade does not work as a different firmware format than what is expected is generated. The easiest way to install (and recover) the router, is to use the web-interface provided by the bootloader (Breed). While the interface is in Chinese, it is easy to use. First, in order to access the interface, you need to hold down the reset button for around five seconds. Then, go to 192.168.1.1 in your browser. Click on the second item in the list on the left to access the recovery page. The second item on the next page is where you select the firmware. Select the menu item containing "Atheros SDK" and "16MB" in the dropdown close to the buttom, and click on the button at the bottom to start installation/recovery. Notes: * RS232 is available on /dev/ttyUSB0 and RS485 on /dev/ttyUSB1 Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com> [removed unused poll-interval from gpio-keys, i2c-gpio 4.19 compat] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ath79: fix default config for devices with eth0/eth1 swappedChuanhong Guo2019-06-052-70/+56
| | | | | | | | | | | | | | | | also fix the following problems in this commit: glinet,gl-ar150: This router uses an uncommon order of setting up gmacs in ar71xx. gmac0 is preferred to be wan port because of the additional link status info available. So this router will have eth0/eth1 swapped comparing to ar71xx. tplink,tl-wr710n-v1: same as gl-ar150 embeddedwireless,dorin: eth0 is used as switch port, which was incorrect. It's correct now, so keep this one untouched. tplink,tl-wr842n-v1: we don't swap PHYs on ar7241 so the original port order is incorrect. reorder archer-a7-v5 entry. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ath79: dts: drop "simple-mfd" for gmacs in SoC dtsiChuanhong Guo2019-06-057-10/+10
| | | | | | | | | | | | With a proper probe deferring for ag71xx we don't need to explicitly probe mdio1 before gmac0. Drop all "simple-mfd" in SoC dtsi so that gmac orders can be the same as ar71xx. This makes eth0/eth1 order the same as those in ar71xx, which means we don't need a migration script for this anymore and we can merge incorrectly split gmac/mdio driver back together. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ath79: ag71xx: defer probe if of_phy_connect failedChuanhong Guo2019-06-051-2/+2
| | | | | | | | | gmac0 may need a phy on builtin switch, which can be unavailable if gmac0 is probed before builtin switch. Return -EPROBE_DEFER in this case so that gmac0 can be probed later. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ath79: rework LED configurations for tplink,archer-d50-v1Chuanhong Guo2019-06-051-3/+3
| | | | | | | | | | | | The original one has the following problem: 1. Port mask of lan led includes wan port. 2. By using netdev trigger with vlan port, the link led is always on. This commits fixes the above problems by correcting port mask for lan led and use swconfig trigger for wan leds. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ramips: mt7620: fix 5GHz WiFi LED on DWR-118-A1Pawel Dembicki2019-06-051-0/+5
| | | | | | | | | Support for D-Link DWR-118 A1 was added before LEDs feature in mt76x0e driver. This fixes the 5GHz WiFi LED which was previously inverted. Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
* ar71xx: ag71xx: update ethtool supportPetr Štetiar2019-06-051-34/+14
| | | | | | | | | | Remove references to broken and mostly deprecated phy_ethtool_ioctl, use new {s,g}et_link_ksettings and add nway_reset which was previously handled in phy_ethtool_ioctl. Cc: John Crispin <john@phrozen.org> Ref: https://bugs.openwrt.org/index.php?do=details&task_id=1982 Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ath79: ag71xx: update ethtool supportPetr Štetiar2019-06-051-26/+14
| | | | | | | | | | | | ethtool doesn't work currently as phy_ethtool_ioctl expects user space pointer, but it's being passed kernel one. Fixing it doesn't make sense as {s,g}et_settings were deprecated anyway. So let's rather remove phy_ethtool_ioctl and use new {s,g}et_link_ksettings instead. While at it, update nway_reset as well. Cc: John Crispin <john@phrozen.org> Ref: https://bugs.openwrt.org/index.php?do=details&task_id=1982 Signed-off-by: Petr Štetiar <ynezz@true.cz>