Compare commits
46 Commits
20230321-b
...
master
Author | SHA1 | Date | |
---|---|---|---|
d593b1aa5e | |||
3dc5905241 | |||
4762825411 | |||
1d2c835b53 | |||
797c3ddca0 | |||
daa25fded8 | |||
6acdc6efa1 | |||
cef7bc3c88 | |||
86c893161f | |||
7391ac8312 | |||
23a3af46d2 | |||
94c5340700 | |||
7c0a24a80c | |||
ecc590cbaa | |||
fc1c0c39ae | |||
dfb892d4ac | |||
1677a35624 | |||
d20b081498 | |||
0280e0d3de | |||
5a6a0a39d7 | |||
de15c71c53 | |||
06c8718761 | |||
f376cc916d | |||
774eeade04 | |||
abd172a309 | |||
cc5a1d267b | |||
718b8e2afe | |||
efbed2f9c1 | |||
c66a5fd1d3 | |||
3e27bff731 | |||
202104c9f2 | |||
168b9e1215 | |||
373c2f7fef | |||
5d08552e7a | |||
f05c352867 | |||
f7cd560d90 | |||
fe466ffa90 | |||
469fa9cbf7 | |||
9beee4a9ec | |||
52ffd403c7 | |||
3f88f46715 | |||
53ac7cc6b5 | |||
61b1bebbd2 | |||
1a5c91b2ef | |||
157fa4eac5 | |||
469f49f795 |
|
@ -4,7 +4,7 @@ clone:
|
|||
settings:
|
||||
tags: true
|
||||
|
||||
pipeline:
|
||||
steps:
|
||||
buildall-layer3:
|
||||
image: openwrtorg/imagebuilder
|
||||
commands:
|
||||
|
@ -42,4 +42,5 @@ pipeline:
|
|||
- echo "You can download the built firmware images here:"
|
||||
- echo "https://ci.fff.community/artifacts/$(git describe --tags)"
|
||||
|
||||
branches: [ master ]
|
||||
when:
|
||||
branch: [ master ]
|
||||
|
|
|
@ -8,7 +8,7 @@ Weitere Informationen gibt es auf <https://freifunk.net/> und auf <https://wiki.
|
|||
|
||||
# Firmware selbst kompilieren
|
||||
## Voraussetzungen
|
||||
* `apt-get install zlib1g-dev lua5.2 build-essential unzip libncurses-dev gawk git subversion libssl-dev` (Sicherlich müssen noch mehr Abhängigkeiten installiert werden, diese Liste wird sich hoffentlich nach und nach füllen. Ein erster Ansatzpunkt sind die Abhängigkeiten von OpenWrt selbst)
|
||||
* `apt-get install zlib1g-dev lua5.2 build-essential unzip libncurses-dev gawk git subversion libssl-dev rsync python3-distutils` (Sicherlich müssen noch mehr Abhängigkeiten installiert werden, diese Liste wird sich hoffentlich nach und nach füllen. Ein erster Ansatzpunkt sind die Abhängigkeiten von OpenWrt selbst)
|
||||
* `git clone https://git.freifunk-franken.de/freifunk-franken/firmware.git`
|
||||
* `cd firmware`
|
||||
|
||||
|
|
|
@ -20,6 +20,6 @@ images=("openwrt-${chipset}-${subtarget}-glinet_gl-ar150-squashfs-*"
|
|||
"openwrt-${chipset}-${subtarget}-tplink_tl-wr1043nd-v4-squashfs-*"
|
||||
"openwrt-${chipset}-${subtarget}-tplink_tl-wr1043n-v5-squashfs-*"
|
||||
"openwrt-${chipset}-${subtarget}-ubnt_nanostation-loco-m-xw-squashfs-*"
|
||||
"openwrt-${chipset}-${subtarget}-ubnt_unifi-squashfs-*"
|
||||
"openwrt-${chipset}-${subtarget}-ubnt_unifi-ap-squashfs-*"
|
||||
"openwrt-${chipset}-${subtarget}-ubnt_unifiac-mesh-squashfs-*"
|
||||
)
|
||||
|
|
|
@ -60,8 +60,8 @@ CONFIG_TARGET_DEVICE_ath79_generic_DEVICE_ubnt_nanostation-m=y
|
|||
CONFIG_TARGET_DEVICE_PACKAGES_ath79_generic_DEVICE_ubnt_nanostation-m="-rssileds"
|
||||
CONFIG_TARGET_DEVICE_ath79_generic_DEVICE_ubnt_picostation-m=y
|
||||
CONFIG_TARGET_DEVICE_PACKAGES_ath79_generic_DEVICE_ubnt_picostation-m="-rssileds"
|
||||
CONFIG_TARGET_DEVICE_ath79_generic_DEVICE_ubnt_unifi=y
|
||||
CONFIG_TARGET_DEVICE_PACKAGES_ath79_generic_DEVICE_ubnt_unifi=""
|
||||
CONFIG_TARGET_DEVICE_ath79_generic_DEVICE_ubnt_unifi-ap=y
|
||||
CONFIG_TARGET_DEVICE_PACKAGES_ath79_generic_DEVICE_ubnt_unifi-ap=""
|
||||
CONFIG_TARGET_DEVICE_ath79_generic_DEVICE_ubnt_unifiac-mesh=y
|
||||
CONFIG_TARGET_DEVICE_PACKAGES_ath79_generic_DEVICE_ubnt_unifiac-mesh="-kmod-ath10k-ct kmod-ath10k -ath10k-firmware-qca988x-ct ath10k-firmware-qca988x"
|
||||
CONFIG_BUSYBOX_CUSTOM=y
|
||||
|
@ -85,9 +85,11 @@ CONFIG_KERNEL_SQUASHFS_FRAGMENT_CACHE_SIZE=1
|
|||
CONFIG_PACKAGE_hostapd-mini=y
|
||||
CONFIG_PACKAGE_iwinfo=m
|
||||
CONFIG_PACKAGE_libiwinfo=m
|
||||
CONFIG_PACKAGE_libuclient=m
|
||||
CONFIG_PACKAGE_libwolfssl=m
|
||||
CONFIG_PACKAGE_opkg=m
|
||||
CONFIG_PACKAGE_wpad-basic=y
|
||||
CONFIG_PACKAGE_uclient-fetch=m
|
||||
CONFIG_PACKAGE_wpad-basic-wolfssl=m
|
||||
CONFIG_PACKAGE_wpad-mini=m
|
||||
CONFIG_PACKAGE_ath10k-firmware-qca9887=m
|
||||
|
@ -101,3 +103,9 @@ CONFIG_PACKAGE_ath10k-firmware-qca988x-ct=m
|
|||
CONFIG_PACKAGE_kmod-ath10k-ct-smallbuffers=m
|
||||
CONFIG_PACKAGE_kmod-ath10k-ct=m
|
||||
CONFIG_STRIP_KERNEL_EXPORTS=y
|
||||
CONFIG_TARGET_SQUASHFS_BLOCK_SIZE=1024
|
||||
# CONFIG_LIBCURL_FILE is not set
|
||||
# CONFIG_LIBCURL_FTP is not set
|
||||
# CONFIG_LIBCURL_PROXY is not set
|
||||
# CONFIG_LIBCURL_UNIX_SOCKETS is not set
|
||||
# CONFIG_HTOP_LMSENSORS is not set
|
||||
|
|
|
@ -26,4 +26,4 @@ alias ls='ls --color=auto'
|
|||
alias ip='ip --color=auto'
|
||||
|
||||
# and color my prompt
|
||||
export PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
|
||||
export PS1='\[\033[01;32m\]\u@\H\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
|
||||
|
|
1
bsp/default/root_file_system/root/.ash_history
Symbolic link
1
bsp/default/root_file_system/root/.ash_history
Symbolic link
|
@ -0,0 +1 @@
|
|||
/tmp/.ash_history
|
|
@ -18,11 +18,15 @@ CONFIG_CLEAN_IPKG=y
|
|||
# CONFIG_PACKAGE_ALFRED_VIS is not set
|
||||
CONFIG_PACKAGE_ath10k-firmware-qca4019=m
|
||||
CONFIG_PACKAGE_ath10k-firmware-qca4019-ct=m
|
||||
CONFIG_PACKAGE_fff-extra=y
|
||||
CONFIG_PACKAGE_kmod-ath10k=m
|
||||
CONFIG_PACKAGE_kmod-ath10k-ct=m
|
||||
CONFIG_PACKAGE_libuclient=m
|
||||
CONFIG_PACKAGE_libwolfssl=m
|
||||
CONFIG_PACKAGE_opkg=m
|
||||
CONFIG_PACKAGE_wpad-basic=y
|
||||
CONFIG_PACKAGE_uclient-fetch=m
|
||||
CONFIG_PACKAGE_wpad-basic-wolfssl=m
|
||||
CONFIG_STRIP_KERNEL_EXPORTS=y
|
||||
CONFIG_PACKAGE_kmod-hwmon-core=y
|
||||
# CONFIG_HTOP_LMSENSORS is not set
|
||||
|
|
|
@ -23,12 +23,20 @@ CONFIG_CLEAN_IPKG=y
|
|||
# CONFIG_FASTD_ENABLE_METHOD_GENERIC_GMAC is not set
|
||||
# CONFIG_FASTD_ENABLE_METHOD_GENERIC_UMAC is not set
|
||||
# CONFIG_PACKAGE_ALFRED_VIS is not set
|
||||
CONFIG_PACKAGE_fff-extra=y
|
||||
CONFIG_PACKAGE_libuclient=m
|
||||
CONFIG_PACKAGE_libwolfssl=m
|
||||
CONFIG_PACKAGE_opkg=m
|
||||
CONFIG_PACKAGE_wpad-basic=y
|
||||
CONFIG_PACKAGE_uclient-fetch=m
|
||||
CONFIG_PACKAGE_wpad-basic-wolfssl=m
|
||||
CONFIG_PACKAGE_ath10k-firmware-qca99x0=m
|
||||
CONFIG_PACKAGE_kmod-ath10k=y
|
||||
CONFIG_PACKAGE_ath10k-firmware-qca99x0-ct=m
|
||||
CONFIG_PACKAGE_kmod-ath10k-ct=m
|
||||
CONFIG_STRIP_KERNEL_EXPORTS=y
|
||||
# CONFIG_LIBCURL_FILE is not set
|
||||
# CONFIG_LIBCURL_FTP is not set
|
||||
# CONFIG_LIBCURL_PROXY is not set
|
||||
# CONFIG_LIBCURL_UNIX_SOCKETS is not set
|
||||
# CONFIG_HTOP_LMSENSORS is not set
|
||||
|
|
|
@ -23,9 +23,17 @@ CONFIG_CLEAN_IPKG=y
|
|||
# CONFIG_FASTD_ENABLE_METHOD_GENERIC_GMAC is not set
|
||||
# CONFIG_FASTD_ENABLE_METHOD_GENERIC_UMAC is not set
|
||||
# CONFIG_PACKAGE_ALFRED_VIS is not set
|
||||
CONFIG_PACKAGE_fff-extra=y
|
||||
CONFIG_PACKAGE_libuclient=m
|
||||
CONFIG_PACKAGE_libwolfssl=m
|
||||
CONFIG_PACKAGE_opkg=m
|
||||
CONFIG_PACKAGE_wpad-basic=y
|
||||
CONFIG_PACKAGE_uclient-fetch=m
|
||||
CONFIG_PACKAGE_wpad-basic-wolfssl=m
|
||||
CONFIG_STRIP_KERNEL_EXPORTS=y
|
||||
CONFIG_TARGET_SQUASHFS_BLOCK_SIZE=512
|
||||
# CONFIG_LIBCURL_FILE is not set
|
||||
# CONFIG_LIBCURL_FTP is not set
|
||||
# CONFIG_LIBCURL_PROXY is not set
|
||||
# CONFIG_LIBCURL_UNIX_SOCKETS is not set
|
||||
# CONFIG_HTOP_LMSENSORS is not set
|
||||
|
|
6
bsp/mvebu-cortexa72.bsp
Normal file
6
bsp/mvebu-cortexa72.bsp
Normal file
|
@ -0,0 +1,6 @@
|
|||
chipset=mvebu
|
||||
subtarget=cortexa72
|
||||
|
||||
images=(
|
||||
"openwrt-mvebu-cortexa72-mikrotik_rb5009-squashfs*"
|
||||
)
|
48
bsp/mvebu-cortexa72/.config
Normal file
48
bsp/mvebu-cortexa72/.config
Normal file
|
@ -0,0 +1,48 @@
|
|||
# Generated using "./buildscript config openwrt".
|
||||
# Do no edit manually
|
||||
#
|
||||
CONFIG_TARGET_mvebu=y
|
||||
CONFIG_TARGET_mvebu_cortexa72=y
|
||||
CONFIG_TARGET_MULTI_PROFILE=y
|
||||
CONFIG_TARGET_DEVICE_mvebu_cortexa72_DEVICE_mikrotik_rb5009=y
|
||||
CONFIG_TARGET_DEVICE_PACKAGES_mvebu_cortexa72_DEVICE_mikrotik_rb5009=""
|
||||
CONFIG_BUSYBOX_CUSTOM=y
|
||||
CONFIG_TARGET_PER_DEVICE_ROOTFS=y
|
||||
# CONFIG_BUSYBOX_CONFIG_BRCTL is not set
|
||||
# CONFIG_BUSYBOX_CONFIG_CHGRP is not set
|
||||
# CONFIG_BUSYBOX_CONFIG_CHOWN is not set
|
||||
# CONFIG_BUSYBOX_CONFIG_CROND is not set
|
||||
# CONFIG_BUSYBOX_CONFIG_CRONTAB is not set
|
||||
# CONFIG_BUSYBOX_CONFIG_FEATURE_FAST_TOP is not set
|
||||
# CONFIG_BUSYBOX_CONFIG_FEATURE_NTPD_SERVER is not set
|
||||
# CONFIG_BUSYBOX_CONFIG_IFCONFIG is not set
|
||||
# CONFIG_BUSYBOX_CONFIG_IP is not set
|
||||
# CONFIG_BUSYBOX_CONFIG_MKSWAP is not set
|
||||
# CONFIG_BUSYBOX_CONFIG_ROUTE is not set
|
||||
# CONFIG_BUSYBOX_CONFIG_SWAPOFF is not set
|
||||
# CONFIG_BUSYBOX_CONFIG_SWAPON is not set
|
||||
CONFIG_CLEAN_IPKG=y
|
||||
# CONFIG_DROPBEAR_CURVE25519 is not set
|
||||
# CONFIG_FASTD_ENABLE_CIPHER_SALSA2012 is not set
|
||||
# CONFIG_FASTD_ENABLE_MAC_GHASH is not set
|
||||
# CONFIG_FASTD_ENABLE_MAC_UHASH is not set
|
||||
# CONFIG_FASTD_ENABLE_METHOD_COMPOSED_GMAC is not set
|
||||
# CONFIG_FASTD_ENABLE_METHOD_COMPOSED_UMAC is not set
|
||||
# CONFIG_FASTD_ENABLE_METHOD_GENERIC_GMAC is not set
|
||||
# CONFIG_FASTD_ENABLE_METHOD_GENERIC_UMAC is not set
|
||||
# CONFIG_PACKAGE_ALFRED_VIS is not set
|
||||
CONFIG_PACKAGE_fff-extra=y
|
||||
CONFIG_PACKAGE_libuclient=m
|
||||
CONFIG_PACKAGE_libwolfssl=m
|
||||
CONFIG_PACKAGE_opkg=m
|
||||
CONFIG_PACKAGE_uclient-fetch=m
|
||||
CONFIG_PACKAGE_wpad-basic=y
|
||||
CONFIG_PACKAGE_wpad-basic-wolfssl=m
|
||||
CONFIG_STRIP_KERNEL_EXPORTS=y
|
||||
# CONFIG_TARGET_ROOTFS_EXT4FS is not set
|
||||
CONFIG_TARGET_SQUASHFS_BLOCK_SIZE=512
|
||||
# CONFIG_LIBCURL_FILE is not set
|
||||
# CONFIG_LIBCURL_FTP is not set
|
||||
# CONFIG_LIBCURL_PROXY is not set
|
||||
# CONFIG_LIBCURL_UNIX_SOCKETS is not set
|
||||
# CONFIG_HTOP_LMSENSORS is not set
|
|
@ -2,5 +2,5 @@ chipset=octeon
|
|||
subtarget=generic
|
||||
|
||||
images=(
|
||||
"openwrt-${chipset}-ubnt_edgerouter-4-*"
|
||||
"openwrt-${chipset}-${subtarget}-ubnt_edgerouter-4-*"
|
||||
)
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
# Do no edit manually
|
||||
#
|
||||
CONFIG_TARGET_octeon=y
|
||||
CONFIG_TARGET_octeon_generic=y
|
||||
CONFIG_TARGET_MULTI_PROFILE=y
|
||||
CONFIG_TARGET_PER_DEVICE_ROOTFS=y
|
||||
CONFIG_TARGET_DEVICE_octeon_DEVICE_ubnt_edgerouter-4=y
|
||||
CONFIG_TARGET_DEVICE_PACKAGES_octeon_DEVICE_ubnt_edgerouter-4=""
|
||||
CONFIG_TARGET_DEVICE_octeon_generic_DEVICE_ubnt_edgerouter-4=y
|
||||
CONFIG_TARGET_DEVICE_PACKAGES_octeon_generic_DEVICE_ubnt_edgerouter-4=""
|
||||
CONFIG_BUSYBOX_CUSTOM=y
|
||||
CONFIG_TARGET_PER_DEVICE_ROOTFS=y
|
||||
# CONFIG_BUSYBOX_CONFIG_BRCTL is not set
|
||||
|
@ -16,9 +16,17 @@ CONFIG_TARGET_PER_DEVICE_ROOTFS=y
|
|||
CONFIG_CLEAN_IPKG=y
|
||||
# CONFIG_DROPBEAR_CURVE25519 is not set
|
||||
# CONFIG_PACKAGE_ALFRED_VIS is not set
|
||||
CONFIG_PACKAGE_fff-extra=y
|
||||
CONFIG_PACKAGE_libuclient=m
|
||||
CONFIG_PACKAGE_libwolfssl=m
|
||||
CONFIG_PACKAGE_opkg=m
|
||||
CONFIG_PACKAGE_wpad-basic=y
|
||||
CONFIG_PACKAGE_uclient-fetch=m
|
||||
CONFIG_PACKAGE_wpad-basic-wolfssl=m
|
||||
CONFIG_STRIP_KERNEL_EXPORTS=y
|
||||
CONFIG_TARGET_SQUASHFS_BLOCK_SIZE=512
|
||||
# CONFIG_LIBCURL_FILE is not set
|
||||
# CONFIG_LIBCURL_FTP is not set
|
||||
# CONFIG_LIBCURL_PROXY is not set
|
||||
# CONFIG_LIBCURL_UNIX_SOCKETS is not set
|
||||
# CONFIG_HTOP_LMSENSORS is not set
|
||||
|
|
|
@ -29,9 +29,17 @@ CONFIG_CLEAN_IPKG=y
|
|||
# CONFIG_FASTD_ENABLE_METHOD_GENERIC_GMAC is not set
|
||||
# CONFIG_FASTD_ENABLE_METHOD_GENERIC_UMAC is not set
|
||||
# CONFIG_PACKAGE_ALFRED_VIS is not set
|
||||
CONFIG_PACKAGE_fff-extra=y
|
||||
CONFIG_PACKAGE_libuclient=m
|
||||
CONFIG_PACKAGE_libwolfssl=m
|
||||
CONFIG_PACKAGE_opkg=m
|
||||
CONFIG_PACKAGE_wpad-basic=y
|
||||
CONFIG_PACKAGE_uclient-fetch=m
|
||||
CONFIG_PACKAGE_wpad-basic-wolfssl=m
|
||||
CONFIG_STRIP_KERNEL_EXPORTS=y
|
||||
CONFIG_TARGET_SQUASHFS_BLOCK_SIZE=512
|
||||
# CONFIG_LIBCURL_FILE is not set
|
||||
# CONFIG_LIBCURL_FTP is not set
|
||||
# CONFIG_LIBCURL_PROXY is not set
|
||||
# CONFIG_LIBCURL_UNIX_SOCKETS is not set
|
||||
# CONFIG_HTOP_LMSENSORS is not set
|
||||
|
|
|
@ -4,4 +4,5 @@ images=("openwrt-${chipset}-${subtarget}-tplink_archer-c50-v3-squashfs-*"
|
|||
"openwrt-${chipset}-${subtarget}-tplink_archer-c50-v4-squashfs-*"
|
||||
"openwrt-${chipset}-${subtarget}-tplink_tl-wr841n-v13-squashfs-*"
|
||||
"openwrt-${chipset}-${subtarget}-xiaomi_mi-router-4a-100m-squashfs-*"
|
||||
"openwrt-${chipset}-${subtarget}-xiaomi_mi-router-4a-100m-intl-squashfs-*"
|
||||
)
|
||||
|
|
|
@ -12,6 +12,8 @@ CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_tplink_tl-wr841n-v13=y
|
|||
CONFIG_TARGET_DEVICE_PACKAGES_ramips_mt76x8_DEVICE_tplink_tl-wr841n-v13=""
|
||||
CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_xiaomi_mi-router-4a-100m=y
|
||||
CONFIG_TARGET_DEVICE_PACKAGES_ramips_mt76x8_DEVICE_xiaomi_mi-router-4a-100m=""
|
||||
CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_xiaomi_mi-router-4a-100m-intl=y
|
||||
CONFIG_TARGET_DEVICE_PACKAGES_ramips_mt76x8_DEVICE_xiaomi_mi-router-4a-100m-intl=""
|
||||
CONFIG_BUSYBOX_CUSTOM=y
|
||||
CONFIG_TARGET_PER_DEVICE_ROOTFS=y
|
||||
# CONFIG_BUSYBOX_CONFIG_BRCTL is not set
|
||||
|
@ -29,8 +31,15 @@ CONFIG_CLEAN_IPKG=y
|
|||
# CONFIG_FASTD_ENABLE_METHOD_GENERIC_GMAC is not set
|
||||
# CONFIG_FASTD_ENABLE_METHOD_GENERIC_UMAC is not set
|
||||
# CONFIG_PACKAGE_ALFRED_VIS is not set
|
||||
CONFIG_PACKAGE_libuclient=m
|
||||
CONFIG_PACKAGE_libwolfssl=m
|
||||
CONFIG_PACKAGE_opkg=m
|
||||
CONFIG_PACKAGE_wpad-basic=y
|
||||
CONFIG_PACKAGE_uclient-fetch=m
|
||||
CONFIG_PACKAGE_wpad-basic-wolfssl=m
|
||||
CONFIG_STRIP_KERNEL_EXPORTS=y
|
||||
# CONFIG_LIBCURL_FILE is not set
|
||||
# CONFIG_LIBCURL_FTP is not set
|
||||
# CONFIG_LIBCURL_PROXY is not set
|
||||
# CONFIG_LIBCURL_UNIX_SOCKETS is not set
|
||||
# CONFIG_HTOP_LMSENSORS is not set
|
||||
|
|
|
@ -3,8 +3,9 @@
|
|||
#
|
||||
CONFIG_TARGET_x86=y
|
||||
CONFIG_TARGET_x86_64=y
|
||||
CONFIG_TARGET_x86_64_DEVICE_generic=y
|
||||
# CONFIG_TARGET_ROOTFS_EXT4FS is not set
|
||||
CONFIG_TARGET_MULTI_PROFILE=y
|
||||
CONFIG_TARGET_DEVICE_x86_64_DEVICE_generic=y
|
||||
CONFIG_TARGET_DEVICE_PACKAGES_x86_64_DEVICE_generic=""
|
||||
CONFIG_BUSYBOX_CUSTOM=y
|
||||
CONFIG_TARGET_PER_DEVICE_ROOTFS=y
|
||||
# CONFIG_BUSYBOX_CONFIG_BRCTL is not set
|
||||
|
@ -14,9 +15,17 @@ CONFIG_TARGET_PER_DEVICE_ROOTFS=y
|
|||
# CONFIG_BUSYBOX_CONFIG_FEATURE_NTPD_SERVER is not set
|
||||
CONFIG_CLEAN_IPKG=y
|
||||
# CONFIG_PACKAGE_ALFRED_VIS is not set
|
||||
CONFIG_PACKAGE_fff-extra=y
|
||||
CONFIG_PACKAGE_kmod-vmxnet3=y
|
||||
CONFIG_PACKAGE_libuclient=m
|
||||
CONFIG_PACKAGE_libwolfssl=m
|
||||
CONFIG_PACKAGE_opkg=m
|
||||
CONFIG_PACKAGE_wpad-basic=y
|
||||
CONFIG_PACKAGE_uclient-fetch=m
|
||||
CONFIG_PACKAGE_wpad-basic-wolfssl=m
|
||||
CONFIG_STRIP_KERNEL_EXPORTS=y
|
||||
# CONFIG_LIBCURL_FILE is not set
|
||||
# CONFIG_LIBCURL_FTP is not set
|
||||
# CONFIG_LIBCURL_PROXY is not set
|
||||
# CONFIG_LIBCURL_UNIX_SOCKETS is not set
|
||||
# CONFIG_HTOP_LMSENSORS is not set
|
||||
|
|
|
@ -6,10 +6,10 @@ This disables all OpenWrt config migration mechanisms except for
|
|||
files listed in /etc/sysupgrade.conf
|
||||
|
||||
diff --git a/package/base-files/files/sbin/sysupgrade b/package/base-files/files/sbin/sysupgrade
|
||||
index 7e0a00e13b8ee4be7163936fd01a7beff0ce5c99..97f50dc83088e29fba651741fff28c70f7585b3f 100755
|
||||
index 9315091302..be8325463e 100755
|
||||
--- a/package/base-files/files/sbin/sysupgrade
|
||||
+++ b/package/base-files/files/sbin/sysupgrade
|
||||
@@ -135,14 +135,14 @@ list_static_conffiles() {
|
||||
@@ -139,14 +139,14 @@ list_static_conffiles() {
|
||||
local filter=$1
|
||||
|
||||
find $(sed -ne '/^[[:space:]]*$/d; /^#/d; p' \
|
||||
|
|
|
@ -3,7 +3,7 @@ Date: Sat, 8 Jul 2017 10:47:28 +0200
|
|||
Subject: set root password
|
||||
|
||||
diff --git a/package/base-files/files/etc/shadow b/package/base-files/files/etc/shadow
|
||||
index 4b4154f21f478cc025a350363b3e34319c6afacc..b8d180a95691ab09f9c4d759ffd97da34a022623 100644
|
||||
index 39bdb9c90a..b8d180a956 100644
|
||||
--- a/package/base-files/files/etc/shadow
|
||||
+++ b/package/base-files/files/etc/shadow
|
||||
@@ -1,4 +1,4 @@
|
||||
|
|
|
@ -5,13 +5,12 @@ Subject: build: remove libustream and certs from default packages
|
|||
This effectively reverts upstream commit e79df3516d3e ("build: add
|
||||
libustream and certs to default pkgs").
|
||||
|
||||
The libustream-wolfssl library conflicts with the libustream-mbedtls
|
||||
we are selecting in fff-web-ui and is probably much bigger.
|
||||
|
||||
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
|
||||
[fabian@blaese.de: Rebase onto OpenWrt 23.05]
|
||||
Signed-off-by: Fabian Bläse <fabian@blaese.de>
|
||||
|
||||
diff --git a/include/target.mk b/include/target.mk
|
||||
index 7526224972e18148fec8a12318ca7f90a382475f..338e97f836759fc454986210e5818ad390ba6efb 100644
|
||||
index b5e3e7ff6f..2324b6cc11 100644
|
||||
--- a/include/target.mk
|
||||
+++ b/include/target.mk
|
||||
@@ -12,12 +12,10 @@ DEVICE_TYPE?=router
|
||||
|
@ -23,7 +22,7 @@ index 7526224972e18148fec8a12318ca7f90a382475f..338e97f836759fc454986210e5818ad3
|
|||
fstools \
|
||||
libc \
|
||||
libgcc \
|
||||
- libustream-wolfssl \
|
||||
- libustream-mbedtls \
|
||||
logd \
|
||||
mtd \
|
||||
netifd \
|
||||
|
|
|
@ -1,132 +0,0 @@
|
|||
From: =?UTF-8?q?Fabian=20Bl=C3=A4se?= <fabian@blaese.de>
|
||||
Date: Sat, 7 Aug 2021 00:40:34 +0200
|
||||
Subject: [PATCH] Disable ipq40xx lan/wan separation
|
||||
|
||||
While the ipq40xx only has a single MDIO connection to the switch chip,
|
||||
the ipq40xx essedma ethernet driver configures two gmac interfaces,
|
||||
which are seperated into WAN and LAN ports using vlan cid at driver
|
||||
level. Linux is not aware of these vlan tags.
|
||||
|
||||
However, this configuration does interfere with the vlan ids we use in
|
||||
our firmware. Therefore, this feature is disabled by setting the default
|
||||
vlan id for all gmacs to 0, changing the port mask so all physical ports
|
||||
are connected to the first gmac, and reducing the amount of configured
|
||||
gmacs to one. The definition of the second gmac is kept, because it is
|
||||
referenced by some devices. The default configuration of the switch chip
|
||||
is removed accordingly.
|
||||
|
||||
These changes are currently only done with the FritzBox 4040 in mind.
|
||||
---
|
||||
.../linux/ipq40xx/base-files/etc/board.d/01_leds | 2 +-
|
||||
.../ipq40xx/base-files/etc/board.d/02_network | 3 +--
|
||||
.../ipq40xx/files-5.10/drivers/net/mdio/ar40xx.c | 2 ++
|
||||
.../drivers/net/ethernet/qualcomm/essedma/edma.h | 16 ++++++++--------
|
||||
...1-dts-ipq4019-add-ethernet-essedma-node.patch | 6 +++---
|
||||
5 files changed, 15 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/target/linux/ipq40xx/base-files/etc/board.d/01_leds b/target/linux/ipq40xx/base-files/etc/board.d/01_leds
|
||||
index 884b265dcb..77b0754635 100644
|
||||
--- a/target/linux/ipq40xx/base-files/etc/board.d/01_leds
|
||||
+++ b/target/linux/ipq40xx/base-files/etc/board.d/01_leds
|
||||
@@ -24,7 +24,7 @@ asus,rt-ac58u)
|
||||
;;
|
||||
avm,fritzbox-4040)
|
||||
ucidef_set_led_wlan "wlan" "WLAN" "green:wlan" "phy0tpt" "phy1tpt"
|
||||
- ucidef_set_led_netdev "wan" "WAN" "green:wan" "eth1"
|
||||
+ ucidef_set_led_switch "wan" "WAN" "green:wan" "switch0" "0x20"
|
||||
ucidef_set_led_switch "lan" "LAN" "green:lan" "switch0" "0x1e"
|
||||
;;
|
||||
avm,fritzbox-7530 |\
|
||||
diff --git a/target/linux/ipq40xx/base-files/etc/board.d/02_network b/target/linux/ipq40xx/base-files/etc/board.d/02_network
|
||||
index 2aa4886e6a..7390769661 100644
|
||||
--- a/target/linux/ipq40xx/base-files/etc/board.d/02_network
|
||||
+++ b/target/linux/ipq40xx/base-files/etc/board.d/02_network
|
||||
@@ -68,9 +68,8 @@ ipq40xx_setup_interfaces()
|
||||
avm,fritzbox-4040|\
|
||||
linksys,ea6350v3|\
|
||||
linksys,ea8300)
|
||||
- ucidef_set_interfaces_lan_wan "eth0" "eth1"
|
||||
ucidef_add_switch "switch0" \
|
||||
- "0u@eth0" "1:lan" "2:lan" "3:lan" "4:lan"
|
||||
+ "0@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan"
|
||||
;;
|
||||
linksys,mr8300)
|
||||
ucidef_set_interfaces_lan_wan "eth0" "eth1"
|
||||
diff --git a/target/linux/ipq40xx/files-5.10/drivers/net/mdio/ar40xx.c b/target/linux/ipq40xx/files-5.10/drivers/net/mdio/ar40xx.c
|
||||
index f7ce42b9ff..a8da7ac653 100644
|
||||
--- a/target/linux/ipq40xx/files-5.10/drivers/net/mdio/ar40xx.c
|
||||
+++ b/target/linux/ipq40xx/files-5.10/drivers/net/mdio/ar40xx.c
|
||||
@@ -1481,6 +1481,7 @@ ar40xx_vlan_init(struct ar40xx_priv *priv)
|
||||
unsigned long bmp;
|
||||
|
||||
/* By default Enable VLAN */
|
||||
+ /*
|
||||
priv->vlan = 1;
|
||||
priv->vlan_table[AR40XX_LAN_VLAN] = priv->cpu_bmp | priv->lan_bmp;
|
||||
priv->vlan_table[AR40XX_WAN_VLAN] = priv->cpu_bmp | priv->wan_bmp;
|
||||
@@ -1492,6 +1493,7 @@ ar40xx_vlan_init(struct ar40xx_priv *priv)
|
||||
bmp = priv->wan_bmp;
|
||||
for_each_set_bit(port, &bmp, AR40XX_NUM_PORTS)
|
||||
priv->pvid[port] = AR40XX_WAN_VLAN;
|
||||
+ */
|
||||
|
||||
return 0;
|
||||
}
|
||||
diff --git a/target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm/essedma/edma.h b/target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm/essedma/edma.h
|
||||
index 015e5f5026..daa60639d1 100644
|
||||
--- a/target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm/essedma/edma.h
|
||||
+++ b/target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm/essedma/edma.h
|
||||
@@ -57,14 +57,14 @@
|
||||
#define EDMA_LAN 1
|
||||
|
||||
/* VLAN tag */
|
||||
-#define EDMA_LAN_DEFAULT_VLAN 1
|
||||
-#define EDMA_WAN_DEFAULT_VLAN 2
|
||||
-
|
||||
-#define EDMA_DEFAULT_GROUP1_VLAN 1
|
||||
-#define EDMA_DEFAULT_GROUP2_VLAN 2
|
||||
-#define EDMA_DEFAULT_GROUP3_VLAN 3
|
||||
-#define EDMA_DEFAULT_GROUP4_VLAN 4
|
||||
-#define EDMA_DEFAULT_GROUP5_VLAN 5
|
||||
+#define EDMA_LAN_DEFAULT_VLAN 0
|
||||
+#define EDMA_WAN_DEFAULT_VLAN 0
|
||||
+
|
||||
+#define EDMA_DEFAULT_GROUP1_VLAN 0
|
||||
+#define EDMA_DEFAULT_GROUP2_VLAN 0
|
||||
+#define EDMA_DEFAULT_GROUP3_VLAN 0
|
||||
+#define EDMA_DEFAULT_GROUP4_VLAN 0
|
||||
+#define EDMA_DEFAULT_GROUP5_VLAN 0
|
||||
|
||||
/* Queues exposed to linux kernel */
|
||||
#define EDMA_NETDEV_TX_QUEUE 4
|
||||
diff --git a/target/linux/ipq40xx/patches-5.10/711-dts-ipq4019-add-ethernet-essedma-node.patch b/target/linux/ipq40xx/patches-5.10/711-dts-ipq4019-add-ethernet-essedma-node.patch
|
||||
index 3567eb7810..b13b312a91 100644
|
||||
--- a/target/linux/ipq40xx/patches-5.10/711-dts-ipq4019-add-ethernet-essedma-node.patch
|
||||
+++ b/target/linux/ipq40xx/patches-5.10/711-dts-ipq4019-add-ethernet-essedma-node.patch
|
||||
@@ -36,7 +36,7 @@ Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
|
||||
+ qcom,rx_head_buf_size = <1540>;
|
||||
+ qcom,mdio_supported;
|
||||
+ qcom,poll_required = <1>;
|
||||
-+ qcom,num_gmac = <2>;
|
||||
++ qcom,num_gmac = <1>;
|
||||
+ interrupts = <0 65 IRQ_TYPE_EDGE_RISING
|
||||
+ 0 66 IRQ_TYPE_EDGE_RISING
|
||||
+ 0 67 IRQ_TYPE_EDGE_RISING
|
||||
@@ -74,7 +74,7 @@ Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
|
||||
+
|
||||
+ gmac0: gmac0 {
|
||||
+ local-mac-address = [00 00 00 00 00 00];
|
||||
-+ vlan_tag = <1 0x1f>;
|
||||
++ vlan_tag = <0 0x3f>;
|
||||
+ };
|
||||
+
|
||||
+ gmac1: gmac1 {
|
||||
@@ -83,7 +83,7 @@ Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
|
||||
+ qcom,poll_required = <1>;
|
||||
+ qcom,forced_speed = <1000>;
|
||||
+ qcom,forced_duplex = <1>;
|
||||
-+ vlan_tag = <2 0x20>;
|
||||
++ vlan_tag = <0 0x00>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
|
@ -0,0 +1,27 @@
|
|||
From: =?UTF-8?q?Fabian=20Bl=C3=A4se?= <fabian@blaese.de>
|
||||
Date: Sun, 6 Aug 2023 19:57:16 +0200
|
||||
Subject: [PATCH 1/2] ipq40xx: re-add label MAC address for FritzBox 4040
|
||||
|
||||
The MAC address of the GMAC is contained inside the CWMP-Account
|
||||
number on the label.
|
||||
|
||||
The label MAC address alias was defined previously, but it has been
|
||||
removed with the switch to IPQESS / DSA.
|
||||
|
||||
Restore the label MAC address alias.
|
||||
|
||||
Fixes: 27b441cbaf42 ("ipq40xx: drop ESSEDMA + AR40xx DTS nodes")
|
||||
Signed-off-by: Fabian Bläse <fabian@blaese.de>
|
||||
|
||||
diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-fritzbox-4040.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-fritzbox-4040.dts
|
||||
index e448206c36..ec1112ee2b 100644
|
||||
--- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-fritzbox-4040.dts
|
||||
+++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-fritzbox-4040.dts
|
||||
@@ -14,6 +14,7 @@
|
||||
led-failsafe = &flash;
|
||||
led-running = &power;
|
||||
led-upgrade = &flash;
|
||||
+ label-mac-device = &gmac;
|
||||
};
|
||||
|
||||
soc {
|
|
@ -0,0 +1,17 @@
|
|||
From: =?UTF-8?q?Fabian=20Bl=C3=A4se?= <fabian@blaese.de>
|
||||
Date: Tue, 8 Aug 2023 20:59:16 +0200
|
||||
Subject: [PATCH] ipq40xx: retain old compat_version
|
||||
|
||||
diff --git a/target/linux/ipq40xx/image/Makefile b/target/linux/ipq40xx/image/Makefile
|
||||
index 2ba4c779a0..5851b29875 100644
|
||||
--- a/target/linux/ipq40xx/image/Makefile
|
||||
+++ b/target/linux/ipq40xx/image/Makefile
|
||||
@@ -10,8 +10,6 @@ define Device/Default
|
||||
IMAGES := sysupgrade.bin
|
||||
IMAGE/sysupgrade.bin = sysupgrade-tar | append-metadata
|
||||
IMAGE/sysupgrade.bin/squashfs :=
|
||||
- DEVICE_COMPAT_VERSION := 1.1
|
||||
- DEVICE_COMPAT_MESSAGE := Config cannot be migrated from swconfig to DSA
|
||||
endef
|
||||
|
||||
include $(SUBTARGET).mk
|
|
@ -0,0 +1,17 @@
|
|||
From: =?UTF-8?q?Fabian=20Bl=C3=A4se?= <fabian@blaese.de>
|
||||
Date: Wed, 24 Jan 2024 16:50:12 +0200
|
||||
Subject: [PATCH] mpc85xx: retain old compat_version
|
||||
|
||||
diff --git a/target/linux/mpc85xx/image/p1010.mk b/target/linux/mpc85xx/image/p1010.mk
|
||||
index c0de19f6c6..5aa580300f 100644
|
||||
--- a/target/linux/mpc85xx/image/p1010.mk
|
||||
+++ b/target/linux/mpc85xx/image/p1010.mk
|
||||
@@ -51,8 +51,6 @@ define Device/tplink_tl-wdr4900-v1
|
||||
DEVICE_VENDOR := TP-Link
|
||||
DEVICE_MODEL := TL-WDR4900
|
||||
DEVICE_VARIANT := v1
|
||||
- DEVICE_COMPAT_VERSION := 1.1
|
||||
- DEVICE_COMPAT_MESSAGE := Config cannot be migrated from swconfig to DSA
|
||||
TPLINK_HEADER_VERSION := 1
|
||||
TPLINK_HWID := 0x49000001
|
||||
TPLINK_HWREV := 1
|
|
@ -6,13 +6,13 @@ Subject: [PATCH] Add hack which fixes forwarding on a stacked bridge
|
|||
---
|
||||
.../999-fix-stacked-bridge-forwarding.patch | 12 ++++++++++++
|
||||
1 file changed, 12 insertions(+)
|
||||
create mode 100644 target/linux/generic/hack-5.10/999-fix-stacked-bridge-forwarding.patch
|
||||
create mode 100644 target/linux/generic/hack-5.15/999-fix-stacked-bridge-forwarding.patch
|
||||
|
||||
diff --git a/target/linux/generic/hack-5.10/999-fix-stacked-bridge-forwarding.patch b/target/linux/generic/hack-5.10/999-fix-stacked-bridge-forwarding.patch
|
||||
diff --git a/target/linux/generic/hack-5.15/999-fix-stacked-bridge-forwarding.patch b/target/linux/generic/hack-5.15/999-fix-stacked-bridge-forwarding.patch
|
||||
new file mode 100644
|
||||
index 0000000000..e1d4cb9cd5
|
||||
--- /dev/null
|
||||
+++ b/target/linux/generic/hack-5.10/999-fix-stacked-bridge-forwarding.patch
|
||||
+++ b/target/linux/generic/hack-5.15/999-fix-stacked-bridge-forwarding.patch
|
||||
@@ -0,0 +1,12 @@
|
||||
+--- a/net/bridge/br_input.c
|
||||
++++ b/net/bridge/br_input.c
|
||||
|
|
|
@ -0,0 +1,53 @@
|
|||
From ab8d25d5ac1b307dacdc3e5e44e23248f4b9a018 Mon Sep 17 00:00:00 2001
|
||||
From: Serhii Serhieiev <adron@mstnt.com>
|
||||
Date: Wed, 9 Feb 2022 09:07:57 +0200
|
||||
Subject: [PATCH 01/18] generic: fix mikrotik/rb_softconfig work(crc mismatch)
|
||||
with 64K block size
|
||||
|
||||
Signed-off-by: Serhii Serhieiev <adron@mstnt.com>
|
||||
---
|
||||
.../files/drivers/platform/mikrotik/rb_softconfig.c | 7 ++++---
|
||||
1 file changed, 4 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/target/linux/generic/files/drivers/platform/mikrotik/rb_softconfig.c b/target/linux/generic/files/drivers/platform/mikrotik/rb_softconfig.c
|
||||
index 5acff6aa91..2332089a46 100644
|
||||
--- a/target/linux/generic/files/drivers/platform/mikrotik/rb_softconfig.c
|
||||
+++ b/target/linux/generic/files/drivers/platform/mikrotik/rb_softconfig.c
|
||||
@@ -58,6 +58,7 @@
|
||||
|
||||
#define RB_SOFTCONFIG_VER "0.05"
|
||||
#define RB_SC_PR_PFX "[rb_softconfig] "
|
||||
+#define SOFT_CONF_FIXED_SIZE 0x1000
|
||||
|
||||
#define RB_SC_HAS_WRITE_SUPPORT true
|
||||
#define RB_SC_WMODE S_IWUSR
|
||||
@@ -636,7 +637,7 @@ static ssize_t sc_commit_store(struct kobject *kobj, struct kobj_attribute *attr
|
||||
|
||||
write_lock(&sc_bufrwl);
|
||||
if (!flush) // reread
|
||||
- ret = mtd_read(mtd, 0, mtd->size, &bytes_rw, sc_buf);
|
||||
+ ret = mtd_read(mtd, 0, sc_buflen, &bytes_rw, sc_buf);
|
||||
else { // crc32 + commit
|
||||
/*
|
||||
* CRC32 is computed on the entire buffer, excluding the CRC
|
||||
@@ -658,7 +659,7 @@ static ssize_t sc_commit_store(struct kobject *kobj, struct kobj_attribute *attr
|
||||
ei.len = mtd->size;
|
||||
ret = mtd_erase(mtd, &ei);
|
||||
if (!ret)
|
||||
- ret = mtd_write(mtd, 0, mtd->size, &bytes_rw, sc_buf);
|
||||
+ ret = mtd_write(mtd, 0, sc_buflen, &bytes_rw, sc_buf);
|
||||
|
||||
/*
|
||||
* Handling mtd_write() failure here is a tricky situation. The
|
||||
@@ -708,7 +709,7 @@ int rb_softconfig_init(struct kobject *rb_kobj, struct mtd_info *mtd)
|
||||
if (ret)
|
||||
return -ENODEV;
|
||||
|
||||
- sc_buflen = mtd->size;
|
||||
+ sc_buflen = mtd->size > SOFT_CONF_FIXED_SIZE ? SOFT_CONF_FIXED_SIZE : mtd->size;
|
||||
sc_buf = kmalloc(sc_buflen, GFP_KERNEL);
|
||||
if (!sc_buf) {
|
||||
__put_mtd_device(mtd);
|
||||
--
|
||||
2.42.1
|
||||
|
|
@ -0,0 +1,70 @@
|
|||
From d1b6214aadbce601ebf54e8f673bbf427b4e33ec Mon Sep 17 00:00:00 2001
|
||||
From: Serhii Serhieiev <adron@mstnt.com>
|
||||
Date: Wed, 9 Feb 2022 09:32:30 +0200
|
||||
Subject: [PATCH 02/18] mvebu: add aux-loader2 support
|
||||
|
||||
This auxiliary bootloader implements the ability to run the OpenWrt Linux kernel(FIT image)
|
||||
from the RouterBOOT. The thing is that RouterBOOT is able to load ONLY program code in ELF format.
|
||||
To bypass this restriction, the auxiliary bootloader extends the capabilities of the RouterBOOT -
|
||||
by adding support for loading system from FIT images.
|
||||
|
||||
Source code is available under GPLv2: https://github.com/adron-s/aux-loader2
|
||||
|
||||
Signed-off-by: Serhii Serhieiev <adron@mstnt.com>
|
||||
[fabian@blaese.de: Remove aux-loader blob, as it is only required for initial installation]
|
||||
Signed-off-by: Fabian Bläse <fabian@blaese.de>
|
||||
---
|
||||
target/linux/mvebu/image/Makefile | 12 ++++++++++++
|
||||
target/linux/mvebu/image/cortexa72.mk | 19 +++++++++++++++++++
|
||||
2 files changed, 25 insertions(+)
|
||||
|
||||
diff --git a/target/linux/mvebu/image/Makefile b/target/linux/mvebu/image/Makefile
|
||||
index 57129d2dcb..180b909cbd 100644
|
||||
--- a/target/linux/mvebu/image/Makefile
|
||||
+++ b/target/linux/mvebu/image/Makefile
|
||||
@@ -162,6 +162,12 @@ define Build/uDPU-firmware
|
||||
-f $(KDIR_TMP)/$(DEVICE_IMG_PREFIX)-firmware.tgz -C $@-fw .
|
||||
endef
|
||||
|
||||
+define Device/FitImageLzma
|
||||
+ KERNEL_SUFFIX := -fit-uImage.itb
|
||||
+ KERNEL := kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(DEVICE_DTS).dtb | pad-to 64k
|
||||
+ KERNEL_NAME := Image
|
||||
+endef
|
||||
+
|
||||
define Device/Default
|
||||
PROFILES := Default
|
||||
DEVICE_DTS = $$(SOC)-$(lastword $(subst _, ,$(1)))
|
||||
diff --git a/target/linux/mvebu/image/cortexa72.mk b/target/linux/mvebu/image/cortexa72.mk
|
||||
index 7f344f1de2..fc4712a597 100644
|
||||
--- a/target/linux/mvebu/image/cortexa72.mk
|
||||
+++ b/target/linux/mvebu/image/cortexa72.mk
|
||||
@@ -52,6 +52,25 @@ define Device/marvell_macchiatobin-singleshot
|
||||
endef
|
||||
TARGET_DEVICES += marvell_macchiatobin-singleshot
|
||||
|
||||
+define Device/mikrotik_rb5009
|
||||
+ DEVICE_DTS := armada-7040-rb5009
|
||||
+ DEVICE_DTS_DIR := $(DTS_DIR)/marvell
|
||||
+ $(call Device/FitImageLzma)
|
||||
+ DEVICE_VENDOR := MikroTik
|
||||
+ DEVICE_MODEL := RB5009
|
||||
+ SOC := armada-7040
|
||||
+ KERNEL_LOADADDR := 0x22000000
|
||||
+ KERNEL_INITRAMFS = $$(KERNEL)
|
||||
+ KERNEL_INITRAMFS_SUFFIX := -fit-uImage.elf
|
||||
+ BLOCKSIZE := 64k
|
||||
+ IMAGE_SIZE := 15360k
|
||||
+ IMAGES := sysupgrade.bin
|
||||
+ IMAGE/sysupgrade.bin := append-kernel | pad-to $$(BLOCKSIZE) | \
|
||||
+ append-rootfs | pad-rootfs | check-size | append-metadata
|
||||
+ DEVICE_PACKAGES += kmod-i2c-gpio
|
||||
+endef
|
||||
+TARGET_DEVICES += mikrotik_rb5009
|
||||
+
|
||||
define Device/marvell_clearfog-gt-8k
|
||||
$(call Device/Default-arm64)
|
||||
DEVICE_VENDOR := SolidRun
|
||||
--
|
||||
2.42.1
|
||||
|
|
@ -0,0 +1,439 @@
|
|||
From 4994d15a2708e3c2e5df3d91061a4899cb44a979 Mon Sep 17 00:00:00 2001
|
||||
From: Serhii Serhieiev <adron@mstnt.com>
|
||||
Date: Wed, 9 Feb 2022 09:45:47 +0200
|
||||
Subject: [PATCH 03/18] mvebu: mvebu: add support for RB5009UG+S+IN.
|
||||
|
||||
This patch adds support for Mikrotik RB5009UG+S+IN.
|
||||
|
||||
Specifications:
|
||||
- SoC: Marvell Armada 7040 (88F7040) - 4 cores, ARMv8, 1.4GHz, 64bit
|
||||
- RAM: 1024MB DDR4
|
||||
- Flash: 16MB SPI NOR flash, 1024MB NAND
|
||||
- Ethernet: One Marvell 88E6393X - Amethyst: one 2.5G + seven 1G ports and one SFP+
|
||||
- LED: User, SFP, Hdr1, Hdr2
|
||||
- Buttons: Reset
|
||||
- UART: 115200 8n1
|
||||
- USB: One USB3 port
|
||||
Signed-off-by: Serhii Serhieiev <adron@mstnt.com>
|
||||
---
|
||||
.../base-files/etc/board.d/02_network | 3 +
|
||||
.../base-files/lib/upgrade/platform.sh | 4 +
|
||||
.../boot/dts/marvell/armada-7040-rb5009.dts | 377 ++++++++++++++++++
|
||||
3 files changed, 384 insertions(+)
|
||||
create mode 100644 target/linux/mvebu/files/arch/arm64/boot/dts/marvell/armada-7040-rb5009.dts
|
||||
|
||||
diff --git a/target/linux/mvebu/cortexa72/base-files/etc/board.d/02_network b/target/linux/mvebu/cortexa72/base-files/etc/board.d/02_network
|
||||
index 6a5861084e..ccb89add24 100644
|
||||
--- a/target/linux/mvebu/cortexa72/base-files/etc/board.d/02_network
|
||||
+++ b/target/linux/mvebu/cortexa72/base-files/etc/board.d/02_network
|
||||
@@ -32,6 +32,9 @@ marvell,armada7040-db)
|
||||
marvell,armada8040-clearfog-gt-8k)
|
||||
ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 eth2" "eth0 eth1"
|
||||
;;
|
||||
+mikrotik,rb5009)
|
||||
+ ucidef_set_interfaces_lan_wan "p2 p3 p4 p5 p6 p7 p8" "sfp p1"
|
||||
+ ;;
|
||||
*)
|
||||
ucidef_set_interface_lan "eth0"
|
||||
;;
|
||||
diff --git a/target/linux/mvebu/cortexa72/base-files/lib/upgrade/platform.sh b/target/linux/mvebu/cortexa72/base-files/lib/upgrade/platform.sh
|
||||
index dc964a3117..d61e937cdc 100755
|
||||
--- a/target/linux/mvebu/cortexa72/base-files/lib/upgrade/platform.sh
|
||||
+++ b/target/linux/mvebu/cortexa72/base-files/lib/upgrade/platform.sh
|
||||
@@ -35,6 +35,10 @@ platform_do_upgrade() {
|
||||
marvell,armada8040-clearfog-gt-8k)
|
||||
legacy_sdcard_do_upgrade "$1"
|
||||
;;
|
||||
+ mikrotik,rb5009)
|
||||
+ PART_NAME=firmware
|
||||
+ default_do_upgrade "$1"
|
||||
+ ;;
|
||||
*)
|
||||
default_do_upgrade "$1"
|
||||
;;
|
||||
diff --git a/target/linux/mvebu/files/arch/arm64/boot/dts/marvell/armada-7040-rb5009.dts b/target/linux/mvebu/files/arch/arm64/boot/dts/marvell/armada-7040-rb5009.dts
|
||||
new file mode 100644
|
||||
index 0000000000..66c74451f0
|
||||
--- /dev/null
|
||||
+++ b/target/linux/mvebu/files/arch/arm64/boot/dts/marvell/armada-7040-rb5009.dts
|
||||
@@ -0,0 +1,377 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
+
|
||||
+/dts-v1/;
|
||||
+
|
||||
+#include "armada-7040.dtsi"
|
||||
+#include <dt-bindings/gpio/gpio.h>
|
||||
+#include <dt-bindings/input/input.h>
|
||||
+
|
||||
+/ {
|
||||
+ model = "MikroTik RB5009";
|
||||
+ compatible = "mikrotik,rb5009", "marvell,armada7040",
|
||||
+ "marvell,armada-ap806-quad", "marvell,armada-ap806";
|
||||
+
|
||||
+ chosen {
|
||||
+ stdout-path = "serial0:115200n8";
|
||||
+ };
|
||||
+
|
||||
+ memory@0 {
|
||||
+ device_type = "memory";
|
||||
+ reg = <0x0 0x0 0x0 0x40000000>;
|
||||
+ };
|
||||
+
|
||||
+ aliases {
|
||||
+ led-boot = &led_user;
|
||||
+ led-failsafe = &led_user;
|
||||
+ led-running = &led_user;
|
||||
+ led-upgrade = &led_user;
|
||||
+ };
|
||||
+
|
||||
+ sfp_i2c: sfp-i2c {
|
||||
+ compatible = "i2c-gpio";
|
||||
+ sda-gpios = <&cp0_gpio1 0 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
|
||||
+ scl-gpios = <&cp0_gpio1 1 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
|
||||
+ };
|
||||
+
|
||||
+ keys {
|
||||
+ compatible = "gpio-keys";
|
||||
+
|
||||
+ reset {
|
||||
+ label = "reset";
|
||||
+ gpios = <&cp0_gpio1 28 GPIO_ACTIVE_LOW>;
|
||||
+ linux,code = <KEY_RESTART>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ leds {
|
||||
+ compatible = "gpio-leds";
|
||||
+
|
||||
+ led_user: user {
|
||||
+ label = "green:user";
|
||||
+ gpios = <&cp0_gpio2 26 GPIO_ACTIVE_LOW>;
|
||||
+ };
|
||||
+
|
||||
+ sfp {
|
||||
+ label = "green:sfp";
|
||||
+ gpios = <&cp0_gpio2 25 GPIO_ACTIVE_LOW>;
|
||||
+ };
|
||||
+
|
||||
+ hdr1 {
|
||||
+ label = "blue:hdr1";
|
||||
+ gpios = <&cp0_gpio1 4 GPIO_ACTIVE_LOW>;
|
||||
+ };
|
||||
+
|
||||
+ hdr2 {
|
||||
+ label = "blue:hdr2";
|
||||
+ gpios = <&cp0_gpio2 19 GPIO_ACTIVE_LOW>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ sfp: sfp {
|
||||
+ compatible = "sff,sfp";
|
||||
+ i2c-bus = <&sfp_i2c>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&uart0 {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ pinctrl-0 = <&uart0_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+};
|
||||
+
|
||||
+
|
||||
+&spi0 {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ spi-flash@0 {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+ compatible = "jedec,spi-nor";
|
||||
+ reg = <0>;
|
||||
+ spi-max-frequency = <20000000>;
|
||||
+
|
||||
+ partitions {
|
||||
+ compatible = "fixed-partitions";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+
|
||||
+ partition@0 {
|
||||
+ label = "ATF";
|
||||
+ reg = <0x0 0x95c04>;
|
||||
+ read-only;
|
||||
+ };
|
||||
+ partition@1 {
|
||||
+ label = "backup_RouterBOOT";
|
||||
+ reg = <0x95c04 0x193FC>;
|
||||
+ read-only;
|
||||
+ };
|
||||
+ hard_config: partition@2 {
|
||||
+ label = "hard_config";
|
||||
+ reg = <0xaf000 0x1000>;
|
||||
+ read-only;
|
||||
+ };
|
||||
+ partition@3 {
|
||||
+ label = "RouterBOOT";
|
||||
+ reg = <0xb0000 0x10000>;
|
||||
+ };
|
||||
+ partition@4 {
|
||||
+ label = "soft_config";
|
||||
+ reg = <0xc0000 0x10000>;
|
||||
+ };
|
||||
+ partition@5 {
|
||||
+ label = "DTS";
|
||||
+ reg = <0xd0000 0x10000>;
|
||||
+ read-only;
|
||||
+ };
|
||||
+ partition@6 {
|
||||
+ label = "free_space";
|
||||
+ reg = <0xe0000 0x20000>;
|
||||
+ };
|
||||
+ partition@7 {
|
||||
+ compatible = "denx,fit";
|
||||
+ label = "firmware";
|
||||
+ reg = <0x100000 0xf00000>;
|
||||
+ };
|
||||
+ partition@8 {
|
||||
+ label = "first_1M";
|
||||
+ reg = <0x0 0x100000>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&cp0_nand_controller {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ nand@0 {
|
||||
+ reg = <0>;
|
||||
+ nand-rb = <0>;
|
||||
+ nand-ecc-mode = "hw";
|
||||
+ nand-ecc-strength = <4>;
|
||||
+ nand-ecc-step-size = <512>;
|
||||
+ nand-on-flash-bbt;
|
||||
+
|
||||
+ partitions {
|
||||
+ compatible = "fixed-partitions";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+
|
||||
+ partition@0 {
|
||||
+ label = "RouterBoard NAND Boot";
|
||||
+ reg = <0x0 0x800000>;
|
||||
+ };
|
||||
+
|
||||
+ partition@800000 {
|
||||
+ label = "RouterBoard NAND Main";
|
||||
+ reg = <0x800000 0x3f800000>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&cp0_gpio2 {
|
||||
+ enable-usb-power {
|
||||
+ gpio-hog;
|
||||
+ gpios = <23 GPIO_ACTIVE_HIGH>;
|
||||
+ output-high;
|
||||
+ line-name = "enable USB power";
|
||||
+ };
|
||||
+
|
||||
+ enable-leds-power {
|
||||
+ gpio-hog;
|
||||
+ gpios = <27 GPIO_ACTIVE_HIGH>;
|
||||
+ output-high;
|
||||
+ line-name = "enable LED-s power";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&cp0_usb3_1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&cp0_i2c0 {
|
||||
+ status = "okay";
|
||||
+ clock-frequency = <100000>;
|
||||
+};
|
||||
+
|
||||
+&cp0_mdio {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&cp0_ethernet {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&cp0_eth0 {
|
||||
+ /* This port is connected to 88E6393X switch */
|
||||
+ status = "okay";
|
||||
+ phy-mode = "10gbase-r";
|
||||
+ managed = "in-band-status";
|
||||
+ nvmem-cells = <&macaddr_hard>;
|
||||
+ nvmem-cell-names = "mac-address";
|
||||
+ mac-address-increment = <0>;
|
||||
+};
|
||||
+
|
||||
+&cp0_mdio {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ switch@0 {
|
||||
+ /* Actual device is MV88E6393X */
|
||||
+ compatible = "marvell,mv88e6190";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ reg = <0>;
|
||||
+ //strict-cpu-mode = <1>;
|
||||
+ //reset-gpios = <&cp0_gpio2 2 GPIO_ACTIVE_HIGH>;
|
||||
+
|
||||
+ ports {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ port@0 {
|
||||
+ reg = <0>;
|
||||
+ label = "cpu";
|
||||
+ ethernet = <&cp0_eth0>;
|
||||
+ };
|
||||
+
|
||||
+ port@1 {
|
||||
+ reg = <1>;
|
||||
+ label = "p8";
|
||||
+ phy-handle = <&switch0phy1>;
|
||||
+ nvmem-cells = <&macaddr_hard>;
|
||||
+ nvmem-cell-names = "mac-address";
|
||||
+ mac-address-increment = <7>;
|
||||
+ };
|
||||
+
|
||||
+ port@2 {
|
||||
+ reg = <2>;
|
||||
+ label = "p7";
|
||||
+ phy-handle = <&switch0phy2>;
|
||||
+ nvmem-cells = <&macaddr_hard>;
|
||||
+ nvmem-cell-names = "mac-address";
|
||||
+ mac-address-increment = <6>;
|
||||
+ };
|
||||
+
|
||||
+ port@3 {
|
||||
+ reg = <3>;
|
||||
+ label = "p6";
|
||||
+ phy-handle = <&switch0phy3>;
|
||||
+ nvmem-cells = <&macaddr_hard>;
|
||||
+ nvmem-cell-names = "mac-address";
|
||||
+ mac-address-increment = <5>;
|
||||
+ };
|
||||
+
|
||||
+ port@4 {
|
||||
+ reg = <4>;
|
||||
+ label = "p5";
|
||||
+ phy-handle = <&switch0phy4>;
|
||||
+ nvmem-cells = <&macaddr_hard>;
|
||||
+ nvmem-cell-names = "mac-address";
|
||||
+ mac-address-increment = <4>;
|
||||
+ };
|
||||
+
|
||||
+ port@5 {
|
||||
+ reg = <5>;
|
||||
+ label = "p4";
|
||||
+ phy-handle = <&switch0phy5>;
|
||||
+ nvmem-cells = <&macaddr_hard>;
|
||||
+ nvmem-cell-names = "mac-address";
|
||||
+ mac-address-increment = <3>;
|
||||
+ };
|
||||
+
|
||||
+ port@6 {
|
||||
+ reg = <6>;
|
||||
+ label = "p3";
|
||||
+ phy-handle = <&switch0phy6>;
|
||||
+ nvmem-cells = <&macaddr_hard>;
|
||||
+ nvmem-cell-names = "mac-address";
|
||||
+ mac-address-increment = <2>;
|
||||
+ };
|
||||
+
|
||||
+ port@7 {
|
||||
+ reg = <7>;
|
||||
+ label = "p2";
|
||||
+ phy-handle = <&switch0phy7>;
|
||||
+ nvmem-cells = <&macaddr_hard>;
|
||||
+ nvmem-cell-names = "mac-address";
|
||||
+ mac-address-increment = <1>;
|
||||
+ };
|
||||
+
|
||||
+ port@9 {
|
||||
+ reg = <9>;
|
||||
+ label = "p1";
|
||||
+ phy-mode = "sgmii";
|
||||
+ phy-handle = <&switch0phy9>;
|
||||
+ managed = "in-band-status";
|
||||
+ nvmem-cells = <&macaddr_hard>;
|
||||
+ nvmem-cell-names = "mac-address";
|
||||
+ mac-address-increment = <0>;
|
||||
+ };
|
||||
+
|
||||
+ port@a {
|
||||
+ reg = <10>;
|
||||
+ label = "sfp";
|
||||
+ phy-mode = "10gbase-r";
|
||||
+ managed = "in-band-status";
|
||||
+ sfp = <&sfp>;
|
||||
+ nvmem-cells = <&macaddr_hard>;
|
||||
+ nvmem-cell-names = "mac-address";
|
||||
+ mac-address-increment = <8>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ mdio {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ switch0phy1: switch0phy1@1 {
|
||||
+ reg = <0x1>;
|
||||
+ };
|
||||
+
|
||||
+ switch0phy2: switch0phy2@2 {
|
||||
+ reg = <0x2>;
|
||||
+ };
|
||||
+
|
||||
+ switch0phy3: switch0phy3@3 {
|
||||
+ reg = <0x3>;
|
||||
+ };
|
||||
+
|
||||
+ switch0phy4: switch0phy4@4 {
|
||||
+ reg = <0x4>;
|
||||
+ };
|
||||
+
|
||||
+ switch0phy5: switch0phy5@5 {
|
||||
+ reg = <0x5>;
|
||||
+ };
|
||||
+
|
||||
+ switch0phy6: switch0phy6@6 {
|
||||
+ reg = <0x6>;
|
||||
+ };
|
||||
+
|
||||
+ switch0phy7: switch0phy7@7 {
|
||||
+ reg = <0x7>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ mdio1 {
|
||||
+ compatible = "marvell,mv88e6xxx-mdio-external";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ switch0phy9: switch0phy9@0 {
|
||||
+ reg = <0>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&hard_config {
|
||||
+ compatible = "nvmem-cells";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+
|
||||
+ macaddr_hard: macaddr@10 {
|
||||
+ reg = <0x10 0x6>;
|
||||
+ };
|
||||
+};
|
||||
--
|
||||
2.42.1
|
||||
|
|
@ -0,0 +1,85 @@
|
|||
From ddf04b2773e5316e2b645ee669d172e8a61b2d00 Mon Sep 17 00:00:00 2001
|
||||
From: Serhii Serhieiev <adron@mstnt.com>
|
||||
Date: Mon, 14 Feb 2022 06:50:56 +0200
|
||||
Subject: [PATCH 04/18] mvebu: RB5009: start to use UBI
|
||||
|
||||
Now UBI on a NAND flash drive is used as rootfs.
|
||||
The kernel is still located on a NOR flash drive in the form of a FIT image.
|
||||
|
||||
Signed-off-by: Serhii Serhieiev <adron@mstnt.com>
|
||||
---
|
||||
.../cortexa72/base-files/lib/upgrade/platform.sh | 3 +--
|
||||
.../arm64/boot/dts/marvell/armada-7040-rb5009.dts | 12 +++---------
|
||||
target/linux/mvebu/image/cortexa72.mk | 6 +-----
|
||||
3 files changed, 5 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/target/linux/mvebu/cortexa72/base-files/lib/upgrade/platform.sh b/target/linux/mvebu/cortexa72/base-files/lib/upgrade/platform.sh
|
||||
index d61e937cdc..55bdfb7264 100755
|
||||
--- a/target/linux/mvebu/cortexa72/base-files/lib/upgrade/platform.sh
|
||||
+++ b/target/linux/mvebu/cortexa72/base-files/lib/upgrade/platform.sh
|
||||
@@ -36,8 +36,7 @@ platform_do_upgrade() {
|
||||
legacy_sdcard_do_upgrade "$1"
|
||||
;;
|
||||
mikrotik,rb5009)
|
||||
- PART_NAME=firmware
|
||||
- default_do_upgrade "$1"
|
||||
+ nand_do_upgrade "$1"
|
||||
;;
|
||||
*)
|
||||
default_do_upgrade "$1"
|
||||
diff --git a/target/linux/mvebu/files/arch/arm64/boot/dts/marvell/armada-7040-rb5009.dts b/target/linux/mvebu/files/arch/arm64/boot/dts/marvell/armada-7040-rb5009.dts
|
||||
index 66c74451f0..5535f8ad89 100644
|
||||
--- a/target/linux/mvebu/files/arch/arm64/boot/dts/marvell/armada-7040-rb5009.dts
|
||||
+++ b/target/linux/mvebu/files/arch/arm64/boot/dts/marvell/armada-7040-rb5009.dts
|
||||
@@ -129,8 +129,7 @@
|
||||
reg = <0xe0000 0x20000>;
|
||||
};
|
||||
partition@7 {
|
||||
- compatible = "denx,fit";
|
||||
- label = "firmware";
|
||||
+ label = "kernel";
|
||||
reg = <0x100000 0xf00000>;
|
||||
};
|
||||
partition@8 {
|
||||
@@ -158,13 +157,8 @@
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
- label = "RouterBoard NAND Boot";
|
||||
- reg = <0x0 0x800000>;
|
||||
- };
|
||||
-
|
||||
- partition@800000 {
|
||||
- label = "RouterBoard NAND Main";
|
||||
- reg = <0x800000 0x3f800000>;
|
||||
+ label = "ubi";
|
||||
+ reg = <0x0 0x40000000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
diff --git a/target/linux/mvebu/image/cortexa72.mk b/target/linux/mvebu/image/cortexa72.mk
|
||||
index fc4712a597..9f872d3afc 100644
|
||||
--- a/target/linux/mvebu/image/cortexa72.mk
|
||||
+++ b/target/linux/mvebu/image/cortexa72.mk
|
||||
@@ -56,17 +56,13 @@ define Device/mikrotik_rb5009
|
||||
DEVICE_DTS := armada-7040-rb5009
|
||||
DEVICE_DTS_DIR := $(DTS_DIR)/marvell
|
||||
$(call Device/FitImageLzma)
|
||||
+ $(Device/NAND-128K)
|
||||
DEVICE_VENDOR := MikroTik
|
||||
DEVICE_MODEL := RB5009
|
||||
SOC := armada-7040
|
||||
KERNEL_LOADADDR := 0x22000000
|
||||
KERNEL_INITRAMFS = $$(KERNEL)
|
||||
KERNEL_INITRAMFS_SUFFIX := -fit-uImage.elf
|
||||
- BLOCKSIZE := 64k
|
||||
- IMAGE_SIZE := 15360k
|
||||
- IMAGES := sysupgrade.bin
|
||||
- IMAGE/sysupgrade.bin := append-kernel | pad-to $$(BLOCKSIZE) | \
|
||||
- append-rootfs | pad-rootfs | check-size | append-metadata
|
||||
DEVICE_PACKAGES += kmod-i2c-gpio
|
||||
endef
|
||||
TARGET_DEVICES += mikrotik_rb5009
|
||||
--
|
||||
2.42.1
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
From de0624d0317cd14d6eba6b239457de6f2596d1e7 Mon Sep 17 00:00:00 2001
|
||||
From: Serhii Serhieiev <adron@mstnt.com>
|
||||
Date: Tue, 15 Feb 2022 07:35:09 +0200
|
||||
Subject: [PATCH 06/18] mvebu: RB5009: remove sfp port from wan bridge
|
||||
|
||||
The presence of two bridges leads to a conflict between vlans
|
||||
and Wan ports become inoperative.
|
||||
|
||||
Signed-off-by: Serhii Serhieiev <adron@mstnt.com>
|
||||
---
|
||||
target/linux/mvebu/cortexa72/base-files/etc/board.d/02_network | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/target/linux/mvebu/cortexa72/base-files/etc/board.d/02_network b/target/linux/mvebu/cortexa72/base-files/etc/board.d/02_network
|
||||
index ccb89add24..e1703029be 100644
|
||||
--- a/target/linux/mvebu/cortexa72/base-files/etc/board.d/02_network
|
||||
+++ b/target/linux/mvebu/cortexa72/base-files/etc/board.d/02_network
|
||||
@@ -33,7 +33,7 @@ marvell,armada8040-clearfog-gt-8k)
|
||||
ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 eth2" "eth0 eth1"
|
||||
;;
|
||||
mikrotik,rb5009)
|
||||
- ucidef_set_interfaces_lan_wan "p2 p3 p4 p5 p6 p7 p8" "sfp p1"
|
||||
+ ucidef_set_interfaces_lan_wan "p2 p3 p4 p5 p6 p7 p8 sfp" "p1"
|
||||
;;
|
||||
*)
|
||||
ucidef_set_interface_lan "eth0"
|
||||
--
|
||||
2.42.1
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
From daf670f8f34df3169d64f1d9e45453c3b0f61185 Mon Sep 17 00:00:00 2001
|
||||
From: Robert Marko <robimarko@gmail.com>
|
||||
Date: Mon, 14 Mar 2022 18:55:25 +0100
|
||||
Subject: [PATCH 07/18] mvebu: rb5009: add SFP GPIO pins
|
||||
|
||||
After finally being able to trace them out using a breakout lets add the
|
||||
required SFP GPIO pins.
|
||||
|
||||
Signed-off-by: Robert Marko <robimarko@gmail.com>
|
||||
---
|
||||
.../files/arch/arm64/boot/dts/marvell/armada-7040-rb5009.dts | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/target/linux/mvebu/files/arch/arm64/boot/dts/marvell/armada-7040-rb5009.dts b/target/linux/mvebu/files/arch/arm64/boot/dts/marvell/armada-7040-rb5009.dts
|
||||
index 5535f8ad89..0babac6f08 100644
|
||||
--- a/target/linux/mvebu/files/arch/arm64/boot/dts/marvell/armada-7040-rb5009.dts
|
||||
+++ b/target/linux/mvebu/files/arch/arm64/boot/dts/marvell/armada-7040-rb5009.dts
|
||||
@@ -70,6 +70,11 @@
|
||||
sfp: sfp {
|
||||
compatible = "sff,sfp";
|
||||
i2c-bus = <&sfp_i2c>;
|
||||
+ mod-def0-gpios = <&cp0_gpio1 11 GPIO_ACTIVE_LOW>;
|
||||
+ los-gpios = <&cp0_gpio1 2 GPIO_ACTIVE_HIGH>;
|
||||
+ tx-fault-gpios = <&cp0_gpio1 6 GPIO_ACTIVE_HIGH>;
|
||||
+ tx-disable-gpios = <&cp0_gpio1 5 GPIO_ACTIVE_HIGH>;
|
||||
+ rate-select0-gpios = <&cp0_gpio1 3 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
--
|
||||
2.42.1
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
From 16969a4451e09d1bd0b7aff2208d514a6bcbf011 Mon Sep 17 00:00:00 2001
|
||||
From: Stijn Segers <foss@volatilesystems.org>
|
||||
Date: Tue, 20 Sep 2022 23:05:43 +0200
|
||||
Subject: [PATCH 08/18] mvebu: rb5009: use QCA8081 label for 2.5 GbE port in
|
||||
DTS
|
||||
|
||||
The SFP+ interface is clearly labeled as such in the DTS,
|
||||
unlike the 2,5 GbE QCA8081. Label it to distinguish it from
|
||||
the GbE ports as well. Taken from robimarko's tree at
|
||||
https://github.com/robimarko/openwrt/tree/rb5009-5.15.
|
||||
---
|
||||
.../files/arch/arm64/boot/dts/marvell/armada-7040-rb5009.dts | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/target/linux/mvebu/files/arch/arm64/boot/dts/marvell/armada-7040-rb5009.dts b/target/linux/mvebu/files/arch/arm64/boot/dts/marvell/armada-7040-rb5009.dts
|
||||
index 0babac6f08..0c9742d2d8 100644
|
||||
--- a/target/linux/mvebu/files/arch/arm64/boot/dts/marvell/armada-7040-rb5009.dts
|
||||
+++ b/target/linux/mvebu/files/arch/arm64/boot/dts/marvell/armada-7040-rb5009.dts
|
||||
@@ -301,7 +301,7 @@
|
||||
reg = <9>;
|
||||
label = "p1";
|
||||
phy-mode = "sgmii";
|
||||
- phy-handle = <&switch0phy9>;
|
||||
+ phy-handle = <&qca8081>;
|
||||
managed = "in-band-status";
|
||||
nvmem-cells = <&macaddr_hard>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
@@ -358,7 +358,7 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
- switch0phy9: switch0phy9@0 {
|
||||
+ qca8081: qca8081@0 {
|
||||
reg = <0>;
|
||||
};
|
||||
};
|
||||
--
|
||||
2.42.1
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
From a4964c4d4d8367d3dbf225efaa4488af76c4e97a Mon Sep 17 00:00:00 2001
|
||||
From: Stijn Segers <foss@volatilesystems.org>
|
||||
Date: Wed, 30 Nov 2022 19:23:29 +0100
|
||||
Subject: [PATCH 09/18] mvebu: cortexa72: add missing symbol
|
||||
|
||||
---
|
||||
target/linux/mvebu/cortexa72/config-5.15 | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/target/linux/mvebu/cortexa72/config-5.15 b/target/linux/mvebu/cortexa72/config-5.15
|
||||
index 978208f1cb..27a413c624 100644
|
||||
--- a/target/linux/mvebu/cortexa72/config-5.15
|
||||
+++ b/target/linux/mvebu/cortexa72/config-5.15
|
||||
@@ -93,6 +93,7 @@ CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
|
||||
CONFIG_SWIOTLB=y
|
||||
CONFIG_SYSCTL_EXCEPTION_TRACE=y
|
||||
CONFIG_THREAD_INFO_IN_TASK=y
|
||||
+# CONFIG_UCLAMP_TASK is not set
|
||||
CONFIG_UNMAP_KERNEL_AT_EL0=y
|
||||
CONFIG_VMAP_STACK=y
|
||||
CONFIG_ZONE_DMA32=y
|
||||
--
|
||||
2.42.1
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
From 3363cd5d3afd161f3a6d1aa94889c36c42073216 Mon Sep 17 00:00:00 2001
|
||||
From: Stijn Segers <foss@volatilesystems.org>
|
||||
Date: Sun, 18 Sep 2022 15:46:26 +0200
|
||||
Subject: [PATCH 10/18] mvebu: cortexa72: enable SBSA Watchdog, Mikrotik RB
|
||||
Sysfs and MTD_SPLIT_FIT_FW
|
||||
|
||||
---
|
||||
target/linux/mvebu/cortexa72/config-5.15 | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/target/linux/mvebu/cortexa72/config-5.15 b/target/linux/mvebu/cortexa72/config-5.15
|
||||
index 27a413c624..0f19de730e 100644
|
||||
--- a/target/linux/mvebu/cortexa72/config-5.15
|
||||
+++ b/target/linux/mvebu/cortexa72/config-5.15
|
||||
@@ -35,6 +35,7 @@ CONFIG_ARM_GIC_V3_ITS=y
|
||||
CONFIG_ARM_GIC_V3_ITS_PCI=y
|
||||
# CONFIG_ARM_PL172_MPMC is not set
|
||||
CONFIG_ARM_PSCI_FW=y
|
||||
+CONFIG_ARM_SBSA_WATCHDOG=y
|
||||
CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y
|
||||
CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y
|
||||
CONFIG_CPU_LITTLE_ENDIAN=y
|
||||
@@ -54,6 +55,9 @@ CONFIG_MFD_IEI_WT61P803_PUZZLE=y
|
||||
CONFIG_MFD_SYSCON=y
|
||||
CONFIG_MMC_SDHCI_XENON=y
|
||||
CONFIG_MODULES_USE_ELF_RELA=y
|
||||
+CONFIG_MIKROTIK=y
|
||||
+CONFIG_MIKROTIK_RB_SYSFS=y
|
||||
+CONFIG_MTD_SPLIT_FIT_FW=y
|
||||
CONFIG_MVEBU_GICP=y
|
||||
CONFIG_MVEBU_ICU=y
|
||||
CONFIG_MVEBU_ODMI=y
|
||||
--
|
||||
2.42.1
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
From 97711723fb3d695c87133b2ec6ab5a9b6dea352c Mon Sep 17 00:00:00 2001
|
||||
From: Stijn Segers <foss@volatilesystems.org>
|
||||
Date: Fri, 23 Sep 2022 23:54:15 +0200
|
||||
Subject: [PATCH 11/18] mvebu: cortexa72: performance as default scheduler
|
||||
|
||||
It looks more and more like demand-based governors cause extra
|
||||
jitter, so ditch 'schedutil' and switch to 'performance'
|
||||
|
||||
Signed-off-by: Stijn Segers <foss@volatilesystems.org>
|
||||
---
|
||||
target/linux/mvebu/cortexa72/config-5.15 | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/target/linux/mvebu/cortexa72/config-5.15 b/target/linux/mvebu/cortexa72/config-5.15
|
||||
index 0f19de730e..5d7b5594aa 100644
|
||||
--- a/target/linux/mvebu/cortexa72/config-5.15
|
||||
+++ b/target/linux/mvebu/cortexa72/config-5.15
|
||||
@@ -38,6 +38,9 @@ CONFIG_ARM_PSCI_FW=y
|
||||
CONFIG_ARM_SBSA_WATCHDOG=y
|
||||
CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y
|
||||
CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y
|
||||
+# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
|
||||
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
|
||||
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
|
||||
CONFIG_CPU_LITTLE_ENDIAN=y
|
||||
CONFIG_DMA_DIRECT_REMAP=y
|
||||
CONFIG_FRAME_POINTER=y
|
||||
--
|
||||
2.42.1
|
||||
|
|
@ -0,0 +1,118 @@
|
|||
From facbe16f6981dccaf682980a2cb18790d6eae0d2 Mon Sep 17 00:00:00 2001
|
||||
From: Robert Marko <robimarko@gmail.com>
|
||||
Date: Sun, 30 Jan 2022 13:03:13 +0100
|
||||
Subject: [PATCH 12/18] mvebu: add Amethyst specific SMI setup
|
||||
|
||||
Amethyst switches require different external SMI GPIO setup then other
|
||||
switches, so provide it since RB5009 uses the external SMI bus.
|
||||
|
||||
Signed-off-by: Robert Marko <robimarko@gmail.com>
|
||||
---
|
||||
...x-add-Amethyst-specific-SMI-GPIO-fun.patch | 95 +++++++++++++++++++
|
||||
1 file changed, 95 insertions(+)
|
||||
create mode 100644 target/linux/mvebu/patches-5.15/706-net-dsa-mv88e6xxx-add-Amethyst-specific-SMI-GPIO-fun.patch
|
||||
|
||||
diff --git a/target/linux/mvebu/patches-5.15/706-net-dsa-mv88e6xxx-add-Amethyst-specific-SMI-GPIO-fun.patch b/target/linux/mvebu/patches-5.15/706-net-dsa-mv88e6xxx-add-Amethyst-specific-SMI-GPIO-fun.patch
|
||||
new file mode 100644
|
||||
index 0000000000..248b8b9d6c
|
||||
--- /dev/null
|
||||
+++ b/target/linux/mvebu/patches-5.15/706-net-dsa-mv88e6xxx-add-Amethyst-specific-SMI-GPIO-fun.patch
|
||||
@@ -0,0 +1,95 @@
|
||||
+From 40aa82107e7b1e7f20cbf6e644005c0c606f9f79 Mon Sep 17 00:00:00 2001
|
||||
+From: Robert Marko <robimarko@gmail.com>
|
||||
+Date: Fri, 14 Jan 2022 15:17:37 +0100
|
||||
+Subject: [PATCH] net: dsa: mv88e6xxx: add Amethyst specific SMI GPIO function
|
||||
+
|
||||
+The existing mv88e6xxx_g2_scratch_gpio_set_smi() cannot be used on the
|
||||
+88E6393X as it requires certain P0_MODE, it also checks the CPU mode
|
||||
+as it impacts the bit setting value.
|
||||
+
|
||||
+This is all irrelevant for Amethyst (MV88E6191X/6193X/6393X) as only
|
||||
+the default value of the SMI_PHY Config bit is set to CPU_MGD bootstrap
|
||||
+pin value but it can be changed without restrictions so that GPIO pins
|
||||
+9 and 10 are used as SMI pins.
|
||||
+
|
||||
+So, introduce Amethyst specific function and call that if the Amethyst
|
||||
+family wants to setup the external PHY.
|
||||
+
|
||||
+Signed-off-by: Robert Marko <robimarko@gmail.com>
|
||||
+---
|
||||
+ drivers/net/dsa/mv88e6xxx/chip.c | 5 +++-
|
||||
+ drivers/net/dsa/mv88e6xxx/global2.h | 2 ++
|
||||
+ drivers/net/dsa/mv88e6xxx/global2_scratch.c | 31 +++++++++++++++++++++
|
||||
+ 3 files changed, 37 insertions(+), 1 deletion(-)
|
||||
+
|
||||
+diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
+index 43d126628610..b3803101d612 100644
|
||||
+--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
++++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
+@@ -3409,7 +3409,10 @@ static int mv88e6xxx_mdio_register(struct mv88e6xxx_chip *chip,
|
||||
+
|
||||
+ if (external) {
|
||||
+ mv88e6xxx_reg_lock(chip);
|
||||
+- err = mv88e6xxx_g2_scratch_gpio_set_smi(chip, true);
|
||||
++ if (chip->info->family == MV88E6XXX_FAMILY_6393)
|
||||
++ err = mv88e6393x_g2_scratch_gpio_set_smi(chip, true);
|
||||
++ else
|
||||
++ err = mv88e6xxx_g2_scratch_gpio_set_smi(chip, true);
|
||||
+ mv88e6xxx_reg_unlock(chip);
|
||||
+
|
||||
+ if (err)
|
||||
+diff --git a/drivers/net/dsa/mv88e6xxx/global2.h b/drivers/net/dsa/mv88e6xxx/global2.h
|
||||
+index f3e27573a386..e0649f21f28e 100644
|
||||
+--- a/drivers/net/dsa/mv88e6xxx/global2.h
|
||||
++++ b/drivers/net/dsa/mv88e6xxx/global2.h
|
||||
+@@ -370,6 +370,8 @@ extern const struct mv88e6xxx_gpio_ops mv88e6352_gpio_ops;
|
||||
+
|
||||
+ int mv88e6xxx_g2_scratch_gpio_set_smi(struct mv88e6xxx_chip *chip,
|
||||
+ bool external);
|
||||
++int mv88e6393x_g2_scratch_gpio_set_smi(struct mv88e6xxx_chip *chip,
|
||||
++ bool external);
|
||||
+ int mv88e6xxx_g2_atu_stats_set(struct mv88e6xxx_chip *chip, u16 kind, u16 bin);
|
||||
+ int mv88e6xxx_g2_atu_stats_get(struct mv88e6xxx_chip *chip, u16 *stats);
|
||||
+
|
||||
+diff --git a/drivers/net/dsa/mv88e6xxx/global2_scratch.c b/drivers/net/dsa/mv88e6xxx/global2_scratch.c
|
||||
+index eda710062933..dc3f4645fa52 100644
|
||||
+--- a/drivers/net/dsa/mv88e6xxx/global2_scratch.c
|
||||
++++ b/drivers/net/dsa/mv88e6xxx/global2_scratch.c
|
||||
+@@ -289,3 +289,34 @@ int mv88e6xxx_g2_scratch_gpio_set_smi(struct mv88e6xxx_chip *chip,
|
||||
+
|
||||
+ return mv88e6xxx_g2_scratch_write(chip, misc_cfg, val);
|
||||
+ }
|
||||
++
|
||||
++/**
|
||||
++ * mv88e6393x_g2_scratch_gpio_set_smi - set gpio muxing for external smi
|
||||
++ * @chip: chip private data
|
||||
++ * @external: set mux for external smi, or free for gpio usage
|
||||
++ *
|
||||
++ * MV88E6191X/6193X/6393X GPIO pins 9 and 10 can be configured as an
|
||||
++ * external SMI interface or as regular GPIO-s.
|
||||
++ *
|
||||
++ * They however have a different register layout then the existing
|
||||
++ * function.
|
||||
++ */
|
||||
++
|
||||
++int mv88e6393x_g2_scratch_gpio_set_smi(struct mv88e6xxx_chip *chip,
|
||||
++ bool external)
|
||||
++{
|
||||
++ int misc_cfg = MV88E6352_G2_SCRATCH_MISC_CFG;
|
||||
++ int err;
|
||||
++ u8 val;
|
||||
++
|
||||
++ err = mv88e6xxx_g2_scratch_read(chip, misc_cfg, &val);
|
||||
++ if (err)
|
||||
++ return err;
|
||||
++
|
||||
++ if (external)
|
||||
++ val &= ~MV88E6352_G2_SCRATCH_MISC_CFG_NORMALSMI;
|
||||
++ else
|
||||
++ val |= MV88E6352_G2_SCRATCH_MISC_CFG_NORMALSMI;
|
||||
++
|
||||
++ return mv88e6xxx_g2_scratch_write(chip, misc_cfg, val);
|
||||
++}
|
||||
+--
|
||||
+2.34.1
|
||||
+
|
||||
--
|
||||
2.42.1
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,29 @@
|
|||
From 211bc4d66dd5b1c17ad85ed1a51bf202aa8c62b5 Mon Sep 17 00:00:00 2001
|
||||
From: Stijn Segers <foss@volatilesystems.org>
|
||||
Date: Sun, 18 Sep 2022 17:07:22 +0200
|
||||
Subject: [PATCH 14/18] mvebu: rb5009: add QCA8081 PHY support for 5.15
|
||||
|
||||
The required DT nodes area already in adrons's RB5009 DTS, so we
|
||||
only need to enable the relevant kernel symbol in 5.15.
|
||||
|
||||
Robimarko's tree use the 'qca8081' label whereas adrons's uses
|
||||
the more generic 'switch0phy9' one.
|
||||
---
|
||||
target/linux/mvebu/cortexa72/config-5.15 | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/target/linux/mvebu/cortexa72/config-5.15 b/target/linux/mvebu/cortexa72/config-5.15
|
||||
index 5d7b5594aa..29d9ee3556 100644
|
||||
--- a/target/linux/mvebu/cortexa72/config-5.15
|
||||
+++ b/target/linux/mvebu/cortexa72/config-5.15
|
||||
@@ -36,6 +36,7 @@ CONFIG_ARM_GIC_V3_ITS_PCI=y
|
||||
# CONFIG_ARM_PL172_MPMC is not set
|
||||
CONFIG_ARM_PSCI_FW=y
|
||||
CONFIG_ARM_SBSA_WATCHDOG=y
|
||||
+CONFIG_AT803X_PHY=y
|
||||
CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y
|
||||
CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y
|
||||
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
|
||||
--
|
||||
2.42.1
|
||||
|
|
@ -0,0 +1,154 @@
|
|||
From e1abb1ddb7177391d9e02be985e5950d3dd233e0 Mon Sep 17 00:00:00 2001
|
||||
From: Stijn Segers <foss@volatilesystems.org>
|
||||
Date: Sat, 26 Aug 2023 12:08:34 +0200
|
||||
Subject: [PATCH 15/18] generic: backport 5.18 AT803x fiber support patch
|
||||
|
||||
Commit e1242fc3390 backported some 5.18 AT803x patches, which were
|
||||
modified to apply to 5.15. With the QCA8081 patches part of the 5.16
|
||||
merge window, those 5.18 AT803x patches need to be the actual upstream
|
||||
ones; otherwise RB5009UG just hangs at boot time.
|
||||
|
||||
Signed-off-by: Stijn Segers <foss@volatilesystems.org>
|
||||
---
|
||||
...-01-net-phy-at803x-add-fiber-support.patch | 37 ++++++++++---------
|
||||
1 file changed, 20 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/target/linux/generic/backport-5.15/778-v5.18-01-net-phy-at803x-add-fiber-support.patch b/target/linux/generic/backport-5.15/778-v5.18-01-net-phy-at803x-add-fiber-support.patch
|
||||
index 7cb21ed00d..989dc06ca6 100644
|
||||
--- a/target/linux/generic/backport-5.15/778-v5.18-01-net-phy-at803x-add-fiber-support.patch
|
||||
+++ b/target/linux/generic/backport-5.15/778-v5.18-01-net-phy-at803x-add-fiber-support.patch
|
||||
@@ -20,9 +20,11 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
drivers/net/phy/at803x.c | 76 +++++++++++++++++++++++++++++++++++-----
|
||||
1 file changed, 67 insertions(+), 9 deletions(-)
|
||||
|
||||
+diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c
|
||||
+index 052b2eb9f101f..3f3d4c164df40 100644
|
||||
--- a/drivers/net/phy/at803x.c
|
||||
+++ b/drivers/net/phy/at803x.c
|
||||
-@@ -48,6 +48,8 @@
|
||||
+@@ -51,6 +51,8 @@
|
||||
#define AT803X_INTR_ENABLE_PAGE_RECEIVED BIT(12)
|
||||
#define AT803X_INTR_ENABLE_LINK_FAIL BIT(11)
|
||||
#define AT803X_INTR_ENABLE_LINK_SUCCESS BIT(10)
|
||||
@@ -31,10 +33,11 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
#define AT803X_INTR_ENABLE_WIRESPEED_DOWNGRADE BIT(5)
|
||||
#define AT803X_INTR_ENABLE_POLARITY_CHANGED BIT(1)
|
||||
#define AT803X_INTR_ENABLE_WOL BIT(0)
|
||||
-@@ -82,6 +84,17 @@
|
||||
+@@ -85,7 +87,17 @@
|
||||
+ #define AT803X_DEBUG_DATA 0x1E
|
||||
|
||||
#define AT803X_MODE_CFG_MASK 0x0F
|
||||
- #define AT803X_MODE_CFG_SGMII 0x01
|
||||
+-#define AT803X_MODE_CFG_SGMII 0x01
|
||||
+#define AT803X_MODE_CFG_BASET_RGMII 0x00
|
||||
+#define AT803X_MODE_CFG_BASET_SGMII 0x01
|
||||
+#define AT803X_MODE_CFG_BX1000_RGMII_50OHM 0x02
|
||||
@@ -49,7 +52,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
#define AT803X_PSSR 0x11 /*PHY-Specific Status Register*/
|
||||
#define AT803X_PSSR_MR_AN_COMPLETE 0x0200
|
||||
-@@ -199,6 +212,8 @@ struct at803x_priv {
|
||||
+@@ -283,6 +295,8 @@ struct at803x_priv {
|
||||
u16 clk_25m_mask;
|
||||
u8 smarteee_lpi_tw_1g;
|
||||
u8 smarteee_lpi_tw_100m;
|
||||
@@ -58,7 +61,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
struct regulator_dev *vddio_rdev;
|
||||
struct regulator_dev *vddh_rdev;
|
||||
struct regulator *vddio;
|
||||
-@@ -674,7 +689,33 @@ static int at803x_probe(struct phy_devic
|
||||
+@@ -784,7 +798,33 @@ static int at803x_probe(struct phy_device *phydev)
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -92,7 +95,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
}
|
||||
|
||||
static void at803x_remove(struct phy_device *phydev)
|
||||
-@@ -687,6 +728,7 @@ static void at803x_remove(struct phy_dev
|
||||
+@@ -797,6 +837,7 @@ static void at803x_remove(struct phy_device *phydev)
|
||||
|
||||
static int at803x_get_features(struct phy_device *phydev)
|
||||
{
|
||||
@@ -100,7 +103,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
int err;
|
||||
|
||||
err = genphy_read_abilities(phydev);
|
||||
-@@ -704,12 +746,13 @@ static int at803x_get_features(struct ph
|
||||
+@@ -823,12 +864,13 @@ static int at803x_get_features(struct phy_device *phydev)
|
||||
* As a result of that, ESTATUS_1000_XFULL is set
|
||||
* to 1 even when operating in copper TP mode.
|
||||
*
|
||||
@@ -119,7 +122,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
return 0;
|
||||
}
|
||||
|
||||
-@@ -773,15 +816,18 @@ static int at8031_pll_config(struct phy_
|
||||
+@@ -892,15 +934,18 @@ static int at8031_pll_config(struct phy_device *phydev)
|
||||
|
||||
static int at803x_config_init(struct phy_device *phydev)
|
||||
{
|
||||
@@ -141,7 +144,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
phy_unlock_mdio_bus(phydev);
|
||||
if (ret)
|
||||
return ret;
|
||||
-@@ -840,6 +886,7 @@ static int at803x_ack_interrupt(struct p
|
||||
+@@ -959,6 +1004,7 @@ static int at803x_ack_interrupt(struct phy_device *phydev)
|
||||
|
||||
static int at803x_config_intr(struct phy_device *phydev)
|
||||
{
|
||||
@@ -149,7 +152,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
int err;
|
||||
int value;
|
||||
|
||||
-@@ -856,6 +903,10 @@ static int at803x_config_intr(struct phy
|
||||
+@@ -975,6 +1021,10 @@ static int at803x_config_intr(struct phy_device *phydev)
|
||||
value |= AT803X_INTR_ENABLE_DUPLEX_CHANGED;
|
||||
value |= AT803X_INTR_ENABLE_LINK_FAIL;
|
||||
value |= AT803X_INTR_ENABLE_LINK_SUCCESS;
|
||||
@@ -160,12 +163,12 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
err = phy_write(phydev, AT803X_INTR_ENABLE, value);
|
||||
} else {
|
||||
-@@ -923,8 +974,12 @@ static void at803x_link_change_notify(st
|
||||
+@@ -1107,8 +1157,12 @@ static int at803x_read_specific_status(struct phy_device *phydev)
|
||||
|
||||
static int at803x_read_status(struct phy_device *phydev)
|
||||
{
|
||||
+ struct at803x_priv *priv = phydev->priv;
|
||||
- int ss, err, old_link = phydev->link;
|
||||
+ int err, old_link = phydev->link;
|
||||
|
||||
+ if (priv->is_1000basex)
|
||||
+ return genphy_c37_read_status(phydev);
|
||||
@@ -173,7 +176,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
/* Update the link, but return if there was an error */
|
||||
err = genphy_update_link(phydev);
|
||||
if (err)
|
||||
-@@ -1023,6 +1078,7 @@ static int at803x_config_mdix(struct phy
|
||||
+@@ -1162,6 +1216,7 @@ static int at803x_config_mdix(struct phy_device *phydev, u8 ctrl)
|
||||
|
||||
static int at803x_config_aneg(struct phy_device *phydev)
|
||||
{
|
||||
@@ -181,13 +184,13 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
int ret;
|
||||
|
||||
ret = at803x_config_mdix(phydev, phydev->mdix_ctrl);
|
||||
-@@ -1039,6 +1095,9 @@ static int at803x_config_aneg(struct phy
|
||||
+@@ -1178,6 +1233,9 @@ static int at803x_config_aneg(struct phy_device *phydev)
|
||||
return ret;
|
||||
}
|
||||
|
||||
+ if (priv->is_1000basex)
|
||||
+ return genphy_c37_config_aneg(phydev);
|
||||
+
|
||||
- return genphy_config_aneg(phydev);
|
||||
- }
|
||||
-
|
||||
+ /* Do not restart auto-negotiation by setting ret to 0 defautly,
|
||||
+ * when calling __genphy_config_aneg later.
|
||||
+ */
|
||||
--
|
||||
2.42.1
|
||||
|
|
@ -0,0 +1,70 @@
|
|||
From fa76a94d8c10d66f0204500e3cb86969b6ba4bd7 Mon Sep 17 00:00:00 2001
|
||||
From: Stijn Segers <foss@volatilesystems.org>
|
||||
Date: Sat, 26 Aug 2023 12:13:58 +0200
|
||||
Subject: [PATCH 16/18] generic: replace at803x null pointer fix with upstream
|
||||
one
|
||||
|
||||
Signed-off-by: Stijn Segers <foss@volatilesystems.org>
|
||||
---
|
||||
...LL-pointer-dereference-on-AR9331-PHY.patch | 27 +++++++++++++++++--
|
||||
1 file changed, 25 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/target/linux/generic/backport-5.15/778-v5.18-03-net-phy-at803x-fix-NULL-pointer-dereference-on-AR9331-PHY.patch b/target/linux/generic/backport-5.15/778-v5.18-03-net-phy-at803x-fix-NULL-pointer-dereference-on-AR9331-PHY.patch
|
||||
index 53d6325c49..0ac5fda4a0 100644
|
||||
--- a/target/linux/generic/backport-5.15/778-v5.18-03-net-phy-at803x-fix-NULL-pointer-dereference-on-AR9331-PHY.patch
|
||||
+++ b/target/linux/generic/backport-5.15/778-v5.18-03-net-phy-at803x-fix-NULL-pointer-dereference-on-AR9331-PHY.patch
|
||||
@@ -1,8 +1,10 @@
|
||||
-From 9926de7315be3d606cc011a305ad9adb9e8e14c9 Mon Sep 17 00:00:00 2001
|
||||
+From 66fa352215e8455ba2e5f33793535795bd3e36ca Mon Sep 17 00:00:00 2001
|
||||
From: Oleksij Rempel <o.rempel@pengutronix.de>
|
||||
Date: Sat, 18 Jun 2022 14:23:33 +0200
|
||||
Subject: [PATCH] net: phy: at803x: fix NULL pointer dereference on AR9331 PHY
|
||||
|
||||
+[ Upstream commit 9926de7315be3d606cc011a305ad9adb9e8e14c9 ]
|
||||
+
|
||||
Latest kernel will explode on the PHY interrupt config, since it depends
|
||||
now on allocated priv. So, run probe to allocate priv to fix it.
|
||||
|
||||
@@ -39,13 +41,16 @@ Fixes: 3265f4218878 ("net: phy: at803x: add fiber support")
|
||||
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
|
||||
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
+Signed-off-by: Sasha Levin <sashal@kernel.org>
|
||||
---
|
||||
drivers/net/phy/at803x.c | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
+diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c
|
||||
+index 6a467e7817a6a..59fe356942b51 100644
|
||||
--- a/drivers/net/phy/at803x.c
|
||||
+++ b/drivers/net/phy/at803x.c
|
||||
-@@ -1592,6 +1592,8 @@ static struct phy_driver at803x_driver[]
|
||||
+@@ -2072,6 +2072,8 @@ static struct phy_driver at803x_driver[] = {
|
||||
/* ATHEROS AR9331 */
|
||||
PHY_ID_MATCH_EXACT(ATH9331_PHY_ID),
|
||||
.name = "Qualcomm Atheros AR9331 built-in PHY",
|
||||
@@ -54,3 +59,21 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
.suspend = at803x_suspend,
|
||||
.resume = at803x_resume,
|
||||
.flags = PHY_POLL_CABLE_TEST,
|
||||
+@@ -2087,6 +2089,8 @@ static struct phy_driver at803x_driver[] = {
|
||||
+ /* Qualcomm Atheros QCA9561 */
|
||||
+ PHY_ID_MATCH_EXACT(QCA9561_PHY_ID),
|
||||
+ .name = "Qualcomm Atheros QCA9561 built-in PHY",
|
||||
++ .probe = at803x_probe,
|
||||
++ .remove = at803x_remove,
|
||||
+ .suspend = at803x_suspend,
|
||||
+ .resume = at803x_resume,
|
||||
+ .flags = PHY_POLL_CABLE_TEST,
|
||||
+@@ -2151,6 +2155,8 @@ static struct phy_driver at803x_driver[] = {
|
||||
+ PHY_ID_MATCH_EXACT(QCA8081_PHY_ID),
|
||||
+ .name = "Qualcomm QCA8081",
|
||||
+ .flags = PHY_POLL_CABLE_TEST,
|
||||
++ .probe = at803x_probe,
|
||||
++ .remove = at803x_remove,
|
||||
+ .config_intr = at803x_config_intr,
|
||||
+ .handle_interrupt = at803x_handle_interrupt,
|
||||
+ .get_tunable = at803x_get_tunable,
|
||||
--
|
||||
2.42.1
|
||||
|
|
@ -0,0 +1,172 @@
|
|||
From 3202c7d6107b5c09d1995a23e8fb0625922789b3 Mon Sep 17 00:00:00 2001
|
||||
From: Stijn Segers <foss@volatilesystems.org>
|
||||
Date: Sat, 29 Apr 2023 16:35:49 +0200
|
||||
Subject: [PATCH 17/18] kernel: replace QCA8081 2.5Gb patch with upstream one
|
||||
|
||||
The v2 of this patch was merged into 5.17. Drop the old patch
|
||||
and replace it with v2.
|
||||
---
|
||||
...a8081-with-speeds-lower-than-2.5Gb-s.patch | 59 +++++++++++++
|
||||
...a8081-with-speeds-lower-than-2.5Gb-s.patch | 84 -------------------
|
||||
2 files changed, 59 insertions(+), 84 deletions(-)
|
||||
create mode 100644 target/linux/generic/backport-5.15/778-v5.17-net-phy-Fix-qca8081-with-speeds-lower-than-2.5Gb-s.patch
|
||||
delete mode 100644 target/linux/generic/pending-5.15/790-net-net-phy-Fix-qca8081-with-speeds-lower-than-2.5Gb-s.patch
|
||||
|
||||
diff --git a/target/linux/generic/backport-5.15/778-v5.17-net-phy-Fix-qca8081-with-speeds-lower-than-2.5Gb-s.patch b/target/linux/generic/backport-5.15/778-v5.17-net-phy-Fix-qca8081-with-speeds-lower-than-2.5Gb-s.patch
|
||||
new file mode 100644
|
||||
index 0000000000..1d8e7997fd
|
||||
--- /dev/null
|
||||
+++ b/target/linux/generic/backport-5.15/778-v5.17-net-phy-Fix-qca8081-with-speeds-lower-than-2.5Gb-s.patch
|
||||
@@ -0,0 +1,59 @@
|
||||
+From 881cc731df6af99a21622e9be25a23b81adcd10b Mon Sep 17 00:00:00 2001
|
||||
+From: Jonathan McDowell <noodles@earth.li>
|
||||
+Date: Mon, 31 Jan 2022 13:56:41 +0000
|
||||
+Subject: [PATCH] net: phy: Fix qca8081 with speeds lower than 2.5Gb/s
|
||||
+
|
||||
+A typo in qca808x_read_status means we try to set SMII mode on the port
|
||||
+rather than SGMII when the link speed is not 2.5Gb/s. This results in no
|
||||
+traffic due to the mismatch in configuration between the phy and the
|
||||
+mac.
|
||||
+
|
||||
+v2:
|
||||
+ Only change interface mode when the link is up
|
||||
+
|
||||
+Fixes: 79c7bc0521545 ("net: phy: add qca8081 read_status")
|
||||
+Cc: stable@vger.kernel.org
|
||||
+Signed-off-by: Jonathan McDowell <noodles@earth.li>
|
||||
+Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
|
||||
+Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
+---
|
||||
+ drivers/net/phy/at803x.c | 26 +++++++++++++-------------
|
||||
+ 1 file changed, 13 insertions(+), 13 deletions(-)
|
||||
+
|
||||
+diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c
|
||||
+index 5b6c0d120e09e2..29aa811af430f0 100644
|
||||
+--- a/drivers/net/phy/at803x.c
|
||||
++++ b/drivers/net/phy/at803x.c
|
||||
+@@ -1688,19 +1688,19 @@ static int qca808x_read_status(struct phy_device *phydev)
|
||||
+ if (ret < 0)
|
||||
+ return ret;
|
||||
+
|
||||
+- if (phydev->link && phydev->speed == SPEED_2500)
|
||||
+- phydev->interface = PHY_INTERFACE_MODE_2500BASEX;
|
||||
+- else
|
||||
+- phydev->interface = PHY_INTERFACE_MODE_SMII;
|
||||
+-
|
||||
+- /* generate seed as a lower random value to make PHY linked as SLAVE easily,
|
||||
+- * except for master/slave configuration fault detected.
|
||||
+- * the reason for not putting this code into the function link_change_notify is
|
||||
+- * the corner case where the link partner is also the qca8081 PHY and the seed
|
||||
+- * value is configured as the same value, the link can't be up and no link change
|
||||
+- * occurs.
|
||||
+- */
|
||||
+- if (!phydev->link) {
|
||||
++ if (phydev->link) {
|
||||
++ if (phydev->speed == SPEED_2500)
|
||||
++ phydev->interface = PHY_INTERFACE_MODE_2500BASEX;
|
||||
++ else
|
||||
++ phydev->interface = PHY_INTERFACE_MODE_SGMII;
|
||||
++ } else {
|
||||
++ /* generate seed as a lower random value to make PHY linked as SLAVE easily,
|
||||
++ * except for master/slave configuration fault detected.
|
||||
++ * the reason for not putting this code into the function link_change_notify is
|
||||
++ * the corner case where the link partner is also the qca8081 PHY and the seed
|
||||
++ * value is configured as the same value, the link can't be up and no link change
|
||||
++ * occurs.
|
||||
++ */
|
||||
+ if (phydev->master_slave_state == MASTER_SLAVE_STATE_ERR) {
|
||||
+ qca808x_phy_ms_seed_enable(phydev, false);
|
||||
+ } else {
|
||||
diff --git a/target/linux/generic/pending-5.15/790-net-net-phy-Fix-qca8081-with-speeds-lower-than-2.5Gb-s.patch b/target/linux/generic/pending-5.15/790-net-net-phy-Fix-qca8081-with-speeds-lower-than-2.5Gb-s.patch
|
||||
deleted file mode 100644
|
||||
index 2bec96d306..0000000000
|
||||
--- a/target/linux/generic/pending-5.15/790-net-net-phy-Fix-qca8081-with-speeds-lower-than-2.5Gb-s.patch
|
||||
+++ /dev/null
|
||||
@@ -1,84 +0,0 @@
|
||||
-From patchwork Sun Jan 30 10:25:28 2022
|
||||
-Content-Type: text/plain; charset="utf-8"
|
||||
-MIME-Version: 1.0
|
||||
-Content-Transfer-Encoding: 7bit
|
||||
-X-Patchwork-Submitter: Jonathan McDowell <noodles@earth.li>
|
||||
-X-Patchwork-Id: 12729797
|
||||
-X-Patchwork-Delegate: kuba@kernel.org
|
||||
-Return-Path: <netdev-owner@kernel.org>
|
||||
-X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on
|
||||
- aws-us-west-2-korg-lkml-1.web.codeaurora.org
|
||||
-Received: from vger.kernel.org (vger.kernel.org [23.128.96.18])
|
||||
- by smtp.lore.kernel.org (Postfix) with ESMTP id 1DD5EC433EF
|
||||
- for <netdev@archiver.kernel.org>; Sun, 30 Jan 2022 10:55:25 +0000 (UTC)
|
||||
-Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
|
||||
- id S240477AbiA3KzX (ORCPT <rfc822;netdev@archiver.kernel.org>);
|
||||
- Sun, 30 Jan 2022 05:55:23 -0500
|
||||
-Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36812 "EHLO
|
||||
- lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
|
||||
- with ESMTP id S239076AbiA3KzV (ORCPT
|
||||
- <rfc822;netdev@vger.kernel.org>); Sun, 30 Jan 2022 05:55:21 -0500
|
||||
-X-Greylist: delayed 1780 seconds by postgrey-1.37 at
|
||||
- lindbergh.monkeyblade.net; Sun, 30 Jan 2022 02:55:21 PST
|
||||
-Received: from the.earth.li (the.earth.li
|
||||
- [IPv6:2a00:1098:86:4d:c0ff:ee:15:900d])
|
||||
- by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6EAD9C061714;
|
||||
- Sun, 30 Jan 2022 02:55:21 -0800 (PST)
|
||||
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=earth.li;
|
||||
- s=the;
|
||||
- h=Content-Type:MIME-Version:Message-ID:Subject:Cc:To:From:Date:Sender:
|
||||
- Reply-To:Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date
|
||||
- :Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:
|
||||
- References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:
|
||||
- List-Owner:List-Archive;
|
||||
- bh=zynwQsXAChbzANQqprwMGE7qGv9t50Oo07QICLYU9a0=; b=Z
|
||||
- K8tRPtlmUhokQQlgSXpHDLec4xjYjkTQl6oFZ1GPCWgQy2YyrGnhNmtUr8GG4q3NR0jhiKh9A2y61
|
||||
- pfq1eOPalgLqQ47fxD6JmCK8r/Sb6cXRKYN3OZ8NiEC9yhT8uxEqYe1tTUJL6RVfepb6+yFT5sp2Y
|
||||
- Osx4iy/QAibB+/8I6lhU5Tb35eztlYgE+/Mky3gIAhyM5kvHjcj4/S6i6Sw2UW27P3tuvH0JetOT6
|
||||
- OFx58fSC5azHX6pNGqx+Na+tHVtfBMkIiOpdumXyswfZDNqGvg6eXTMPsSZUJ269N1dkqPLBB7Mwz
|
||||
- jtBcyMpAaEbN7MJWuh2h0DMYmTymlFFrg==;
|
||||
-Received: from noodles by the.earth.li with local (Exim 4.94.2)
|
||||
- (envelope-from <noodles@earth.li>)
|
||||
- id 1nE7Oi-00A0XI-KA; Sun, 30 Jan 2022 10:25:28 +0000
|
||||
-Date: Sun, 30 Jan 2022 10:25:28 +0000
|
||||
-From: Jonathan McDowell <noodles@earth.li>
|
||||
-To: Andrew Lunn <andrew@lunn.ch>,
|
||||
- Heiner Kallweit <hkallweit1@gmail.com>,
|
||||
- Russell King <linux@armlinux.org.uk>,
|
||||
- David Miller <davem@davemloft.net>,
|
||||
- Jakub Kicinski <kuba@kernel.org>, Luo Jie <luoj@codeaurora.org>
|
||||
-Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
|
||||
- Robert Marko <robimarko@gmail.com>
|
||||
-Subject: [PATCH net] net: phy: Fix qca8081 with speeds lower than 2.5Gb/s
|
||||
-Message-ID: <YfZnmMteVry/A1XR@earth.li>
|
||||
-MIME-Version: 1.0
|
||||
-Content-Disposition: inline
|
||||
-Precedence: bulk
|
||||
-List-ID: <netdev.vger.kernel.org>
|
||||
-X-Mailing-List: netdev@vger.kernel.org
|
||||
-X-Patchwork-Delegate: kuba@kernel.org
|
||||
-
|
||||
-A typo in qca808x_read_status means we try to set SMII mode on the port
|
||||
-rather than SGMII when the link speed is not 2.5Gb/s. This results in no
|
||||
-traffic due to the mismatch in configuration between the phy and the
|
||||
-mac.
|
||||
-
|
||||
-Fixes: 79c7bc0521545 ("net: phy: add qca8081 read_status")
|
||||
-Signed-off-by: Jonathan McDowell <noodles@earth.li>
|
||||
----
|
||||
- drivers/net/phy/at803x.c | 2 +-
|
||||
- 1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
-
|
||||
-diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c
|
||||
-index 5b6c0d120e09..7077e3a92d31 100644
|
||||
---- a/drivers/net/phy/at803x.c
|
||||
-+++ b/drivers/net/phy/at803x.c
|
||||
-@@ -1691,7 +1691,7 @@ static int qca808x_read_status(struct phy_device *phydev)
|
||||
- if (phydev->link && phydev->speed == SPEED_2500)
|
||||
- phydev->interface = PHY_INTERFACE_MODE_2500BASEX;
|
||||
- else
|
||||
-- phydev->interface = PHY_INTERFACE_MODE_SMII;
|
||||
-+ phydev->interface = PHY_INTERFACE_MODE_SGMII;
|
||||
-
|
||||
- /* generate seed as a lower random value to make PHY linked as SLAVE easily,
|
||||
- * except for master/slave configuration fault detected.
|
||||
--
|
||||
2.42.1
|
||||
|
|
@ -0,0 +1,890 @@
|
|||
From 68fc4f780968f0f76bc6eebda329b525542ccd5e Mon Sep 17 00:00:00 2001
|
||||
From: Stijn Segers <foss@volatilesystems.org>
|
||||
Date: Sat, 26 Aug 2023 12:35:10 +0200
|
||||
Subject: [PATCH 18/18] kernel: 5.15: refresh RB5009UG patches
|
||||
|
||||
Signed-off-by: Stijn Segers <foss@volatilesystems.org>
|
||||
---
|
||||
...eplace-AT803X_DEVICE_ADDR-with-MDIO_.patch | 9 ++------
|
||||
...-v5.16-net-phy-at803x-use-phy_modify.patch | 7 +------
|
||||
...t-phy-at803x-improve-the-WOL-feature.patch | 11 +++-------
|
||||
...-at803x-use-GENMASK-for-speed-status.patch | 7 +------
|
||||
...6-net-phy-at803x-add-QCA9561-support.patch | 21 +++++++------------
|
||||
...-phy-add-qca8081-ethernet-phy-driver.patch | 9 ++------
|
||||
...5.16-net-phy-add-qca8081-read_status.patch | 17 ++++++---------
|
||||
....16-net-phy-add-qca8081-get_features.patch | 9 ++------
|
||||
...5.16-net-phy-add-qca8081-config_aneg.patch | 9 ++------
|
||||
...tants-for-fast-retrain-related-regis.patch | 5 -----
|
||||
...-net-phy-add-genphy_c45_fast_retrain.patch | 11 ++--------
|
||||
...5.16-net-phy-add-qca8081-config_init.patch | 9 ++------
|
||||
...081-soft_reset-and-enable-master-sla.patch | 13 ++++--------
|
||||
...ca8081-master-slave-seed-value-if-li.patch | 7 +------
|
||||
...5.16-net-phy-add-qca8081-cdt-feature.patch | 15 +++++--------
|
||||
...a8081-with-speeds-lower-than-2.5Gb-s.patch | 4 +---
|
||||
...-01-net-phy-at803x-add-fiber-support.patch | 20 ++++++++----------
|
||||
...y-at803x-support-downstream-SFP-cage.patch | 4 ++--
|
||||
...LL-pointer-dereference-on-AR9331-PHY.patch | 8 +++----
|
||||
...ix-error-return-code-in-at803x_probe.patch | 2 +-
|
||||
...x-add-Amethyst-specific-SMI-GPIO-fun.patch | 15 +++----------
|
||||
21 files changed, 60 insertions(+), 152 deletions(-)
|
||||
|
||||
diff --git a/target/linux/generic/backport-5.15/765-v5.16-net-phy-at803x-replace-AT803X_DEVICE_ADDR-with-MDIO_.patch b/target/linux/generic/backport-5.15/765-v5.16-net-phy-at803x-replace-AT803X_DEVICE_ADDR-with-MDIO_.patch
|
||||
index 2b0b24e62c..5678f064bd 100644
|
||||
--- a/target/linux/generic/backport-5.15/765-v5.16-net-phy-at803x-replace-AT803X_DEVICE_ADDR-with-MDIO_.patch
|
||||
+++ b/target/linux/generic/backport-5.15/765-v5.16-net-phy-at803x-replace-AT803X_DEVICE_ADDR-with-MDIO_.patch
|
||||
@@ -14,8 +14,6 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
drivers/net/phy/at803x.c | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
-diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c
|
||||
-index 69da011e82c8..d0f41cdaec75 100644
|
||||
--- a/drivers/net/phy/at803x.c
|
||||
+++ b/drivers/net/phy/at803x.c
|
||||
@@ -70,7 +70,6 @@
|
||||
@@ -26,7 +24,7 @@ index 69da011e82c8..d0f41cdaec75 100644
|
||||
#define AT803X_LOC_MAC_ADDR_0_15_OFFSET 0x804C
|
||||
#define AT803X_LOC_MAC_ADDR_16_31_OFFSET 0x804B
|
||||
#define AT803X_LOC_MAC_ADDR_32_47_OFFSET 0x804A
|
||||
-@@ -338,7 +337,8 @@ static int at803x_set_wol(struct phy_device *phydev,
|
||||
+@@ -337,7 +336,8 @@ static int at803x_set_wol(struct phy_dev
|
||||
const u8 *mac;
|
||||
int ret;
|
||||
u32 value;
|
||||
@@ -36,7 +34,7 @@ index 69da011e82c8..d0f41cdaec75 100644
|
||||
AT803X_LOC_MAC_ADDR_32_47_OFFSET,
|
||||
AT803X_LOC_MAC_ADDR_16_31_OFFSET,
|
||||
AT803X_LOC_MAC_ADDR_0_15_OFFSET,
|
||||
-@@ -354,7 +354,7 @@ static int at803x_set_wol(struct phy_device *phydev,
|
||||
+@@ -353,7 +353,7 @@ static int at803x_set_wol(struct phy_dev
|
||||
return -EINVAL;
|
||||
|
||||
for (i = 0; i < 3; i++)
|
||||
@@ -45,6 +43,3 @@ index 69da011e82c8..d0f41cdaec75 100644
|
||||
mac[(i * 2) + 1] | (mac[(i * 2)] << 8));
|
||||
|
||||
value = phy_read(phydev, AT803X_INTR_ENABLE);
|
||||
---
|
||||
-2.34.1
|
||||
-
|
||||
diff --git a/target/linux/generic/backport-5.15/766-v5.16-net-phy-at803x-use-phy_modify.patch b/target/linux/generic/backport-5.15/766-v5.16-net-phy-at803x-use-phy_modify.patch
|
||||
index fbd7de0519..be1befa69d 100644
|
||||
--- a/target/linux/generic/backport-5.15/766-v5.16-net-phy-at803x-use-phy_modify.patch
|
||||
+++ b/target/linux/generic/backport-5.15/766-v5.16-net-phy-at803x-use-phy_modify.patch
|
||||
@@ -13,11 +13,9 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
drivers/net/phy/at803x.c | 8 ++------
|
||||
1 file changed, 2 insertions(+), 6 deletions(-)
|
||||
|
||||
-diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c
|
||||
-index d0f41cdaec75..cf25cd428ffa 100644
|
||||
--- a/drivers/net/phy/at803x.c
|
||||
+++ b/drivers/net/phy/at803x.c
|
||||
-@@ -357,16 +357,12 @@ static int at803x_set_wol(struct phy_device *phydev,
|
||||
+@@ -356,16 +356,12 @@ static int at803x_set_wol(struct phy_dev
|
||||
phy_write_mmd(phydev, MDIO_MMD_PCS, offsets[i],
|
||||
mac[(i * 2) + 1] | (mac[(i * 2)] << 8));
|
||||
|
||||
@@ -36,6 +34,3 @@ index d0f41cdaec75..cf25cd428ffa 100644
|
||||
if (ret)
|
||||
return ret;
|
||||
value = phy_read(phydev, AT803X_INTR_STATUS);
|
||||
---
|
||||
-2.34.1
|
||||
-
|
||||
diff --git a/target/linux/generic/backport-5.15/767-v5.16-net-phy-at803x-improve-the-WOL-feature.patch b/target/linux/generic/backport-5.15/767-v5.16-net-phy-at803x-improve-the-WOL-feature.patch
|
||||
index 1109e0a81e..e6edf2ce21 100644
|
||||
--- a/target/linux/generic/backport-5.15/767-v5.16-net-phy-at803x-improve-the-WOL-feature.patch
|
||||
+++ b/target/linux/generic/backport-5.15/767-v5.16-net-phy-at803x-improve-the-WOL-feature.patch
|
||||
@@ -19,8 +19,6 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
drivers/net/phy/at803x.c | 45 +++++++++++++++++++++++++++++++++-------
|
||||
1 file changed, 38 insertions(+), 7 deletions(-)
|
||||
|
||||
-diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c
|
||||
-index cf25cd428ffa..1363f12ba659 100644
|
||||
--- a/drivers/net/phy/at803x.c
|
||||
+++ b/drivers/net/phy/at803x.c
|
||||
@@ -70,6 +70,8 @@
|
||||
@@ -32,7 +30,7 @@ index cf25cd428ffa..1363f12ba659 100644
|
||||
#define AT803X_LOC_MAC_ADDR_0_15_OFFSET 0x804C
|
||||
#define AT803X_LOC_MAC_ADDR_16_31_OFFSET 0x804B
|
||||
#define AT803X_LOC_MAC_ADDR_32_47_OFFSET 0x804A
|
||||
-@@ -335,8 +337,7 @@ static int at803x_set_wol(struct phy_device *phydev,
|
||||
+@@ -334,8 +336,7 @@ static int at803x_set_wol(struct phy_dev
|
||||
{
|
||||
struct net_device *ndev = phydev->attached_dev;
|
||||
const u8 *mac;
|
||||
@@ -42,7 +40,7 @@ index cf25cd428ffa..1363f12ba659 100644
|
||||
unsigned int i;
|
||||
const unsigned int offsets[] = {
|
||||
AT803X_LOC_MAC_ADDR_32_47_OFFSET,
|
||||
-@@ -357,18 +358,45 @@ static int at803x_set_wol(struct phy_device *phydev,
|
||||
+@@ -356,18 +357,45 @@ static int at803x_set_wol(struct phy_dev
|
||||
phy_write_mmd(phydev, MDIO_MMD_PCS, offsets[i],
|
||||
mac[(i * 2) + 1] | (mac[(i * 2)] << 8));
|
||||
|
||||
@@ -91,7 +89,7 @@ index cf25cd428ffa..1363f12ba659 100644
|
||||
}
|
||||
|
||||
static void at803x_get_wol(struct phy_device *phydev,
|
||||
-@@ -379,8 +407,11 @@ static void at803x_get_wol(struct phy_device *phydev,
|
||||
+@@ -378,8 +406,11 @@ static void at803x_get_wol(struct phy_de
|
||||
wol->supported = WAKE_MAGIC;
|
||||
wol->wolopts = 0;
|
||||
|
||||
@@ -105,6 +103,3 @@ index cf25cd428ffa..1363f12ba659 100644
|
||||
wol->wolopts |= WAKE_MAGIC;
|
||||
}
|
||||
|
||||
---
|
||||
-2.34.1
|
||||
-
|
||||
diff --git a/target/linux/generic/backport-5.15/768-v5.16-net-phy-at803x-use-GENMASK-for-speed-status.patch b/target/linux/generic/backport-5.15/768-v5.16-net-phy-at803x-use-GENMASK-for-speed-status.patch
|
||||
index 534878a266..f8420c8d1f 100644
|
||||
--- a/target/linux/generic/backport-5.15/768-v5.16-net-phy-at803x-use-GENMASK-for-speed-status.patch
|
||||
+++ b/target/linux/generic/backport-5.15/768-v5.16-net-phy-at803x-use-GENMASK-for-speed-status.patch
|
||||
@@ -12,8 +12,6 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
drivers/net/phy/at803x.c | 10 +++++-----
|
||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
-diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c
|
||||
-index 1363f12ba659..3465f2bb6356 100644
|
||||
--- a/drivers/net/phy/at803x.c
|
||||
+++ b/drivers/net/phy/at803x.c
|
||||
@@ -33,10 +33,10 @@
|
||||
@@ -31,7 +29,7 @@ index 1363f12ba659..3465f2bb6356 100644
|
||||
#define AT803X_SS_DUPLEX BIT(13)
|
||||
#define AT803X_SS_SPEED_DUPLEX_RESOLVED BIT(11)
|
||||
#define AT803X_SS_MDIX BIT(6)
|
||||
-@@ -994,7 +994,7 @@ static int at803x_read_status(struct phy_device *phydev)
|
||||
+@@ -985,7 +985,7 @@ static int at803x_read_status(struct phy
|
||||
if (sfc < 0)
|
||||
return sfc;
|
||||
|
||||
@@ -40,6 +38,3 @@ index 1363f12ba659..3465f2bb6356 100644
|
||||
case AT803X_SS_SPEED_10:
|
||||
phydev->speed = SPEED_10;
|
||||
break;
|
||||
---
|
||||
-2.34.1
|
||||
-
|
||||
diff --git a/target/linux/generic/backport-5.15/769-0-v5.16-net-phy-at803x-add-QCA9561-support.patch b/target/linux/generic/backport-5.15/769-0-v5.16-net-phy-at803x-add-QCA9561-support.patch
|
||||
index 48fbac610a..68e7eae7bb 100644
|
||||
--- a/target/linux/generic/backport-5.15/769-0-v5.16-net-phy-at803x-add-QCA9561-support.patch
|
||||
+++ b/target/linux/generic/backport-5.15/769-0-v5.16-net-phy-at803x-add-QCA9561-support.patch
|
||||
@@ -17,11 +17,9 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
drivers/net/phy/at803x.c | 23 +++++++++++++++++++++--
|
||||
1 file changed, 21 insertions(+), 2 deletions(-)
|
||||
|
||||
-diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c
|
||||
-index 3feee4d59030..ae7e1f1c59f0 100644
|
||||
--- a/drivers/net/phy/at803x.c
|
||||
+++ b/drivers/net/phy/at803x.c
|
||||
-@@ -153,6 +153,7 @@
|
||||
+@@ -161,6 +161,7 @@
|
||||
#define QCA8327_A_PHY_ID 0x004dd033
|
||||
#define QCA8327_B_PHY_ID 0x004dd034
|
||||
#define QCA8337_PHY_ID 0x004dd036
|
||||
@@ -29,7 +27,7 @@ index 3feee4d59030..ae7e1f1c59f0 100644
|
||||
#define QCA8K_PHY_ID_MASK 0xffffffff
|
||||
|
||||
#define QCA8K_DEVFLAGS_REVISION_MASK GENMASK(2, 0)
|
||||
-@@ -1237,7 +1238,8 @@ static int at803x_cable_test_get_status(struct phy_device *phydev,
|
||||
+@@ -1263,7 +1264,8 @@ static int at803x_cable_test_get_status(
|
||||
int pair, ret;
|
||||
|
||||
if (phydev->phy_id == ATH9331_PHY_ID ||
|
||||
@@ -39,7 +37,7 @@ index 3feee4d59030..ae7e1f1c59f0 100644
|
||||
pair_mask = 0x3;
|
||||
else
|
||||
pair_mask = 0xf;
|
||||
-@@ -1277,7 +1279,8 @@ static int at803x_cable_test_start(struct phy_device *phydev)
|
||||
+@@ -1303,7 +1305,8 @@ static int at803x_cable_test_start(struc
|
||||
phy_write(phydev, MII_BMCR, BMCR_ANENABLE);
|
||||
phy_write(phydev, MII_ADVERTISE, ADVERTISE_CSMA);
|
||||
if (phydev->phy_id != ATH9331_PHY_ID &&
|
||||
@@ -49,11 +47,10 @@ index 3feee4d59030..ae7e1f1c59f0 100644
|
||||
phy_write(phydev, MII_CTRL1000, 0);
|
||||
|
||||
/* we do all the (time consuming) work later */
|
||||
-@@ -1408,6 +1411,21 @@ static struct phy_driver at803x_driver[] = {
|
||||
- .read_status = at803x_read_status,
|
||||
+@@ -1516,6 +1519,21 @@ static struct phy_driver at803x_driver[]
|
||||
.soft_reset = genphy_soft_reset,
|
||||
.config_aneg = at803x_config_aneg,
|
||||
-+}, {
|
||||
+ }, {
|
||||
+ /* Qualcomm Atheros QCA9561 */
|
||||
+ PHY_ID_MATCH_EXACT(QCA9561_PHY_ID),
|
||||
+ .name = "Qualcomm Atheros QCA9561 built-in PHY",
|
||||
@@ -68,10 +65,11 @@ index 3feee4d59030..ae7e1f1c59f0 100644
|
||||
+ .read_status = at803x_read_status,
|
||||
+ .soft_reset = genphy_soft_reset,
|
||||
+ .config_aneg = at803x_config_aneg,
|
||||
- }, {
|
||||
++}, {
|
||||
/* QCA8337 */
|
||||
.phy_id = QCA8337_PHY_ID,
|
||||
-@@ -1466,6 +1484,7 @@ static struct mdio_device_id __maybe_unused atheros_tbl[] = {
|
||||
+ .phy_id_mask = QCA8K_PHY_ID_MASK,
|
||||
+@@ -1576,6 +1594,7 @@ static struct mdio_device_id __maybe_unu
|
||||
{ PHY_ID_MATCH_EXACT(QCA8337_PHY_ID) },
|
||||
{ PHY_ID_MATCH_EXACT(QCA8327_A_PHY_ID) },
|
||||
{ PHY_ID_MATCH_EXACT(QCA8327_B_PHY_ID) },
|
||||
@@ -79,6 +77,3 @@ index 3feee4d59030..ae7e1f1c59f0 100644
|
||||
{ }
|
||||
};
|
||||
|
||||
---
|
||||
-2.34.1
|
||||
-
|
||||
diff --git a/target/linux/generic/backport-5.15/769-v5.16-net-phy-add-qca8081-ethernet-phy-driver.patch b/target/linux/generic/backport-5.15/769-v5.16-net-phy-add-qca8081-ethernet-phy-driver.patch
|
||||
index 1aec1eae60..0b09503898 100644
|
||||
--- a/target/linux/generic/backport-5.15/769-v5.16-net-phy-add-qca8081-ethernet-phy-driver.patch
|
||||
+++ b/target/linux/generic/backport-5.15/769-v5.16-net-phy-add-qca8081-ethernet-phy-driver.patch
|
||||
@@ -16,8 +16,6 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
drivers/net/phy/at803x.c | 17 ++++++++++++++++-
|
||||
1 file changed, 16 insertions(+), 1 deletion(-)
|
||||
|
||||
-diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c
|
||||
-index 3465f2bb6356..aae27fe3e1e1 100644
|
||||
--- a/drivers/net/phy/at803x.c
|
||||
+++ b/drivers/net/phy/at803x.c
|
||||
@@ -158,6 +158,8 @@
|
||||
@@ -38,7 +36,7 @@ index 3465f2bb6356..aae27fe3e1e1 100644
|
||||
MODULE_AUTHOR("Matus Ujhelyi");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
||||
-@@ -1591,6 +1593,18 @@ static struct phy_driver at803x_driver[] = {
|
||||
+@@ -1581,6 +1583,18 @@ static struct phy_driver at803x_driver[]
|
||||
.get_stats = at803x_get_stats,
|
||||
.suspend = qca83xx_suspend,
|
||||
.resume = qca83xx_resume,
|
||||
@@ -57,7 +55,7 @@ index 3465f2bb6356..aae27fe3e1e1 100644
|
||||
}, };
|
||||
|
||||
module_phy_driver(at803x_driver);
|
||||
-@@ -1605,6 +1619,7 @@ static struct mdio_device_id __maybe_unused atheros_tbl[] = {
|
||||
+@@ -1595,6 +1609,7 @@ static struct mdio_device_id __maybe_unu
|
||||
{ PHY_ID_MATCH_EXACT(QCA8327_A_PHY_ID) },
|
||||
{ PHY_ID_MATCH_EXACT(QCA8327_B_PHY_ID) },
|
||||
{ PHY_ID_MATCH_EXACT(QCA9561_PHY_ID) },
|
||||
@@ -65,6 +63,3 @@ index 3465f2bb6356..aae27fe3e1e1 100644
|
||||
{ }
|
||||
};
|
||||
|
||||
---
|
||||
-2.34.1
|
||||
-
|
||||
diff --git a/target/linux/generic/backport-5.15/770-v5.16-net-phy-add-qca8081-read_status.patch b/target/linux/generic/backport-5.15/770-v5.16-net-phy-add-qca8081-read_status.patch
|
||||
index 3e7572b034..bbaf30eeb8 100644
|
||||
--- a/target/linux/generic/backport-5.15/770-v5.16-net-phy-add-qca8081-read_status.patch
|
||||
+++ b/target/linux/generic/backport-5.15/770-v5.16-net-phy-add-qca8081-read_status.patch
|
||||
@@ -17,8 +17,6 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
drivers/net/phy/at803x.c | 95 ++++++++++++++++++++++++++++++----------
|
||||
1 file changed, 73 insertions(+), 22 deletions(-)
|
||||
|
||||
-diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c
|
||||
-index aae27fe3e1e1..cecf78e6c643 100644
|
||||
--- a/drivers/net/phy/at803x.c
|
||||
+++ b/drivers/net/phy/at803x.c
|
||||
@@ -41,6 +41,9 @@
|
||||
@@ -31,7 +29,7 @@ index aae27fe3e1e1..cecf78e6c643 100644
|
||||
#define AT803X_INTR_ENABLE 0x12
|
||||
#define AT803X_INTR_ENABLE_AUTONEG_ERR BIT(15)
|
||||
#define AT803X_INTR_ENABLE_SPEED_CHANGED BIT(14)
|
||||
-@@ -959,27 +962,9 @@ static void at803x_link_change_notify(struct phy_device *phydev)
|
||||
+@@ -951,27 +954,9 @@ static void at803x_link_change_notify(st
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,7 +59,7 @@ index aae27fe3e1e1..cecf78e6c643 100644
|
||||
|
||||
/* Read the AT8035 PHY-Specific Status register, which indicates the
|
||||
* speed and duplex that the PHY is actually using, irrespective of
|
||||
-@@ -990,13 +975,19 @@ static int at803x_read_status(struct phy_device *phydev)
|
||||
+@@ -982,13 +967,19 @@ static int at803x_read_status(struct phy
|
||||
return ss;
|
||||
|
||||
if (ss & AT803X_SS_SPEED_DUPLEX_RESOLVED) {
|
||||
@@ -83,7 +81,7 @@ index aae27fe3e1e1..cecf78e6c643 100644
|
||||
case AT803X_SS_SPEED_10:
|
||||
phydev->speed = SPEED_10;
|
||||
break;
|
||||
-@@ -1006,6 +997,9 @@ static int at803x_read_status(struct phy_device *phydev)
|
||||
+@@ -998,6 +989,9 @@ static int at803x_read_status(struct phy
|
||||
case AT803X_SS_SPEED_1000:
|
||||
phydev->speed = SPEED_1000;
|
||||
break;
|
||||
@@ -93,7 +91,7 @@ index aae27fe3e1e1..cecf78e6c643 100644
|
||||
}
|
||||
if (ss & AT803X_SS_DUPLEX)
|
||||
phydev->duplex = DUPLEX_FULL;
|
||||
-@@ -1030,6 +1024,35 @@ static int at803x_read_status(struct phy_device *phydev)
|
||||
+@@ -1022,6 +1016,35 @@ static int at803x_read_status(struct phy
|
||||
}
|
||||
}
|
||||
|
||||
@@ -129,7 +127,7 @@ index aae27fe3e1e1..cecf78e6c643 100644
|
||||
if (phydev->autoneg == AUTONEG_ENABLE && phydev->autoneg_complete)
|
||||
phy_resolve_aneg_pause(phydev);
|
||||
|
||||
-@@ -1434,6 +1457,33 @@ static int qca83xx_suspend(struct phy_device *phydev)
|
||||
+@@ -1426,6 +1449,33 @@ static int qca83xx_suspend(struct phy_de
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -163,7 +161,7 @@ index aae27fe3e1e1..cecf78e6c643 100644
|
||||
static struct phy_driver at803x_driver[] = {
|
||||
{
|
||||
/* Qualcomm Atheros AR8035 */
|
||||
-@@ -1605,6 +1655,7 @@ static struct phy_driver at803x_driver[] = {
|
||||
+@@ -1595,6 +1645,7 @@ static struct phy_driver at803x_driver[]
|
||||
.get_wol = at803x_get_wol,
|
||||
.suspend = genphy_suspend,
|
||||
.resume = genphy_resume,
|
||||
@@ -171,6 +169,3 @@ index aae27fe3e1e1..cecf78e6c643 100644
|
||||
}, };
|
||||
|
||||
module_phy_driver(at803x_driver);
|
||||
---
|
||||
-2.34.1
|
||||
-
|
||||
diff --git a/target/linux/generic/backport-5.15/771-v5.16-net-phy-add-qca8081-get_features.patch b/target/linux/generic/backport-5.15/771-v5.16-net-phy-add-qca8081-get_features.patch
|
||||
index 7cc6a79e7b..1408a2a403 100644
|
||||
--- a/target/linux/generic/backport-5.15/771-v5.16-net-phy-add-qca8081-get_features.patch
|
||||
+++ b/target/linux/generic/backport-5.15/771-v5.16-net-phy-add-qca8081-get_features.patch
|
||||
@@ -13,11 +13,9 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
drivers/net/phy/at803x.c | 10 ++++++++++
|
||||
1 file changed, 10 insertions(+)
|
||||
|
||||
-diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c
|
||||
-index cecf78e6c643..c4b7ac03cd35 100644
|
||||
--- a/drivers/net/phy/at803x.c
|
||||
+++ b/drivers/net/phy/at803x.c
|
||||
-@@ -744,6 +744,15 @@ static int at803x_get_features(struct phy_device *phydev)
|
||||
+@@ -726,6 +726,15 @@ static int at803x_get_features(struct ph
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
@@ -33,7 +31,7 @@ index cecf78e6c643..c4b7ac03cd35 100644
|
||||
if (phydev->drv->phy_id != ATH8031_PHY_ID)
|
||||
return 0;
|
||||
|
||||
-@@ -1653,6 +1662,7 @@ static struct phy_driver at803x_driver[] = {
|
||||
+@@ -1643,6 +1652,7 @@ static struct phy_driver at803x_driver[]
|
||||
.set_tunable = at803x_set_tunable,
|
||||
.set_wol = at803x_set_wol,
|
||||
.get_wol = at803x_get_wol,
|
||||
@@ -41,6 +39,3 @@ index cecf78e6c643..c4b7ac03cd35 100644
|
||||
.suspend = genphy_suspend,
|
||||
.resume = genphy_resume,
|
||||
.read_status = qca808x_read_status,
|
||||
---
|
||||
-2.34.1
|
||||
-
|
||||
diff --git a/target/linux/generic/backport-5.15/772-v5.16-net-phy-add-qca8081-config_aneg.patch b/target/linux/generic/backport-5.15/772-v5.16-net-phy-add-qca8081-config_aneg.patch
|
||||
index 2b9b2edbf8..ebf524bcf4 100644
|
||||
--- a/target/linux/generic/backport-5.15/772-v5.16-net-phy-add-qca8081-config_aneg.patch
|
||||
+++ b/target/linux/generic/backport-5.15/772-v5.16-net-phy-add-qca8081-config_aneg.patch
|
||||
@@ -13,11 +13,9 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
drivers/net/phy/at803x.c | 26 +++++++++++++++++++++++++-
|
||||
1 file changed, 25 insertions(+), 1 deletion(-)
|
||||
|
||||
-diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c
|
||||
-index c4b7ac03cd35..70c1025e8e5d 100644
|
||||
--- a/drivers/net/phy/at803x.c
|
||||
+++ b/drivers/net/phy/at803x.c
|
||||
-@@ -1109,7 +1109,30 @@ static int at803x_config_aneg(struct phy_device *phydev)
|
||||
+@@ -1101,7 +1101,30 @@ static int at803x_config_aneg(struct phy
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -49,7 +47,7 @@ index c4b7ac03cd35..70c1025e8e5d 100644
|
||||
}
|
||||
|
||||
static int at803x_get_downshift(struct phy_device *phydev, u8 *d)
|
||||
-@@ -1663,6 +1686,7 @@ static struct phy_driver at803x_driver[] = {
|
||||
+@@ -1653,6 +1676,7 @@ static struct phy_driver at803x_driver[]
|
||||
.set_wol = at803x_set_wol,
|
||||
.get_wol = at803x_get_wol,
|
||||
.get_features = at803x_get_features,
|
||||
@@ -57,6 +55,3 @@ index c4b7ac03cd35..70c1025e8e5d 100644
|
||||
.suspend = genphy_suspend,
|
||||
.resume = genphy_resume,
|
||||
.read_status = qca808x_read_status,
|
||||
---
|
||||
-2.34.1
|
||||
-
|
||||
diff --git a/target/linux/generic/backport-5.15/773-v5-16-net-phy-add-constants-for-fast-retrain-related-regis.patch b/target/linux/generic/backport-5.15/773-v5-16-net-phy-add-constants-for-fast-retrain-related-regis.patch
|
||||
index 31c08efc85..bddbdb9f87 100644
|
||||
--- a/target/linux/generic/backport-5.15/773-v5-16-net-phy-add-constants-for-fast-retrain-related-regis.patch
|
||||
+++ b/target/linux/generic/backport-5.15/773-v5-16-net-phy-add-constants-for-fast-retrain-related-regis.patch
|
||||
@@ -15,8 +15,6 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
include/uapi/linux/mdio.h | 9 +++++++++
|
||||
1 file changed, 9 insertions(+)
|
||||
|
||||
-diff --git a/include/uapi/linux/mdio.h b/include/uapi/linux/mdio.h
|
||||
-index bdf77dffa5a4..c54e6eae5366 100644
|
||||
--- a/include/uapi/linux/mdio.h
|
||||
+++ b/include/uapi/linux/mdio.h
|
||||
@@ -53,12 +53,14 @@
|
||||
@@ -62,6 +60,3 @@ index bdf77dffa5a4..c54e6eae5366 100644
|
||||
/* 2.5G/5G Extended abilities register. */
|
||||
#define MDIO_PMA_NG_EXTABLE_2_5GBT 0x0001 /* 2.5GBASET ability */
|
||||
#define MDIO_PMA_NG_EXTABLE_5GBT 0x0002 /* 5GBASET ability */
|
||||
---
|
||||
-2.34.1
|
||||
-
|
||||
diff --git a/target/linux/generic/backport-5.15/774-v5.16-net-phy-add-genphy_c45_fast_retrain.patch b/target/linux/generic/backport-5.15/774-v5.16-net-phy-add-genphy_c45_fast_retrain.patch
|
||||
index 0cf37833f6..8aca8c1925 100644
|
||||
--- a/target/linux/generic/backport-5.15/774-v5.16-net-phy-add-genphy_c45_fast_retrain.patch
|
||||
+++ b/target/linux/generic/backport-5.15/774-v5.16-net-phy-add-genphy_c45_fast_retrain.patch
|
||||
@@ -13,11 +13,9 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
include/linux/phy.h | 1 +
|
||||
2 files changed, 35 insertions(+)
|
||||
|
||||
-diff --git a/drivers/net/phy/phy-c45.c b/drivers/net/phy/phy-c45.c
|
||||
-index c617dbcad6ea..b01180e1f578 100644
|
||||
--- a/drivers/net/phy/phy-c45.c
|
||||
+++ b/drivers/net/phy/phy-c45.c
|
||||
-@@ -611,6 +611,40 @@ int genphy_c45_loopback(struct phy_device *phydev, bool enable)
|
||||
+@@ -611,6 +611,40 @@ int genphy_c45_loopback(struct phy_devic
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(genphy_c45_loopback);
|
||||
|
||||
@@ -58,11 +56,9 @@ index c617dbcad6ea..b01180e1f578 100644
|
||||
struct phy_driver genphy_c45_driver = {
|
||||
.phy_id = 0xffffffff,
|
||||
.phy_id_mask = 0xffffffff,
|
||||
-diff --git a/include/linux/phy.h b/include/linux/phy.h
|
||||
-index 736e1d1a47c4..04e90423fa88 100644
|
||||
--- a/include/linux/phy.h
|
||||
+++ b/include/linux/phy.h
|
||||
-@@ -1584,6 +1584,7 @@ int genphy_c45_config_aneg(struct phy_device *phydev);
|
||||
+@@ -1624,6 +1624,7 @@ int genphy_c45_config_aneg(struct phy_de
|
||||
int genphy_c45_loopback(struct phy_device *phydev, bool enable);
|
||||
int genphy_c45_pma_resume(struct phy_device *phydev);
|
||||
int genphy_c45_pma_suspend(struct phy_device *phydev);
|
||||
@@ -70,6 +66,3 @@ index 736e1d1a47c4..04e90423fa88 100644
|
||||
|
||||
/* Generic C45 PHY driver */
|
||||
extern struct phy_driver genphy_c45_driver;
|
||||
---
|
||||
-2.34.1
|
||||
-
|
||||
diff --git a/target/linux/generic/backport-5.15/775-v5.16-net-phy-add-qca8081-config_init.patch b/target/linux/generic/backport-5.15/775-v5.16-net-phy-add-qca8081-config_init.patch
|
||||
index 9c27de67b3..6d2aae0d97 100644
|
||||
--- a/target/linux/generic/backport-5.15/775-v5.16-net-phy-add-qca8081-config_init.patch
|
||||
+++ b/target/linux/generic/backport-5.15/775-v5.16-net-phy-add-qca8081-config_init.patch
|
||||
@@ -15,8 +15,6 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
drivers/net/phy/at803x.c | 107 +++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 107 insertions(+)
|
||||
|
||||
-diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c
|
||||
-index 70c1025e8e5d..da710523b7c4 100644
|
||||
--- a/drivers/net/phy/at803x.c
|
||||
+++ b/drivers/net/phy/at803x.c
|
||||
@@ -178,6 +178,51 @@
|
||||
@@ -71,7 +69,7 @@ index 70c1025e8e5d..da710523b7c4 100644
|
||||
MODULE_DESCRIPTION("Qualcomm Atheros AR803x and QCA808X PHY driver");
|
||||
MODULE_AUTHOR("Matus Ujhelyi");
|
||||
MODULE_LICENSE("GPL");
|
||||
-@@ -1489,6 +1534,67 @@ static int qca83xx_suspend(struct phy_device *phydev)
|
||||
+@@ -1481,6 +1526,67 @@ static int qca83xx_suspend(struct phy_de
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -139,7 +137,7 @@ index 70c1025e8e5d..da710523b7c4 100644
|
||||
static int qca808x_read_status(struct phy_device *phydev)
|
||||
{
|
||||
int ret;
|
||||
-@@ -1690,6 +1796,7 @@ static struct phy_driver at803x_driver[] = {
|
||||
+@@ -1680,6 +1786,7 @@ static struct phy_driver at803x_driver[]
|
||||
.suspend = genphy_suspend,
|
||||
.resume = genphy_resume,
|
||||
.read_status = qca808x_read_status,
|
||||
@@ -147,6 +145,3 @@ index 70c1025e8e5d..da710523b7c4 100644
|
||||
}, };
|
||||
|
||||
module_phy_driver(at803x_driver);
|
||||
---
|
||||
-2.34.1
|
||||
-
|
||||
diff --git a/target/linux/generic/backport-5.15/776-v5.16-net-phy-add-qca8081-soft_reset-and-enable-master-sla.patch b/target/linux/generic/backport-5.15/776-v5.16-net-phy-add-qca8081-soft_reset-and-enable-master-sla.patch
|
||||
index bf34b4bdfb..6ddbad3a06 100644
|
||||
--- a/target/linux/generic/backport-5.15/776-v5.16-net-phy-add-qca8081-soft_reset-and-enable-master-sla.patch
|
||||
+++ b/target/linux/generic/backport-5.15/776-v5.16-net-phy-add-qca8081-soft_reset-and-enable-master-sla.patch
|
||||
@@ -15,8 +15,6 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
drivers/net/phy/at803x.c | 48 ++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 48 insertions(+)
|
||||
|
||||
-diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c
|
||||
-index da710523b7c4..1418db4f2091 100644
|
||||
--- a/drivers/net/phy/at803x.c
|
||||
+++ b/drivers/net/phy/at803x.c
|
||||
@@ -223,6 +223,12 @@
|
||||
@@ -32,7 +30,7 @@ index da710523b7c4..1418db4f2091 100644
|
||||
MODULE_DESCRIPTION("Qualcomm Atheros AR803x and QCA808X PHY driver");
|
||||
MODULE_AUTHOR("Matus Ujhelyi");
|
||||
MODULE_LICENSE("GPL");
|
||||
-@@ -1569,6 +1575,26 @@ static int qca808x_phy_fast_retrain_config(struct phy_device *phydev)
|
||||
+@@ -1561,6 +1567,26 @@ static int qca808x_phy_fast_retrain_conf
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -59,7 +57,7 @@ index da710523b7c4..1418db4f2091 100644
|
||||
static int qca808x_config_init(struct phy_device *phydev)
|
||||
{
|
||||
int ret;
|
||||
-@@ -1590,6 +1616,16 @@ static int qca808x_config_init(struct phy_device *phydev)
|
||||
+@@ -1582,6 +1608,16 @@ static int qca808x_config_init(struct ph
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
@@ -76,7 +74,7 @@ index da710523b7c4..1418db4f2091 100644
|
||||
/* Configure adc threshold as 100mv for the link 10M */
|
||||
return at803x_debug_reg_mask(phydev, QCA808X_PHY_DEBUG_ADC_THRESHOLD,
|
||||
QCA808X_ADC_THRESHOLD_MASK, QCA808X_ADC_THRESHOLD_100MV);
|
||||
-@@ -1622,6 +1658,17 @@ static int qca808x_read_status(struct phy_device *phydev)
|
||||
+@@ -1614,6 +1650,17 @@ static int qca808x_read_status(struct ph
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -94,7 +92,7 @@ index da710523b7c4..1418db4f2091 100644
|
||||
static struct phy_driver at803x_driver[] = {
|
||||
{
|
||||
/* Qualcomm Atheros AR8035 */
|
||||
-@@ -1797,6 +1844,7 @@ static struct phy_driver at803x_driver[] = {
|
||||
+@@ -1787,6 +1834,7 @@ static struct phy_driver at803x_driver[]
|
||||
.resume = genphy_resume,
|
||||
.read_status = qca808x_read_status,
|
||||
.config_init = qca808x_config_init,
|
||||
@@ -102,6 +100,3 @@ index da710523b7c4..1418db4f2091 100644
|
||||
}, };
|
||||
|
||||
module_phy_driver(at803x_driver);
|
||||
---
|
||||
-2.34.1
|
||||
-
|
||||
diff --git a/target/linux/generic/backport-5.15/777-v5.16-net-phy-adjust-qca8081-master-slave-seed-value-if-li.patch b/target/linux/generic/backport-5.15/777-v5.16-net-phy-adjust-qca8081-master-slave-seed-value-if-li.patch
|
||||
index 1f614e99a4..c0ed0d770a 100644
|
||||
--- a/target/linux/generic/backport-5.15/777-v5.16-net-phy-adjust-qca8081-master-slave-seed-value-if-li.patch
|
||||
+++ b/target/linux/generic/backport-5.15/777-v5.16-net-phy-adjust-qca8081-master-slave-seed-value-if-li.patch
|
||||
@@ -19,11 +19,9 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
drivers/net/phy/at803x.c | 16 ++++++++++++++++
|
||||
1 file changed, 16 insertions(+)
|
||||
|
||||
-diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c
|
||||
-index 1418db4f2091..00733badcda5 100644
|
||||
--- a/drivers/net/phy/at803x.c
|
||||
+++ b/drivers/net/phy/at803x.c
|
||||
-@@ -1655,6 +1655,22 @@ static int qca808x_read_status(struct phy_device *phydev)
|
||||
+@@ -1647,6 +1647,22 @@ static int qca808x_read_status(struct ph
|
||||
else
|
||||
phydev->interface = PHY_INTERFACE_MODE_SMII;
|
||||
|
||||
@@ -46,6 +44,3 @@ index 1418db4f2091..00733badcda5 100644
|
||||
return 0;
|
||||
}
|
||||
|
||||
---
|
||||
-2.34.1
|
||||
-
|
||||
diff --git a/target/linux/generic/backport-5.15/778-v5.16-net-phy-add-qca8081-cdt-feature.patch b/target/linux/generic/backport-5.15/778-v5.16-net-phy-add-qca8081-cdt-feature.patch
|
||||
index d49fb2f566..ecdc902dfd 100644
|
||||
--- a/target/linux/generic/backport-5.15/778-v5.16-net-phy-add-qca8081-cdt-feature.patch
|
||||
+++ b/target/linux/generic/backport-5.15/778-v5.16-net-phy-add-qca8081-cdt-feature.patch
|
||||
@@ -16,8 +16,6 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
drivers/net/phy/at803x.c | 194 ++++++++++++++++++++++++++++++++++++++-
|
||||
1 file changed, 191 insertions(+), 3 deletions(-)
|
||||
|
||||
-diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c
|
||||
-index 00733badcda5..f1cbe1f6ddec 100644
|
||||
--- a/drivers/net/phy/at803x.c
|
||||
+++ b/drivers/net/phy/at803x.c
|
||||
@@ -229,6 +229,32 @@
|
||||
@@ -53,7 +51,7 @@ index 00733badcda5..f1cbe1f6ddec 100644
|
||||
MODULE_DESCRIPTION("Qualcomm Atheros AR803x and QCA808X PHY driver");
|
||||
MODULE_AUTHOR("Matus Ujhelyi");
|
||||
MODULE_LICENSE("GPL");
|
||||
-@@ -1319,8 +1345,14 @@ static int at803x_cdt_start(struct phy_device *phydev, int pair)
|
||||
+@@ -1311,8 +1337,14 @@ static int at803x_cdt_start(struct phy_d
|
||||
{
|
||||
u16 cdt;
|
||||
|
||||
@@ -70,7 +68,7 @@ index 00733badcda5..f1cbe1f6ddec 100644
|
||||
|
||||
return phy_write(phydev, AT803X_CDT, cdt);
|
||||
}
|
||||
-@@ -1328,10 +1360,16 @@ static int at803x_cdt_start(struct phy_device *phydev, int pair)
|
||||
+@@ -1320,10 +1352,16 @@ static int at803x_cdt_start(struct phy_d
|
||||
static int at803x_cdt_wait_for_completion(struct phy_device *phydev)
|
||||
{
|
||||
int val, ret;
|
||||
@@ -88,7 +86,7 @@ index 00733badcda5..f1cbe1f6ddec 100644
|
||||
30000, 100000, true);
|
||||
|
||||
return ret < 0 ? ret : 0;
|
||||
-@@ -1685,6 +1723,153 @@ static int qca808x_soft_reset(struct phy_device *phydev)
|
||||
+@@ -1677,6 +1715,153 @@ static int qca808x_soft_reset(struct phy
|
||||
return qca808x_phy_ms_seed_enable(phydev, true);
|
||||
}
|
||||
|
||||
@@ -242,7 +240,7 @@ index 00733badcda5..f1cbe1f6ddec 100644
|
||||
static struct phy_driver at803x_driver[] = {
|
||||
{
|
||||
/* Qualcomm Atheros AR8035 */
|
||||
-@@ -1848,6 +2033,7 @@ static struct phy_driver at803x_driver[] = {
|
||||
+@@ -1838,6 +2023,7 @@ static struct phy_driver at803x_driver[]
|
||||
/* Qualcomm QCA8081 */
|
||||
PHY_ID_MATCH_EXACT(QCA8081_PHY_ID),
|
||||
.name = "Qualcomm QCA8081",
|
||||
@@ -250,7 +248,7 @@ index 00733badcda5..f1cbe1f6ddec 100644
|
||||
.config_intr = at803x_config_intr,
|
||||
.handle_interrupt = at803x_handle_interrupt,
|
||||
.get_tunable = at803x_get_tunable,
|
||||
-@@ -1861,6 +2047,8 @@ static struct phy_driver at803x_driver[] = {
|
||||
+@@ -1851,6 +2037,8 @@ static struct phy_driver at803x_driver[]
|
||||
.read_status = qca808x_read_status,
|
||||
.config_init = qca808x_config_init,
|
||||
.soft_reset = qca808x_soft_reset,
|
||||
@@ -259,6 +257,3 @@ index 00733badcda5..f1cbe1f6ddec 100644
|
||||
}, };
|
||||
|
||||
module_phy_driver(at803x_driver);
|
||||
---
|
||||
-2.34.1
|
||||
-
|
||||
diff --git a/target/linux/generic/backport-5.15/778-v5.17-net-phy-Fix-qca8081-with-speeds-lower-than-2.5Gb-s.patch b/target/linux/generic/backport-5.15/778-v5.17-net-phy-Fix-qca8081-with-speeds-lower-than-2.5Gb-s.patch
|
||||
index 1d8e7997fd..566be8f958 100644
|
||||
--- a/target/linux/generic/backport-5.15/778-v5.17-net-phy-Fix-qca8081-with-speeds-lower-than-2.5Gb-s.patch
|
||||
+++ b/target/linux/generic/backport-5.15/778-v5.17-net-phy-Fix-qca8081-with-speeds-lower-than-2.5Gb-s.patch
|
||||
@@ -20,11 +20,9 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
drivers/net/phy/at803x.c | 26 +++++++++++++-------------
|
||||
1 file changed, 13 insertions(+), 13 deletions(-)
|
||||
|
||||
-diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c
|
||||
-index 5b6c0d120e09e2..29aa811af430f0 100644
|
||||
--- a/drivers/net/phy/at803x.c
|
||||
+++ b/drivers/net/phy/at803x.c
|
||||
-@@ -1688,19 +1688,19 @@ static int qca808x_read_status(struct phy_device *phydev)
|
||||
+@@ -1680,19 +1680,19 @@ static int qca808x_read_status(struct ph
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
diff --git a/target/linux/generic/backport-5.15/778-v5.18-01-net-phy-at803x-add-fiber-support.patch b/target/linux/generic/backport-5.15/778-v5.18-01-net-phy-at803x-add-fiber-support.patch
|
||||
index 989dc06ca6..46bbfa0cae 100644
|
||||
--- a/target/linux/generic/backport-5.15/778-v5.18-01-net-phy-at803x-add-fiber-support.patch
|
||||
+++ b/target/linux/generic/backport-5.15/778-v5.18-01-net-phy-at803x-add-fiber-support.patch
|
||||
@@ -20,8 +20,6 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
drivers/net/phy/at803x.c | 76 +++++++++++++++++++++++++++++++++++-----
|
||||
1 file changed, 67 insertions(+), 9 deletions(-)
|
||||
|
||||
-diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c
|
||||
-index 052b2eb9f101f..3f3d4c164df40 100644
|
||||
--- a/drivers/net/phy/at803x.c
|
||||
+++ b/drivers/net/phy/at803x.c
|
||||
@@ -51,6 +51,8 @@
|
||||
@@ -61,7 +59,7 @@ index 052b2eb9f101f..3f3d4c164df40 100644
|
||||
struct regulator_dev *vddio_rdev;
|
||||
struct regulator_dev *vddh_rdev;
|
||||
struct regulator *vddio;
|
||||
-@@ -784,7 +798,33 @@ static int at803x_probe(struct phy_device *phydev)
|
||||
+@@ -784,7 +798,33 @@ static int at803x_probe(struct phy_devic
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -95,7 +93,7 @@ index 052b2eb9f101f..3f3d4c164df40 100644
|
||||
}
|
||||
|
||||
static void at803x_remove(struct phy_device *phydev)
|
||||
-@@ -797,6 +837,7 @@ static void at803x_remove(struct phy_device *phydev)
|
||||
+@@ -797,6 +837,7 @@ static void at803x_remove(struct phy_dev
|
||||
|
||||
static int at803x_get_features(struct phy_device *phydev)
|
||||
{
|
||||
@@ -103,7 +101,7 @@ index 052b2eb9f101f..3f3d4c164df40 100644
|
||||
int err;
|
||||
|
||||
err = genphy_read_abilities(phydev);
|
||||
-@@ -823,12 +864,13 @@ static int at803x_get_features(struct phy_device *phydev)
|
||||
+@@ -823,12 +864,13 @@ static int at803x_get_features(struct ph
|
||||
* As a result of that, ESTATUS_1000_XFULL is set
|
||||
* to 1 even when operating in copper TP mode.
|
||||
*
|
||||
@@ -122,7 +120,7 @@ index 052b2eb9f101f..3f3d4c164df40 100644
|
||||
return 0;
|
||||
}
|
||||
|
||||
-@@ -892,15 +934,18 @@ static int at8031_pll_config(struct phy_device *phydev)
|
||||
+@@ -892,15 +934,18 @@ static int at8031_pll_config(struct phy_
|
||||
|
||||
static int at803x_config_init(struct phy_device *phydev)
|
||||
{
|
||||
@@ -144,7 +142,7 @@ index 052b2eb9f101f..3f3d4c164df40 100644
|
||||
phy_unlock_mdio_bus(phydev);
|
||||
if (ret)
|
||||
return ret;
|
||||
-@@ -959,6 +1004,7 @@ static int at803x_ack_interrupt(struct phy_device *phydev)
|
||||
+@@ -959,6 +1004,7 @@ static int at803x_ack_interrupt(struct p
|
||||
|
||||
static int at803x_config_intr(struct phy_device *phydev)
|
||||
{
|
||||
@@ -152,7 +150,7 @@ index 052b2eb9f101f..3f3d4c164df40 100644
|
||||
int err;
|
||||
int value;
|
||||
|
||||
-@@ -975,6 +1021,10 @@ static int at803x_config_intr(struct phy_device *phydev)
|
||||
+@@ -975,6 +1021,10 @@ static int at803x_config_intr(struct phy
|
||||
value |= AT803X_INTR_ENABLE_DUPLEX_CHANGED;
|
||||
value |= AT803X_INTR_ENABLE_LINK_FAIL;
|
||||
value |= AT803X_INTR_ENABLE_LINK_SUCCESS;
|
||||
@@ -163,7 +161,7 @@ index 052b2eb9f101f..3f3d4c164df40 100644
|
||||
|
||||
err = phy_write(phydev, AT803X_INTR_ENABLE, value);
|
||||
} else {
|
||||
-@@ -1107,8 +1157,12 @@ static int at803x_read_specific_status(struct phy_device *phydev)
|
||||
+@@ -1107,8 +1157,12 @@ static int at803x_read_specific_status(s
|
||||
|
||||
static int at803x_read_status(struct phy_device *phydev)
|
||||
{
|
||||
@@ -176,7 +174,7 @@ index 052b2eb9f101f..3f3d4c164df40 100644
|
||||
/* Update the link, but return if there was an error */
|
||||
err = genphy_update_link(phydev);
|
||||
if (err)
|
||||
-@@ -1162,6 +1216,7 @@ static int at803x_config_mdix(struct phy_device *phydev, u8 ctrl)
|
||||
+@@ -1162,6 +1216,7 @@ static int at803x_config_mdix(struct phy
|
||||
|
||||
static int at803x_config_aneg(struct phy_device *phydev)
|
||||
{
|
||||
@@ -184,7 +182,7 @@ index 052b2eb9f101f..3f3d4c164df40 100644
|
||||
int ret;
|
||||
|
||||
ret = at803x_config_mdix(phydev, phydev->mdix_ctrl);
|
||||
-@@ -1178,6 +1233,9 @@ static int at803x_config_aneg(struct phy_device *phydev)
|
||||
+@@ -1178,6 +1233,9 @@ static int at803x_config_aneg(struct phy
|
||||
return ret;
|
||||
}
|
||||
|
||||
diff --git a/target/linux/generic/backport-5.15/778-v5.18-02-net-phy-at803x-support-downstream-SFP-cage.patch b/target/linux/generic/backport-5.15/778-v5.18-02-net-phy-at803x-support-downstream-SFP-cage.patch
|
||||
index 8393cb32e8..3205cd5b5c 100644
|
||||
--- a/target/linux/generic/backport-5.15/778-v5.18-02-net-phy-at803x-support-downstream-SFP-cage.patch
|
||||
+++ b/target/linux/generic/backport-5.15/778-v5.18-02-net-phy-at803x-support-downstream-SFP-cage.patch
|
||||
@@ -25,7 +25,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
#include <dt-bindings/net/qca-ar803x.h>
|
||||
|
||||
#define AT803X_SPECIFIC_FUNCTION_CONTROL 0x10
|
||||
-@@ -555,6 +557,55 @@ static int at8031_register_regulators(st
|
||||
+@@ -664,6 +666,55 @@ static int at8031_register_regulators(st
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -81,7 +81,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
static int at803x_parse_dt(struct phy_device *phydev)
|
||||
{
|
||||
struct device_node *node = phydev->mdio.dev.of_node;
|
||||
-@@ -662,6 +713,11 @@ static int at803x_parse_dt(struct phy_de
|
||||
+@@ -771,6 +822,11 @@ static int at803x_parse_dt(struct phy_de
|
||||
phydev_err(phydev, "failed to get VDDIO regulator\n");
|
||||
return PTR_ERR(priv->vddio);
|
||||
}
|
||||
diff --git a/target/linux/generic/backport-5.15/778-v5.18-03-net-phy-at803x-fix-NULL-pointer-dereference-on-AR9331-PHY.patch b/target/linux/generic/backport-5.15/778-v5.18-03-net-phy-at803x-fix-NULL-pointer-dereference-on-AR9331-PHY.patch
|
||||
index 0ac5fda4a0..5829b05d2c 100644
|
||||
--- a/target/linux/generic/backport-5.15/778-v5.18-03-net-phy-at803x-fix-NULL-pointer-dereference-on-AR9331-PHY.patch
|
||||
+++ b/target/linux/generic/backport-5.15/778-v5.18-03-net-phy-at803x-fix-NULL-pointer-dereference-on-AR9331-PHY.patch
|
||||
@@ -46,11 +46,9 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
|
||||
drivers/net/phy/at803x.c | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
-diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c
|
||||
-index 6a467e7817a6a..59fe356942b51 100644
|
||||
--- a/drivers/net/phy/at803x.c
|
||||
+++ b/drivers/net/phy/at803x.c
|
||||
-@@ -2072,6 +2072,8 @@ static struct phy_driver at803x_driver[] = {
|
||||
+@@ -2059,6 +2059,8 @@ static struct phy_driver at803x_driver[]
|
||||
/* ATHEROS AR9331 */
|
||||
PHY_ID_MATCH_EXACT(ATH9331_PHY_ID),
|
||||
.name = "Qualcomm Atheros AR9331 built-in PHY",
|
||||
@@ -59,7 +57,7 @@ index 6a467e7817a6a..59fe356942b51 100644
|
||||
.suspend = at803x_suspend,
|
||||
.resume = at803x_resume,
|
||||
.flags = PHY_POLL_CABLE_TEST,
|
||||
-@@ -2087,6 +2089,8 @@ static struct phy_driver at803x_driver[] = {
|
||||
+@@ -2074,6 +2076,8 @@ static struct phy_driver at803x_driver[]
|
||||
/* Qualcomm Atheros QCA9561 */
|
||||
PHY_ID_MATCH_EXACT(QCA9561_PHY_ID),
|
||||
.name = "Qualcomm Atheros QCA9561 built-in PHY",
|
||||
@@ -68,7 +66,7 @@ index 6a467e7817a6a..59fe356942b51 100644
|
||||
.suspend = at803x_suspend,
|
||||
.resume = at803x_resume,
|
||||
.flags = PHY_POLL_CABLE_TEST,
|
||||
-@@ -2151,6 +2155,8 @@ static struct phy_driver at803x_driver[] = {
|
||||
+@@ -2138,6 +2142,8 @@ static struct phy_driver at803x_driver[]
|
||||
PHY_ID_MATCH_EXACT(QCA8081_PHY_ID),
|
||||
.name = "Qualcomm QCA8081",
|
||||
.flags = PHY_POLL_CABLE_TEST,
|
||||
diff --git a/target/linux/generic/backport-5.15/778-v5.18-04-net-phy-at803x-fix-error-return-code-in-at803x_probe.patch b/target/linux/generic/backport-5.15/778-v5.18-04-net-phy-at803x-fix-error-return-code-in-at803x_probe.patch
|
||||
index cdae5b4ca4..f3aaff34ae 100644
|
||||
--- a/target/linux/generic/backport-5.15/778-v5.18-04-net-phy-at803x-fix-error-return-code-in-at803x_probe.patch
|
||||
+++ b/target/linux/generic/backport-5.15/778-v5.18-04-net-phy-at803x-fix-error-return-code-in-at803x_probe.patch
|
||||
@@ -17,7 +17,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
|
||||
--- a/drivers/net/phy/at803x.c
|
||||
+++ b/drivers/net/phy/at803x.c
|
||||
-@@ -749,8 +749,10 @@ static int at803x_probe(struct phy_devic
|
||||
+@@ -858,8 +858,10 @@ static int at803x_probe(struct phy_devic
|
||||
int ccr = phy_read(phydev, AT803X_REG_CHIP_CONFIG);
|
||||
int mode_cfg;
|
||||
|
||||
diff --git a/target/linux/mvebu/patches-5.15/706-net-dsa-mv88e6xxx-add-Amethyst-specific-SMI-GPIO-fun.patch b/target/linux/mvebu/patches-5.15/706-net-dsa-mv88e6xxx-add-Amethyst-specific-SMI-GPIO-fun.patch
|
||||
index 248b8b9d6c..e5c605c40f 100644
|
||||
--- a/target/linux/mvebu/patches-5.15/706-net-dsa-mv88e6xxx-add-Amethyst-specific-SMI-GPIO-fun.patch
|
||||
+++ b/target/linux/mvebu/patches-5.15/706-net-dsa-mv88e6xxx-add-Amethyst-specific-SMI-GPIO-fun.patch
|
||||
@@ -22,11 +22,9 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
||||
drivers/net/dsa/mv88e6xxx/global2_scratch.c | 31 +++++++++++++++++++++
|
||||
3 files changed, 37 insertions(+), 1 deletion(-)
|
||||
|
||||
-diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
-index 43d126628610..b3803101d612 100644
|
||||
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
-@@ -3409,7 +3409,10 @@ static int mv88e6xxx_mdio_register(struct mv88e6xxx_chip *chip,
|
||||
+@@ -3424,7 +3424,10 @@ static int mv88e6xxx_mdio_register(struc
|
||||
|
||||
if (external) {
|
||||
mv88e6xxx_reg_lock(chip);
|
||||
@@ -38,11 +36,9 @@ index 43d126628610..b3803101d612 100644
|
||||
mv88e6xxx_reg_unlock(chip);
|
||||
|
||||
if (err)
|
||||
-diff --git a/drivers/net/dsa/mv88e6xxx/global2.h b/drivers/net/dsa/mv88e6xxx/global2.h
|
||||
-index f3e27573a386..e0649f21f28e 100644
|
||||
--- a/drivers/net/dsa/mv88e6xxx/global2.h
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/global2.h
|
||||
-@@ -370,6 +370,8 @@ extern const struct mv88e6xxx_gpio_ops mv88e6352_gpio_ops;
|
||||
+@@ -371,6 +371,8 @@ extern const struct mv88e6xxx_gpio_ops m
|
||||
|
||||
int mv88e6xxx_g2_scratch_gpio_set_smi(struct mv88e6xxx_chip *chip,
|
||||
bool external);
|
||||
@@ -51,11 +47,9 @@ index f3e27573a386..e0649f21f28e 100644
|
||||
int mv88e6xxx_g2_atu_stats_set(struct mv88e6xxx_chip *chip, u16 kind, u16 bin);
|
||||
int mv88e6xxx_g2_atu_stats_get(struct mv88e6xxx_chip *chip, u16 *stats);
|
||||
|
||||
-diff --git a/drivers/net/dsa/mv88e6xxx/global2_scratch.c b/drivers/net/dsa/mv88e6xxx/global2_scratch.c
|
||||
-index eda710062933..dc3f4645fa52 100644
|
||||
--- a/drivers/net/dsa/mv88e6xxx/global2_scratch.c
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/global2_scratch.c
|
||||
-@@ -289,3 +289,34 @@ int mv88e6xxx_g2_scratch_gpio_set_smi(struct mv88e6xxx_chip *chip,
|
||||
+@@ -289,3 +289,34 @@ int mv88e6xxx_g2_scratch_gpio_set_smi(st
|
||||
|
||||
return mv88e6xxx_g2_scratch_write(chip, misc_cfg, val);
|
||||
}
|
||||
@@ -90,6 +84,3 @@ index eda710062933..dc3f4645fa52 100644
|
||||
+
|
||||
+ return mv88e6xxx_g2_scratch_write(chip, misc_cfg, val);
|
||||
+}
|
||||
---
|
||||
-2.34.1
|
||||
-
|
||||
--
|
||||
2.42.1
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
From 4540ecce14d98e8c06a9bff6307bfaaf4074f99e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Fabian=20Bl=C3=A4se?= <fabian@blaese.de>
|
||||
Date: Sat, 18 Nov 2023 23:30:43 +0100
|
||||
Subject: [PATCH] mvpp2: enable dsa parser entry
|
||||
|
||||
---
|
||||
.../999-mvpp2-enable-dsa-parser-entry.patch | 22 +++++++++++++++++++
|
||||
1 file changed, 22 insertions(+)
|
||||
create mode 100644 target/linux/mvebu/patches-5.15/999-mvpp2-enable-dsa-parser-entry.patch
|
||||
|
||||
diff --git a/target/linux/mvebu/patches-5.15/999-mvpp2-enable-dsa-parser-entry.patch b/target/linux/mvebu/patches-5.15/999-mvpp2-enable-dsa-parser-entry.patch
|
||||
new file mode 100644
|
||||
index 0000000000..fe5c2657d9
|
||||
--- /dev/null
|
||||
+++ b/target/linux/mvebu/patches-5.15/999-mvpp2-enable-dsa-parser-entry.patch
|
||||
@@ -0,0 +1,22 @@
|
||||
+--- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
|
||||
++++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
|
||||
+@@ -4757,7 +4757,7 @@ static int mvpp2_open(struct net_device
|
||||
+ netdev_err(dev, "mvpp2_prs_mac_da_accept own addr failed\n");
|
||||
+ return err;
|
||||
+ }
|
||||
+- err = mvpp2_prs_tag_mode_set(port->priv, port->id, MVPP2_TAG_TYPE_MH);
|
||||
++ err = mvpp2_prs_tag_mode_set(port->priv, port->id, MVPP2_TAG_TYPE_DSA);
|
||||
+ if (err) {
|
||||
+ netdev_err(dev, "mvpp2_prs_tag_mode_set failed\n");
|
||||
+ return err;
|
||||
+--- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.c
|
||||
++++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.c
|
||||
+@@ -1260,7 +1260,7 @@ static void mvpp2_prs_dsa_init(struct mv
|
||||
+
|
||||
+ /* Shift 0 bytes */
|
||||
+ mvpp2_prs_sram_shift_set(&pe, 0, MVPP2_PRS_SRAM_OP_SEL_SHIFT_ADD);
|
||||
+- mvpp2_prs_shadow_set(priv, pe.index, MVPP2_PRS_LU_MAC);
|
||||
++ mvpp2_prs_shadow_set(priv, pe.index, MVPP2_PRS_LU_DSA);
|
||||
+
|
||||
+ /* Clear all sram ai bits for next iteration */
|
||||
+ mvpp2_prs_sram_ai_update(&pe, 0, MVPP2_PRS_SRAM_AI_MASK);
|
||||
--
|
||||
2.42.1
|
||||
|
30
build_patches/openwrt/0299-mvpp2-vlan-after-dsa.patch
Normal file
30
build_patches/openwrt/0299-mvpp2-vlan-after-dsa.patch
Normal file
|
@ -0,0 +1,30 @@
|
|||
From fddf68b6c559df4e7b8561ea57d6e27bc4b0a8db Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Fabian=20Bl=C3=A4se?= <fabian@blaese.de>
|
||||
Date: Mon, 20 Nov 2023 21:28:16 +0100
|
||||
Subject: [PATCH] mvpp2: vlan after dsa
|
||||
|
||||
---
|
||||
.../linux/mvebu/patches-5.15/999-vlan-after-dsa.patch | 11 +++++++++++
|
||||
1 file changed, 11 insertions(+)
|
||||
create mode 100644 target/linux/mvebu/patches-5.15/999-vlan-after-dsa.patch
|
||||
|
||||
diff --git a/target/linux/mvebu/patches-5.15/999-vlan-after-dsa.patch b/target/linux/mvebu/patches-5.15/999-vlan-after-dsa.patch
|
||||
new file mode 100644
|
||||
index 0000000000..d6f241ca08
|
||||
--- /dev/null
|
||||
+++ b/target/linux/mvebu/patches-5.15/999-vlan-after-dsa.patch
|
||||
@@ -0,0 +1,11 @@
|
||||
+--- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.c
|
||||
++++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.c
|
||||
+@@ -576,7 +576,7 @@ static void mvpp2_prs_dsa_tag_set(struct
|
||||
+ /* Set result info bits to 'no vlans' */
|
||||
+ mvpp2_prs_sram_ri_update(&pe, MVPP2_PRS_RI_VLAN_NONE,
|
||||
+ MVPP2_PRS_RI_VLAN_MASK);
|
||||
+- mvpp2_prs_sram_next_lu_set(&pe, MVPP2_PRS_LU_L2);
|
||||
++ mvpp2_prs_sram_next_lu_set(&pe, MVPP2_PRS_LU_VLAN);
|
||||
+ }
|
||||
+
|
||||
+ /* Mask all ports */
|
||||
--
|
||||
2.42.1
|
||||
|
59
buildscript
59
buildscript
|
@ -7,14 +7,14 @@ set -o pipefail
|
|||
builddir=./build
|
||||
|
||||
# OpenWrt: package hashes correspond to core repo version
|
||||
OPENWRTREV="v22.03.3"
|
||||
PACKAGEREV="2048c5bbf6c482e45b080eef4c1c531936f7f41b"
|
||||
ROUTINGREV="1a87333f268bcf0a11e3a665a357cb0d4ec2d680"
|
||||
OPENWRTREV="v23.05.3"
|
||||
PACKAGEREV="063b2393cbc3e5aab9d2b40b2911cab1c3967c59"
|
||||
ROUTINGREV="648753932d5a7deff7f2bdb33c000018a709ad84"
|
||||
|
||||
# Gluon packages: master from 2020-02-04
|
||||
GLUONREV="12e41d0ff07ec54bbd67a31ab50d12ca04f2238c"
|
||||
|
||||
OPENWRT_PKGS="gpioctl-sysfs libugpio fastd haserl micrond mtr bmon"
|
||||
OPENWRT_PKGS="gpioctl-sysfs libugpio fastd haserl micrond mtr bmon htop sysstat procps-ng procps-ng-vmstat"
|
||||
ROUTING_PKGS="kmod-batman-adv batctl alfred babeld bird2"
|
||||
GLUON_PKGS="simple-tc uradvd"
|
||||
|
||||
|
@ -54,29 +54,28 @@ checkout_git(){
|
|||
|
||||
local MYGIT="git -C $DIRECTORY"
|
||||
echo "checking out $REPO_URL to $DIRECTORY in version $COMMITID"
|
||||
if [ -d "$DIRECTORY" ]; then
|
||||
if $MYGIT remote -v | grep -q "$REPO_URL" ; then
|
||||
echo "Right remote detected"
|
||||
# Remove untracked files
|
||||
$MYGIT clean -f -d
|
||||
# Select desired commit and remove local changes (-f)
|
||||
if ! $MYGIT checkout -f "$COMMITID" ; then
|
||||
echo "commitid not found trying to fetch new commits"
|
||||
$MYGIT fetch --all && $MYGIT checkout "$COMMITID"
|
||||
fi
|
||||
else
|
||||
echo "wrong remote or not an git repo at all -> deleting whole directory"
|
||||
/bin/rm -rf "$DIRECTORY"
|
||||
#needs to be without -C!!!
|
||||
git clone "$REPO_URL" "$DIRECTORY"
|
||||
$MYGIT checkout "$COMMITID"
|
||||
fi
|
||||
else
|
||||
echo "We need to do a fresh checkout"
|
||||
#needs to be without -C!!!
|
||||
git clone "$REPO_URL" "$DIRECTORY"
|
||||
$MYGIT checkout "$COMMITID"
|
||||
if ! $MYGIT remote -v | grep -q "$REPO_URL"; then
|
||||
echo "we need to do a fresh clone"
|
||||
|
||||
/bin/rm -rf -- "$DIRECTORY"
|
||||
mkdir "$DIRECTORY"
|
||||
|
||||
$MYGIT clone --progress --no-checkout --filter=blob:none "$REPO_URL" .
|
||||
$MYGIT config gc.auto 0
|
||||
$MYGIT config advice.detachedHead 0
|
||||
fi
|
||||
|
||||
echo
|
||||
|
||||
# Remove untracked files
|
||||
$MYGIT clean -f -d
|
||||
# Select desired commit and remove local changes (-f)
|
||||
if ! $MYGIT checkout --progress --force "$COMMITID" ; then
|
||||
echo "commitid not found trying to fetch new commits"
|
||||
$MYGIT fetch --all && $MYGIT checkout "$COMMITID"
|
||||
fi
|
||||
|
||||
echo
|
||||
}
|
||||
|
||||
get_source() {
|
||||
|
@ -382,8 +381,12 @@ buildall() {
|
|||
}
|
||||
|
||||
if [ "$(/usr/bin/id -u)" -eq 0 ]; then
|
||||
echo "don't run buildscript as root"
|
||||
exit 1
|
||||
TPUT=$(command -v tput || echo ":")
|
||||
textWarn="$($TPUT bold setaf 1)" # bold + red
|
||||
textReset="$($TPUT sgr0)" # be a good citizen
|
||||
|
||||
printf "${textWarn}WARNING: buildscript is running as root${textReset}\n"
|
||||
printf "${textWarn}WARNING: build may fail at a later stage${textReset}\n"
|
||||
fi
|
||||
|
||||
if [ "$1" != "selectbsp" -a "$1" != "selectvariant" ]; then
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
From: =?UTF-8?q?Fabian=20Bl=C3=A4se?= <fabian@blaese.de>
|
||||
Date: Sat, 6 Jan 2024 13:24:58 +0100
|
||||
Subject: [PATCH] bird: disable unnecessary protocols
|
||||
|
||||
diff --git a/bird2/Makefile b/bird2/Makefile
|
||||
index 9fd0031..dc827b0 100644
|
||||
--- a/bird2/Makefile
|
||||
+++ b/bird2/Makefile
|
||||
@@ -97,7 +97,7 @@ protocols, telling BIRD to show various information, telling it to show
|
||||
a routing table filtered by a filter, or asking BIRD to reconfigure.
|
||||
endef
|
||||
|
||||
-CONFIGURE_ARGS += --disable-libssh
|
||||
+CONFIGURE_ARGS += --disable-libssh --with-protocols="babel pipe radv static"
|
||||
|
||||
define Package/bird2/conffiles
|
||||
/etc/bird.conf
|
||||
|
|
@ -82,12 +82,12 @@ babel_reload() {
|
|||
# switch implementation temporarily
|
||||
case $implementation in
|
||||
bird2)
|
||||
/etc/init.d/babeld stop 2>/dev/null
|
||||
/etc/init.d/fff-bird start
|
||||
[ -f /etc/init.d/babeld ] && /etc/init.d/babeld stop 2>/dev/null
|
||||
[ -f /etc/init.d/fff-bird ] && /etc/init.d/fff-bird start
|
||||
;;
|
||||
babeld)
|
||||
/etc/init.d/fff-bird stop 2>/dev/null
|
||||
/etc/init.d/babeld start
|
||||
[ -f /etc/init.d/fff-bird ] && /etc/init.d/fff-bird stop 2>/dev/null
|
||||
[ -f /etc/init.d/babeld ] && /etc/init.d/babeld start
|
||||
;;
|
||||
esac
|
||||
|
||||
|
@ -101,12 +101,12 @@ babel_apply() {
|
|||
# switch implementation persistently
|
||||
case $implementation in
|
||||
bird2)
|
||||
/etc/init.d/babeld disable
|
||||
/etc/init.d/fff-bird enable
|
||||
[ -f /etc/init.d/babeld ] && /etc/init.d/babeld disable
|
||||
[ -f /etc/init.d/fff-bird ] && /etc/init.d/fff-bird enable
|
||||
;;
|
||||
babeld)
|
||||
/etc/init.d/fff-bird disable
|
||||
/etc/init.d/babeld enable
|
||||
[ -f /etc/init.d/fff-bird ] && /etc/init.d/fff-bird disable
|
||||
[ -f /etc/init.d/babeld ] && /etc/init.d/babeld enable
|
||||
;;
|
||||
esac
|
||||
|
||||
|
|
|
@ -12,8 +12,10 @@ define Package/fff-base
|
|||
URL:=https://www.freifunk-franken.de
|
||||
DEFAULT:=y
|
||||
DEPENDS:= \
|
||||
+iptables-legacy \
|
||||
+ip6tables-legacy \
|
||||
+@BUSYBOX_CONFIG_FEATURE_REVERSE_SEARCH \
|
||||
+@BUSYBOX_CONFIG_FEATURE_TOP_SMP_CPU \
|
||||
+@BUSYBOX_CONFIG_WATCH \
|
||||
+@BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY \
|
||||
+micrond \
|
||||
+odhcp6c \
|
||||
+fff-config \
|
||||
|
|
25
src/packages/fff/fff-extra/Makefile
Normal file
25
src/packages/fff/fff-extra/Makefile
Normal file
|
@ -0,0 +1,25 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-extra
|
||||
PKG_RELEASE:=$(COMMITCOUNT)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/fff-extra
|
||||
SECTION:=base
|
||||
CATEGORY:=Freifunk
|
||||
TITLE:=Freifunk-Franken gateway configuration
|
||||
URL:=https://www.freifunk-franken.de
|
||||
DEPENDS:=+bmon \
|
||||
+ethtool \
|
||||
+htop \
|
||||
+procps-ng \
|
||||
+procps-ng-vmstat \
|
||||
+sysstat
|
||||
endef
|
||||
|
||||
define Package/fff-extra/description
|
||||
This package selects useful packages for devices with enough disk space available
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,fff-extra))
|
|
@ -10,11 +10,8 @@ define Package/$(PKG_NAME)
|
|||
CATEGORY:=Freifunk
|
||||
TITLE:=Freifunk-Franken firewall
|
||||
URL:=https://www.freifunk-franken.de
|
||||
DEPENDS:=+arptables-legacy \
|
||||
+ebtables-legacy +ebtables-legacy-utils \
|
||||
+kmod-ebtables-ipv4 +kmod-ebtables-ipv6 \
|
||||
+iptables-mod-filter +iptables-mod-ipopt +iptables-mod-conntrack-extra \
|
||||
+kmod-nf-conntrack6
|
||||
DEPENDS:=+kmod-nft-bridge \
|
||||
+nftables
|
||||
endef
|
||||
|
||||
define Package/$(PKG_NAME)/description
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||
######## CLEAN UP ############
|
||||
ebtables -F
|
||||
ebtables -X
|
||||
|
||||
iptables-save | awk '/^[*]/ { print $1 } /^:[A-Z]+ [^-]/ { print $1 " ACCEPT" ; } /COMMIT/ { print $0; }' | iptables-restore
|
||||
ip6tables-save | awk '/^[*]/ { print $1 } /^:[A-Z]+ [^-]/ { print $1 " ACCEPT" ; } /COMMIT/ { print $0; }' | ip6tables-restore
|
||||
nft -f - <<__EOF
|
||||
flush ruleset
|
||||
__EOF
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
nft -f /etc/nftables-fff.conf
|
|
@ -2,4 +2,7 @@
|
|||
|
||||
ln -s "$hoodfilewww" /www/hood/keyxchangev2data
|
||||
|
||||
uci set fff.keyserver='hood'
|
||||
uci commit fff
|
||||
|
||||
exit 0
|
||||
|
|
|
@ -1,5 +1,15 @@
|
|||
# Erlaube nur fe80::1 von BATMAN -> CLIENT
|
||||
ebtables -A FORWARD -p IPv6 --ip6-source fe80::1 -j IN_ONLY
|
||||
nft -f - <<__EOF
|
||||
table bridge filter {
|
||||
chain INPUT {
|
||||
# Erlaube nur fe80::1 von BATMAN -> CLIENT
|
||||
# -p IPv6 --ip6-src fe80::1 -j IN_ONLY
|
||||
ether type ip6 ip6 saddr fe80::1 counter jump IN_ONLY
|
||||
}
|
||||
|
||||
# Erlaube nur fe80::1 von KNOTEN -> CLIENT
|
||||
ebtables -A INPUT -p IPv6 --ip6-source fe80::1 -j IN_ONLY
|
||||
chain FORWARD {
|
||||
# Erlaube nur fe80::1 von KNOTEN -> CLIENT
|
||||
# -p IPv6 --ip6-src fe80::1 -j IN_ONLY
|
||||
ether type ip6 ip6 saddr fe80::1 counter jump IN_ONLY
|
||||
}
|
||||
}
|
||||
__EOF
|
||||
|
|
|
@ -99,7 +99,7 @@ getKeyserverHoodfile() {
|
|||
|
||||
echo "Getting hoodfile from Keyserver"
|
||||
|
||||
if /bin/busybox wget -T15 -O "$file" "http://keyserver.freifunk-franken.de/v2/?lat=$lat&long=$long"; then
|
||||
if /bin/busybox wget -T15 -O "$file" "$(uci -q get fff.keyserver.url || echo "http://keyserver.freifunk-franken.de/v2")/?lat=$lat&long=$long"; then
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
|
|
|
@ -7,7 +7,7 @@ configure() {
|
|||
fi
|
||||
|
||||
# check version of configuration
|
||||
local expected_version=2
|
||||
local expected_version=3
|
||||
local config_version=$(uci -q get gateway.meta.config_version)
|
||||
|
||||
if ! [ -n "$config_version" ]; then
|
||||
|
|
|
@ -57,6 +57,12 @@ configure() {
|
|||
else
|
||||
echo "WARNING: No Interface for client specified"
|
||||
fi
|
||||
|
||||
# stateful firewall
|
||||
uci -q del network.client.fff_stateful_firewall
|
||||
if [ "$(uci -q get gateway.@client[0].stateful_firewall)" = 1 ]; then
|
||||
uci set network.client.fff_stateful_firewall=1
|
||||
fi
|
||||
}
|
||||
|
||||
apply() {
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
BOARD="$(uci get board.model.name)"
|
||||
|
||||
# only migrate appropriate config versions
|
||||
[ "$(uci -q get gateway.meta.config_version)" = "1" ] || exit 1
|
||||
[ "$(uci -q get gateway.meta.config_version)" = "1" ] || exit 0
|
||||
|
||||
translate_ports() {
|
||||
local vlan="$1"
|
||||
|
@ -77,3 +77,5 @@ esac
|
|||
|
||||
uci set gateway.meta.config_version='2'
|
||||
uci commit gateway
|
||||
|
||||
exit 0
|
|
@ -0,0 +1,78 @@
|
|||
## this script migrates configs from version 2 to 3.
|
||||
##
|
||||
## with version 2 the switchport names of some devices changed
|
||||
## due to the switch to DSA
|
||||
|
||||
|
||||
BOARD="$(uci get board.model.name)"
|
||||
|
||||
# only migrate appropriate config versions
|
||||
[ "$(uci -q get gateway.meta.config_version)" = "2" ] || exit 0
|
||||
|
||||
translate_ports() {
|
||||
local vlan="$1"
|
||||
local oldports="$(uci -q get gateway.$vlan.ports)"
|
||||
local newports
|
||||
|
||||
local name
|
||||
local tag
|
||||
|
||||
for port in $oldports; do
|
||||
# generate new tagged/untagged syntax
|
||||
if [ -z "${port##*t}" ]; then
|
||||
# port is tagged
|
||||
tag=":t"
|
||||
else
|
||||
# port is untagged
|
||||
tag=":*"
|
||||
fi
|
||||
|
||||
# generate new name
|
||||
case "$BOARD" in
|
||||
avm,fritzbox-4040)
|
||||
case "${port%%t}" in
|
||||
1) name="lan1" ;;
|
||||
2) name="lan2" ;;
|
||||
3) name="lan3" ;;
|
||||
4) name="lan4" ;;
|
||||
5) name="wan" ;;
|
||||
*) name="" ;;
|
||||
esac
|
||||
;;
|
||||
tplink,tl-wdr4900-v1)
|
||||
case "${port%%t}" in
|
||||
1) name="wan" ;;
|
||||
2) name="lan1" ;;
|
||||
3) name="lan2" ;;
|
||||
4) name="lan3" ;;
|
||||
5) name="lan4" ;;
|
||||
*) name="" ;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
# catch empty name (invalid entry or old cpuport)
|
||||
[ -z "$name" ] && continue
|
||||
|
||||
# assemble new port name
|
||||
newports="$newports ${name}${tag}"
|
||||
done
|
||||
|
||||
# cleanup unnecessary spaces
|
||||
newports=$(echo "$newports" | xargs)
|
||||
|
||||
uci set gateway.$vlan.ports="$newports"
|
||||
}
|
||||
|
||||
case "$BOARD" in
|
||||
avm,fritzbox-4040|\
|
||||
tplink,tl-wdr4900-v1)
|
||||
config_load gateway
|
||||
config_foreach translate_ports vlan
|
||||
;;
|
||||
esac
|
||||
|
||||
uci set gateway.meta.config_version='3'
|
||||
uci commit gateway
|
||||
|
||||
exit 0
|
|
@ -13,7 +13,7 @@ define Package/fff-layer3-snat
|
|||
DEPENDS:= \
|
||||
+fff-firewall \
|
||||
+fff-layer3-config \
|
||||
+kmod-ipt-nat
|
||||
+kmod-nft-nat
|
||||
endef
|
||||
|
||||
define Package/fff-layer3-snat/description
|
||||
|
|
|
@ -1,4 +1,10 @@
|
|||
if [ "$(uci -q get network.client.fff_snat)" = '1' ]; then
|
||||
iptables -t mangle -A PREROUTING -i br-client -j MARK --set-mark 0x736e6174
|
||||
iptables -t nat -A POSTROUTING -m mark --mark 0x736e6174 -j SNAT --to-source $(uci -q get network.client.fff_snat_sourceip)
|
||||
nft add table ip mangle
|
||||
nft add chain ip mangle PREROUTING '{ type filter hook prerouting priority mangle; policy accept; }'
|
||||
|
||||
nft add table ip nat
|
||||
nft add chain ip nat POSTROUTING '{ type nat hook postrouting priority srcnat; policy accept; }'
|
||||
|
||||
nft add rule ip mangle PREROUTING iifname "br-client" counter mark set 0x736e6174
|
||||
nft add rule ip nat POSTROUTING meta mark 0x736e6174 counter snat ip to $(uci -q get network.client.fff_snat_sourceip)
|
||||
fi
|
||||
|
|
|
@ -12,7 +12,6 @@ define Package/fff-layer3
|
|||
URL:=https://www.freifunk-franken.de
|
||||
DEPENDS:=+fff-alfred-monitoring-proxy \
|
||||
+fff-babel \
|
||||
+fff-babeld \
|
||||
+fff-babel-bird2 \
|
||||
+fff-boardname \
|
||||
+fff-dhcp \
|
||||
|
@ -23,26 +22,17 @@ define Package/fff-layer3
|
|||
+fff-ra \
|
||||
+fff-web-mqtt \
|
||||
+fff-wireguard \
|
||||
+arptables-legacy \
|
||||
+bmon \
|
||||
+ebtables-legacy \
|
||||
+ebtables-legacy-utils \
|
||||
+kmod-ebtables-ipv4 \
|
||||
+kmod-ebtables-ipv6 \
|
||||
+kmod-sched-cake \
|
||||
+gre \
|
||||
+@PACKAGE_grev4 \
|
||||
+@PACKAGE_grev6 \
|
||||
+iperf3 \
|
||||
+ip-full \
|
||||
+iptables-mod-filter \
|
||||
+iptables-mod-ipopt \
|
||||
+iptables-mod-conntrack-extra \
|
||||
+mtr \
|
||||
+nftables \
|
||||
+snmp-utils \
|
||||
+tc \
|
||||
+tcpdump \
|
||||
+tcpdump-mini \
|
||||
+vxlan
|
||||
endef
|
||||
|
||||
|
|
|
@ -1,5 +1,10 @@
|
|||
# Ensure nothing is forwarded onto WAN interface
|
||||
if [ -n "$IF_WAN" ]; then
|
||||
iptables -A FORWARD -o $IF_WAN -j REJECT --reject-with icmp-net-unreachable
|
||||
ip6tables -A FORWARD -o $IF_WAN -j REJECT --reject-with no-route
|
||||
nft add table ip filter
|
||||
nft add chain ip filter FORWARD '{ type filter hook forward priority filter; policy accept; }'
|
||||
nft add table ip6 filter
|
||||
nft add chain ip6 filter FORWARD '{ type filter hook forward priority filter; policy accept; }'
|
||||
|
||||
nft add rule ip filter FORWARD oifname "$IF_WAN" counter reject with icmp net-unreachable
|
||||
nft add rule ip6 filter FORWARD oifname "$IF_WAN" counter reject with icmpv6 no-route
|
||||
fi
|
||||
|
|
|
@ -0,0 +1,56 @@
|
|||
[ "$(uci -q get network.client.fff_stateful_firewall)" != 1 ] && return
|
||||
|
||||
nft -f - << EOF
|
||||
table ip filter {
|
||||
chain forward-client {
|
||||
ct state {
|
||||
established,
|
||||
related,
|
||||
} accept \
|
||||
comment "accept traffic originating from clients"
|
||||
|
||||
ip protocol icmp icmp type {
|
||||
echo-reply,
|
||||
destination-unreachable,
|
||||
echo-request,
|
||||
time-exceeded,
|
||||
parameter-problem,
|
||||
} accept \
|
||||
comment "accept icmp"
|
||||
|
||||
counter drop \
|
||||
comment "drop the rest"
|
||||
}
|
||||
chain FORWARD {
|
||||
type filter hook forward priority filter; policy accept;
|
||||
oifname br-client goto forward-client
|
||||
}
|
||||
}
|
||||
|
||||
table ip6 filter {
|
||||
chain forward-client {
|
||||
ct state {
|
||||
established,
|
||||
related,
|
||||
} accept \
|
||||
comment "accept traffic originating from clients"
|
||||
|
||||
ip6 nexthdr icmpv6 icmpv6 type {
|
||||
destination-unreachable,
|
||||
packet-too-big,
|
||||
time-exceeded,
|
||||
parameter-problem,
|
||||
echo-request,
|
||||
echo-reply,
|
||||
} accept \
|
||||
comment "accept icmpv6 for basic ipv6 functionality"
|
||||
|
||||
counter drop \
|
||||
comment "drop the rest"
|
||||
}
|
||||
chain FORWARD {
|
||||
type filter hook forward priority filter; policy accept;
|
||||
oifname br-client goto forward-client
|
||||
}
|
||||
}
|
||||
EOF
|
|
@ -0,0 +1,6 @@
|
|||
WANDEV=switch0
|
||||
SWITCHDEV=switch0
|
||||
CLIENT_PORTS="p2 p3 p4 p5 p6 p7 p8 sfp"
|
||||
WAN_PORTS="p1"
|
||||
DSA=1
|
||||
ROUTERMAC=$(cat /sys/class/net/p1/address)
|
|
@ -1,5 +1,6 @@
|
|||
WANDEV=eth0
|
||||
SWITCHDEV=eth0
|
||||
CLIENT_PORTS="0t 3 4"
|
||||
WAN_PORTS="0t 5"
|
||||
BATMAN_PORTS="0t 1 2"
|
||||
WANDEV=switch0
|
||||
SWITCHDEV=switch0
|
||||
CLIENT_PORTS="lan3 lan4"
|
||||
WAN_PORTS="wan"
|
||||
BATMAN_PORTS="lan1 lan2"
|
||||
DSA=1
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
#!/bin/sh
|
||||
# SPDX-License-Identifier: GPL-3.0
|
||||
|
||||
if [ $(uci get board.model.name) = "mikrotik,rb5009" ]; then
|
||||
ethtool -K eth0 receive-hashing on
|
||||
fi
|
|
@ -1,6 +1,11 @@
|
|||
#!/bin/sh
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
# Skip devices which are capable of RSS
|
||||
if [ $(uci get board.model.name) = "mikrotik,rb5009" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Enable RPS
|
||||
uci batch <<-__EOF__
|
||||
set network.globals=globals
|
||||
|
|
|
@ -12,17 +12,20 @@ get_cpu_port() {
|
|||
tplink,tl-wr1043nd-v2|\
|
||||
tplink,tl-wr1043nd-v3|\
|
||||
tplink,tl-wr841n-v13|\
|
||||
xiaomi,mi-router-4a-100m)
|
||||
xiaomi,mi-router-4a-100m|\
|
||||
xiaomi,mi-router-4a-100m-intl)
|
||||
CPUPORT="6t"
|
||||
;;
|
||||
avm,fritzbox-4040|\
|
||||
netgear,r6220|\
|
||||
tplink,cpe210-v2|\
|
||||
tplink,cpe210-v3|\
|
||||
tplink,tl-wdr4900-v1|\
|
||||
ubnt,edgerouter-4|\
|
||||
ubnt,edgerouter-x|\
|
||||
ubnt,edgerouter-x-sfp|\
|
||||
ubnt,nanostation-loco-m-xw|\
|
||||
ubnt,unifi|\
|
||||
ubnt,unifi-ap|\
|
||||
ubnt,unifiac-mesh|\
|
||||
x86_64|\
|
||||
xiaomi,mi-router-4a-gigabit)
|
||||
|
|
|
@ -7,9 +7,6 @@ get_port_order() {
|
|||
local PORTORDER
|
||||
|
||||
case "$BOARD" in
|
||||
avm,fritzbox-4040)
|
||||
PORTORDER="5 1 2 3 4"
|
||||
;;
|
||||
glinet,gl-ar150)
|
||||
PORTORDER="1"
|
||||
;;
|
||||
|
@ -39,7 +36,8 @@ get_port_order() {
|
|||
tplink,cpe510-v1)
|
||||
PORTORDER="5 4"
|
||||
;;
|
||||
xiaomi,mi-router-4a-100m)
|
||||
xiaomi,mi-router-4a-100m|\
|
||||
xiaomi,mi-router-4a-100m-intl)
|
||||
PORTORDER="0 2 4"
|
||||
;;
|
||||
esac
|
||||
|
|
|
@ -48,19 +48,12 @@ for filename in $(grep 'up\|unknown' /sys/class/net/*/operstate); do
|
|||
|
||||
interface_data=$interface_data"<$iface><name>$iface</name>$addrs<traffic_rx>$traffic_rx</traffic_rx><traffic_tx>$traffic_tx</traffic_tx>"
|
||||
|
||||
interface_data=$interface_data$(iwconfig "${iface}" 2>/dev/null | awk -F':' '
|
||||
/Mode/{ split($2, m, " "); printf "<wlan_mode>"m[1]"</wlan_mode>" }
|
||||
/Cell/{ split($0, c, " "); printf "<wlan_bssid>"c[5]"</wlan_bssid>" }
|
||||
/ESSID/ { split($0, e, "\""); printf "<wlan_essid>"e[2]"</wlan_essid>" }
|
||||
/Freq/{ split($3, f, " "); printf "<wlan_frequency>"f[1]f[2]"</wlan_frequency>" }
|
||||
/Tx-Power/{ split($0, p, "="); sub(/[[:space:]]*$/, "", p[2]); printf "<wlan_tx_power>"p[2]"</wlan_tx_power>" }
|
||||
')
|
||||
|
||||
interface_data=$interface_data$(iw dev "${iface}" info 2>/dev/null | awk '
|
||||
/ssid/{ split($0, s, " "); printf "<wlan_ssid>"s[2]"</wlan_ssid>" }
|
||||
/type/ { split($0, t, " "); printf "<wlan_type>"t[2]"</wlan_type>" }
|
||||
/channel/{ split($0, c, " "); printf "<wlan_channel>"c[2]"</wlan_channel>" }
|
||||
/width/{ split($0, w, ": "); sub(/ .*/, "", w[2]); printf "<wlan_width>"w[2]"</wlan_width>" }
|
||||
/txpower/{ sub(/\.../, "", $2); print "<wlan_tx_power>"$2" dBm</wlan_tx_power>" }
|
||||
')
|
||||
|
||||
interface_data=$interface_data"</$iface>"
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
## ETHMODE. The default mode for these devices is "BATMAN".
|
||||
## For example this is the case for: gl-ar150, tl-mr3020-v1, tl-wa850re-v1,
|
||||
## tl-wa860re-v1, tl-wa901nd-v2, ubnt-bullet-m, ubnt-loco-m-xw, ubnt-nano-m,
|
||||
## ubnt-unifi
|
||||
## ubnt-unifi-ap
|
||||
ETHMODE="CLIENT"
|
||||
## Devices featuring 2 ethernet ports are configured by SPECIFIERs ressembling
|
||||
## the labels on the PORT itself. For the cpe210 these are called LAN0 and LAN1.
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
. /lib/functions/fff/network
|
||||
|
||||
WANDEV=eth0
|
||||
SWITCHDEV=eth0
|
||||
CLIENT_PORTS="6t 4"
|
||||
WAN_PORTS="6t 0"
|
||||
BATMAN_PORTS="6t 2"
|
|
@ -1,10 +1,11 @@
|
|||
. /lib/functions/fff/network
|
||||
|
||||
WANDEV=eth0
|
||||
SWITCHDEV=eth0
|
||||
CLIENT_PORTS="0t 4 5"
|
||||
WAN_PORTS="0t 1"
|
||||
BATMAN_PORTS="0t 2 3"
|
||||
WANDEV=switch0
|
||||
SWITCHDEV=switch0
|
||||
CLIENT_PORTS="lan3 lan4"
|
||||
WAN_PORTS="wan"
|
||||
BATMAN_PORTS="lan1 lan2"
|
||||
DSA=1
|
||||
|
||||
# use mac address from phy1 with 'locally administered' bit set to '1'
|
||||
# only possible, because wXmesh is created first and therefore gets the 'universally administered address'
|
||||
|
|
|
@ -1,34 +1,44 @@
|
|||
######## IN_ONLY ############
|
||||
ebtables -N IN_ONLY -P RETURN
|
||||
nft -f - <<__EOF
|
||||
table bridge filter {
|
||||
# IN_ONLY wird angesprungen, wenn dieses Paket nur
|
||||
# vom Gateway (also vom BATMAN) kommen darf.
|
||||
chain IN_ONLY {
|
||||
# -i ! bat0 --logical-in br-client -j DROP
|
||||
iifname != "bat0" ibrname "br-client" counter drop
|
||||
counter
|
||||
}
|
||||
|
||||
# Daten aus dem BATMAN werden erlaubt
|
||||
# Alles ausser Daten von BATMAN werden DROP'ed
|
||||
ebtables -A IN_ONLY -i ! bat0 --logical-in br-client -j DROP
|
||||
# OUT_ONLY wird angesprungen, wenn dieses Paket nur
|
||||
# in Richtung Gateway (also ins BATMAN) gesendet werden darf.
|
||||
chain OUT_ONLY {
|
||||
# --logical-out br-client -o ! bat0 -j DROP
|
||||
oifname != "bat0" obrname "br-client" counter drop
|
||||
counter
|
||||
}
|
||||
|
||||
######## OUT_ONLY ############
|
||||
ebtables -N OUT_ONLY -P RETURN
|
||||
# MULTICAST_OUT filtert/reduziert Multicast-Frames, die ins BATMAN gesendet werden.
|
||||
chain MULTICAST_OUT {
|
||||
}
|
||||
|
||||
# Daten ins BATMAN werden erlaubt
|
||||
# Alles ausser Daten ins BATMAN werden DROP'ed
|
||||
ebtables -A OUT_ONLY --logical-out br-client -o ! bat0 -j DROP
|
||||
chain INPUT {
|
||||
type filter hook input priority filter; policy accept;
|
||||
|
||||
######## MULTICAST_OUT ############
|
||||
ebtables -N MULTICAST_OUT -P DROP
|
||||
# -d Multicast -i ! bat0 --logical-in br-client -j ACCEPT
|
||||
iifname != "bat0" ether daddr & 01:00:00:00:00:00 == 01:00:00:00:00:00 ibrname "br-client" counter packets 0 bytes 0 accept
|
||||
}
|
||||
|
||||
######## INPUT ############
|
||||
ebtables -P INPUT ACCEPT
|
||||
chain FORWARD {
|
||||
type filter hook forward priority filter; policy accept;
|
||||
|
||||
# Regelt alles was an Multicast/Broadcast von CLIENT -> KNOTEN geht bei MULTICAST_OUT
|
||||
ebtables -A INPUT -d Multicast --logical-in br-client -i ! bat0 -j ACCEPT
|
||||
# -d Multicast --logical-out br-client -o bat0 -j MULTICAST_OUT
|
||||
oifname "bat0" obrname "br-client" ether daddr & 01:00:00:00:00:00 == 01:00:00:00:00:00 counter packets 0 bytes 0 jump MULTICAST_OUT
|
||||
}
|
||||
|
||||
######## FORWARD ############
|
||||
ebtables -P FORWARD ACCEPT
|
||||
chain OUTPUT {
|
||||
type filter hook output priority filter; policy accept;
|
||||
|
||||
# Regelt alles was an Multicast/Broadcast von CLIENT -> BATMAN geht bei MULTICAST_OUT
|
||||
ebtables -A FORWARD -d Multicast --logical-out br-client -o bat0 -j MULTICAST_OUT
|
||||
|
||||
######## OUTPUT ############
|
||||
ebtables -P OUTPUT ACCEPT
|
||||
|
||||
# Regelt alles was an Multicast/Broadcast von KNOTEN -> BATMAN geht bei MULTICAST_OUT
|
||||
ebtables -A OUTPUT -d Multicast --logical-out br-client -o bat0 -j MULTICAST_OUT
|
||||
# -d Multicast --logical-out br-client -o bat0 -j MULTICAST_OUT
|
||||
oifname "bat0" obrname "br-client" ether daddr & 01:00:00:00:00:00 == 01:00:00:00:00:00 counter jump MULTICAST_OUT
|
||||
}
|
||||
}
|
||||
__EOF
|
||||
|
|
|
@ -1,2 +1,12 @@
|
|||
/usr/sbin/iptables -P FORWARD DROP
|
||||
/usr/sbin/ip6tables -P FORWARD DROP
|
||||
nft -f - <<__EOF
|
||||
table ip filter {
|
||||
chain FORWARD {
|
||||
type filter hook forward priority filter; policy drop;
|
||||
}
|
||||
}
|
||||
table ip6 filter {
|
||||
chain FORWARD {
|
||||
type filter hook forward priority filter; policy drop;
|
||||
}
|
||||
}
|
||||
__EOF
|
||||
|
|
|
@ -1,8 +1,19 @@
|
|||
# Erlaube DHCP Requests
|
||||
ebtables -A MULTICAST_OUT -p IPv4 --ip-proto udp --ip-dport 67 -j RETURN
|
||||
nft -f - <<__EOF
|
||||
table bridge filter {
|
||||
chain MULTICAST_OUT {
|
||||
# Erlaube DHCP Requests
|
||||
# -p IPv4 --ip-proto udp --ip-dport 67 -j RETURN
|
||||
ether type ip udp dport 67 counter return
|
||||
}
|
||||
|
||||
# Erlaube nur DHCP Request von CLIENT -> BATMAN
|
||||
ebtables -A FORWARD -p IPv4 --ip-proto udp --ip-dport 67 -j OUT_ONLY
|
||||
chain FORWARD {
|
||||
# Erlaube nur DHCP Request von CLIENT -> BATMAN
|
||||
# -p IPv4 --ip-proto udp --ip-dport 67 -j OUT_ONLY
|
||||
ether type ip udp dport 67 counter jump OUT_ONLY
|
||||
|
||||
# Erlaube nur DHCP Antworten von BATMAN -> CLIENT
|
||||
ebtables -A FORWARD -p IPv4 --ip-proto udp --ip-dport 68 -j IN_ONLY
|
||||
# Erlaube nur DHCP Antworten von BATMAN -> CLIENT
|
||||
# -p IPv4 --ip-proto udp --ip-dport 68 -j IN_ONLY
|
||||
ether type ip udp dport 68 counter jump IN_ONLY
|
||||
}
|
||||
}
|
||||
__EOF
|
||||
|
|
|
@ -1,8 +1,19 @@
|
|||
# Erlaube DHCPv6 Requests
|
||||
ebtables -A MULTICAST_OUT -p IPv6 --ip6-proto udp --ip6-dport 547 -j RETURN
|
||||
nft -f - <<__EOF
|
||||
table bridge filter {
|
||||
chain MULTICAST_OUT {
|
||||
# Erlaube DHCPv6 Requests
|
||||
# -p IPv6 --ip6-proto udp --ip6-dport 547 -j RETURN
|
||||
ether type ip6 udp dport 547 counter return
|
||||
}
|
||||
|
||||
# Erlaube nur DHCPv6 Request von CLIENT -> BATMAN
|
||||
ebtables -A FORWARD -p IPv6 --ip6-proto udp --ip6-dport 547 -j OUT_ONLY
|
||||
chain FORWARD {
|
||||
# Erlaube nur DHCPv6 Request von CLIENT -> BATMAN
|
||||
# -p IPv6 --ip6-proto udp --ip6-dport 547 -j OUT_ONLY
|
||||
ether type ip6 udp dport 547 counter jump OUT_ONLY
|
||||
|
||||
# Erlaube nur DHCPv6 Antworten von BATMAN -> CLIENT
|
||||
ebtables -A FORWARD -p IPv6 --ip6-proto udp --ip6-dport 546 -j IN_ONLY
|
||||
# Erlaube nur DHCPv6 Antworten von BATMAN -> CLIENT
|
||||
# -p IPv6 --ip6-proto udp --ip6-dport 546 -j IN_ONLY
|
||||
ether type ip6 udp dport 546 counter jump IN_ONLY
|
||||
}
|
||||
}
|
||||
__EOF
|
||||
|
|
|
@ -1,5 +1,13 @@
|
|||
# Erlaube nur Router-Solicitation von CLIENT -> BATMAN
|
||||
ebtables -A FORWARD -p IPv6 --ip6-proto ipv6-icmp --ip6-icmp-type router-solicitation -j OUT_ONLY
|
||||
nft -f - <<__EOF
|
||||
table bridge filter {
|
||||
chain FORWARD {
|
||||
# Erlaube nur Router-Solicitation von CLIENT -> BATMAN
|
||||
# -p IPv6 --ip6-proto ipv6-icmp --ip6-icmp-type router-solicitation -j OUT_ONLY
|
||||
ether type ip6 icmpv6 type nd-router-solicit counter jump OUT_ONLY
|
||||
|
||||
# Erlaube nur Router-Advertisment von BATMAN -> CLIENT
|
||||
ebtables -A FORWARD -p IPv6 --ip6-proto ipv6-icmp --ip6-icmp-type router-advertisement -j IN_ONLY
|
||||
# Erlaube nur Router-Advertisment von BATMAN -> CLIENT
|
||||
# -p IPv6 --ip6-proto ipv6-icmp --ip6-icmp-type router-advertisement -j IN_ONLY
|
||||
ether type ip6 icmpv6 type nd-router-advert counter jump IN_ONLY
|
||||
}
|
||||
}
|
||||
__EOF
|
||||
|
|
|
@ -1,5 +1,15 @@
|
|||
# Erlaube nur DHCP Antworten von BATMAN -> KNOTEN
|
||||
ebtables -A INPUT -p IPv4 --ip-proto udp --ip-dport 68 -j IN_ONLY
|
||||
nft -f - <<__EOF
|
||||
table bridge filter {
|
||||
chain INPUT {
|
||||
# Erlaube nur DHCP Antworten von BATMAN -> KNOTEN
|
||||
# -p IPv4 --ip-proto udp --ip-dport 68 -j IN_ONLY
|
||||
ether type ip udp dport 68 counter jump IN_ONLY
|
||||
}
|
||||
|
||||
# Erlaube nur DHCP Request von KNOTEN -> BATMAN
|
||||
ebtables -A OUTPUT -p IPv4 --ip-proto udp --ip-dport 67 -j OUT_ONLY
|
||||
chain OUTPUT {
|
||||
# Erlaube nur DHCP Request von KNOTEN -> BATMAN
|
||||
# -p IPv4 --ip-proto udp --ip-dport 67 -j OUT_ONLY
|
||||
ether type ip udp dport 67 counter jump OUT_ONLY
|
||||
}
|
||||
}
|
||||
__EOF
|
||||
|
|
|
@ -1,5 +1,15 @@
|
|||
# Erlaube nur DHCPv6 Antworten von BATMAN -> KNOTEN
|
||||
ebtables -A INPUT -p IPv6 --ip6-proto udp --ip6-dport 546 -j IN_ONLY
|
||||
nft -f - <<__EOF
|
||||
table bridge filter {
|
||||
chain INPUT {
|
||||
# Erlaube nur DHCPv6 Antworten von BATMAN -> KNOTEN
|
||||
# -p IPv6 --ip6-proto udp --ip6-dport 546 -j IN_ONLY
|
||||
ether type ip6 udp dport 546 counter jump IN_ONLY
|
||||
}
|
||||
|
||||
# Erlaube nur DHCPv6 Request von KNOTEN -> BATMAN
|
||||
ebtables -A OUTPUT -p IPv6 --ip6-proto udp --ip6-dport 547 -j OUT_ONLY
|
||||
chain OUTPUT {
|
||||
# Erlaube nur DHCPv6 Request von KNOTEN -> BATMAN
|
||||
# -p IPv6 --ip6-proto udp --ip6-dport 547 -j OUT_ONLY
|
||||
ether type ip6 udp dport 547 counter jump OUT_ONLY
|
||||
}
|
||||
}
|
||||
__EOF
|
||||
|
|
|
@ -1,11 +1,23 @@
|
|||
# Erlaube nur Router-Advertisment von BATMAN -> KNOTEN
|
||||
ebtables -A INPUT -p IPv6 --ip6-proto ipv6-icmp --ip6-icmp-type router-advertisement -j IN_ONLY
|
||||
nft -f - <<__EOF
|
||||
table bridge filter {
|
||||
chain INPUT {
|
||||
# Erlaube nur Router-Advertisment von BATMAN -> KNOTEN
|
||||
# -p IPv6 --ip6-proto ipv6-icmp --ip6-icmp-type router-advertisement -j IN_ONLY
|
||||
ether type ip6 ip6 nexthdr icmpv6 icmpv6 type nd-router-advert counter jump IN_ONLY
|
||||
|
||||
# Verbiete Router-Solicitation von BATMAN -> KNOTEN
|
||||
ebtables -A INPUT -p IPv6 -i bat0 --ip6-proto ipv6-icmp --ip6-icmp-type router-solicitation -j DROP
|
||||
# Verbiete Router-Solicitation von BATMAN -> KNOTEN
|
||||
# -p IPv6 -i bat0 --ip6-proto ipv6-icmp --ip6-icmp-type router-solicitation -j DROP
|
||||
iifname "bat0" ether type ip6 ip6 nexthdr icmpv6 icmpv6 type nd-router-solicit counter drop
|
||||
}
|
||||
|
||||
# Erlaube nur Router-Solicitation von KNOTEN -> BATMAN
|
||||
ebtables -A OUTPUT -p IPv6 --ip6-proto ipv6-icmp --ip6-icmp-type router-solicitation -j OUT_ONLY
|
||||
chain OUTPUT {
|
||||
# Erlaube nur Router-Solicitation von KNOTEN -> BATMAN
|
||||
# -p IPv6 --ip6-proto ipv6-icmp --ip6-icmp-type router-solicitation -j OUT_ONLY
|
||||
ether type ip6 icmpv6 type nd-router-solicit counter jump OUT_ONLY
|
||||
|
||||
# Verbiete Router-Advertisment von KNOTEN -> BATMAN
|
||||
ebtables -A OUTPUT -p IPv6 -o bat0 --ip6-proto ipv6-icmp --ip6-icmp-type router-advertisement -j DROP
|
||||
# Verbiete Router-Advertisment von KNOTEN -> BATMAN
|
||||
# -p IPv6 -o bat0 --ip6-proto ipv6-icmp --ip6-icmp-type router-advertisement -j DROP
|
||||
oifname "bat0" ether type ip6 icmpv6 type nd-router-advert counter drop
|
||||
}
|
||||
}
|
||||
__EOF
|
||||
|
|
|
@ -1,6 +1,13 @@
|
|||
# Erlaube alles was nicht IP ?? ist " hop-by-hop " ??
|
||||
ebtables -A MULTICAST_OUT -p IPv6 --ip6-proto 0 -j RETURN
|
||||
|
||||
# Erlaube Organisation der Multicast Gruppen
|
||||
ebtables -A MULTICAST_OUT -p IPv4 --ip-proto igmp -j RETURN
|
||||
nft -f - <<__EOF
|
||||
table bridge filter {
|
||||
chain MULTICAST_OUT {
|
||||
# Erlaube alles was nicht IP ?? ist " hop-by-hop " ??
|
||||
# -p IPv6 --ip6-proto ip -j RETURN
|
||||
ether type ip6 ip6 nexthdr 0 counter return
|
||||
|
||||
# Erlaube Organisation der Multicast Gruppen
|
||||
# -p IPv4 --ip-proto igmp -j RETURN
|
||||
ether type ip meta l4proto igmp counter return
|
||||
}
|
||||
}
|
||||
__EOF
|
||||
|
|
|
@ -1,8 +1,17 @@
|
|||
# Verbiete ARP Antworten an alle
|
||||
ebtables -A MULTICAST_OUT -p ARP --arp-op Reply --arp-ip-src 0.0.0.0 -j DROP
|
||||
nft -f - <<__EOF
|
||||
table bridge filter {
|
||||
chain MULTICAST_OUT {
|
||||
# Verbiete ARP Antworten an alle
|
||||
# -p ARP --arp-op Reply --arp-ip-src 0.0.0.0 -j DROP
|
||||
ether type arp arp operation reply arp daddr ip 0.0.0.0 counter drop
|
||||
|
||||
# Verbiete ARP Requests an alle
|
||||
ebtables -A MULTICAST_OUT -p ARP --arp-op Request --arp-ip-dst 0.0.0.0 -j DROP
|
||||
# Verbiete ARP Requests an alle
|
||||
# -p ARP --arp-op Request --arp-ip-dst 0.0.0.0 -j DROP
|
||||
ether type arp arp operation request arp daddr ip 0.0.0.0 counter drop
|
||||
|
||||
# Erlaube alle anderen ARP's
|
||||
ebtables -A MULTICAST_OUT -p ARP -j RETURN
|
||||
# Erlaube alle anderen ARP's
|
||||
# -p ARP -j RETURN
|
||||
ether type arp counter return
|
||||
}
|
||||
}
|
||||
__EOF
|
||||
|
|
|
@ -1,6 +1,13 @@
|
|||
# Erlaube PING
|
||||
ebtables -A MULTICAST_OUT -p IPv4 --ip-proto icmp -j RETURN
|
||||
|
||||
# Erlaube PINGv6
|
||||
ebtables -A MULTICAST_OUT -p IPv6 --ip6-proto ipv6-icmp -j RETURN
|
||||
nft -f - <<__EOF
|
||||
table bridge filter {
|
||||
chain MULTICAST_OUT {
|
||||
# Erlaube PING
|
||||
# -p IPv4 --ip-proto icmp -j RETURN
|
||||
ether type ip meta l4proto icmp counter return
|
||||
|
||||
# Erlaube PINGv6
|
||||
# -p IPv6 --ip6-proto ipv6-icmp -j RETURN
|
||||
ether type ip6 meta l4proto icmpv6 counter return
|
||||
}
|
||||
}
|
||||
__EOF
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
nft -f - <<__EOF
|
||||
table bridge filter {
|
||||
chain MULTICAST_OUT {
|
||||
# policy: DROP
|
||||
counter drop
|
||||
}
|
||||
}
|
||||
__EOF
|
|
@ -1,11 +1,30 @@
|
|||
# No input from/to local node ip from batman
|
||||
ebtables -A INPUT --logical-in br-client -i bat0 -p IPv6 --ip6-source fdff::1/128 -j DROP
|
||||
ebtables -A INPUT --logical-in br-client -i bat0 -p IPv6 --ip6-destination fdff::1/128 -j DROP
|
||||
nft -f - <<__EOF
|
||||
table bridge filter {
|
||||
chain INPUT {
|
||||
# No input from/to local node ip from batman
|
||||
|
||||
# Do not forward local node ip
|
||||
ebtables -A FORWARD --logical-out br-client -o bat0 -p IPv6 --ip6-destination fdff::1/128 -j DROP
|
||||
ebtables -A FORWARD --logical-out br-client -o bat0 -p IPv6 --ip6-source fdff::1/128 -j DROP
|
||||
# -p IPv6 -i bat0 --logical-in br-client --ip6-src fdff::1 -j DROP
|
||||
iifname "bat0" ibrname "br-client" ether type ip6 ip6 saddr fdff::1 counter drop
|
||||
# -p IPv6 -i bat0 --logical-in br-client --ip6-dst fdff::1 -j DROP
|
||||
iifname "bat0" ibrname "br-client" ether type ip6 ip6 daddr fdff::1 counter drop
|
||||
}
|
||||
|
||||
# Do not output local node ip to batman
|
||||
ebtables -A OUTPUT --logical-out br-client -o bat0 -p IPv6 --ip6-destination fdff::1/128 -j DROP
|
||||
ebtables -A OUTPUT --logical-out br-client -o bat0 -p IPv6 --ip6-source fdff::1/128 -j DROP
|
||||
chain FORWARD {
|
||||
# Do not forward local node ip
|
||||
|
||||
# -p IPv6 --logical-out br-client -o bat0 --ip6-dst fdff::1 -j DROP
|
||||
oifname "bat0" obrname "br-client" ether type ip6 ip6 daddr fdff::1 counter drop
|
||||
# -p IPv6 --logical-out br-client -o bat0 --ip6-src fdff::1 -j DROP
|
||||
oifname "bat0" obrname "br-client" ether type ip6 ip6 saddr fdff::1 counter drop
|
||||
}
|
||||
|
||||
chain OUTPUT {
|
||||
# Do not output local node ip to batman
|
||||
|
||||
# -p IPv6 --logical-out br-client -o bat0 --ip6-dst fdff::1 -j DROP
|
||||
oifname "bat0" obrname "br-client" ether type ip6 ip6 daddr fdff::1 counter drop
|
||||
# -p IPv6 --logical-out br-client -o bat0 --ip6-src fdff::1 -j DROP
|
||||
oifname "bat0" obrname "br-client" ether type ip6 ip6 saddr fdff::1 counter drop
|
||||
}
|
||||
}
|
||||
__EOF
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
nft -f - <<__EOF
|
||||
table bridge filter {
|
||||
chain INPUT {
|
||||
counter
|
||||
}
|
||||
|
||||
chain FORWARD {
|
||||
counter
|
||||
}
|
||||
|
||||
chain OUTPUT {
|
||||
counter
|
||||
}
|
||||
}
|
||||
__EOF
|
|
@ -4,8 +4,6 @@
|
|||
START=96
|
||||
boot() {
|
||||
LOCALCONFIGSCRIPT="/etc/rc.local.fff_userconfig"
|
||||
#add LOCALCONFIGSCRIPT to sysupgrade regardless if it already exists or not to prevent data loss
|
||||
grep -q ^"${LOCALCONFIGSCRIPT}"$ /etc/sysupgrade.conf || echo "$LOCALCONFIGSCRIPT" >> /etc/sysupgrade.conf
|
||||
|
||||
# process user commands
|
||||
[ -f "${LOCALCONFIGSCRIPT}" ] && {
|
||||
|
|
|
@ -12,6 +12,8 @@ cat > /etc/sysupgrade.conf <<-__EOF__
|
|||
/etc/config/fff
|
||||
/etc/config/gateway
|
||||
/etc/hoodfile
|
||||
/etc/nftables-fff.conf
|
||||
/etc/rc.local.fff_userconfig
|
||||
__EOF__
|
||||
|
||||
exit 0
|
||||
|
|
|
@ -1,5 +1,15 @@
|
|||
# Erlaube router solicitation von client zu knoten
|
||||
ebtables -A INPUT -p IPv6 -i ! bat0 --ip6-proto ipv6-icmp --ip6-icmp-type router-solicitation -j ACCEPT
|
||||
nft -f - <<__EOF
|
||||
table bridge filter {
|
||||
chain INPUT {
|
||||
# Erlaube router solicitation von client zu knoten
|
||||
# -p IPv6 -i ! bat0 --ip6-proto ipv6-icmp --ip6-icmp-type router-solicitation -j ACCEPT
|
||||
iifname != "bat0" ether type ip6 ip6 nexthdr icmpv6 icmpv6 type nd-router-solicit counter accept
|
||||
}
|
||||
|
||||
# Erlaube router advertisment von knoten zu client
|
||||
ebtables -A OUTPUT -p IPv6 -o ! bat0 --ip6-proto ipv6-icmp --ip6-icmp-type router-advertisement -j ACCEPT
|
||||
chain OUTPUT {
|
||||
# Erlaube router advertisment von knoten zu client
|
||||
# -p IPv6 -o ! bat0 --ip6-proto ipv6-icmp --ip6-icmp-type router-advertisement -j ACCEPT
|
||||
oifname != "bat0" ether type ip6 icmpv6 type nd-router-advert counter accept
|
||||
}
|
||||
}
|
||||
__EOF
|
||||
|
|
21
src/packages/fff/fff-wireless/files/etc/init.d/fff-wireless-update
Executable file
21
src/packages/fff/fff-wireless/files/etc/init.d/fff-wireless-update
Executable file
|
@ -0,0 +1,21 @@
|
|||
#!/bin/sh /etc/rc.common
|
||||
|
||||
START=99
|
||||
|
||||
boot() {
|
||||
# first we disable the init.d
|
||||
/etc/init.d/fff-wireless-update disable
|
||||
# we must delete the symlink manually
|
||||
rm -f /etc/rc.d/S99fff-wireless-update
|
||||
|
||||
# Starting with OpenWrt 23.05, reload_config does not
|
||||
# properly start the wifi access point on some devices.
|
||||
# This seems to be an issue with the reloading of hostapd,
|
||||
# which throws errors, but does not restart hostapd.
|
||||
# see https://git.freifunk-franken.de/freifunk-franken/firmware/issues/319
|
||||
#
|
||||
# workaround: manually restart wifi completely
|
||||
# after any automatic post-update configuration (fff-layer3-config, ...)
|
||||
sleep 20
|
||||
wifi
|
||||
}
|
|
@ -10,7 +10,7 @@ case "$BOARD" in
|
|||
uci set wireless.radio0.antenna_gain=9
|
||||
uci commit wireless
|
||||
;;
|
||||
ubnt,unifi)
|
||||
ubnt,unifi-ap)
|
||||
# No support for Unifi AP Pro!
|
||||
uci set wireless.radio0.antenna_gain=3
|
||||
uci commit wireless
|
||||
|
|
Loading…
Reference in New Issue
Block a user