Commit Graph

56772 Commits

Author SHA1 Message Date
Sieng-Piaw Liew
a6a54135ef bmips: fix Tx cleanup when NAPI poll budget is zero
NAPI poll() function may be passed a budget value of zero, i.e. during
netpoll, which isn't NAPI context.
Therefore, napi_consume_skb() must be given budget value instead of
!force to truly discern netpoll-like scenarios.

https://lore.kernel.org/netdev/20220707141056.2644-1-liew.s.piaw@gmail.com/t/#m470f5c20225e76fb08c44d6cfa2f1b739ffaaea4
Signed-off-by: Sieng-Piaw Liew <liew.s.piaw@gmail.com>
[improve code format]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-03-04 19:28:16 +01:00
Sieng Piaw Liew
cbc1fcf0e4 bmips: add BQL support
Add Byte Queue Limits support to reduce/remove bufferbloat.

Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
2023-03-04 19:28:16 +01:00
Sieng Piaw Liew
85d403a579 bmips: batch process eth_type_trans() in rx path
Improve cache efficiency by running eth_type_trans() in its own loop.

Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
2023-03-04 19:28:16 +01:00
Sieng Piaw Liew
686050b2b2 bmips: batch process rx path
Use netif_receive_skb_list() to batch process rx skb. This improves
cache efficiency.

Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
2023-03-04 19:28:16 +01:00
Sieng Piaw Liew
6276dad6ca bmips: improve rx loop
Use existing rx processed count to track against budget, thereby making
budget decrement operation redundant.
rx_desc_count can be calculated outside the rx loop, making the loop a
bit smaller.

Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
2023-03-04 19:28:16 +01:00
Sieng Piaw Liew
330cbcc09c bmips: switch to napi_build_skb() to reuse skbuff_heads
napi_build_skb() reuses NAPI skbuff_head cache in order to save some
cycles on freeing/allocating skbuff_heads on every new rx or completed
tx.
Use napi_consume_skb() to feed the cache with skbuff_heads of completed
tx so it's never empty.

Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
2023-03-04 19:28:16 +01:00
Sieng Piaw Liew
a332b8cc9c bmips: check NAPI context when refilling rx SKB
Check if we're in NAPI context when refilling rx. Normally we're almost
always running in NAPI context. Dispatch to napi_alloc_frag() directly
instead of relying on netdev_alloc_frag() which does the same but with
the overhead of local_bh_disable/enable.

Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
[improve code format]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-03-04 19:28:16 +01:00
Sieng Piaw Liew
71ef4ec47c bmips: convert to build_skb()
We can increase the efficiency of rx path by using buffers to receive
packets then build SKBs around them just before passing into the network
stack. In contrast, preallocating SKBs too early reduces CPU cache
efficiency.
Performance is slightly increased but the changes allow more
potential optimizations.

Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
[improve code format]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-03-04 19:28:16 +01:00
Sieng Piaw Liew
7178adadcc bmips: use netdev_alloc_skb() for copybreak
bmips is using Broadcom B53 DSA driver which means the ethernet driver
must compensate for 6 bytes tags from the internal switch.
This means using NET_IP_ALIGN actually misaligns the skb, lowering
performance significantly. Therefore napi_alloc_skb() which uses
NET_IP_ALIGN is changed to netdev_alloc_skb().
Performance in iperf3 is increased from ~47Mbps to 52Mbps.

Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
2023-03-04 19:28:16 +01:00
André Fonseca
3817577c92 ramips: mt7621: TP-Link EAP235/615-Wall: add poe passthrough gpio definitions
Add the missing definitions for the PoE passthrough functionality.
The relevant pin is already being exported, but it is missing from
the initial board configuration file. With this change, the user is
now able to toggle the PoE passthorough functionality via the uci cli

Signed-off-by: André Fonseca <mail@andrefonseca.pt>
2023-03-04 17:37:25 +01:00
Chukun Pan
3e4c014008 bpf-headers: fix package category
This removes the non-selectable 'Kernel' item
when make menuconfig.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
2023-03-04 17:18:56 +01:00
Felix Fietkau
b934c63518 uboot-mediatek: mark all packages as hidden
They are enabled by selecting devices. Fixes build errors when enabling extra
devices without creating a new config from scratch.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-03-04 16:27:25 +01:00
Mikhail Zhilkin
1f53fa2b83 ramips: fix wrong pcie port number for Arcadyan WE420223-99
Wrong pcie port number for WLAN causes missing 5g WLAN interface with 5.15
kernel on Arcadyan WE420223-99 (KPN Experia WiFi).

This changes port from pcie0 to pcie1.

[1.331556] mt7621-pci 1e140000.pcie: pcie0 no card, disable it (RST & CLK)
[1.345299] mt7621-pci 1e140000.pcie: pcie2 no card, disable it (RST & CLK)
[1.359116] mt7621-pci 1e140000.pcie: PCIE1 enabled

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
2023-03-04 13:34:08 +01:00
Hang Zhou
e451957166 ramips: add support for D-Link Dir-853 A1
Specifications:
* SoC: MT7621AT
* RAM: 256MB (NT5CC64M16GP-DI)
* Flash: 16MB NOR SPI flash (GD25Q127CSIG, using GD25Q128C driver)
* WiFi: MT7615DN (2.4GHz+5Ghz) with DBDC
* Ethernet: 4x1000M LAN, 1x 1000M WAN
* LEDs: Power Blue+Orange,Wan Blue+Orange,WPS Blue,"2.4G"Blue, "5G" Blue,
  USB Blue
* Buttons: Reset,WPS, Wifi
* Serial interface: on board but not populated, pinout (from the DC jack
side to the WAN port side) is "3.3V Input Output Gnd". Baud rate is 57600,
settings are 8 data bits, no parity bit, one stop bit, and no flow control.

Stock flash layout:
```
GD25Q128C(c8 40180000) (16384 Kbytes)
mtd .name = raspi, .size = 0x01000000 (16M) .erasesize = 0x00010000 (64K)
.numeraseregions = 0
Creating 7 MTD partitions on "raspi":
0x000000000000-0x000001000000 : "ALL"
0x000000000000-0x000000030000 : "Bootloader"
0x000000030000-0x000000040000 : "Config"
0x000000040000-0x000000050000 : "Factory"
0x000000050000-0x000000060000 : "Config2"
0x000000060000-0x000000fb0000 : "Kernel"
0x000000fb0000-0x000001000000 : "Private"
```
The kernel partition will be replaced with the OpenWrt image, the other
partitions are left untouched.

"Config2" seems to be the config storage used by the stock firmware.

"Private" is a 320kB empty JFFS2 partition that comes with the stock
firmware. One can get a larger space for OpenWrt by merging it with
"Kernel".

OpenWrt flash layout:
```
0x000000000000-0x000000030000 : "u-boot"
0x000000030000-0x000000040000 : "u-boot-env"
0x000000040000-0x000000050000 : "factory"
0x000000050000-0x000000060000 : "config2_stock"
0x000000060000-0x000000fb0000 : "firmware"
0x000000fb0000-0x000001000000 : "private_stock"
```

The OpenWrt image must have 96 bytes of padding in the header.

MAC addresses on OEM firmware:
|      		| location on the flash 	| notes    	|
|------		|-----------------------	|----------	|
| lan (eth2) 	| factory + 0xe000      	| on label 	|
| wan (eth3) 	| factory + 0xe006      	|          	|
| 2.4g (rax0) 	| not on flash          	| lan + 1  	|
| 5g (ra0) 	| not on flash          	| lan + 2  	|

Mac addresses of the 2.4g and 5g interface are stored as ASCII strings in
the u-boot-env partition, but they are not used. OpenWrt calculates
Wifi Mac addresses based on the LAN Mac.

Flash and test instructions:
Flash the encrypted image (available in the OpenWrt forum) through the
stock D-Dink web interface.

1. Open the case, and solder the 4-pin header near the WAN port.
2. Connect it to a USB-UART TTL (3.3V) adapter, no need to connect VCC.
3. Open a terminal emulator (e.g. `screen /dev/ttyUSB0` on linux) with
the settings mentioned above.
4. Setup a TFTP server on your PC that can serve
`xxx-ramips-mt7621-dlink_dir-853-a1-initramfs-kernel.bin`.
5. Connect any LAN port to your PC and set a static IPv4 address to
192.168.0.101 (netmask 255.255.255.0).
6. Power on the device and keeps pressing 1 until you see the prompt.
7. Use default IP addresses and enter the file name accordingly, then hit
enter.
8. Wait until it boots to OpenWrt, the default IP address is 192.168.1.1,
you need to change your PC network adapter to use DHCP in order to access
LUCI.
9. So far, the OpenWrt runs in RAM and the flash contents are not touched.
You can try OpenWrt without having to overwrite the stock firmware, a
reboot clears all changes.
10. Optionally, backup the stock firmware (the "firmware" partition) in
Luci.
11. To permantly install OpenWrt to the device , click
on "System -> Backup/Flash Firmware" in Luci and flash
`xxx-ramips-mt7621-dlink_dir-853-a1-squashfs-sysupgrade.bin`

Known problems:
* WLAN0 defaults to 5G after a fresh installation, to enable 2.4G network,
you need to config it manually in LUCI.

* If you see jffs2 related warnings/errors after updating from the stock
web interface, you need to do a reset in LUCI. The error will be gone after
a cold reboot.

Signed-off-by: Hang Zhou <929513338qq@gmail.com>
2023-03-04 13:23:18 +01:00
INAGAKI Hiroshi
1cd8dfe659 ipq807x: don't generate factory.ubi for Buffalo WXR-5950AX12
On WXR-5950AX12, squashfs-factory.ubi is unnecessary for OpenWrt
installation and other purposes, so drop it from IMAGES and don't
generate to prevent confusion of users.

Reviewed-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2023-03-04 13:12:40 +01:00
David Bauer
26bc8f6876 generic: MIPS: Add barriers between dcache & icache flushes
This fixes spurious boot-errors with some ath79 MIPS 74Kc boards such
as the AC Lite as well as Archer C7 v2.

The missing barrier leads to the icache flush being executed before the
dcache writeback, which results in the CPU executing the dummy infinite
loop in tlbmiss_handler_setup_pgd.

Applying this patch from upstream ensures the dcache is written back
before flushing the icache.

Signed-off-by: David Bauer <mail@david-bauer.net>
2023-03-04 13:09:30 +01:00
John Audia
0aedf916df kernel: bump 5.15 to 5.15.98
Removed upstreamed:
	backport-5.15/883-0001-net-Remove-WARN_ON_ONCE-sk-sk_forward_alloc-from-sk_.patch[1]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.98&id=e7f460696340fe5caba5f21ddb262a44a2388af2

Build system: x86_64
Build-tested: bcm2711/RPi4B, filogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3
Run-tested: bcm2711/RPi4B, filogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <therealgraysky@proton.me>
2023-03-04 13:06:28 +01:00
Josef Schlehofer
f8cd27891f mpc85xx: p2020: enable CONFIG_MAX63XX_WATCHDOG
This enables CONFIG_MAX63XX_WATCHDOG [1], which can be used on P2020
RDB.

[1] https://cateee.net/lkddb/web-lkddb/MAX63XX_WATCHDOG.html

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2023-03-04 12:54:38 +01:00
Josef Schlehofer
620bc37c2a kernel: add support for max6370 watchdog via GPIO
This backports the third version [1], which is awaiting upstream merge. It
adds support for watchdog max6370, which is connected via GPIO. It
is useful primarily for P2020 RDB and Turris 1.x routers, which are
not yet supported.

[1] https://www.spinics.net/lists/linux-watchdog/msg23299.html

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2023-03-04 12:54:38 +01:00
Nick Hainke
7c5e847827 kernel: move CONFIG_PAGE_POOL to generic
Move "# CONFIG_PAGE_POOL is not set" to generic.

Suggested-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Nick Hainke <vincent@systemli.org>
2023-03-04 10:20:58 +01:00
Felix Fietkau
f6a7ce2501 mac80211: fix regression in sw a-msdu tx introduced in mesh improvement patches
Fixes: 6262d3eb06 ("mac80211: sync mesh fast xmit patch with upstream requested changes")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-03-03 11:21:26 +01:00
Álvaro Fernández Rojas
12a3c863d2 bmips: loader-lzma: drop unused RAMSIZE parameter
This parameter has never been used.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-03-02 20:37:56 +01:00
Álvaro Fernández Rojas
05603df730 bcm63xx: loader-lzma: drop unused RAMSIZE parameter
This parameter has never been used.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-03-02 20:37:56 +01:00
David Bauer
7662700613 fritz-tools: fix segfault in caldata-extract
* Fix incorrect error message in case input file opening fails
 * Don't close files in case the pointers are invalid

Signed-off-by: David Bauer <mail@david-bauer.net>
2023-03-02 17:04:28 +01:00
Felix Fietkau
19817fa3f5 mac80211: add mesh fast-rx support
This helps bring down rx CPU usage by avoiding calls to the rx handlers in
the slow path. Supports forwarding and local rx, including A-MSDU.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-03-02 14:04:07 +01:00
Felix Fietkau
9307c27539 kernel: fix mtk dsa tag padding
The padding intended to avoid corrupted non-zero padding payload was
accidentally adding too many padding bytes, tripping up some setups.
Fix this by using eth_skb_pad instead.
Fixes #11942.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-03-02 12:59:53 +01:00
Felix Fietkau
23b46b1c61 linux-firmware: add mt7986 offload firmware
This is needed for WED support on MT7986.
Enable it by default for the filogic subtarget.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-03-02 11:25:17 +01:00
Felix Fietkau
4dd0eaffc1 mt76: update to the latest version
71d84bfb343e wifi: mt76: mt76x0u: report firmware version through ethtool
99d13130b517 wifi: mt76: support ww power config in dts node
09c614734880 Revert "wifi: mt76: mt7996: rely on mt76_connac2_mac_decode_he_radiotap"
e1c9c1cb50a8 mt76: mt7921: Let PCI core handle power state and use pm_sleep_ptr()
34064dbcd72a wifi: mt76: mt7921e: add pci .shutdown() support
18ccfa73a9e2 wifi: mt76: remove redundent MCU_UNI_CMD_* definitions
282845ce7f3d wifi: mt76: mt7921: fix wrong command to set STA channel
546934dacfd4 wifi: mt76: mt7921: fix PCI DMA hang after reboot
fc2ed0dfc5b0 wifi: mt76: mt7996: Remove unneeded semicolon
1b602db9c235 wifi: mt76: mt7915: unlock on error in mt7915_thermal_temp_store()
ce2438aa616a wifi: mt76: mt7996: fix radiotap bitfield
17ec2146b8f0 wifi: mt76: dynamic channel bandwidth changes in AP mode
ab2d3650a456 wifi: mt76: mt7915: expose device tree match table
90d78253498e wifi: mt76: mt7915: add dev->hif2 support for mt7916 WED device
a69c34a60451 wifi: mt76: mt7915: rework init flow in mt7915_thermal_init()
39079b5e44a7 wifi: mt76: drop the incorrect scatter and gather frame
f9ca70d6367a wifi: mt76: mt7915: add back 160MHz channel width support for MT7915
eff7666e1aa4 wifi: mt76: handle failure of vzalloc in mt7615_coredump_work
920bc6e1fc8e wifi: mt76: do not run mt76_unregister_device() on unregistered hw
b0721b96927b wifi: mt76: connac: refresh tx session timer for WED device
c32d6d849c43 wifi: mt76: usb: fix use-after-free in mt76u_free_rx_queue

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-03-02 11:18:27 +01:00
Felix Fietkau
97a060dce2 mac80211: add patch for allowing the driver to refresh aggregation sessions
Required by a mt76 update

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-03-02 11:18:27 +01:00
Felix Fietkau
ee9d706c20 mac80211: backport upstream HE/VHT capability handling changes
Will be required by an mt76 update at some point

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-03-02 11:17:34 +01:00
Felix Fietkau
6262d3eb06 mac80211: sync mesh fast xmit patch with upstream requested changes
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-03-02 11:17:34 +01:00
Hauke Mehrtens
f57a0709e8 toolchain/binutils: switch to version 2.40 by default
This was build tested with all core packages on all targets
successfully.

This was run tested on the following systems:
* lantiq/xrx200 musl
* x86/64 musl
* x86/64 glibc
* malta/be

The size of some of the initramfs images from lantiq/xrx increased by
240 bytes.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2023-03-01 23:44:57 +01:00
Hauke Mehrtens
801c88295e toolchain/binutils: backport stable patches
Add the patches with real changes from the binutils 2.40 stable branch.
I am not aware that we ran into any of these problems, but I think it is
better to take the existing stable patches.

They were exported like this:
git format-patch binutils-2_40...origin/binutils-2_40-branch
I removed the patches changing the version numbers and updating the
translations only.

I removed the following patches:
 *Automatic-date-updat*
 001-Re-enable-development.-Update-version-to-2.40.0.patch
 004-Updated-translations-for-the-gas-and-binutils-sub-di.patch
 015-Updated-Swedish-translation-for-the-binutils-sub-dir.patch
 027-Updated-Swedish-translation-for-the-binutils-sub-dir.patch

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2023-03-01 23:44:57 +01:00
Tim Harvey
339a67cb7f kernel: fix hwmon-gsc driver
Fix hwmon-gsc driver by replacing out-of-tree hwmon-gsc driver with in-tree
driver that was merged in Linux v5.8:
 - remove the old out-of-tree module
 - add configuration for the in-tree modules

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2023-03-01 23:25:41 +01:00
Bjørn Mork
79bd0172ca mt7621: move uboot-envtools to DEFAULT_PACKAGES
Several devices depend on fw_printenv during sysupgrade.  Make sure
it always is present in all images, including initramfs images built
by the buildbots.

Fixes: 2449a63208 ("ramips: mt7621: Add support for ZyXEL NR7101")
Signed-off-by: Bjørn Mork <bjorn@mork.no>
2023-03-01 23:24:23 +01:00
Sergio Paracuellos
84c04ff406 ramips: rt5350: enable lzma-loader for ALLNET ALL5003
Fixes the boot loader LZMA decompression issue:
LZMA ERROR 1 - must RESET board to recover

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
2023-03-01 22:15:13 +01:00
Nick Hainke
7ce266767c kexec-tools: update to 2.0.26
Release Notes:
- 2.0.22: https://www.spinics.net/lists/kexec/msg26864.html
- 2.0.23: https://www.spinics.net/lists/kexec/msg27693.html
- 2.0.24: https://www.spinics.net/lists/kexec/msg28922.html
- 2.0.25: https://lore.kernel.org/all/YuYl22cyGldQQc5m@vergenet.net/
- 2.0.26: https://www.spinics.net/lists/kexec/msg30743.html

Remove upstreamed patch:
- 001-arm-do-not-copy-magic-4-bytes-of-appended-DTB-in-zIm.patch

Tested-by: Linhui Liu <liulinhui36@gmail.com> # x86_64
Signed-off-by: Nick Hainke <vincent@systemli.org>
2023-03-01 22:13:27 +01:00
Florian Eckert
b3702fda8f kernel: add tty led trigger kernel module package
This allows LEDs to be controlled by activity on ttys which includes
serial devices like '/dev/ttyS0'.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2023-03-01 22:10:42 +01:00
John Audia
736257141f kernel: bump 5.15 to 5.15.96
All patches automatically rebased.

Build system: x86_64
Build-tested: bcm2711/RPi4B, filogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3
Run-tested: bcm2711/RPi4B, filogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <therealgraysky@proton.me>
2023-02-28 04:38:13 -05:00
John Audia
de8d5b50e2 kernel: bump 5.15 to 5.15.95
Removed upstreamed:
	backport-5.15/807-v6.1-0003-nvmem-core-add-error-handling-for-dev_set_name.patch[1]
	bcm47xx/patches-5.15/070-net-bgmac-fix-BCM5358-support-by-setting-correct-fla.patch[2]

Added fix:
	backport-5.15/883-0001-net-Remove-WARN_ON_ONCE-sk-sk_forward_alloc-from-sk_.patch[3]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.95&id=14eea6449473c1f55e196cc104ba16d144465869
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.95&id=2603a5ca6223bb3a88814e2728335eec14f715ab
3. https://lore.kernel.org/stable/20230227211548.13923-1-kuniyu@amazon.com

Build system: x86_64
Build-tested: bcm2711/RPi4B, filogic/xiaomi_redmi-router-ax6000-ubootmod
Run-tested: bcm2711/RPi4B, filogic/xiaomi_redmi-router-ax6000-ubootmod

Signed-off-by: John Audia <therealgraysky@proton.me>
2023-02-28 04:38:13 -05:00
Rafał Miłecki
fdd1af9a44 fstools: update to the latest master
bfe882d libblkid-tiny: add exfat superblock support

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2023-02-28 10:05:19 +01:00
Rafał Miłecki
5e48c534f7 bcm47xx: fix bgmac support for BCM5358
Fix two long-standing regressions.

Fixes: https://github.com/openwrt/openwrt/issues/8278
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2023-02-27 11:11:01 +01:00
Rafał Miłecki
8457636868 bcm47xx: add pending devices support
This includes Lines E2500 V2 and Huawei B593u-12.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2023-02-27 09:10:40 +01:00
Rafał Miłecki
b894fbdfe0 bcm47xx: reorder MIPS BCM47XX patches
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2023-02-27 09:10:40 +01:00
Felix Fietkau
1272cb0a0d mac80211: fix mesh path discovery based on unicast packets
If a packet has reached its intended destination, it was bumped to the code
that accepts it, without first checking if a mesh_path needs to be created
based on the discovered source.
Fix this by moving the destination address check further down

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-02-26 23:45:07 +01:00
Felix Fietkau
2f96580c52 mac80211: rework mesh fast xmit implementation
Refactor in order to make use of generic fast xmit functions
Fix issues with mesh SA/DA addressing

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-02-26 23:45:07 +01:00
Tim Harvey
026004d530 octeontx: add f2fs and ext4 support
Add both ext4 and f2fs support for overlayfs. The fstools mount_root
application will choose f2fs if the overlay volume space available
exceeds 100MB, otherwise ext4 is used.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2023-02-26 22:22:48 +01:00
Tim Harvey
fb2480df36 octeontx: add default packages for on-board devices
The Gateworks Newport boards supported by the octeontx target have
the following on-board devices:
 - Gateworks System Controller
 - GPIO buttons
 - GPIO leds
 - GPS PPS
 - Accelerometer
 - MCP251X CAN controller

Add kernel drivers for these devices in DEFAULT_PACKAGES

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2023-02-26 22:22:48 +01:00
Tomasz Maciej Nowak
43c7132bf8 ath79: add support for MikroTik RouterBOARD 911 Lite2/Lite5
Forward-port from ar71xx target the board introduced in commit
eb9e3651dd (" ar71xx: add support for the MikroTik RB911-2Hn/5Hn
boards"). Citing:

The patch adds support for the MikroTik RB911-2Hn (911 Lite2)
and the RB911-5Hn (911 Lite5) boards:

  https://mikrotik.com/product/RB911-2Hn
  https://mikrotik.com/product/RB911-5Hn

The two boards are using the same hardware design, the only difference
between the two is the supported wireless band.

Specifications:
  * SoC: Atheros AR9344 (600MHz)
  * RAM: 64MiB
  * Storage: 16 MiB SPI NOR flash
  * Ethernet: 1x100M (Passive PoE in)
  * Wireless: AR9344 built-in wireless MAC, single chain
              802.11b/g/n (911-2Hn) or 802.11a/g/n (911-5Hn)

Notes:
  * Older versions of these boards might be equipped with a NAND
    flash chip instead of the SPI NOR device. Those boards are not
    supported (yet).[1]
  * The MikroTik RB911-5HnD (911 Lite5 Dual) board also uses the
    same hardware. Support for that can be added later with little
    effort probably.[2]

End of citation.

Follow intallation instruction from that commit message, using
openwrt-ath79-mikrotik-mikrotik_routerboard-911-lite-initramfs-kernel.bin
and
openwrt-ath79-mikrotik-mikrotik_routerboard-911-lite-squashfs-sysupgrade.bin
images found in ath79/mikrotik directory. Be advised that the board
accepts 10-30 V on PoE input.

Known issues
Compared to ar71xx target image, there is still small leak of current to
user LED, which makes it lit, although weaker, even if brightness is set
to 0. The cause of that is still unknown.

1. https://github.com/openwrt/openwrt/pull/3652
2. RB911-5HnD should work with this commit or with [1], depending on
   what flash topology was used.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
2023-02-26 22:22:48 +01:00
Tomasz Maciej Nowak
173d864253 ath79: mikrotik: stack ar9344 devices to single dtsi
Most of boards from MikroTik with AR9344 SoC (supported and
un-supported) replicate the same schematic, so stack common device nodes
to a single dtsi.

ar9344_mikrotik_routerboard-16m-nor.dtsi:
- remove include paragraph and wmac node, make it single nor flash node
  for others dts to include

ar9344_mikrotik_routerboard-lhg-5nd.dts:
- move all of the nodes to new file ar9344_mikrotik_routerboard.dtsi
  and leave only power, user and lan LEDs which differ from sxt-5nd-r2
  and other yet unsupported devices

ar9344_mikrotik_routerboard-sxt-5n.dtsi:
- remove, it made no sense to keep it, as only
  ar9344_mikrotik_routerboard-sxt-5nd-r2.dts included this file and
  added only compatible and model

ar9344_mikrotik_routerboard-sxt-5nd-r2.dts:
- include ar9344_mikrotik_routerboard.dtsi
- add nand gpio activating node, beeper, additional LEDs and flash chips
  which previously have been in ar9344_mikrotik_routerboard-sxt-5n.dtsi

ar9344_mikrotik_routerboard.dtsi:
- inherited most of the content from ar9344_mikrotik_routerboard-lhg-5nd.dts
  except three LEDs
- add wmac node, removed from ar9344_mikrotik_routerboard-16m-nor.dtsi

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
2023-02-26 22:22:48 +01:00