forked from freifunk-franken/firmware
Compare commits
144 Commits
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 | |
|
7e80252c28 | |
|
444cee2819 | |
|
20e38395a2 | |
|
91ea1bdb99 | |
|
97942eb075 | |
|
c12a9ba263 | |
|
072452567f | |
|
fcc8119906 | |
|
d9d2612f3c | |
|
0e62ca5307 | |
|
d34438d8b1 | |
|
306ed093f7 | |
|
2085c5e4af | |
|
e695b2a87a | |
|
0d06be1749 | |
|
bdfdbba76a | |
|
baca28ece3 | |
|
9bc3690cbd | |
|
e6efc9671a | |
|
a62f7cdf96 | |
|
daf4467a8a | |
|
b81c15d111 | |
|
f8182af459 | |
|
0dfa1140ff | |
|
20d12f943e | |
|
90c58d575b | |
|
bc3c0b717d | |
|
f3b1604ff3 | |
|
57408f5dfb | |
|
b26399283a | |
|
20ecca34c0 | |
|
880d56d52c | |
|
0f67aa2504 | |
|
4bf14292f7 | |
|
25e227c6b9 | |
|
a317557320 | |
|
4cd3b17714 | |
|
7947107ed3 | |
|
378163d834 | |
|
405e0a43d5 | |
|
41b4168290 | |
|
0234203bed | |
|
240a506ee7 | |
|
f89503660d | |
|
7a5bef0d7d | |
|
8e127a3936 | |
|
2bc21aa63f | |
|
a43b37e9f6 | |
|
803e2746df | |
|
71d137d4f1 | |
|
128a748626 | |
|
9a3b499cae | |
|
87d923c1ef | |
|
0e8c32a363 | |
|
a5ad4a9b00 | |
|
17bc1a7e62 | |
|
330ed1b52d | |
|
5b23824344 | |
|
5424eb728c | |
|
209c9debbf | |
|
1c3328e64a | |
|
a8ce8e1ad6 | |
|
3f765e4ba7 | |
|
1917c8a1df | |
|
c2f80c9999 | |
|
27baecaf37 | |
|
825d760bd8 | |
|
51ec3648cf | |
|
8ef6dba5a1 | |
|
a6b90f1a83 | |
|
085dbb64fe | |
|
12f60419cd | |
|
1febd2a9b2 | |
|
feeead6c43 | |
|
9d745d0d5c | |
|
7c3f3230ff | |
|
a3d62c7fcc | |
|
c3cb53ebef | |
|
40be50311b | |
|
596a785ebc | |
|
6bf01bb070 | |
|
37c7332555 | |
|
450312e237 | |
|
5e7bdc0548 | |
|
de9d4abf44 | |
|
a72874f86f | |
|
a2400a6e67 | |
|
9090702580 | |
|
7afe5fd767 | |
|
eb4dcf6585 | |
|
7afe817f7d | |
|
7fd6b40225 | |
|
f8645e494f | |
|
09450bc4b5 | |
|
98898659ce | |
|
984e334adb | |
|
341d215cf2 | |
|
e76a8581d0 |
|
@ -0,0 +1,46 @@
|
||||||
|
clone:
|
||||||
|
git:
|
||||||
|
image: woodpeckerci/plugin-git
|
||||||
|
settings:
|
||||||
|
tags: true
|
||||||
|
|
||||||
|
steps:
|
||||||
|
buildall-layer3:
|
||||||
|
image: openwrtorg/imagebuilder
|
||||||
|
commands:
|
||||||
|
- export HOME=/home/build/openwrt
|
||||||
|
- sudo chown -R build:build .
|
||||||
|
- git config --global user.email "ci@fff.community"
|
||||||
|
- git config --global user.name "FFF CI"
|
||||||
|
- ./buildscript selectvariant layer3
|
||||||
|
- ./buildscript selectbsp bsp/ath79-generic.bsp
|
||||||
|
- ./buildscript prepare
|
||||||
|
- ./buildscript buildall
|
||||||
|
|
||||||
|
buildall-node:
|
||||||
|
image: openwrtorg/imagebuilder
|
||||||
|
commands:
|
||||||
|
- export HOME=/home/build/openwrt
|
||||||
|
- sudo chown -R build:build .
|
||||||
|
- git config --global user.email "ci@fff.community"
|
||||||
|
- git config --global user.name "FFF CI"
|
||||||
|
- ./buildscript selectvariant node
|
||||||
|
- ./buildscript selectbsp bsp/ath79-generic.bsp
|
||||||
|
- ./buildscript prepare
|
||||||
|
- ./buildscript buildall
|
||||||
|
|
||||||
|
distribute:
|
||||||
|
image: alpine/git
|
||||||
|
volumes:
|
||||||
|
- /var/lib/woodpecker/artifacts:/var/run/artifacts
|
||||||
|
commands:
|
||||||
|
- rm -rf /var/run/artifacts/$(git describe --tags)
|
||||||
|
- mkdir -p /var/run/artifacts/$(git describe --tags)
|
||||||
|
- cp -r bin/* /var/run/artifacts/$(git describe --tags)/
|
||||||
|
- echo
|
||||||
|
- echo
|
||||||
|
- echo "You can download the built firmware images here:"
|
||||||
|
- echo "https://ci.fff.community/artifacts/$(git describe --tags)"
|
||||||
|
|
||||||
|
when:
|
||||||
|
branch: [ master ]
|
15
README.md
15
README.md
|
@ -8,7 +8,7 @@ Weitere Informationen gibt es auf <https://freifunk.net/> und auf <https://wiki.
|
||||||
|
|
||||||
# Firmware selbst kompilieren
|
# Firmware selbst kompilieren
|
||||||
## Voraussetzungen
|
## 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`
|
* `git clone https://git.freifunk-franken.de/freifunk-franken/firmware.git`
|
||||||
* `cd firmware`
|
* `cd firmware`
|
||||||
|
|
||||||
|
@ -56,6 +56,10 @@ Dieses Kommando arbeitet folgendermaßen:
|
||||||
### `./buildscript updatefeeds`
|
### `./buildscript updatefeeds`
|
||||||
Aktualisiert die OpenWrt Feeds für zusätzliche Pakete, die in die Firmware eingebaut werden. Dabei werden die Referenzen im build/ Verzeichnis aktualisiert. Dieser Schritt wird bereits von `./buildscript prepare` übernommen, daher ist dies nur bei manuellen Änderungen der Feeds nötig.
|
Aktualisiert die OpenWrt Feeds für zusätzliche Pakete, die in die Firmware eingebaut werden. Dabei werden die Referenzen im build/ Verzeichnis aktualisiert. Dieser Schritt wird bereits von `./buildscript prepare` übernommen, daher ist dies nur bei manuellen Änderungen der Feeds nötig.
|
||||||
|
|
||||||
|
### `./buildscript clean`
|
||||||
|
Entfernt den Inhalt der bin/ und build/ Verzeichnisse und die Feeds in src/packages/. Damit werden beim nächsten `./buildscript prepare` alle Dateien die für das Bauen der Firmware nötig sind neu heruntergeladen. Dies kann nötig sein wenn z.B. seit dem letzen build ein größerer Versionssprung in OpenWRT gemacht wurde. Wenn es Fehler beim bauen gibt, wie fehlende Dependencies o.Ä., ist ein clean mal einen Versuch wert.
|
||||||
|
* Nach einem clean muss daher erst noch einmal `./buildscript prepare` ausgeführt werden, bevor man mit `./buildscipt build` bauen kann!
|
||||||
|
|
||||||
### `./buildscript build`
|
### `./buildscript build`
|
||||||
Sollte man am besten mit Hilfe des Tools 'screen' oder ähnlichem laufen lassen um einen Abbruch des Builds bei Verbindungsproblemen oder ähnlichem zu verhindern.
|
Sollte man am besten mit Hilfe des Tools 'screen' oder ähnlichem laufen lassen um einen Abbruch des Builds bei Verbindungsproblemen oder ähnlichem zu verhindern.
|
||||||
* prebuild
|
* prebuild
|
||||||
|
@ -132,9 +136,14 @@ scp root@[ipv6ll%scope]:/etc/network.tl-wr1043nd-v2 /path/to/git/firmware/bsp/wr
|
||||||
```
|
```
|
||||||
|
|
||||||
### BSP commiten und Patch erzeugen
|
### BSP commiten und Patch erzeugen
|
||||||
Nun kann man mit `git status` die Änderungen sehen. Mit `git add` staged man diese und mit `git commit` checkt man sie ein. `git format-patch origin/HEAD` erzeugt dann aus deinen Commits ein (oder mehr) Patches. Diese schickst du dann mit `git send-email --to franken-dev@freifunk.net *.patch` an unsere Liste. Dort nimmt sich jemand die Zeit und schaut kurz drüber und wenn alles passt finden deine Änderungen in den Hauptentwicklungszweig und sind ab dann Teil der Freifunk-Franken-Firmware.
|
Nun kann man mit `git status` die Änderungen sehen.
|
||||||
|
|
||||||
|
Damit man an mehreren Änderungen gleichzeitig arbeiten kann, sollte zunächst mit `git checkout -b mein-neues-feature` ein neuer Branch erzeugt werden. Dann können die Änderungen mit `git add` gestaged und danach mit `git commit` eingecheckt werden.
|
||||||
|
|
||||||
|
Die so erzeugten Änderungen können dann mit einem Pull Request im [Gitea](https://git.freifunk-franken.de/freifunk-franken/firmware) submitted werden. Dafür ist ein [Account](https://docs.freifunk-franken.de/services/git.freifunk-franken/#anmeldung) nötig. Dazu muss das Firmware-Repository zunächst geforkt werden. Die SSH-Adresse des Forks (steht oben rechts) kann dann mit `git remote set-url origin gitea@git.freifunk-franken.de:meinname/firmware.git` in das lokale Repository eingetragen werden. Danach kann der weiter oben erstellte Branch mit `git push origin mein-neues-feature` in den Fork hochgeladen werden. Nun kann der Pull Request im Freifunk Franken Repository [angelegt](https://git.freifunk-franken.de/freifunk-franken/firmware/pulls) werden.
|
||||||
|
|
||||||
|
Soll der Pull Request später geändert werden, dann müssen zunächst die nötigen Änderungen gemacht und danach mit `git commit --amend` in den bereits bestehenden Commit eingefügt werden. Dies kann dann mit `git push --force origin mein-neues-feature` in den Fork hochgeladen werden. Force ist hierbei nötig, da bereits bestehende Commits geändert werden. Der Pull Request wird dann automatisch aktualisiert. Um Reviews zu erleichtern sollten die Änderungen im Pull Request als Kommentar beschrieben werden.
|
||||||
|
|
||||||
### Patch schicken
|
|
||||||
Auf der Mailingliste franken-dev@freifunk.net kannst du natürlich jederzeit Fragen stellen, falls etwas nicht klar sein sollte.
|
Auf der Mailingliste franken-dev@freifunk.net kannst du natürlich jederzeit Fragen stellen, falls etwas nicht klar sein sollte.
|
||||||
|
|
||||||
## Hinzufügen von Paketen zum Image
|
## Hinzufügen von Paketen zum Image
|
||||||
|
|
|
@ -5,6 +5,7 @@ images=("openwrt-${chipset}-${subtarget}-glinet_gl-ar150-squashfs-*"
|
||||||
"openwrt-${chipset}-${subtarget}-tplink_archer-c60-v1-squashfs-*"
|
"openwrt-${chipset}-${subtarget}-tplink_archer-c60-v1-squashfs-*"
|
||||||
"openwrt-${chipset}-${subtarget}-tplink_archer-c60-v2-squashfs-*"
|
"openwrt-${chipset}-${subtarget}-tplink_archer-c60-v2-squashfs-*"
|
||||||
"openwrt-${chipset}-${subtarget}-tplink_archer-c7-v2-squashfs-*"
|
"openwrt-${chipset}-${subtarget}-tplink_archer-c7-v2-squashfs-*"
|
||||||
|
"openwrt-${chipset}-${subtarget}-tplink_archer-c7-v4-squashfs-*"
|
||||||
"openwrt-${chipset}-${subtarget}-tplink_archer-c7-v5-squashfs-*"
|
"openwrt-${chipset}-${subtarget}-tplink_archer-c7-v5-squashfs-*"
|
||||||
"openwrt-${chipset}-${subtarget}-tplink_cpe210-v1-squashfs-*"
|
"openwrt-${chipset}-${subtarget}-tplink_cpe210-v1-squashfs-*"
|
||||||
"openwrt-${chipset}-${subtarget}-tplink_cpe210-v2-squashfs-*"
|
"openwrt-${chipset}-${subtarget}-tplink_cpe210-v2-squashfs-*"
|
||||||
|
@ -14,19 +15,11 @@ images=("openwrt-${chipset}-${subtarget}-glinet_gl-ar150-squashfs-*"
|
||||||
"openwrt-${chipset}-${subtarget}-tplink_tl-wdr3600-v1-squashfs-*"
|
"openwrt-${chipset}-${subtarget}-tplink_tl-wdr3600-v1-squashfs-*"
|
||||||
"openwrt-${chipset}-${subtarget}-tplink_tl-wdr4300-v1-squashfs-*"
|
"openwrt-${chipset}-${subtarget}-tplink_tl-wdr4300-v1-squashfs-*"
|
||||||
"openwrt-${chipset}-${subtarget}-tplink_tl-wdr4310-v1-squashfs-*"
|
"openwrt-${chipset}-${subtarget}-tplink_tl-wdr4310-v1-squashfs-*"
|
||||||
"openwrt-${chipset}-${subtarget}-tplink_tl-wr1043nd-v1-squashfs-*"
|
|
||||||
"openwrt-${chipset}-${subtarget}-tplink_tl-wr1043nd-v2-squashfs-*"
|
"openwrt-${chipset}-${subtarget}-tplink_tl-wr1043nd-v2-squashfs-*"
|
||||||
"openwrt-${chipset}-${subtarget}-tplink_tl-wr1043nd-v3-squashfs-*"
|
"openwrt-${chipset}-${subtarget}-tplink_tl-wr1043nd-v3-squashfs-*"
|
||||||
"openwrt-${chipset}-${subtarget}-tplink_tl-wr1043nd-v4-squashfs-*"
|
"openwrt-${chipset}-${subtarget}-tplink_tl-wr1043nd-v4-squashfs-*"
|
||||||
"openwrt-${chipset}-${subtarget}-tplink_tl-wr1043n-v5-squashfs-*"
|
"openwrt-${chipset}-${subtarget}-tplink_tl-wr1043n-v5-squashfs-*"
|
||||||
"openwrt-${chipset}-${subtarget}-tplink_tl-wr710n-v1-squashfs-*"
|
|
||||||
"openwrt-${chipset}-${subtarget}-tplink_tl-wr842n-v2-squashfs-*"
|
|
||||||
"openwrt-${chipset}-${subtarget}-ubnt_bullet-m-ar7240-squashfs-*"
|
|
||||||
"openwrt-${chipset}-${subtarget}-ubnt_bullet-m-ar7241-squashfs-*"
|
|
||||||
"openwrt-${chipset}-${subtarget}-ubnt_nanostation-loco-m-squashfs-*"
|
|
||||||
"openwrt-${chipset}-${subtarget}-ubnt_nanostation-loco-m-xw-squashfs-*"
|
"openwrt-${chipset}-${subtarget}-ubnt_nanostation-loco-m-xw-squashfs-*"
|
||||||
"openwrt-${chipset}-${subtarget}-ubnt_nanostation-m-squashfs-*"
|
"openwrt-${chipset}-${subtarget}-ubnt_unifi-ap-squashfs-*"
|
||||||
"openwrt-${chipset}-${subtarget}-ubnt_picostation-m-squashfs-*"
|
|
||||||
"openwrt-${chipset}-${subtarget}-ubnt_unifi-squashfs-*"
|
|
||||||
"openwrt-${chipset}-${subtarget}-ubnt_unifiac-mesh-squashfs-*"
|
"openwrt-${chipset}-${subtarget}-ubnt_unifiac-mesh-squashfs-*"
|
||||||
)
|
)
|
||||||
|
|
|
@ -7,13 +7,15 @@ CONFIG_TARGET_MULTI_PROFILE=y
|
||||||
CONFIG_TARGET_DEVICE_ath79_generic_DEVICE_glinet_gl-ar150=y
|
CONFIG_TARGET_DEVICE_ath79_generic_DEVICE_glinet_gl-ar150=y
|
||||||
CONFIG_TARGET_DEVICE_PACKAGES_ath79_generic_DEVICE_glinet_gl-ar150=""
|
CONFIG_TARGET_DEVICE_PACKAGES_ath79_generic_DEVICE_glinet_gl-ar150=""
|
||||||
CONFIG_TARGET_DEVICE_ath79_generic_DEVICE_tplink_archer-c25-v1=y
|
CONFIG_TARGET_DEVICE_ath79_generic_DEVICE_tplink_archer-c25-v1=y
|
||||||
CONFIG_TARGET_DEVICE_PACKAGES_ath79_generic_DEVICE_tplink_archer-c25-v1="-kmod-ath10k-ct-smallbuffers kmod-ath10k -ath10k-firmware-qca9887-ct ath10k-firmware-qca9887"
|
CONFIG_TARGET_DEVICE_PACKAGES_ath79_generic_DEVICE_tplink_archer-c25-v1="-kmod-ath10k-ct-smallbuffers kmod-ath10k-smallbuffers -ath10k-firmware-qca9887-ct ath10k-firmware-qca9887"
|
||||||
CONFIG_TARGET_DEVICE_ath79_generic_DEVICE_tplink_archer-c60-v1=y
|
CONFIG_TARGET_DEVICE_ath79_generic_DEVICE_tplink_archer-c60-v1=y
|
||||||
CONFIG_TARGET_DEVICE_PACKAGES_ath79_generic_DEVICE_tplink_archer-c60-v1="-kmod-ath10k-ct-smallbuffers kmod-ath10k -ath10k-firmware-qca9888-ct ath10k-firmware-qca9888"
|
CONFIG_TARGET_DEVICE_PACKAGES_ath79_generic_DEVICE_tplink_archer-c60-v1="-kmod-ath10k-ct-smallbuffers kmod-ath10k-smallbuffers -ath10k-firmware-qca9888-ct ath10k-firmware-qca9888"
|
||||||
CONFIG_TARGET_DEVICE_ath79_generic_DEVICE_tplink_archer-c60-v2=y
|
CONFIG_TARGET_DEVICE_ath79_generic_DEVICE_tplink_archer-c60-v2=y
|
||||||
CONFIG_TARGET_DEVICE_PACKAGES_ath79_generic_DEVICE_tplink_archer-c60-v2="-kmod-ath10k-ct-smallbuffers kmod-ath10k -ath10k-firmware-qca9888-ct ath10k-firmware-qca9888"
|
CONFIG_TARGET_DEVICE_PACKAGES_ath79_generic_DEVICE_tplink_archer-c60-v2="-kmod-ath10k-ct-smallbuffers kmod-ath10k-smallbuffers -ath10k-firmware-qca9888-ct ath10k-firmware-qca9888"
|
||||||
CONFIG_TARGET_DEVICE_ath79_generic_DEVICE_tplink_archer-c7-v2=y
|
CONFIG_TARGET_DEVICE_ath79_generic_DEVICE_tplink_archer-c7-v2=y
|
||||||
CONFIG_TARGET_DEVICE_PACKAGES_ath79_generic_DEVICE_tplink_archer-c7-v2="-kmod-ath10k-ct kmod-ath10k -ath10k-firmware-qca988x-ct ath10k-firmware-qca988x"
|
CONFIG_TARGET_DEVICE_PACKAGES_ath79_generic_DEVICE_tplink_archer-c7-v2="-kmod-ath10k-ct kmod-ath10k -ath10k-firmware-qca988x-ct ath10k-firmware-qca988x"
|
||||||
|
CONFIG_TARGET_DEVICE_ath79_generic_DEVICE_tplink_archer-c7-v4=y
|
||||||
|
CONFIG_TARGET_DEVICE_PACKAGES_ath79_generic_DEVICE_tplink_archer-c7-v4="-kmod-ath10k-ct kmod-ath10k -ath10k-firmware-qca988x-ct ath10k-firmware-qca988x"
|
||||||
CONFIG_TARGET_DEVICE_ath79_generic_DEVICE_tplink_archer-c7-v5=y
|
CONFIG_TARGET_DEVICE_ath79_generic_DEVICE_tplink_archer-c7-v5=y
|
||||||
CONFIG_TARGET_DEVICE_PACKAGES_ath79_generic_DEVICE_tplink_archer-c7-v5="-kmod-ath10k-ct kmod-ath10k -ath10k-firmware-qca988x-ct ath10k-firmware-qca988x"
|
CONFIG_TARGET_DEVICE_PACKAGES_ath79_generic_DEVICE_tplink_archer-c7-v5="-kmod-ath10k-ct kmod-ath10k -ath10k-firmware-qca988x-ct ath10k-firmware-qca988x"
|
||||||
CONFIG_TARGET_DEVICE_ath79_generic_DEVICE_tplink_cpe210-v1=y
|
CONFIG_TARGET_DEVICE_ath79_generic_DEVICE_tplink_cpe210-v1=y
|
||||||
|
@ -58,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_PACKAGES_ath79_generic_DEVICE_ubnt_nanostation-m="-rssileds"
|
||||||
CONFIG_TARGET_DEVICE_ath79_generic_DEVICE_ubnt_picostation-m=y
|
CONFIG_TARGET_DEVICE_ath79_generic_DEVICE_ubnt_picostation-m=y
|
||||||
CONFIG_TARGET_DEVICE_PACKAGES_ath79_generic_DEVICE_ubnt_picostation-m="-rssileds"
|
CONFIG_TARGET_DEVICE_PACKAGES_ath79_generic_DEVICE_ubnt_picostation-m="-rssileds"
|
||||||
CONFIG_TARGET_DEVICE_ath79_generic_DEVICE_ubnt_unifi=y
|
CONFIG_TARGET_DEVICE_ath79_generic_DEVICE_ubnt_unifi-ap=y
|
||||||
CONFIG_TARGET_DEVICE_PACKAGES_ath79_generic_DEVICE_ubnt_unifi=""
|
CONFIG_TARGET_DEVICE_PACKAGES_ath79_generic_DEVICE_ubnt_unifi-ap=""
|
||||||
CONFIG_TARGET_DEVICE_ath79_generic_DEVICE_ubnt_unifiac-mesh=y
|
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_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
|
CONFIG_BUSYBOX_CUSTOM=y
|
||||||
|
@ -83,11 +85,17 @@ CONFIG_KERNEL_SQUASHFS_FRAGMENT_CACHE_SIZE=1
|
||||||
CONFIG_PACKAGE_hostapd-mini=y
|
CONFIG_PACKAGE_hostapd-mini=y
|
||||||
CONFIG_PACKAGE_iwinfo=m
|
CONFIG_PACKAGE_iwinfo=m
|
||||||
CONFIG_PACKAGE_libiwinfo=m
|
CONFIG_PACKAGE_libiwinfo=m
|
||||||
|
CONFIG_PACKAGE_libuclient=m
|
||||||
|
CONFIG_PACKAGE_libwolfssl=m
|
||||||
CONFIG_PACKAGE_opkg=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_wpad-mini=m
|
||||||
CONFIG_PACKAGE_ath10k-firmware-qca9887=m
|
CONFIG_PACKAGE_ath10k-firmware-qca9887=m
|
||||||
CONFIG_PACKAGE_ath10k-firmware-qca9888=m
|
CONFIG_PACKAGE_ath10k-firmware-qca9888=m
|
||||||
CONFIG_PACKAGE_ath10k-firmware-qca988x=m
|
CONFIG_PACKAGE_ath10k-firmware-qca988x=m
|
||||||
|
CONFIG_PACKAGE_kmod-ath10k-smallbuffers=m
|
||||||
CONFIG_PACKAGE_kmod-ath10k=m
|
CONFIG_PACKAGE_kmod-ath10k=m
|
||||||
CONFIG_PACKAGE_ath10k-firmware-qca9887-ct=m
|
CONFIG_PACKAGE_ath10k-firmware-qca9887-ct=m
|
||||||
CONFIG_PACKAGE_ath10k-firmware-qca9888-ct=m
|
CONFIG_PACKAGE_ath10k-firmware-qca9888-ct=m
|
||||||
|
@ -95,3 +103,9 @@ CONFIG_PACKAGE_ath10k-firmware-qca988x-ct=m
|
||||||
CONFIG_PACKAGE_kmod-ath10k-ct-smallbuffers=m
|
CONFIG_PACKAGE_kmod-ath10k-ct-smallbuffers=m
|
||||||
CONFIG_PACKAGE_kmod-ath10k-ct=m
|
CONFIG_PACKAGE_kmod-ath10k-ct=m
|
||||||
CONFIG_STRIP_KERNEL_EXPORTS=y
|
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
|
||||||
|
|
|
@ -1,16 +0,0 @@
|
||||||
chipset=ath79
|
|
||||||
subtarget=tiny
|
|
||||||
images=("openwrt-${chipset}-${subtarget}-tplink_tl-mr3020-v1-squashfs-*"
|
|
||||||
"openwrt-${chipset}-${subtarget}-tplink_tl-wa850re-v1-squashfs-*"
|
|
||||||
"openwrt-${chipset}-${subtarget}-tplink_tl-wa860re-v1-squashfs-*"
|
|
||||||
"openwrt-${chipset}-${subtarget}-tplink_tl-wa901nd-v2-squashfs-*"
|
|
||||||
"openwrt-${chipset}-${subtarget}-tplink_tl-wr740n-v4-squashfs-*"
|
|
||||||
"openwrt-${chipset}-${subtarget}-tplink_tl-wr741-v1-squashfs-*"
|
|
||||||
"openwrt-${chipset}-${subtarget}-tplink_tl-wr741nd-v4-squashfs-*"
|
|
||||||
"openwrt-${chipset}-${subtarget}-tplink_tl-wr841-v7-squashfs-*"
|
|
||||||
"openwrt-${chipset}-${subtarget}-tplink_tl-wr841-v8-squashfs-*"
|
|
||||||
"openwrt-${chipset}-${subtarget}-tplink_tl-wr841-v9-squashfs-*"
|
|
||||||
"openwrt-${chipset}-${subtarget}-tplink_tl-wr841-v10-squashfs-*"
|
|
||||||
"openwrt-${chipset}-${subtarget}-tplink_tl-wr841-v11-squashfs-*"
|
|
||||||
"openwrt-${chipset}-${subtarget}-tplink_tl-wr841-v12-squashfs-*"
|
|
||||||
)
|
|
|
@ -1,56 +0,0 @@
|
||||||
# Generated using "./buildscript config openwrt".
|
|
||||||
# Do no edit manually
|
|
||||||
#
|
|
||||||
CONFIG_TARGET_ath79=y
|
|
||||||
CONFIG_TARGET_ath79_tiny=y
|
|
||||||
CONFIG_TARGET_MULTI_PROFILE=y
|
|
||||||
CONFIG_TARGET_DEVICE_ath79_tiny_DEVICE_tplink_tl-mr3020-v1=y
|
|
||||||
CONFIG_TARGET_DEVICE_PACKAGES_ath79_tiny_DEVICE_tplink_tl-mr3020-v1="-uboot-envtools -kmod-usb-core -kmod-usb-chipidea2 -kmod-usb-ledtrig-usbport"
|
|
||||||
CONFIG_TARGET_DEVICE_ath79_tiny_DEVICE_tplink_tl-wa850re-v1=y
|
|
||||||
CONFIG_TARGET_DEVICE_PACKAGES_ath79_tiny_DEVICE_tplink_tl-wa850re-v1="-uboot-envtools -rssileds"
|
|
||||||
CONFIG_TARGET_DEVICE_ath79_tiny_DEVICE_tplink_tl-wa860re-v1=y
|
|
||||||
CONFIG_TARGET_DEVICE_PACKAGES_ath79_tiny_DEVICE_tplink_tl-wa860re-v1="-uboot-envtools"
|
|
||||||
CONFIG_TARGET_DEVICE_ath79_tiny_DEVICE_tplink_tl-wa901nd-v2=y
|
|
||||||
CONFIG_TARGET_DEVICE_PACKAGES_ath79_tiny_DEVICE_tplink_tl-wa901nd-v2="-uboot-envtools"
|
|
||||||
CONFIG_TARGET_DEVICE_ath79_tiny_DEVICE_tplink_tl-wr740n-v4=y
|
|
||||||
CONFIG_TARGET_DEVICE_PACKAGES_ath79_tiny_DEVICE_tplink_tl-wr740n-v4="-uboot-envtools"
|
|
||||||
CONFIG_TARGET_DEVICE_ath79_tiny_DEVICE_tplink_tl-wr741-v1=y
|
|
||||||
CONFIG_TARGET_DEVICE_PACKAGES_ath79_tiny_DEVICE_tplink_tl-wr741-v1="-uboot-envtools"
|
|
||||||
CONFIG_TARGET_DEVICE_ath79_tiny_DEVICE_tplink_tl-wr741nd-v4=y
|
|
||||||
CONFIG_TARGET_DEVICE_PACKAGES_ath79_tiny_DEVICE_tplink_tl-wr741nd-v4="-uboot-envtools"
|
|
||||||
CONFIG_TARGET_DEVICE_ath79_tiny_DEVICE_tplink_tl-wr841-v7=y
|
|
||||||
CONFIG_TARGET_DEVICE_PACKAGES_ath79_tiny_DEVICE_tplink_tl-wr841-v7="-uboot-envtools"
|
|
||||||
CONFIG_TARGET_DEVICE_ath79_tiny_DEVICE_tplink_tl-wr841-v8=y
|
|
||||||
CONFIG_TARGET_DEVICE_PACKAGES_ath79_tiny_DEVICE_tplink_tl-wr841-v8="-uboot-envtools"
|
|
||||||
CONFIG_TARGET_DEVICE_ath79_tiny_DEVICE_tplink_tl-wr841-v9=y
|
|
||||||
CONFIG_TARGET_DEVICE_PACKAGES_ath79_tiny_DEVICE_tplink_tl-wr841-v9="-uboot-envtools"
|
|
||||||
CONFIG_TARGET_DEVICE_ath79_tiny_DEVICE_tplink_tl-wr841-v10=y
|
|
||||||
CONFIG_TARGET_DEVICE_PACKAGES_ath79_tiny_DEVICE_tplink_tl-wr841-v10="-uboot-envtools"
|
|
||||||
CONFIG_TARGET_DEVICE_ath79_tiny_DEVICE_tplink_tl-wr841-v11=y
|
|
||||||
CONFIG_TARGET_DEVICE_PACKAGES_ath79_tiny_DEVICE_tplink_tl-wr841-v11="-uboot-envtools"
|
|
||||||
CONFIG_TARGET_DEVICE_ath79_tiny_DEVICE_tplink_tl-wr841-v12=y
|
|
||||||
CONFIG_TARGET_DEVICE_PACKAGES_ath79_tiny_DEVICE_tplink_tl-wr841-v12="-uboot-envtools"
|
|
||||||
CONFIG_BUSYBOX_CUSTOM=y
|
|
||||||
CONFIG_TARGET_PER_DEVICE_ROOTFS=y
|
|
||||||
# CONFIG_BUSYBOX_CONFIG_BRCTL 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_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_KERNEL_SQUASHFS_FRAGMENT_CACHE_SIZE=1
|
|
||||||
# CONFIG_PACKAGE_ALFRED_VIS is not set
|
|
||||||
CONFIG_PACKAGE_hostapd-mini=y
|
|
||||||
CONFIG_PACKAGE_iwinfo=m
|
|
||||||
CONFIG_PACKAGE_libiwinfo=m
|
|
||||||
CONFIG_PACKAGE_opkg=m
|
|
||||||
CONFIG_PACKAGE_wpad-mini=m
|
|
||||||
CONFIG_STRIP_KERNEL_EXPORTS=y
|
|
|
@ -26,4 +26,4 @@ alias ls='ls --color=auto'
|
||||||
alias ip='ip --color=auto'
|
alias ip='ip --color=auto'
|
||||||
|
|
||||||
# and color my prompt
|
# 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\]\$ '
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
/tmp/.ash_history
|
|
@ -18,8 +18,15 @@ CONFIG_CLEAN_IPKG=y
|
||||||
# CONFIG_PACKAGE_ALFRED_VIS is not set
|
# CONFIG_PACKAGE_ALFRED_VIS is not set
|
||||||
CONFIG_PACKAGE_ath10k-firmware-qca4019=m
|
CONFIG_PACKAGE_ath10k-firmware-qca4019=m
|
||||||
CONFIG_PACKAGE_ath10k-firmware-qca4019-ct=m
|
CONFIG_PACKAGE_ath10k-firmware-qca4019-ct=m
|
||||||
|
CONFIG_PACKAGE_fff-extra=y
|
||||||
CONFIG_PACKAGE_kmod-ath10k=m
|
CONFIG_PACKAGE_kmod-ath10k=m
|
||||||
CONFIG_PACKAGE_kmod-ath10k-ct=m
|
CONFIG_PACKAGE_kmod-ath10k-ct=m
|
||||||
|
CONFIG_PACKAGE_libuclient=m
|
||||||
|
CONFIG_PACKAGE_libwolfssl=m
|
||||||
CONFIG_PACKAGE_opkg=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_STRIP_KERNEL_EXPORTS=y
|
||||||
CONFIG_PACKAGE_kmod-hwmon-core=y
|
CONFIG_PACKAGE_kmod-hwmon-core=y
|
||||||
|
# CONFIG_HTOP_LMSENSORS is not set
|
||||||
|
|
|
@ -23,9 +23,20 @@ CONFIG_CLEAN_IPKG=y
|
||||||
# CONFIG_FASTD_ENABLE_METHOD_GENERIC_GMAC is not set
|
# CONFIG_FASTD_ENABLE_METHOD_GENERIC_GMAC is not set
|
||||||
# CONFIG_FASTD_ENABLE_METHOD_GENERIC_UMAC is not set
|
# CONFIG_FASTD_ENABLE_METHOD_GENERIC_UMAC is not set
|
||||||
# CONFIG_PACKAGE_ALFRED_VIS 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_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_ath10k-firmware-qca99x0=m
|
||||||
CONFIG_PACKAGE_kmod-ath10k=y
|
CONFIG_PACKAGE_kmod-ath10k=y
|
||||||
CONFIG_PACKAGE_ath10k-firmware-qca99x0-ct=m
|
CONFIG_PACKAGE_ath10k-firmware-qca99x0-ct=m
|
||||||
CONFIG_PACKAGE_kmod-ath10k-ct=m
|
CONFIG_PACKAGE_kmod-ath10k-ct=m
|
||||||
CONFIG_STRIP_KERNEL_EXPORTS=y
|
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,6 +23,17 @@ CONFIG_CLEAN_IPKG=y
|
||||||
# CONFIG_FASTD_ENABLE_METHOD_GENERIC_GMAC is not set
|
# CONFIG_FASTD_ENABLE_METHOD_GENERIC_GMAC is not set
|
||||||
# CONFIG_FASTD_ENABLE_METHOD_GENERIC_UMAC is not set
|
# CONFIG_FASTD_ENABLE_METHOD_GENERIC_UMAC is not set
|
||||||
# CONFIG_PACKAGE_ALFRED_VIS 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_opkg=m
|
||||||
|
CONFIG_PACKAGE_wpad-basic=y
|
||||||
|
CONFIG_PACKAGE_uclient-fetch=m
|
||||||
|
CONFIG_PACKAGE_wpad-basic-wolfssl=m
|
||||||
CONFIG_STRIP_KERNEL_EXPORTS=y
|
CONFIG_STRIP_KERNEL_EXPORTS=y
|
||||||
CONFIG_TARGET_SQUASHFS_BLOCK_SIZE=512
|
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
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
chipset=mvebu
|
||||||
|
subtarget=cortexa72
|
||||||
|
|
||||||
|
images=(
|
||||||
|
"openwrt-mvebu-cortexa72-mikrotik_rb5009-squashfs*"
|
||||||
|
)
|
|
@ -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
|
|
@ -1,5 +1,6 @@
|
||||||
chipset=octeon
|
chipset=octeon
|
||||||
|
subtarget=generic
|
||||||
|
|
||||||
images=(
|
images=(
|
||||||
"openwrt-${chipset}-ubnt_edgerouter-4-*"
|
"openwrt-${chipset}-${subtarget}-ubnt_edgerouter-4-*"
|
||||||
)
|
)
|
||||||
|
|
|
@ -2,10 +2,10 @@
|
||||||
# Do no edit manually
|
# Do no edit manually
|
||||||
#
|
#
|
||||||
CONFIG_TARGET_octeon=y
|
CONFIG_TARGET_octeon=y
|
||||||
|
CONFIG_TARGET_octeon_generic=y
|
||||||
CONFIG_TARGET_MULTI_PROFILE=y
|
CONFIG_TARGET_MULTI_PROFILE=y
|
||||||
CONFIG_TARGET_PER_DEVICE_ROOTFS=y
|
CONFIG_TARGET_DEVICE_octeon_generic_DEVICE_ubnt_edgerouter-4=y
|
||||||
CONFIG_TARGET_DEVICE_octeon_DEVICE_ubnt_edgerouter-4=y
|
CONFIG_TARGET_DEVICE_PACKAGES_octeon_generic_DEVICE_ubnt_edgerouter-4=""
|
||||||
CONFIG_TARGET_DEVICE_PACKAGES_octeon_DEVICE_ubnt_edgerouter-4=""
|
|
||||||
CONFIG_BUSYBOX_CUSTOM=y
|
CONFIG_BUSYBOX_CUSTOM=y
|
||||||
CONFIG_TARGET_PER_DEVICE_ROOTFS=y
|
CONFIG_TARGET_PER_DEVICE_ROOTFS=y
|
||||||
# CONFIG_BUSYBOX_CONFIG_BRCTL is not set
|
# CONFIG_BUSYBOX_CONFIG_BRCTL is not set
|
||||||
|
@ -16,6 +16,17 @@ CONFIG_TARGET_PER_DEVICE_ROOTFS=y
|
||||||
CONFIG_CLEAN_IPKG=y
|
CONFIG_CLEAN_IPKG=y
|
||||||
# CONFIG_DROPBEAR_CURVE25519 is not set
|
# CONFIG_DROPBEAR_CURVE25519 is not set
|
||||||
# CONFIG_PACKAGE_ALFRED_VIS 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_opkg=m
|
||||||
|
CONFIG_PACKAGE_wpad-basic=y
|
||||||
|
CONFIG_PACKAGE_uclient-fetch=m
|
||||||
|
CONFIG_PACKAGE_wpad-basic-wolfssl=m
|
||||||
CONFIG_STRIP_KERNEL_EXPORTS=y
|
CONFIG_STRIP_KERNEL_EXPORTS=y
|
||||||
CONFIG_TARGET_SQUASHFS_BLOCK_SIZE=512
|
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,6 +29,17 @@ CONFIG_CLEAN_IPKG=y
|
||||||
# CONFIG_FASTD_ENABLE_METHOD_GENERIC_GMAC is not set
|
# CONFIG_FASTD_ENABLE_METHOD_GENERIC_GMAC is not set
|
||||||
# CONFIG_FASTD_ENABLE_METHOD_GENERIC_UMAC is not set
|
# CONFIG_FASTD_ENABLE_METHOD_GENERIC_UMAC is not set
|
||||||
# CONFIG_PACKAGE_ALFRED_VIS 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_opkg=m
|
||||||
|
CONFIG_PACKAGE_wpad-basic=y
|
||||||
|
CONFIG_PACKAGE_uclient-fetch=m
|
||||||
|
CONFIG_PACKAGE_wpad-basic-wolfssl=m
|
||||||
CONFIG_STRIP_KERNEL_EXPORTS=y
|
CONFIG_STRIP_KERNEL_EXPORTS=y
|
||||||
CONFIG_TARGET_SQUASHFS_BLOCK_SIZE=512
|
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_archer-c50-v4-squashfs-*"
|
||||||
"openwrt-${chipset}-${subtarget}-tplink_tl-wr841n-v13-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-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_PACKAGES_ramips_mt76x8_DEVICE_tplink_tl-wr841n-v13=""
|
||||||
CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_xiaomi_mi-router-4a-100m=y
|
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_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_BUSYBOX_CUSTOM=y
|
||||||
CONFIG_TARGET_PER_DEVICE_ROOTFS=y
|
CONFIG_TARGET_PER_DEVICE_ROOTFS=y
|
||||||
# CONFIG_BUSYBOX_CONFIG_BRCTL is not set
|
# CONFIG_BUSYBOX_CONFIG_BRCTL is not set
|
||||||
|
@ -29,5 +31,15 @@ CONFIG_CLEAN_IPKG=y
|
||||||
# CONFIG_FASTD_ENABLE_METHOD_GENERIC_GMAC is not set
|
# CONFIG_FASTD_ENABLE_METHOD_GENERIC_GMAC is not set
|
||||||
# CONFIG_FASTD_ENABLE_METHOD_GENERIC_UMAC is not set
|
# CONFIG_FASTD_ENABLE_METHOD_GENERIC_UMAC is not set
|
||||||
# CONFIG_PACKAGE_ALFRED_VIS is not set
|
# CONFIG_PACKAGE_ALFRED_VIS is not set
|
||||||
|
CONFIG_PACKAGE_libuclient=m
|
||||||
|
CONFIG_PACKAGE_libwolfssl=m
|
||||||
CONFIG_PACKAGE_opkg=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_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
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
chipset=x86
|
||||||
|
subtarget=64
|
||||||
|
images=("openwrt-${chipset}-${subtarget}-generic-squashfs-combined-*"
|
||||||
|
)
|
|
@ -0,0 +1,31 @@
|
||||||
|
# Generated using "./buildscript config openwrt".
|
||||||
|
# Do no edit manually
|
||||||
|
#
|
||||||
|
CONFIG_TARGET_x86=y
|
||||||
|
CONFIG_TARGET_x86_64=y
|
||||||
|
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
|
||||||
|
# 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_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
|
files listed in /etc/sysupgrade.conf
|
||||||
|
|
||||||
diff --git a/package/base-files/files/sbin/sysupgrade b/package/base-files/files/sbin/sysupgrade
|
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
|
--- a/package/base-files/files/sbin/sysupgrade
|
||||||
+++ b/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
|
local filter=$1
|
||||||
|
|
||||||
find $(sed -ne '/^[[:space:]]*$/d; /^#/d; p' \
|
find $(sed -ne '/^[[:space:]]*$/d; /^#/d; p' \
|
||||||
|
|
|
@ -3,11 +3,11 @@ Date: Sat, 8 Jul 2017 10:47:28 +0200
|
||||||
Subject: set root password
|
Subject: set root password
|
||||||
|
|
||||||
diff --git a/package/base-files/files/etc/shadow b/package/base-files/files/etc/shadow
|
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
|
--- a/package/base-files/files/etc/shadow
|
||||||
+++ b/package/base-files/files/etc/shadow
|
+++ b/package/base-files/files/etc/shadow
|
||||||
@@ -1,4 +1,4 @@
|
@@ -1,4 +1,4 @@
|
||||||
-root::0:0:99999:7:::
|
-root:::0:99999:7:::
|
||||||
+root:$1$OmvoKpjK$e.lPVnBxsrAbNV4EoH3xb1:0:0:99999:7:::
|
+root:$1$OmvoKpjK$e.lPVnBxsrAbNV4EoH3xb1:0:0:99999:7:::
|
||||||
daemon:*:0:0:99999:7:::
|
daemon:*:0:0:99999:7:::
|
||||||
ftp:*:0:0:99999:7:::
|
ftp:*:0:0:99999:7:::
|
||||||
|
|
|
@ -5,13 +5,12 @@ Subject: build: remove libustream and certs from default packages
|
||||||
This effectively reverts upstream commit e79df3516d3e ("build: add
|
This effectively reverts upstream commit e79df3516d3e ("build: add
|
||||||
libustream and certs to default pkgs").
|
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>
|
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
|
diff --git a/include/target.mk b/include/target.mk
|
||||||
index 7526224972e18148fec8a12318ca7f90a382475f..338e97f836759fc454986210e5818ad390ba6efb 100644
|
index b5e3e7ff6f..2324b6cc11 100644
|
||||||
--- a/include/target.mk
|
--- a/include/target.mk
|
||||||
+++ b/include/target.mk
|
+++ b/include/target.mk
|
||||||
@@ -12,12 +12,10 @@ DEVICE_TYPE?=router
|
@@ -12,12 +12,10 @@ DEVICE_TYPE?=router
|
||||||
|
@ -23,7 +22,7 @@ index 7526224972e18148fec8a12318ca7f90a382475f..338e97f836759fc454986210e5818ad3
|
||||||
fstools \
|
fstools \
|
||||||
libc \
|
libc \
|
||||||
libgcc \
|
libgcc \
|
||||||
- libustream-wolfssl \
|
- libustream-mbedtls \
|
||||||
logd \
|
logd \
|
||||||
mtd \
|
mtd \
|
||||||
netifd \
|
netifd \
|
||||||
|
|
|
@ -1,72 +0,0 @@
|
||||||
From: Adrian Schmutzler <freifunk@adrianschmutzler.de>
|
|
||||||
Date: Wed, 10 Feb 2021 22:53:00 +0100
|
|
||||||
Subject: mac80211: add back ath10k_pci memory hacks
|
|
||||||
|
|
||||||
These hacks have been removed in commit 1e27befe63ff ("mac80211: remove
|
|
||||||
ath10k_pci memory hacks").
|
|
||||||
|
|
||||||
However, since we still use mainline ath10k, we will need them.
|
|
||||||
|
|
||||||
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
|
|
||||||
|
|
||||||
diff --git a/package/kernel/mac80211/patches/ath/960-ath10k-limit-htt-rx-ring-size.patch b/package/kernel/mac80211/patches/ath/960-ath10k-limit-htt-rx-ring-size.patch
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000000000000000000000000000000000000..e907c7ab73677a3db928ef3620d77bf22a4d752a
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/package/kernel/mac80211/patches/ath/960-ath10k-limit-htt-rx-ring-size.patch
|
|
||||||
@@ -0,0 +1,11 @@
|
|
||||||
+--- a/drivers/net/wireless/ath/ath10k/htt.h
|
|
||||||
++++ b/drivers/net/wireless/ath/ath10k/htt.h
|
|
||||||
+@@ -236,7 +236,7 @@ enum htt_rx_ring_flags {
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ #define HTT_RX_RING_SIZE_MIN 128
|
|
||||||
+-#define HTT_RX_RING_SIZE_MAX 2048
|
|
||||||
++#define HTT_RX_RING_SIZE_MAX 512
|
|
||||||
+ #define HTT_RX_RING_SIZE HTT_RX_RING_SIZE_MAX
|
|
||||||
+ #define HTT_RX_RING_FILL_LEVEL (((HTT_RX_RING_SIZE) / 2) - 1)
|
|
||||||
+ #define HTT_RX_RING_FILL_LEVEL_DUAL_MAC (HTT_RX_RING_SIZE - 1)
|
|
||||||
diff --git a/package/kernel/mac80211/patches/ath/961-ath10k-limit-pci-buffer-size.patch b/package/kernel/mac80211/patches/ath/961-ath10k-limit-pci-buffer-size.patch
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000000000000000000000000000000000000..b5e5c3a9bb00a407096936ece1916e331e0164f5
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/package/kernel/mac80211/patches/ath/961-ath10k-limit-pci-buffer-size.patch
|
|
||||||
@@ -0,0 +1,38 @@
|
|
||||||
+--- a/drivers/net/wireless/ath/ath10k/pci.c
|
|
||||||
++++ b/drivers/net/wireless/ath/ath10k/pci.c
|
|
||||||
+@@ -131,7 +131,7 @@ static const struct ce_attr pci_host_ce_
|
|
||||||
+ .flags = CE_ATTR_FLAGS,
|
|
||||||
+ .src_nentries = 0,
|
|
||||||
+ .src_sz_max = 2048,
|
|
||||||
+- .dest_nentries = 512,
|
|
||||||
++ .dest_nentries = 128,
|
|
||||||
+ .recv_cb = ath10k_pci_htt_htc_rx_cb,
|
|
||||||
+ },
|
|
||||||
+
|
|
||||||
+@@ -140,7 +140,7 @@ static const struct ce_attr pci_host_ce_
|
|
||||||
+ .flags = CE_ATTR_FLAGS,
|
|
||||||
+ .src_nentries = 0,
|
|
||||||
+ .src_sz_max = 2048,
|
|
||||||
+- .dest_nentries = 128,
|
|
||||||
++ .dest_nentries = 64,
|
|
||||||
+ .recv_cb = ath10k_pci_htc_rx_cb,
|
|
||||||
+ },
|
|
||||||
+
|
|
||||||
+@@ -167,7 +167,7 @@ static const struct ce_attr pci_host_ce_
|
|
||||||
+ .flags = CE_ATTR_FLAGS,
|
|
||||||
+ .src_nentries = 0,
|
|
||||||
+ .src_sz_max = 512,
|
|
||||||
+- .dest_nentries = 512,
|
|
||||||
++ .dest_nentries = 128,
|
|
||||||
+ .recv_cb = ath10k_pci_htt_rx_cb,
|
|
||||||
+ },
|
|
||||||
+
|
|
||||||
+@@ -192,7 +192,7 @@ static const struct ce_attr pci_host_ce_
|
|
||||||
+ .flags = CE_ATTR_FLAGS,
|
|
||||||
+ .src_nentries = 0,
|
|
||||||
+ .src_sz_max = 2048,
|
|
||||||
+- .dest_nentries = 128,
|
|
||||||
++ .dest_nentries = 96,
|
|
||||||
+ .recv_cb = ath10k_pci_pktlog_rx_cb,
|
|
||||||
+ },
|
|
||||||
+
|
|
|
@ -1,25 +0,0 @@
|
||||||
From: =?UTF-8?q?Fabian=20Bl=C3=A4se?= <fabian@blaese.de>
|
|
||||||
Date: Mon, 19 Jul 2021 21:54:29 +0200
|
|
||||||
Subject: [PATCH] ramips: add missing label-mac-device for Xiaomi Mi Router 4A
|
|
||||||
(100M)
|
|
||||||
|
|
||||||
As both the Mi Router 4A (100M) and the Mi Router 4C use the same
|
|
||||||
label-mac-device, the alias can be moved to the shared dtsi.
|
|
||||||
|
|
||||||
Signed-off-by: Fabian Bläse <fabian@blaese.de>
|
|
||||||
---
|
|
||||||
target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4.dtsi | 1 +
|
|
||||||
1 file changed, 1 insertion(+)
|
|
||||||
|
|
||||||
diff --git a/target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4.dtsi b/target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4.dtsi
|
|
||||||
index 0f5897f5c593..d3f5e33be732 100644
|
|
||||||
--- a/target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4.dtsi
|
|
||||||
+++ b/target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4.dtsi
|
|
||||||
@@ -11,6 +11,7 @@
|
|
||||||
led-failsafe = &led_power_yellow;
|
|
||||||
led-running = &led_power_blue;
|
|
||||||
led-upgrade = &led_power_yellow;
|
|
||||||
+ label-mac-device = ðernet;
|
|
||||||
};
|
|
||||||
|
|
||||||
chosen {
|
|
|
@ -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 +--
|
|
||||||
.../drivers/net/ethernet/qualcomm/essedma/edma.h | 16 ++++++++--------
|
|
||||||
.../linux/ipq40xx/files/drivers/net/phy/ar40xx.c | 2 ++
|
|
||||||
...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 ac11655904..147e159ea1 100755
|
|
||||||
--- a/target/linux/ipq40xx/base-files/etc/board.d/01_leds
|
|
||||||
+++ b/target/linux/ipq40xx/base-files/etc/board.d/01_leds
|
|
||||||
@@ -19,7 +19,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 1d4c78833a..ea2cc60186 100755
|
|
||||||
--- a/target/linux/ipq40xx/base-files/etc/board.d/02_network
|
|
||||||
+++ b/target/linux/ipq40xx/base-files/etc/board.d/02_network
|
|
||||||
@@ -59,9 +59,8 @@ ipq40xx_setup_interfaces()
|
|
||||||
linksys,ea6350v3|\
|
|
||||||
linksys,ea8300|\
|
|
||||||
linksys,mr8300)
|
|
||||||
- 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"
|
|
||||||
;;
|
|
||||||
avm,fritzbox-7530)
|
|
||||||
ucidef_add_switch "switch0" \
|
|
||||||
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/files/drivers/net/phy/ar40xx.c b/target/linux/ipq40xx/files/drivers/net/phy/ar40xx.c
|
|
||||||
index c35ba2799f..0517e4f29e 100644
|
|
||||||
--- a/target/linux/ipq40xx/files/drivers/net/phy/ar40xx.c
|
|
||||||
+++ b/target/linux/ipq40xx/files/drivers/net/phy/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/patches-5.4/711-dts-ipq4019-add-ethernet-essedma-node.patch b/target/linux/ipq40xx/patches-5.4/711-dts-ipq4019-add-ethernet-essedma-node.patch
|
|
||||||
index 7b2ddfe00d..1a01b08e41 100644
|
|
||||||
--- a/target/linux/ipq40xx/patches-5.4/711-dts-ipq4019-add-ethernet-essedma-node.patch
|
|
||||||
+++ b/target/linux/ipq40xx/patches-5.4/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
|
|
@ -0,0 +1,29 @@
|
||||||
|
From: =?UTF-8?q?Fabian=20Bl=C3=A4se?= <fabian@blaese.de>
|
||||||
|
Date: Thu, 24 Feb 2022 00:04:47 +0100
|
||||||
|
Subject: [PATCH] Add hack which fixes forwarding on a stacked bridge
|
||||||
|
configuration using DSA
|
||||||
|
|
||||||
|
---
|
||||||
|
.../999-fix-stacked-bridge-forwarding.patch | 12 ++++++++++++
|
||||||
|
1 file changed, 12 insertions(+)
|
||||||
|
create mode 100644 target/linux/generic/hack-5.15/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.15/999-fix-stacked-bridge-forwarding.patch
|
||||||
|
@@ -0,0 +1,12 @@
|
||||||
|
+--- a/net/bridge/br_input.c
|
||||||
|
++++ b/net/bridge/br_input.c
|
||||||
|
+@@ -52,6 +52,9 @@ static int br_pass_frame_up(struct sk_bu
|
||||||
|
+ return NET_RX_DROP;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
++ /* remove offload flag, so upper bridges do not drop the packet */
|
||||||
|
++ br_switchdev_frame_unmark(skb);
|
||||||
|
++
|
||||||
|
+ indev = skb->dev;
|
||||||
|
+ skb->dev = brdev;
|
||||||
|
+ skb = br_handle_vlan(br, NULL, vg, skb);
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
106
buildscript
106
buildscript
|
@ -7,15 +7,15 @@ set -o pipefail
|
||||||
builddir=./build
|
builddir=./build
|
||||||
|
|
||||||
# OpenWrt: package hashes correspond to core repo version
|
# OpenWrt: package hashes correspond to core repo version
|
||||||
OPENWRTREV="v21.02.0"
|
OPENWRTREV="v23.05.3"
|
||||||
PACKAGEREV="65057dcbb5de371503c9159de3d45824bec482e0"
|
PACKAGEREV="063b2393cbc3e5aab9d2b40b2911cab1c3967c59"
|
||||||
ROUTINGREV="c30c9ffc93702365439a7647244a052531f2e957"
|
ROUTINGREV="648753932d5a7deff7f2bdb33c000018a709ad84"
|
||||||
|
|
||||||
# Gluon packages: master from 2020-02-04
|
# Gluon packages: master from 2020-02-04
|
||||||
GLUONREV="12e41d0ff07ec54bbd67a31ab50d12ca04f2238c"
|
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"
|
ROUTING_PKGS="kmod-batman-adv batctl alfred babeld bird2"
|
||||||
GLUON_PKGS="simple-tc uradvd"
|
GLUON_PKGS="simple-tc uradvd"
|
||||||
|
|
||||||
FFF_VARIANTS="node layer3"
|
FFF_VARIANTS="node layer3"
|
||||||
|
@ -54,29 +54,28 @@ checkout_git(){
|
||||||
|
|
||||||
local MYGIT="git -C $DIRECTORY"
|
local MYGIT="git -C $DIRECTORY"
|
||||||
echo "checking out $REPO_URL to $DIRECTORY in version $COMMITID"
|
echo "checking out $REPO_URL to $DIRECTORY in version $COMMITID"
|
||||||
if [ -d "$DIRECTORY" ]; then
|
if ! $MYGIT remote -v | grep -q "$REPO_URL"; then
|
||||||
if $MYGIT remote -v | grep -q "$REPO_URL" ; then
|
echo "we need to do a fresh clone"
|
||||||
echo "Right remote detected"
|
|
||||||
# Remove untracked files
|
/bin/rm -rf -- "$DIRECTORY"
|
||||||
$MYGIT clean -f -d
|
mkdir "$DIRECTORY"
|
||||||
# Select desired commit and remove local changes (-f)
|
|
||||||
if ! $MYGIT checkout -f "$COMMITID" ; then
|
$MYGIT clone --progress --no-checkout --filter=blob:none "$REPO_URL" .
|
||||||
echo "commitid not found trying to fetch new commits"
|
$MYGIT config gc.auto 0
|
||||||
$MYGIT fetch --all && $MYGIT checkout "$COMMITID"
|
$MYGIT config advice.detachedHead 0
|
||||||
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"
|
|
||||||
fi
|
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() {
|
get_source() {
|
||||||
|
@ -126,20 +125,9 @@ prepare() {
|
||||||
|
|
||||||
patch_target
|
patch_target
|
||||||
|
|
||||||
# apply variant to ensure the included file "variant.mk"
|
|
||||||
# exists in builddir.
|
|
||||||
apply_variant
|
|
||||||
|
|
||||||
update_feeds
|
update_feeds
|
||||||
}
|
}
|
||||||
|
|
||||||
apply_variant() {
|
|
||||||
# set the variant for this build
|
|
||||||
export FFF_VARIANT=$(cat selected_variant)
|
|
||||||
# force the reevaluation of this Makefile to make note of the new variant
|
|
||||||
touch ./src/packages/fff/fff/Makefile
|
|
||||||
}
|
|
||||||
|
|
||||||
update_feeds() {
|
update_feeds() {
|
||||||
## generate own feeds.conf
|
## generate own feeds.conf
|
||||||
#this local variable should be globally configure variable used in get_source and here
|
#this local variable should be globally configure variable used in get_source and here
|
||||||
|
@ -174,8 +162,6 @@ update_feeds() {
|
||||||
}
|
}
|
||||||
|
|
||||||
prebuild() {
|
prebuild() {
|
||||||
apply_variant
|
|
||||||
|
|
||||||
#create filesdir for our config
|
#create filesdir for our config
|
||||||
/bin/rm -rf "$builddir"/files
|
/bin/rm -rf "$builddir"/files
|
||||||
mkdir "$builddir"/files
|
mkdir "$builddir"/files
|
||||||
|
@ -193,6 +179,9 @@ prebuild() {
|
||||||
version="$variant-$version"
|
version="$variant-$version"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# select variant packages
|
||||||
|
echo "CONFIG_PACKAGE_fff-${variant}=y" >> "$builddir"/.config
|
||||||
|
|
||||||
{
|
{
|
||||||
echo "FIRMWARE_VERSION=\"$version\""
|
echo "FIRMWARE_VERSION=\"$version\""
|
||||||
echo "VARIANT=\"$variant\""
|
echo "VARIANT=\"$variant\""
|
||||||
|
@ -218,13 +207,19 @@ build() {
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
"debug")
|
"debug")
|
||||||
make V=99
|
if [ -n "$2" ]; then
|
||||||
|
make V=99 -j $2
|
||||||
|
else
|
||||||
|
make V=99
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
"fast")
|
"fast")
|
||||||
ionice -c 2 -- nice -n 1 -- make -j $((cpus*2))
|
[ -n "$2" ] && threads=$2 || threads=$((cpus*2))
|
||||||
|
ionice -c 2 -- nice -n 1 -- make -j $threads
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
ionice -c 3 -- nice -n 10 -- make -j $((cpus+1))
|
[ -n "$2" ] && threads=$2 || threads=$((cpus+1))
|
||||||
|
ionice -c 3 -- nice -n 10 -- make -j $threads
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
@ -290,7 +285,13 @@ cp_firmware() {
|
||||||
filename_build=${f##*/}
|
filename_build=${f##*/}
|
||||||
filename_build=${filename_build//openwrt/fff-${version}}
|
filename_build=${filename_build//openwrt/fff-${version}}
|
||||||
filename_build=${filename_build//squashfs-/}
|
filename_build=${filename_build//squashfs-/}
|
||||||
filename_build=${filename_build//${chipset}-${subtarget}-/}
|
|
||||||
|
# The x86 OpenWrt target does not have a device name,
|
||||||
|
# so keep the target and subtarget for identification.
|
||||||
|
if [ "$chipset" != "x86" ]; then
|
||||||
|
filename_build=${filename_build//${chipset}-/}
|
||||||
|
filename_build=${filename_build//${subtarget}-/}
|
||||||
|
fi
|
||||||
cp "$f" "$imagedestpath/$filename_build"
|
cp "$f" "$imagedestpath/$filename_build"
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
@ -316,8 +317,7 @@ buildrelease() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd bin/$variant
|
cd bin/$variant
|
||||||
for binary in *.bin; do
|
for binary in *.bin *.img *.img.gz *.tar; do
|
||||||
md5sum "$binary" > ./"$binary".md5
|
|
||||||
sha256sum "$binary" > ./"$binary".sha256
|
sha256sum "$binary" > ./"$binary".sha256
|
||||||
done
|
done
|
||||||
echo -e "VERSION:$version" > release.nfo
|
echo -e "VERSION:$version" > release.nfo
|
||||||
|
@ -381,8 +381,12 @@ buildall() {
|
||||||
}
|
}
|
||||||
|
|
||||||
if [ "$(/usr/bin/id -u)" -eq 0 ]; then
|
if [ "$(/usr/bin/id -u)" -eq 0 ]; then
|
||||||
echo "don't run buildscript as root"
|
TPUT=$(command -v tput || echo ":")
|
||||||
exit 1
|
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
|
fi
|
||||||
|
|
||||||
if [ "$1" != "selectbsp" -a "$1" != "selectvariant" ]; then
|
if [ "$1" != "selectbsp" -a "$1" != "selectvariant" ]; then
|
||||||
|
@ -449,13 +453,13 @@ case "$1" in
|
||||||
"build")
|
"build")
|
||||||
if [ "$2" = "help" ] || [ "$2" = "x" ]; then
|
if [ "$2" = "help" ] || [ "$2" = "x" ]; then
|
||||||
echo "This option compiles the firmware"
|
echo "This option compiles the firmware"
|
||||||
echo "Normaly the build uses lower IO and System priorities, "
|
echo "Normally the build uses lower IO and System priorities, "
|
||||||
echo "you can append \"fast\" option, to use normal user priorities"
|
echo "you can append \"fast\" option, to use normal user priorities"
|
||||||
echo
|
echo
|
||||||
echo "Usage: $0 $1 [fast|debug]"
|
echo "Usage: $0 $1 [fast|debug] [numthreads]"
|
||||||
echo
|
echo
|
||||||
else
|
else
|
||||||
build "$2"
|
build "$2" "$3"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
"config")
|
"config")
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-alfred-monitoring-proxy
|
PKG_NAME:=fff-alfred-monitoring-proxy
|
||||||
PKG_RELEASE:=5
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ define Package/fff-alfred-monitoring-proxy
|
||||||
SECTION:=base
|
SECTION:=base
|
||||||
CATEGORY:=Freifunk
|
CATEGORY:=Freifunk
|
||||||
TITLE:=Freifunk-Franken Alfred-Monitoring-Proxy
|
TITLE:=Freifunk-Franken Alfred-Monitoring-Proxy
|
||||||
URL:=https://www.freifunk-franken.de/
|
URL:=https://www.freifunk-franken.de
|
||||||
DEPENDS:=+curl +micrond +alfred-json +fff-alfred +fff-random
|
DEPENDS:=+curl +micrond +alfred-json +fff-alfred +fff-random
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-alfred
|
PKG_NAME:=fff-alfred
|
||||||
PKG_RELEASE:=2
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ define Package/$(PKG_NAME)
|
||||||
SECTION:=base
|
SECTION:=base
|
||||||
CATEGORY:=Freifunk
|
CATEGORY:=Freifunk
|
||||||
TITLE:=Freifunk-Franken Alfred
|
TITLE:=Freifunk-Franken Alfred
|
||||||
URL:=http://www.freifunk-franken.de
|
URL:=https://www.freifunk-franken.de
|
||||||
DEPENDS:=+alfred
|
DEPENDS:=+alfred
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_NAME:=fff-babel-bird2
|
||||||
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
define Package/fff-babel-bird2
|
||||||
|
SECTION:=base
|
||||||
|
CATEGORY:=Freifunk
|
||||||
|
TITLE:=Freifunk-Franken babel-bird2
|
||||||
|
URL:=https://www.freifunk-franken.de
|
||||||
|
DEPENDS:=+bird2 +bird2c +owipcalc
|
||||||
|
PROVIDES:=fff-babel-implementation
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/fff-babel-bird2/description
|
||||||
|
This is the Freifunk Franken Firmware babel-bird2 package.
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Build/Compile
|
||||||
|
# nothing
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/fff-babel-bird2/install
|
||||||
|
$(CP) ./files/* $(1)/
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage,fff-babel-bird2))
|
|
@ -0,0 +1,123 @@
|
||||||
|
# router id is not required for babeld, but necessary for bird startup
|
||||||
|
router id 192.0.2.0;
|
||||||
|
|
||||||
|
ipv4 table fff4;
|
||||||
|
ipv6 sadr table fff6;
|
||||||
|
|
||||||
|
protocol device {
|
||||||
|
scan time 15;
|
||||||
|
}
|
||||||
|
|
||||||
|
# device routes for ipv4 peering address
|
||||||
|
protocol direct {
|
||||||
|
ipv4 {
|
||||||
|
table fff4;
|
||||||
|
import filter {
|
||||||
|
include "/tmp/bird/include/nat-filter.conf";
|
||||||
|
|
||||||
|
if (net ~ 10.50.0.0/16 || net ~ 10.83.0.0/16) && net.len = 32 then {
|
||||||
|
accept;
|
||||||
|
}
|
||||||
|
reject;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
# device routes on loopback interface
|
||||||
|
protocol direct {
|
||||||
|
ipv4 {
|
||||||
|
table fff4;
|
||||||
|
import filter {
|
||||||
|
include "/tmp/bird/include/nat-filter.conf";
|
||||||
|
|
||||||
|
if net ~ 10.50.0.0/16 || net ~ 10.83.0.0/16 then {
|
||||||
|
accept;
|
||||||
|
}
|
||||||
|
reject;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
ipv6 sadr {
|
||||||
|
table fff6;
|
||||||
|
import filter {
|
||||||
|
if net ~ fdff::/64 from ::/0 then {
|
||||||
|
reject;
|
||||||
|
}
|
||||||
|
|
||||||
|
# only import GUA + ULA addresses
|
||||||
|
if net !~ 2000::/3 from ::/0 && net !~ fc00::/7 from ::/0 then {
|
||||||
|
reject;
|
||||||
|
}
|
||||||
|
|
||||||
|
accept;
|
||||||
|
};
|
||||||
|
import keep filtered;
|
||||||
|
};
|
||||||
|
|
||||||
|
interface "lo";
|
||||||
|
}
|
||||||
|
|
||||||
|
# ipv6 kernel route interface
|
||||||
|
protocol kernel {
|
||||||
|
ipv6 sadr {
|
||||||
|
table fff6;
|
||||||
|
import filter {
|
||||||
|
# only import routes from kernel with proto static
|
||||||
|
if krt_source != 4 then {
|
||||||
|
reject;
|
||||||
|
}
|
||||||
|
|
||||||
|
if net ~ fdff::/64 from ::/0 then {
|
||||||
|
reject;
|
||||||
|
}
|
||||||
|
|
||||||
|
accept;
|
||||||
|
};
|
||||||
|
export all;
|
||||||
|
preference 200;
|
||||||
|
};
|
||||||
|
kernel table 10;
|
||||||
|
scan time 15;
|
||||||
|
learn yes;
|
||||||
|
}
|
||||||
|
|
||||||
|
# ipv4 kernel route interface
|
||||||
|
protocol kernel {
|
||||||
|
ipv4 {
|
||||||
|
table fff4;
|
||||||
|
import filter {
|
||||||
|
include "/tmp/bird/include/nat-filter.conf";
|
||||||
|
|
||||||
|
# only import routes from kernel with proto static
|
||||||
|
if krt_source = 4 then {
|
||||||
|
accept;
|
||||||
|
}
|
||||||
|
reject;
|
||||||
|
};
|
||||||
|
export all;
|
||||||
|
preference 200;
|
||||||
|
};
|
||||||
|
kernel table 10;
|
||||||
|
scan time 15;
|
||||||
|
learn yes;
|
||||||
|
}
|
||||||
|
|
||||||
|
protocol babel {
|
||||||
|
# required due to static configuration of global router id.
|
||||||
|
# also improves reconnect speed after restart.
|
||||||
|
randomize router id yes;
|
||||||
|
|
||||||
|
ipv4 {
|
||||||
|
table fff4;
|
||||||
|
import all;
|
||||||
|
export all;
|
||||||
|
};
|
||||||
|
|
||||||
|
ipv6 sadr {
|
||||||
|
table fff6;
|
||||||
|
import all;
|
||||||
|
export all;
|
||||||
|
};
|
||||||
|
|
||||||
|
include "/tmp/bird/include/babelpeers.conf";
|
||||||
|
};
|
|
@ -0,0 +1,45 @@
|
||||||
|
#!/bin/sh /etc/rc.common
|
||||||
|
# Copyright (C) 2010-2017 OpenWrt.org
|
||||||
|
|
||||||
|
USE_PROCD=1
|
||||||
|
START=70
|
||||||
|
|
||||||
|
BIRD_BIN="/usr/sbin/bird"
|
||||||
|
BIRD_CONF="/etc/bird.conf"
|
||||||
|
BIRD_PID_FILE="/var/run/bird.pid"
|
||||||
|
|
||||||
|
start_service() {
|
||||||
|
mkdir -p /var/run
|
||||||
|
|
||||||
|
set_include_path
|
||||||
|
|
||||||
|
procd_open_instance
|
||||||
|
procd_set_param command $BIRD_BIN -f -c $BIRD_CONF -P $BIRD_PID_FILE
|
||||||
|
procd_set_param file "$BIRD_CONF"
|
||||||
|
procd_set_param stdout 1
|
||||||
|
procd_set_param stderr 1
|
||||||
|
procd_set_param respawn
|
||||||
|
procd_close_instance
|
||||||
|
}
|
||||||
|
|
||||||
|
reload_service() {
|
||||||
|
set_include_path
|
||||||
|
procd_send_signal fff-bird
|
||||||
|
}
|
||||||
|
|
||||||
|
set_include_path() {
|
||||||
|
# Change include file path, so bird uses the correct configuration, depending on the configuration state:
|
||||||
|
# - If test mode is active (and /tmp/bird/fff exists), switch to the temporary configuration to be tested.
|
||||||
|
# - If new settings are applied or the old settings are restored after an unsuccessful test (and /tmp/bird/fff does not exist),
|
||||||
|
# switch back to the permanent configuration (/etc/bird/fff).
|
||||||
|
|
||||||
|
mkdir -p /tmp/bird/include
|
||||||
|
|
||||||
|
if [ -d /tmp/bird/fff ]; then
|
||||||
|
echo 'include "/tmp/bird/fff/babelpeers/*.conf";' > /tmp/bird/include/babelpeers.conf
|
||||||
|
echo 'include "/tmp/bird/fff/nat-filter.conf";' > /tmp/bird/include/nat-filter.conf
|
||||||
|
else
|
||||||
|
echo 'include "/etc/bird/fff/babelpeers/*.conf";' > /tmp/bird/include/babelpeers.conf
|
||||||
|
echo 'include "/etc/bird/fff/nat-filter.conf";' > /tmp/bird/include/nat-filter.conf
|
||||||
|
fi
|
||||||
|
}
|
|
@ -0,0 +1,4 @@
|
||||||
|
/etc/init.d/bird disable
|
||||||
|
rm -f /etc/init.d/bird
|
||||||
|
|
||||||
|
exit 0
|
|
@ -0,0 +1,5 @@
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
|
||||||
|
mv /etc/bird-fff.conf /etc/bird.conf
|
||||||
|
|
||||||
|
exit 0
|
|
@ -0,0 +1,72 @@
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
|
||||||
|
babel_get_version() {
|
||||||
|
/usr/sbin/bird --version 2>&1 | sed "s/BIRD version /bird-/"
|
||||||
|
}
|
||||||
|
|
||||||
|
babel_add_interface() {
|
||||||
|
[ "$#" -ne "4" ] && return 1
|
||||||
|
|
||||||
|
local name="$1"
|
||||||
|
local interface="$2"
|
||||||
|
local type="$3"
|
||||||
|
local rxcost="$4"
|
||||||
|
|
||||||
|
mkdir -p /tmp/bird/fff/babelpeers
|
||||||
|
echo "interface \"$interface\" { type $type; rxcost $rxcost; };" > /tmp/bird/fff/babelpeers/$name.conf
|
||||||
|
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
babel_delete_interface() {
|
||||||
|
[ "$#" -ne "1" ] && return 1
|
||||||
|
|
||||||
|
local name="$1"
|
||||||
|
|
||||||
|
# Removing peers from /etc is not necessary, as all peers are generated into /tmp on every configuration run,
|
||||||
|
# which completely overwrites existing peers in /etc in the apply step.
|
||||||
|
rm -f /tmp/bird/fff/babelpeers/$name.conf
|
||||||
|
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
babel_add_redistribute_filter() {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
babel_add_private_prefix_filter() {
|
||||||
|
[ "$#" -ne "1" ] && return 1
|
||||||
|
|
||||||
|
local prefix="$1"
|
||||||
|
prefix=$(owipcalc "$prefix" network prefix "$prefix")
|
||||||
|
|
||||||
|
mkdir -p /tmp/bird/fff
|
||||||
|
echo "if net ~ $prefix then reject;" > /tmp/bird/fff/nat-filter.conf
|
||||||
|
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
babel_remove_custom_redistribute_filters() {
|
||||||
|
mkdir -p /tmp/bird/fff
|
||||||
|
> /tmp/bird/fff/nat-filter.conf
|
||||||
|
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
babel_apply_implementation() {
|
||||||
|
# error output hidden because apply might be executed without a preceding configure step.
|
||||||
|
if [ -d /tmp/bird/fff ]; then
|
||||||
|
rm -rf /etc/bird/fff
|
||||||
|
mv /tmp/bird/fff /etc/bird/fff
|
||||||
|
fi
|
||||||
|
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
babel_reload_implementation() {
|
||||||
|
/etc/init.d/fff-bird reload
|
||||||
|
}
|
||||||
|
|
||||||
|
babel_revert() {
|
||||||
|
rm -rf /tmp/bird/fff
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -o pipefail
|
||||||
|
|
||||||
|
|
||||||
|
if ! birdc show status >/dev/null 2>&1; then
|
||||||
|
# bird daemon not running or unavailable. exit.
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
neighbours="$(birdc -r show babel neighbors |
|
||||||
|
tail -n +5 |
|
||||||
|
awk '{ printf "<neighbour><ip>%s</ip><outgoing_interface>%s</outgoing_interface><link_cost>%s</link_cost></neighbour>", $1, $2, $3 }'
|
||||||
|
)"
|
||||||
|
|
||||||
|
echo -n "<babel_neighbours>$neighbours</babel_neighbours>"
|
||||||
|
|
||||||
|
exit 0
|
|
@ -0,0 +1,28 @@
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_NAME:=fff-babel
|
||||||
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
define Package/fff-babel
|
||||||
|
SECTION:=base
|
||||||
|
CATEGORY:=Freifunk
|
||||||
|
TITLE:=Freifunk-Franken babel
|
||||||
|
URL:=https://www.freifunk-franken.de
|
||||||
|
DEPENDS:=+fff-babel-implementation
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/fff-babel/description
|
||||||
|
This is the Freifunk Franken Firmware babel package.
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Build/Compile
|
||||||
|
# nothing
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/fff-babel/install
|
||||||
|
$(CP) ./files/* $(1)/
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage,fff-babel))
|
|
@ -26,7 +26,7 @@ configure() {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
config_load babeld
|
config_load network
|
||||||
config_foreach remove_babelpeer interface
|
config_foreach remove_babelpeer interface
|
||||||
|
|
||||||
#add new peers
|
#add new peers
|
||||||
|
@ -75,14 +75,14 @@ configure() {
|
||||||
babel_add_peer6addr "network.$prefixname.ip6addr"
|
babel_add_peer6addr "network.$prefixname.ip6addr"
|
||||||
|
|
||||||
# add babel interface
|
# add babel interface
|
||||||
babel_add_interface "$prefixname" "$iface" "$type" "$rxcost" || { echo "Could not add babeld interface for babelpeer $name"; exit 1; }
|
babel_add_interface "$prefixname" "$iface" "$type" "$rxcost" || { echo "Could not add babel interface for babelpeer $name"; exit 1; }
|
||||||
}
|
}
|
||||||
|
|
||||||
config_load gateway
|
config_load gateway
|
||||||
config_foreach add_babelpeer babelpeer
|
config_foreach add_babelpeer babelpeer
|
||||||
|
|
||||||
|
|
||||||
# configure babeld filters for custom ipv6 addresses
|
# configure babel filters for custom ipv6 addresses
|
||||||
## remove old filters
|
## remove old filters
|
||||||
babel_remove_custom_redistribute_filters
|
babel_remove_custom_redistribute_filters
|
||||||
|
|
||||||
|
@ -90,14 +90,25 @@ configure() {
|
||||||
for prefix in $(uci -q get gateway.@client[0].ip6addr); do
|
for prefix in $(uci -q get gateway.@client[0].ip6addr); do
|
||||||
babel_add_redistribute_filter "$prefix"
|
babel_add_redistribute_filter "$prefix"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
## add deny filters for client prefixes used with snat
|
||||||
|
if [ "$(uci -q get gateway.@client[0].snat)" = "1" ]; then
|
||||||
|
for prefix in $(uci -q get gateway.@client[0].ipaddr); do
|
||||||
|
babel_add_private_prefix_filter "$prefix"
|
||||||
|
done
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
apply() {
|
apply() {
|
||||||
uci commit network
|
uci commit network
|
||||||
uci commit babeld
|
babel_apply
|
||||||
|
}
|
||||||
|
|
||||||
|
reload() {
|
||||||
|
babel_reload
|
||||||
}
|
}
|
||||||
|
|
||||||
revert() {
|
revert() {
|
||||||
uci revert network
|
uci revert network
|
||||||
uci revert babeld
|
babel_revert
|
||||||
}
|
}
|
|
@ -1,3 +1,9 @@
|
||||||
|
|
||||||
|
implementation=$(uci -q get babelimpl.impl.impl)
|
||||||
|
[ -z "$implementation" ] && implementation=bird2
|
||||||
|
|
||||||
|
. /lib/functions/fff/babeldaemon/$implementation
|
||||||
|
|
||||||
babel_add_iifrules() {
|
babel_add_iifrules() {
|
||||||
[ "$#" -ne "1" ] && return 1
|
[ "$#" -ne "1" ] && return 1
|
||||||
|
|
||||||
|
@ -38,10 +44,18 @@ babel_add_peeraddr() {
|
||||||
uci add_list "$option"="$peer_ip"
|
uci add_list "$option"="$peer_ip"
|
||||||
elif router_ip=$(uci -q get gateway.meta.router_ip); then
|
elif router_ip=$(uci -q get gateway.meta.router_ip); then
|
||||||
# use router_ip if no peer_ip is set
|
# use router_ip if no peer_ip is set
|
||||||
uci add_list "$option"="$router_ip"
|
ip=$router_ip
|
||||||
|
|
||||||
|
# use only first ip
|
||||||
|
ip=${ip%% *}
|
||||||
|
|
||||||
|
# remove CIDR mask
|
||||||
|
ip=${ip%%/*}
|
||||||
|
|
||||||
|
uci add_list "$option"="$ip"
|
||||||
elif ipaddr=$(uci -q get gateway.@client[0].ipaddr); then
|
elif ipaddr=$(uci -q get gateway.@client[0].ipaddr); then
|
||||||
# use client interface address (without subnet) if no router_ip is set
|
# use client interface address (without subnet) if no router_ip is set
|
||||||
uci add_list "$option"=$(echo $ipaddr | cut -d / -f1)
|
uci add_list "$option"=${ipaddr%%/*}
|
||||||
else
|
else
|
||||||
echo "WARNING: No peer_ip, router_ip or client interface ipaddr set! IPv4 routing is not possible."
|
echo "WARNING: No peer_ip, router_ip or client interface ipaddr set! IPv4 routing is not possible."
|
||||||
return 1
|
return 1
|
||||||
|
@ -64,61 +78,39 @@ babel_add_peer6addr() {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
babel_add_interface() {
|
babel_reload() {
|
||||||
[ "$#" -ne "4" ] && return 1
|
# switch implementation temporarily
|
||||||
|
case $implementation in
|
||||||
|
bird2)
|
||||||
|
[ -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)
|
||||||
|
[ -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
|
||||||
|
|
||||||
local name="$1"
|
# call implementation-specific reload commands
|
||||||
local interface="$2"
|
babel_reload_implementation
|
||||||
local type="$3"
|
|
||||||
local rxcost="$4"
|
|
||||||
|
|
||||||
uci set babeld.$name=interface
|
|
||||||
uci set babeld.$name.ifname="$interface"
|
|
||||||
uci set babeld.$name.type="$type"
|
|
||||||
uci set babeld.$name.rxcost="$rxcost"
|
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
babel_delete_interface() {
|
babel_apply() {
|
||||||
[ "$#" -ne "1" ] && return 1
|
# switch implementation persistently
|
||||||
|
case $implementation in
|
||||||
|
bird2)
|
||||||
|
[ -f /etc/init.d/babeld ] && /etc/init.d/babeld disable
|
||||||
|
[ -f /etc/init.d/fff-bird ] && /etc/init.d/fff-bird enable
|
||||||
|
;;
|
||||||
|
babeld)
|
||||||
|
[ -f /etc/init.d/fff-bird ] && /etc/init.d/fff-bird disable
|
||||||
|
[ -f /etc/init.d/babeld ] && /etc/init.d/babeld enable
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
local name="$1"
|
babel_apply_implementation
|
||||||
|
|
||||||
uci -q del babeld.$name
|
|
||||||
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
babel_add_redistribute_filter() {
|
|
||||||
[ "$#" -ne "1" ] && return 1
|
|
||||||
|
|
||||||
local prefix="$1"
|
|
||||||
|
|
||||||
config=$(uci add babeld filter)
|
|
||||||
uci set babeld.$config.type='redistribute'
|
|
||||||
uci set babeld.$config.ip="$prefix"
|
|
||||||
uci set babeld.$config.addedbyautoconfig='true'
|
|
||||||
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
babel_remove_custom_redistribute_filters() {
|
|
||||||
[ "$#" -ne "0" ] && return 1
|
|
||||||
|
|
||||||
remove_filters() {
|
|
||||||
local name="$1"
|
|
||||||
|
|
||||||
# check if filter was added by configuregateway
|
|
||||||
if ! [ "$(uci -q get babeld.$name.addedbyautoconfig)" = 'true' ]; then
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
|
|
||||||
uci -q del babeld.$name
|
|
||||||
}
|
|
||||||
|
|
||||||
config_load babeld
|
|
||||||
config_foreach remove_filters filter
|
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-babeld
|
PKG_NAME:=fff-babeld
|
||||||
PKG_RELEASE:=8
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
@ -9,8 +9,9 @@ define Package/fff-babeld
|
||||||
SECTION:=base
|
SECTION:=base
|
||||||
CATEGORY:=Freifunk
|
CATEGORY:=Freifunk
|
||||||
TITLE:=Freifunk-Franken babeld configuration example
|
TITLE:=Freifunk-Franken babeld configuration example
|
||||||
URL:=http://www.freifunk-franken.de
|
URL:=https://www.freifunk-franken.de
|
||||||
DEPENDS:=+babeld
|
DEPENDS:=+babeld
|
||||||
|
PROVIDES:=fff-babel-implementation
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/fff-babeld/description
|
define Package/fff-babeld/description
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
/etc/init.d/babeld disable
|
||||||
|
|
||||||
|
exit 0
|
|
@ -0,0 +1,103 @@
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
|
||||||
|
babel_get_version() {
|
||||||
|
/usr/sbin/babeld -V 2>&1
|
||||||
|
}
|
||||||
|
|
||||||
|
babel_add_interface() {
|
||||||
|
[ "$#" -ne "4" ] && return 1
|
||||||
|
|
||||||
|
local name="$1"
|
||||||
|
local interface="$2"
|
||||||
|
local type="$3"
|
||||||
|
local rxcost="$4"
|
||||||
|
|
||||||
|
uci set babeld.$name=interface
|
||||||
|
uci set babeld.$name.ifname="$interface"
|
||||||
|
uci set babeld.$name.type="$type"
|
||||||
|
uci set babeld.$name.rxcost="$rxcost"
|
||||||
|
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
babel_delete_interface() {
|
||||||
|
[ "$#" -ne "1" ] && return 1
|
||||||
|
|
||||||
|
local name="$1"
|
||||||
|
|
||||||
|
uci -q del babeld.$name
|
||||||
|
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
babel_add_redistribute_filter() {
|
||||||
|
[ "$#" -ne "1" ] && return 1
|
||||||
|
|
||||||
|
local prefix="$1"
|
||||||
|
|
||||||
|
config=$(uci add babeld filter)
|
||||||
|
uci set babeld.$config.type='redistribute'
|
||||||
|
uci set babeld.$config.ip="$prefix"
|
||||||
|
uci set babeld.$config.addedbyautoconfig='true'
|
||||||
|
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
babel_add_private_prefix_filter() {
|
||||||
|
[ "$#" -ne "1" ] && return 1
|
||||||
|
|
||||||
|
local prefix="$1"
|
||||||
|
|
||||||
|
config=$(uci add babeld filter)
|
||||||
|
uci set babeld.$config.type='redistribute'
|
||||||
|
uci set babeld.$config.ip="$prefix"
|
||||||
|
uci set babeld.$config.addedbyautoconfig='true'
|
||||||
|
uci set babeld.$config.action='deny'
|
||||||
|
|
||||||
|
# move to top, so filter rule has precedence over all other rules
|
||||||
|
uci reorder babeld.$config=0
|
||||||
|
|
||||||
|
config=$(uci add babeld filter)
|
||||||
|
uci set babeld.$config.type='redistribute'
|
||||||
|
uci set babeld.$config.ip="$prefix"
|
||||||
|
uci set babeld.$config.addedbyautoconfig='true'
|
||||||
|
uci set babeld.$config.local='true'
|
||||||
|
uci set babeld.$config.action='deny'
|
||||||
|
|
||||||
|
# move to top, so filter rule has precedence over all other rules
|
||||||
|
uci reorder babeld.$config=0
|
||||||
|
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
babel_remove_custom_redistribute_filters() {
|
||||||
|
[ "$#" -ne "0" ] && return 1
|
||||||
|
|
||||||
|
remove_filters() {
|
||||||
|
local name="$1"
|
||||||
|
|
||||||
|
# check if filter was added by configuregateway
|
||||||
|
if ! [ "$(uci -q get babeld.$name.addedbyautoconfig)" = 'true' ]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
uci -q del babeld.$name
|
||||||
|
}
|
||||||
|
|
||||||
|
config_load babeld
|
||||||
|
config_foreach remove_filters filter
|
||||||
|
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
babel_apply_implementation() {
|
||||||
|
uci commit babeld
|
||||||
|
}
|
||||||
|
|
||||||
|
babel_reload_implementation() {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
babel_revert() {
|
||||||
|
uci revert babeld
|
||||||
|
}
|
|
@ -0,0 +1,36 @@
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_NAME:=fff-base
|
||||||
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
define Package/fff-base
|
||||||
|
SECTION:=base
|
||||||
|
CATEGORY:=Freifunk
|
||||||
|
TITLE:=Freifunk-Franken base dependencies
|
||||||
|
URL:=https://www.freifunk-franken.de
|
||||||
|
DEFAULT:=y
|
||||||
|
DEPENDS:= \
|
||||||
|
+@BUSYBOX_CONFIG_FEATURE_REVERSE_SEARCH \
|
||||||
|
+@BUSYBOX_CONFIG_FEATURE_TOP_SMP_CPU \
|
||||||
|
+@BUSYBOX_CONFIG_WATCH \
|
||||||
|
+@BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY \
|
||||||
|
+micrond \
|
||||||
|
+odhcp6c \
|
||||||
|
+fff-config \
|
||||||
|
+fff-network \
|
||||||
|
+fff-nodewatcher \
|
||||||
|
+fff-simple-tc \
|
||||||
|
+fff-support \
|
||||||
|
+fff-sysupgrade \
|
||||||
|
+fff-timeserver \
|
||||||
|
+fff-web-ui \
|
||||||
|
+fff-wireless
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/fff-variant/description
|
||||||
|
This package includes base packages used in the Freifunk-Franken firmware
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage,fff-base))
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-batman-adv
|
PKG_NAME:=fff-batman-adv
|
||||||
PKG_RELEASE:=4
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ define Package/$(PKG_NAME)
|
||||||
SECTION:=base
|
SECTION:=base
|
||||||
CATEGORY:=Freifunk
|
CATEGORY:=Freifunk
|
||||||
TITLE:=Freifunk-Franken batman-adv
|
TITLE:=Freifunk-Franken batman-adv
|
||||||
URL:=http://www.freifunk-franken.de
|
URL:=https://www.freifunk-franken.de
|
||||||
DEPENDS:=+kmod-batman-adv \
|
DEPENDS:=+kmod-batman-adv \
|
||||||
+@BATMAN_ADV_BATMAN_V \
|
+@BATMAN_ADV_BATMAN_V \
|
||||||
+@BATMAN_ADV_NC \
|
+@BATMAN_ADV_NC \
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-boardname
|
PKG_NAME:=fff-boardname
|
||||||
PKG_RELEASE:=8
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ define Package/$(PKG_NAME)
|
||||||
SECTION:=base
|
SECTION:=base
|
||||||
CATEGORY:=Freifunk
|
CATEGORY:=Freifunk
|
||||||
TITLE:=Freifunk-Franken boardname
|
TITLE:=Freifunk-Franken boardname
|
||||||
URL:=http://www.freifunk-franken.de
|
URL:=https://www.freifunk-franken.de
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/$(PKG_NAME)/description
|
define Package/$(PKG_NAME)/description
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
BOARD=$(cat /var/sysinfo/board_name)
|
BOARD=$(cat /var/sysinfo/board_name)
|
||||||
|
|
||||||
|
if uname -a | grep x86_64 > /dev/null; then
|
||||||
|
BOARD="x86_64"
|
||||||
|
fi
|
||||||
|
|
||||||
uci set board.model.name=$BOARD
|
uci set board.model.name=$BOARD
|
||||||
uci commit board
|
uci commit board
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-config
|
PKG_NAME:=fff-config
|
||||||
PKG_RELEASE:=2
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ define Package/$(PKG_NAME)
|
||||||
SECTION:=base
|
SECTION:=base
|
||||||
CATEGORY:=Freifunk
|
CATEGORY:=Freifunk
|
||||||
TITLE:=Freifunk-Franken Config
|
TITLE:=Freifunk-Franken Config
|
||||||
URL:=http://www.freifunk-franken.de
|
URL:=https://www.freifunk-franken.de
|
||||||
DEPENDS:=+fff-boardname
|
DEPENDS:=+fff-boardname
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
vm.panic_on_oom=1
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-dhcp
|
PKG_NAME:=fff-dhcp
|
||||||
PKG_RELEASE:=5
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ define Package/fff-dhcp
|
||||||
SECTION:=base
|
SECTION:=base
|
||||||
CATEGORY:=Freifunk
|
CATEGORY:=Freifunk
|
||||||
TITLE:=Freifunk-Franken dhcp
|
TITLE:=Freifunk-Franken dhcp
|
||||||
URL:=http://www.freifunk-franken.de
|
URL:=https://www.freifunk-franken.de
|
||||||
DEPENDS:=+dnsmasq
|
DEPENDS:=+dnsmasq
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,10 @@ configure() {
|
||||||
uci add_list dhcp.@dnsmasq[0].server="/ip6.arpa/$f"
|
uci add_list dhcp.@dnsmasq[0].server="/ip6.arpa/$f"
|
||||||
done
|
done
|
||||||
else
|
else
|
||||||
echo "WARNING: No DNS servers set!"
|
echo "WARNING: No DNS servers set! Using default server fd43:5602:29bd:ffff:1:1:1:1"
|
||||||
|
uci add_list dhcp.@dnsmasq[0].server="fd43:5602:29bd:ffff:1:1:1:1"
|
||||||
|
uci add_list dhcp.@dnsmasq[0].server="/in-addr.arpa/fd43:5602:29bd:ffff:1:1:1:1"
|
||||||
|
uci add_list dhcp.@dnsmasq[0].server="/ip6.arpa/fd43:5602:29bd:ffff:1:1:1:1"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,10 @@
|
||||||
|
# Use a larger cachesize by default
|
||||||
|
cachesize=1024
|
||||||
|
|
||||||
|
# Increase cachesize for systems with enough memory
|
||||||
|
mem="$(awk '/^MemTotal:/ {print $2}' /proc/meminfo)"
|
||||||
|
[ "$mem" -gt 65536 ] && cachesize=8192
|
||||||
|
|
||||||
uci batch >/dev/null <<EOF
|
uci batch >/dev/null <<EOF
|
||||||
delete dhcp.@dnsmasq[0]
|
delete dhcp.@dnsmasq[0]
|
||||||
delete dhcp.lan
|
delete dhcp.lan
|
||||||
|
@ -12,17 +19,18 @@ uci batch >/dev/null <<EOF
|
||||||
set dhcp.@dnsmasq[-1].domain='fff.community'
|
set dhcp.@dnsmasq[-1].domain='fff.community'
|
||||||
set dhcp.@dnsmasq[-1].expandhosts='0'
|
set dhcp.@dnsmasq[-1].expandhosts='0'
|
||||||
set dhcp.@dnsmasq[-1].nonegcache='0'
|
set dhcp.@dnsmasq[-1].nonegcache='0'
|
||||||
|
set dhcp.@dnsmasq[-1].cachesize="$cachesize"
|
||||||
set dhcp.@dnsmasq[-1].authoritative='1'
|
set dhcp.@dnsmasq[-1].authoritative='1'
|
||||||
set dhcp.@dnsmasq[-1].readethers='1'
|
set dhcp.@dnsmasq[-1].readethers='1'
|
||||||
set dhcp.@dnsmasq[-1].leasefile='/tmp/dhcp.leases'
|
set dhcp.@dnsmasq[-1].leasefile='/tmp/dhcp.leases'
|
||||||
set dhcp.@dnsmasq[-1].noresolv='1'
|
set dhcp.@dnsmasq[-1].noresolv='1'
|
||||||
set dhcp.@dnsmasq[-1].localservice='1'
|
set dhcp.@dnsmasq[-1].localservice='1'
|
||||||
add_list dhcp.@dnsmasq[-1].server='10.50.252.11'
|
|
||||||
add_list dhcp.@dnsmasq[-1].server='10.50.252.0'
|
# do not generate A or AAAA records for the routers hostname,
|
||||||
add_list dhcp.@dnsmasq[-1].server='/in-addr.arpa/10.50.252.11'
|
# because this might interfere with upstream records.
|
||||||
add_list dhcp.@dnsmasq[-1].server='/in-addr.arpa/10.50.252.0'
|
#
|
||||||
add_list dhcp.@dnsmasq[-1].server='/ip6.arpa/10.50.252.11'
|
# e.g. hostname: 'router.fff.community'
|
||||||
add_list dhcp.@dnsmasq[-1].server='/ip6.arpa/10.50.252.0'
|
set dhcp.@dnsmasq[-1].add_local_fqdn='0'
|
||||||
|
|
||||||
set dhcp.client=dhcp
|
set dhcp.client=dhcp
|
||||||
set dhcp.client.interface='client'
|
set dhcp.client.interface='client'
|
||||||
|
|
|
@ -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))
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-fastd
|
PKG_NAME:=fff-fastd
|
||||||
PKG_RELEASE:=3
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ define Package/$(PKG_NAME)
|
||||||
SECTION:=base
|
SECTION:=base
|
||||||
CATEGORY:=Freifunk
|
CATEGORY:=Freifunk
|
||||||
TITLE:=Freifunk-Franken fastd configuration script
|
TITLE:=Freifunk-Franken fastd configuration script
|
||||||
URL:=http://www.freifunk-franken.de
|
URL:=https://www.freifunk-franken.de
|
||||||
DEPENDS:=+@BUSYBOX_CUSTOM \
|
DEPENDS:=+@BUSYBOX_CUSTOM \
|
||||||
+@FASTD_ENABLE_METHOD_NULL \
|
+@FASTD_ENABLE_METHOD_NULL \
|
||||||
+@FASTD_ENABLE_CIPHER_NULL \
|
+@FASTD_ENABLE_CIPHER_NULL \
|
||||||
|
|
|
@ -29,6 +29,7 @@ ln -s /tmp/fastd_fff_peers /etc/fastd/fff/peers
|
||||||
echo "#!/bin/sh" > /etc/fastd/fff/up.sh
|
echo "#!/bin/sh" > /etc/fastd/fff/up.sh
|
||||||
echo "ip link set up dev fffVPN" >> /etc/fastd/fff/up.sh
|
echo "ip link set up dev fffVPN" >> /etc/fastd/fff/up.sh
|
||||||
echo "batctl if add fffVPN" >> /etc/fastd/fff/up.sh
|
echo "batctl if add fffVPN" >> /etc/fastd/fff/up.sh
|
||||||
|
echo "batctl hardif fffVPN hop_penalty 30" >> /etc/fastd/fff/up.sh
|
||||||
chmod +x /etc/fastd/fff/up.sh
|
chmod +x /etc/fastd/fff/up.sh
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
protocol=fastd
|
||||||
|
|
||||||
|
fastd_clear() {
|
||||||
|
rm /tmp/fastd_fff_peers/* 2>/dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
fastd_addpeer() {
|
||||||
|
[ -d /tmp/fastd_fff_peers ] || mkdir /tmp/fastd_fff_peers
|
||||||
|
|
||||||
|
# write fastd-config
|
||||||
|
json_get_var servername name
|
||||||
|
filename="/etc/fastd/fff/peers/$servername"
|
||||||
|
echo "#name \"${servername}\";" > "$filename"
|
||||||
|
json_get_var key key
|
||||||
|
echo "key \"${key}\";" >> "$filename"
|
||||||
|
json_get_var address address
|
||||||
|
json_get_var port port
|
||||||
|
echo "remote \"${address}\" port ${port};" >> "$filename"
|
||||||
|
echo "" >> "$filename"
|
||||||
|
echo "float yes;" >> "$filename"
|
||||||
|
}
|
||||||
|
|
||||||
|
fastd_start_stop() {
|
||||||
|
if ls /etc/fastd/fff/peers/* &>/dev/null; then
|
||||||
|
/etc/init.d/fastd reload
|
||||||
|
else
|
||||||
|
/etc/init.d/fastd stop
|
||||||
|
fi
|
||||||
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-firewall
|
PKG_NAME:=fff-firewall
|
||||||
PKG_RELEASE:=7
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
@ -9,12 +9,9 @@ define Package/$(PKG_NAME)
|
||||||
SECTION:=base
|
SECTION:=base
|
||||||
CATEGORY:=Freifunk
|
CATEGORY:=Freifunk
|
||||||
TITLE:=Freifunk-Franken firewall
|
TITLE:=Freifunk-Franken firewall
|
||||||
URL:=http://www.freifunk-franken.de
|
URL:=https://www.freifunk-franken.de
|
||||||
DEPENDS:=+arptables \
|
DEPENDS:=+kmod-nft-bridge \
|
||||||
+ebtables +ebtables-utils \
|
+nftables
|
||||||
+kmod-ebtables-ipv4 +kmod-ebtables-ipv6 \
|
|
||||||
+iptables-mod-filter +iptables-mod-ipopt +iptables-mod-conntrack-extra \
|
|
||||||
+kmod-nf-conntrack6
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/$(PKG_NAME)/description
|
define Package/$(PKG_NAME)/description
|
||||||
|
|
|
@ -1,9 +1,3 @@
|
||||||
######## CLEAN UP ############
|
nft -f - <<__EOF
|
||||||
ebtables -F
|
flush ruleset
|
||||||
ebtables -X
|
__EOF
|
||||||
|
|
||||||
iptables -F
|
|
||||||
iptables -X
|
|
||||||
|
|
||||||
ip6tables -F
|
|
||||||
ip6tables -X
|
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
#solves MTU problem with bad ISPs
|
|
||||||
iptables -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
|
|
|
@ -1,5 +0,0 @@
|
||||||
# Limit ssh to 6 new connections per 60 seconds
|
|
||||||
/usr/sbin/ip6tables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m recent --set --name dropbear
|
|
||||||
/usr/sbin/ip6tables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m recent --update --seconds 60 --hitcount 6 --rttl --name dropbear -j DROP
|
|
||||||
/usr/sbin/iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m recent --set --name dropbear
|
|
||||||
/usr/sbin/iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m recent --update --seconds 60 --hitcount 6 --rttl --name dropbear -j DROP
|
|
|
@ -0,0 +1 @@
|
||||||
|
nft -f /etc/nftables-fff.conf
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-hoods
|
PKG_NAME:=fff-hoods
|
||||||
PKG_RELEASE:=19
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ define Package/$(PKG_NAME)
|
||||||
SECTION:=base
|
SECTION:=base
|
||||||
CATEGORY:=Freifunk
|
CATEGORY:=Freifunk
|
||||||
TITLE:=Freifunk-Franken hoods
|
TITLE:=Freifunk-Franken hoods
|
||||||
URL:=http://www.freifunk-franken.de
|
URL:=https://www.freifunk-franken.de
|
||||||
DEPENDS:= \
|
DEPENDS:= \
|
||||||
+fff-firewall \
|
+fff-firewall \
|
||||||
+fff-hoodutils \
|
+fff-hoodutils \
|
||||||
|
|
|
@ -2,4 +2,7 @@
|
||||||
|
|
||||||
ln -s "$hoodfilewww" /www/hood/keyxchangev2data
|
ln -s "$hoodfilewww" /www/hood/keyxchangev2data
|
||||||
|
|
||||||
|
uci set fff.keyserver='hood'
|
||||||
|
uci commit fff
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
|
@ -1,5 +1,15 @@
|
||||||
# Erlaube nur fe80::1 von BATMAN -> CLIENT
|
nft -f - <<__EOF
|
||||||
ebtables -A FORWARD -p IPv6 --ip6-source fe80::1 -j IN_ONLY
|
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
|
chain FORWARD {
|
||||||
ebtables -A INPUT -p IPv6 --ip6-source fe80::1 -j IN_ONLY
|
# 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"
|
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
|
return 0
|
||||||
else
|
else
|
||||||
return 1
|
return 1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-hoodutils
|
PKG_NAME:=fff-hoodutils
|
||||||
PKG_RELEASE:=2
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ define Package/$(PKG_NAME)
|
||||||
SECTION:=base
|
SECTION:=base
|
||||||
CATEGORY:=Freifunk
|
CATEGORY:=Freifunk
|
||||||
TITLE:=Freifunk-Franken hoodutils
|
TITLE:=Freifunk-Franken hoodutils
|
||||||
URL:=http://www.freifunk-franken.de
|
URL:=https://www.freifunk-franken.de
|
||||||
DEPENDS:=+fff-network +fff-config
|
DEPENDS:=+fff-network +fff-config
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-layer3-config
|
PKG_NAME:=fff-layer3-config
|
||||||
PKG_RELEASE:=8
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
configure() {
|
configure() {
|
||||||
# check if gateway config exists
|
# check if gateway config exists
|
||||||
if ! uci -q show gateway > /dev/null; then
|
if ! uci show gateway > /dev/null; then
|
||||||
echo "ERROR: Gateway config could not be parsed or does not exist."
|
echo "ERROR: Gateway config could not be parsed or does not exist."
|
||||||
|
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# check version of configuration
|
# check version of configuration
|
||||||
local expected_version=1
|
local expected_version=3
|
||||||
local config_version=$(uci -q get gateway.meta.config_version)
|
local config_version=$(uci -q get gateway.meta.config_version)
|
||||||
|
|
||||||
if ! [ -n "$config_version" ]; then
|
if ! [ -n "$config_version" ]; then
|
||||||
|
|
|
@ -20,7 +20,7 @@ configure() {
|
||||||
|
|
||||||
# ip6addr
|
# ip6addr
|
||||||
#remove old ip6addr
|
#remove old ip6addr
|
||||||
for ip in $(uci get network.client.ip6addr); do
|
for ip in $(uci -q get network.client.ip6addr); do
|
||||||
if echo "$ip" | grep -v -e "fdff:" -e "fe80::1/64" > /dev/null; then
|
if echo "$ip" | grep -v -e "fdff:" -e "fe80::1/64" > /dev/null; then
|
||||||
uci del_list network.client.ip6addr="$ip"
|
uci del_list network.client.ip6addr="$ip"
|
||||||
fi
|
fi
|
||||||
|
@ -50,14 +50,19 @@ configure() {
|
||||||
|
|
||||||
# set interface
|
# set interface
|
||||||
#remove all eth interfaces
|
#remove all eth interfaces
|
||||||
ifaces=$(uci get network.client.ifname | sed 's/\beth[^ ]* *//g' | sed 's/\bswitch[^ ]* *//g')
|
|
||||||
if vlan=$(uci -q get gateway.@client[0].vlan); then
|
if vlan=$(uci -q get gateway.@client[0].vlan); then
|
||||||
uci set network.client.ifname="${SWITCHDEV}.$vlan $ifaces"
|
uci set network.client.ifname="${SWITCHDEV}.$vlan"
|
||||||
elif iface=$(uci -q get gateway.@client[0].iface); then
|
elif iface=$(uci -q get gateway.@client[0].iface); then
|
||||||
uci set network.client.ifname="$iface $ifaces"
|
uci set network.client.ifname="$iface"
|
||||||
else
|
else
|
||||||
echo "WARNING: No Interface for client specified"
|
echo "WARNING: No Interface for client specified"
|
||||||
fi
|
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() {
|
apply() {
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
. /lib/functions.sh
|
||||||
|
|
||||||
configure() {
|
configure() {
|
||||||
local router_ip
|
local router_ip
|
||||||
local router_ip6
|
local router_ip6
|
||||||
|
@ -9,16 +11,66 @@ configure() {
|
||||||
# remove netmask entry that ships by default
|
# remove netmask entry that ships by default
|
||||||
uci -q del network.loopback.netmask
|
uci -q del network.loopback.netmask
|
||||||
|
|
||||||
|
# clean old rules
|
||||||
|
remove_rules() {
|
||||||
|
local name="$1"
|
||||||
|
|
||||||
|
# check if filter was added by this script
|
||||||
|
if ! [ "$(uci -q get network.$name.addedbyautoconfig)" = '30-network-routerip' ]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
uci -q del network.$name
|
||||||
|
}
|
||||||
|
|
||||||
|
config_load network
|
||||||
|
config_foreach remove_rules rule
|
||||||
|
config_foreach remove_rules rule6
|
||||||
|
|
||||||
# add router_ip
|
# add router_ip
|
||||||
router_ip=$(uci -q get gateway.meta.router_ip)
|
router_ip=$(uci -q get gateway.meta.router_ip)
|
||||||
for ip in $router_ip; do
|
for ip in $router_ip; do
|
||||||
uci -q add_list network.loopback.ipaddr="$ip"
|
uci -q add_list network.loopback.ipaddr="$ip"
|
||||||
|
|
||||||
|
# CIDR notation required
|
||||||
|
case $ip in
|
||||||
|
*/*)
|
||||||
|
# do nothing; ip is already in CIDR notation
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
ip="$ip/32"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
config=$(uci add network rule)
|
||||||
|
uci -q set network.$config.src="$ip"
|
||||||
|
uci -q set network.$config.lookup='fff'
|
||||||
|
# default prio for the ip4table interface option is 10000
|
||||||
|
uci -q set network.$config.priority='10000'
|
||||||
|
uci -q set network.$config.addedbyautoconfig='30-network-routerip'
|
||||||
done
|
done
|
||||||
|
|
||||||
# add router_ip6
|
# add router_ip6
|
||||||
router_ip6=$(uci -q get gateway.meta.router_ip6)
|
router_ip6=$(uci -q get gateway.meta.router_ip6)
|
||||||
for ip in $router_ip6; do
|
for ip in $router_ip6; do
|
||||||
uci -q add_list network.loopback.ip6addr="$ip"
|
uci -q add_list network.loopback.ip6addr="$ip"
|
||||||
|
|
||||||
|
# CIDR notation required
|
||||||
|
case $ip in
|
||||||
|
*/*)
|
||||||
|
# do nothing; ip is already in CIDR notation
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
ip="$ip/128"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
config=$(uci add network rule6)
|
||||||
|
uci -q set network.$config.src="$ip"
|
||||||
|
uci -q set network.$config.lookup='fff'
|
||||||
|
# default prio for the ip6table interface option is 10000
|
||||||
|
uci -q set network.$config.priority='10000'
|
||||||
|
uci -q set network.$config.addedbyautoconfig='30-network-routerip'
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,81 @@
|
||||||
|
## this script migrates configs from version 1 to 2.
|
||||||
|
##
|
||||||
|
## 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)" = "1" ] || 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
|
||||||
|
ubnt,edgerouter-x|\
|
||||||
|
ubnt,edgerouter-x-sfp)
|
||||||
|
case "${port%%t}" in
|
||||||
|
0) name="eth0" ;;
|
||||||
|
1) name="eth1" ;;
|
||||||
|
2) name="eth2" ;;
|
||||||
|
3) name="eth3" ;;
|
||||||
|
4) name="eth4" ;;
|
||||||
|
5) name="eth5" ;;
|
||||||
|
*) name="" ;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
netgear,r6220)
|
||||||
|
case "${port%%t}" in
|
||||||
|
0) name="lan1" ;;
|
||||||
|
1) name="lan2" ;;
|
||||||
|
2) name="lan3" ;;
|
||||||
|
3) name="lan4" ;;
|
||||||
|
4) name="wan" ;;
|
||||||
|
*) 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
|
||||||
|
ubnt,edgerouter-x|\
|
||||||
|
ubnt,edgerouter-x-sfp|\
|
||||||
|
netgear,r6220)
|
||||||
|
config_load gateway
|
||||||
|
config_foreach translate_ports vlan
|
||||||
|
;;
|
||||||
|
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
|
|
@ -7,6 +7,7 @@
|
||||||
execute_subshell() {
|
execute_subshell() {
|
||||||
if [ $# -ne 1 ]; then
|
if [ $# -ne 1 ]; then
|
||||||
echo "Usage:" "$0" "<function>"
|
echo "Usage:" "$0" "<function>"
|
||||||
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for script in /etc/layer3.d/*; do
|
for script in /etc/layer3.d/*; do
|
||||||
|
@ -23,7 +24,7 @@ execute_subshell() {
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
echo
|
echo
|
||||||
echo "Error when executing" "$1" "from" "$(basename "$script")"
|
echo "Error when executing" "$1" "from" "$(basename "$script")"
|
||||||
exit 1
|
return 1
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
@ -32,29 +33,33 @@ configure() {
|
||||||
echo "This script might remove existing vlans, interfaces, addresses, etc."
|
echo "This script might remove existing vlans, interfaces, addresses, etc."
|
||||||
read -r -p "Do you really want to continue? (y/n) " response
|
read -r -p "Do you really want to continue? (y/n) " response
|
||||||
if ! ( [ "$response" == "y" ] || [ "$response" == "Y" ] ); then
|
if ! ( [ "$response" == "y" ] || [ "$response" == "Y" ] ); then
|
||||||
exit 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo
|
echo
|
||||||
execute_subshell configure
|
execute_subshell configure || return $?
|
||||||
|
|
||||||
exit 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
reload_services() {
|
reload_services() {
|
||||||
execute_subshell reload
|
execute_subshell reload
|
||||||
reload_config
|
reload_config
|
||||||
|
|
||||||
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
apply_changes() {
|
apply_changes() {
|
||||||
execute_subshell apply
|
execute_subshell apply
|
||||||
reload_services
|
reload_services
|
||||||
exit 0
|
|
||||||
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
revert_changes() {
|
revert_changes() {
|
||||||
execute_subshell revert
|
execute_subshell revert
|
||||||
exit 0
|
|
||||||
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
keep_changes() {
|
keep_changes() {
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_NAME:=fff-layer3-snat
|
||||||
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
define Package/fff-layer3-snat
|
||||||
|
SECTION:=base
|
||||||
|
CATEGORY:=Freifunk
|
||||||
|
TITLE:=Freifunk-Franken layer3 configuration with SNAT
|
||||||
|
URL:=https://www.freifunk-franken.de
|
||||||
|
DEPENDS:= \
|
||||||
|
+fff-firewall \
|
||||||
|
+fff-layer3-config \
|
||||||
|
+kmod-nft-nat
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/fff-layer3-snat/description
|
||||||
|
With this package it is possible to make SNAT with IPv4 on the router
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Build/Compile
|
||||||
|
# nothing
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/fff-layer3-snat/install
|
||||||
|
$(CP) ./files/* $(1)/
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage,fff-layer3-snat))
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue