Firmware merge requestshttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests2023-08-07T19:05:47Zhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/187Draft: router: linksys mr83002023-08-07T19:05:47ZStephanDraft: router: linksys mr8300StephanStephanhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/178Draft: build.json: cleanup;2023-01-07T20:40:06ZStephanDraft: build.json: cleanup;build.sh: comment about feed-revisions
Xiaomi 4a-100m: openwrt 21->22.03.03build.sh: comment about feed-revisions
Xiaomi 4a-100m: openwrt 21->22.03.03StephanStephanhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/177fix gitlab-ci2022-12-19T17:36:46ZStephanfix gitlab-cifix gitlab-cifix gitlab-ciStephanStephanhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/173increment purge timeout to avoid deselecting gw when some ogm are missing...2022-10-20T22:27:57ZStephanincrement purge timeout to avoid deselecting gw when some ogm are missing...- rework gateway processing to avoid unneeded gateway changes
- increment purge timeout to avoid deselecting gw when some ogm are missing (server still have 10s ogm)- rework gateway processing to avoid unneeded gateway changes
- increment purge timeout to avoid deselecting gw when some ogm are missing (server still have 10s ogm)StephanStephanhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/132Draft: CI: Code quality2022-03-20T17:13:08ZYaroslav PetrovDraft: CI: Code quality* CPP Check
* BASH Script Check* CPP Check
* BASH Script CheckYaroslav PetrovYaroslav Petrovhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/134Draft: Yaro mt6721 openwrt 21022022-03-20T17:12:13ZYaroslav PetrovDraft: Yaro mt6721 openwrt 2102Aufgrund massiven Verbesserungen von mt76(wifi) Treiber, sollte mt7621 Target auf Openwrt-21.02 aktualisiert werden.
Direkte Upgrade auf Grund DSA ist nicht möglich. Nur neue installationAufgrund massiven Verbesserungen von mt76(wifi) Treiber, sollte mt7621 Target auf Openwrt-21.02 aktualisiert werden.
Direkte Upgrade auf Grund DSA ist nicht möglich. Nur neue installationYaroslav PetrovYaroslav Petrovhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/135Draft: add ath79 for TP-Link TL-WDR43002022-03-20T17:11:29ZYaroslav PetrovDraft: add ath79 for TP-Link TL-WDR4300https://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/145T_FIRMWARE_7.0.42021-10-22T19:52:42ZSven enniKT_FIRMWARE_7.0.4Hallo,
aktuell haben wir im stable Release T_FIRMWARE_7.0.3 nur noch 2 aktive Backbone Verbindungen da VPN 3 & VPN 12 keine Verbindungen mehr zulassen.
Ebenso läuft VPN 13 inzwischen auch recht voll.
Daher würde ich vorschlagen dass wi...Hallo,
aktuell haben wir im stable Release T_FIRMWARE_7.0.3 nur noch 2 aktive Backbone Verbindungen da VPN 3 & VPN 12 keine Verbindungen mehr zulassen.
Ebenso läuft VPN 13 inzwischen auch recht voll.
Daher würde ich vorschlagen dass wir eine neue stable Version raus schicken in welcher nur die default Backbone Verbindungen aktualisiert werden. bzw. für neue Geräte hinterlegt sind.StephanStephanhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/146merge vpn-serverupdates in master2021-10-22T19:52:31ZStephanmerge vpn-serverupdates in mastermerge vpn-serverupdates in mastermerge vpn-serverupdates in masterStephanStephanhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/138set bmxd version to 0.6 (0.5 is used on server, which is still very old and...2021-06-16T17:10:08ZStephanset bmxd version to 0.6 (0.5 is used on server, which is still very old and...* set bmxd version to 0.6 (0.5 is used on server, which is still very old and supports two way tunnel)
* replace awful implementation of list handling with ObjectList (-6kbyte binary size)
* fix some memory leaks (valgrind)
todo: remove...* set bmxd version to 0.6 (0.5 is used on server, which is still very old and supports two way tunnel)
* replace awful implementation of list handling with ObjectList (-6kbyte binary size)
* fix some memory leaks (valgrind)
todo: remove tunnel option code, because it is not used any more (we have only one way tunnel)StephanStephanhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/137Draft: set bmxd version to 0.6 (0.5 is used on server, which is still very ol...2021-06-16T17:03:45ZStephanDraft: set bmxd version to 0.6 (0.5 is used on server, which is still very old and...- set bmxd version to 0.6 (0.5 is used on server, which is still very old and supports two way tunnel)
- replace awful implementation of list handling with ObjectList (-6kbyte binary size)
- fix some memory leaks (valgrind)
todo: remov...- set bmxd version to 0.6 (0.5 is used on server, which is still very old and supports two way tunnel)
- replace awful implementation of list handling with ObjectList (-6kbyte binary size)
- fix some memory leaks (valgrind)
todo: remove tunnel option code, because it is not used any more (we have only one way tunnel)StephanStephanhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/124WIP: Resolve "BMXD hat gehangen. Watchdog"2021-04-18T21:02:15ZStephanWIP: Resolve "BMXD hat gehangen. Watchdog"Closes #78Closes #78https://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/65WIP: Add TP-Link RE450 v1, v22020-09-05T16:23:34ZYaroslav PetrovWIP: Add TP-Link RE450 v1, v2see issue #51
need testssee issue #51
need testsYaroslav PetrovYaroslav Petrovhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/13WIP: Add 802.11s support (issue #5)2020-07-05T19:28:00ZYaroslav PetrovWIP: Add 802.11s support (issue #5)Now it's possible to configure ddmesh-wifi (ADHOC only or ADHOC + 802.11s)
We're use wpad-mesh-openssl package
Config example:
```
config wifi-iface ...Now it's possible to configure ddmesh-wifi (ADHOC only or ADHOC + 802.11s)
We're use wpad-mesh-openssl package
Config example:
```
config wifi-iface
option network 'mesh'
option device 'radio0'
option network 'wifi'
option mode 'mesh'
option mesh_id 'Freifunk-Mesh-Net'
option ssid 'Freifunk-Mesh-Net'
option encryption 'none'
```
wireless info:
```
o2 Box 6431 @ r987:/# iw dev wlan0 station dump
Station ce:40:d0:96:ae:88 (on wlan0)
inactive time: 56 ms
rx bytes: 30054
rx packets: 422
tx bytes: 1001
tx packets: 9
tx retries: 12
tx failed: 4
rx drop misc: 2
signal: -22 dBm
signal avg: -22 dBm
Toffset: 149060327449 us
tx bitrate: 6.5 MBit/s MCS 0
rx duration: 0 us
mesh llid: 4882
mesh plid: 55447
mesh plink: ESTAB
mesh local PS mode: ACTIVE
mesh peer PS mode: UNKNOWN
mesh non-peer PS mode: ACTIVE
authorized: yes
authenticated: yes
associated: yes
preamble: long
WMM/WME: yes
MFP: no
TDLS peer: no
DTIM period: 2
beacon interval:100
short slot time:yes
connected time: 21 seconds
o2 Box 6431 @ r987:/#
```
messages:
```
o2 Box 6431 @ r987:/# tcpdump -i wlan0 icmp
[ 2515.015053] device wlan0 entered promiscuous mode
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on wlan0, link-type EN10MB (Ethernet), capture size 262144 bytes
12:15:51.918502 IP 10.201.7.240 > 10.201.3.223: ICMP echo request, id 45853, seq 71, length 64
12:15:52.927958 IP 10.201.7.240 > 10.201.3.223: ICMP echo request, id 45853, seq 72, length 64
12:15:54.007772 IP 10.201.7.240 > 10.201.3.223: ICMP echo request, id 45853, seq 73, length 64
12:15:54.950250 IP 10.201.7.240 > 10.201.3.223: ICMP echo request, id 45853, seq 74, length 64
12:15:55.957870 IP 10.201.7.240 > 10.201.3.223: ICMP echo request, id 45853, seq 75, length 64
```
ADHOC+AP+MESH
```
Netgear R6220 @ r2024:~# iw wlan0 info
Interface wlan0
ifindex 753
wdev 0x14
addr cc:40:d0:96:ae:88
ssid Freifunk-Mesh-Net
type IBSS
wiphy 0
channel 13 (2472 MHz), width: 20 MHz, center1: 2472 MHz
txpower 18.00 dBm
multicast TXQ:
qsz-byt qsz-pkt flows drops marks overlmt hashcol tx-bytes tx-packets
0 0 3591 0 0 0 0 1091528 3591
Netgear R6220 @ r2024:~# iw wlan0-1 info
Interface wlan0-1
ifindex 754
wdev 0x15
addr ce:40:d0:96:ae:88
type mesh point
wiphy 0
channel 13 (2472 MHz), width: 20 MHz, center1: 2472 MHz
txpower 18.00 dBm
multicast TXQ:
qsz-byt qsz-pkt flows drops marks overlmt hashcol tx-bytes tx-packets
0 0 69 0 0 0 0 4692 69
Netgear R6220 @ r2024:~# iw wlan0-2 info
Interface wlan0-2
ifindex 756
wdev 0x16
addr ca:40:d0:96:ae:88
ssid Freifunk Dresden [2024]
type AP
wiphy 0
channel 13 (2472 MHz), width: 20 MHz, center1: 2472 MHz
txpower 18.00 dBm
multicast TXQ:
qsz-byt qsz-pkt flows drops marks overlmt hashcol tx-bytes tx-packets
0 0 2 0 0 0 0 122 2
```
am ende soll noch
```
/usr/lib/ddmesh/ddmesh-bmxd.sh add_if wlan0
```
ausgeführt werden.
TODO:
* [X] add wpad-mesh-openssl package
* [X] build test enviroment
* [ ] allow configure ADHOC and/or 802.11s via GUI
* [ ] test all targetsFirmware 6.4.x (802.11s - mesh)Yaroslav PetrovYaroslav Petrovhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/36WIP: Patch bmxd v0.52020-07-05T14:31:55ZSven enniKWIP: Patch bmxd v0.5see: https://github.com/Freifunk-Dresden/ffdd-server/issues/14
> after some changes:
> https://github.com/Freifunk-Dresden/ffdd-server/compare/patch-bmxd
>
> ```
> stderr:
> In file included from batman.h:28,
> ...see: https://github.com/Freifunk-Dresden/ffdd-server/issues/14
> after some changes:
> https://github.com/Freifunk-Dresden/ffdd-server/compare/patch-bmxd
>
> ```
> stderr:
> In file included from batman.h:28,
> from control.c:35:
> control.c: In function 'remove_dbgl_node':
> control.c:94:43: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
> list_for_each_safe( list_pos, list_tmp, (struct list_head *)&dbgl_clients[i] ) {
> list-batman.h:96:14: note: in definition of macro 'list_for_each_safe'
> for (pos = (head)->next, n = pos->next; pos != (struct list_head *)(head); \
> ^~~~
> control.c: In function 'debug_output':
> control.c:591:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
> list_for_each ( list_pos, (struct list_head *)&(dbgl_clients[level]) ) {
> list-batman.h:85:14: note: in definition of macro 'list_for_each'
> for (pos = (head)->next; pos != (struct list_head *)(head); \
> ^~~~
> stdout:
> rm -f bmxd *.o posix/*.o linux/*.o
> make -C lib clean
> make[1]: Entering directory '/usr/local/src/bmxd/lib'
> for d in ./bmx_gsf_map ./bmx_howto_plugin ./bmx_http_info ./bmx_uci_config; do make -C $d clean || echo compiling $d failed; echo;echo; done
> make[2]: Entering directory '/usr/local/src/bmxd/lib/bmx_gsf_map'
> rm -f *.o *.so.1
> make[2]: Leaving directory '/usr/local/src/bmxd/lib/bmx_gsf_map'
>
>
> make[2]: Entering directory '/usr/local/src/bmxd/lib/bmx_howto_plugin'
> rm -f *.o *.so.1
> make[2]: Leaving directory '/usr/local/src/bmxd/lib/bmx_howto_plugin'
>
>
> make[2]: Entering directory '/usr/local/src/bmxd/lib/bmx_http_info'
> rm -f *.o *.so.1
> make[2]: Leaving directory '/usr/local/src/bmxd/lib/bmx_http_info'
>
>
> make[2]: Entering directory '/usr/local/src/bmxd/lib/bmx_uci_config'
> rm -f *.o *.so.1
> make[2]: Leaving directory '/usr/local/src/bmxd/lib/bmx_uci_config'
>
>
> make[1]: Leaving directory '/usr/local/src/bmxd/lib'
> make bmxd
> make[1]: Entering directory '/usr/local/src/bmxd'
> cc -pedantic -Wall -W -Wno-unused-parameter -Os -g3 -std=gnu99 -I./ -DREVISION_VERSION=\"-src:[a13362f398]\" -DSTEPHAN_NO_DYNAMIC_PLUGIN -DNODEPRECATED -DNOVIS -DNOHNA -c batman.c -o batman.o
> cc -pedantic -Wall -W -Wno-unused-parameter -Os -g3 -std=gnu99 -I./ -DREVISION_VERSION=\"-src:[a13362f398]\" -DSTEPHAN_NO_DYNAMIC_PLUGIN -DNODEPRECATED -DNOVIS -DNOHNA -c originator.c -o originator.o
> cc -pedantic -Wall -W -Wno-unused-parameter -Os -g3 -std=gnu99 -I./ -DREVISION_VERSION=\"-src:[a13362f398]\" -DSTEPHAN_NO_DYNAMIC_PLUGIN -DNODEPRECATED -DNOVIS -DNOHNA -c hna.c -o hna.o
> cc -pedantic -Wall -W -Wno-unused-parameter -Os -g3 -std=gnu99 -I./ -DREVISION_VERSION=\"-src:[a13362f398]\" -DSTEPHAN_NO_DYNAMIC_PLUGIN -DNODEPRECATED -DNOVIS -DNOHNA -c schedule.c -o schedule.o
> cc -pedantic -Wall -W -Wno-unused-parameter -Os -g3 -std=gnu99 -I./ -DREVISION_VERSION=\"-src:[a13362f398]\" -DSTEPHAN_NO_DYNAMIC_PLUGIN -DNODEPRECATED -DNOVIS -DNOHNA -c plugin.c -o plugin.o
> cc -pedantic -Wall -W -Wno-unused-parameter -Os -g3 -std=gnu99 -I./ -DREVISION_VERSION=\"-src:[a13362f398]\" -DSTEPHAN_NO_DYNAMIC_PLUGIN -DNODEPRECATED -DNOVIS -DNOHNA -c list-batman.c -o list-batman.o
> cc -pedantic -Wall -W -Wno-unused-parameter -Os -g3 -std=gnu99 -I./ -DREVISION_VERSION=\"-src:[a13362f398]\" -DSTEPHAN_NO_DYNAMIC_PLUGIN -DNODEPRECATED -DNOVIS -DNOHNA -c allocate.c -o allocate.o
> cc -pedantic -Wall -W -Wno-unused-parameter -Os -g3 -std=gnu99 -I./ -DREVISION_VERSION=\"-src:[a13362f398]\" -DSTEPHAN_NO_DYNAMIC_PLUGIN -DNODEPRECATED -DNOVIS -DNOHNA -c avl.c -o avl.o
> cc -pedantic -Wall -W -Wno-unused-parameter -Os -g3 -std=gnu99 -I./ -DREVISION_VERSION=\"-src:[a13362f398]\" -DSTEPHAN_NO_DYNAMIC_PLUGIN -DNODEPRECATED -DNOVIS -DNOHNA -c profile.c -o profile.o
> cc -pedantic -Wall -W -Wno-unused-parameter -Os -g3 -std=gnu99 -I./ -DREVISION_VERSION=\"-src:[a13362f398]\" -DSTEPHAN_NO_DYNAMIC_PLUGIN -DNODEPRECATED -DNOVIS -DNOHNA -c control.c -o control.o
> cc -pedantic -Wall -W -Wno-unused-parameter -Os -g3 -std=gnu99 -I./ -DREVISION_VERSION=\"-src:[a13362f398]\" -DSTEPHAN_NO_DYNAMIC_PLUGIN -DNODEPRECATED -DNOVIS -DNOHNA -c metrics.c -o metrics.o
> cc -pedantic -Wall -W -Wno-unused-parameter -Os -g3 -std=gnu99 -I./ -DREVISION_VERSION=\"-src:[a13362f398]\" -DSTEPHAN_NO_DYNAMIC_PLUGIN -DNODEPRECATED -DNOVIS -DNOHNA -c linux/route.c -o linux/route.o
> cc -pedantic -Wall -W -Wno-unused-parameter -Os -g3 -std=gnu99 -I./ -DREVISION_VERSION=\"-src:[a13362f398]\" -DSTEPHAN_NO_DYNAMIC_PLUGIN -DNODEPRECATED -DNOVIS -DNOHNA -c posix/posix.c -o posix/posix.o
> cc -pedantic -Wall -W -Wno-unused-parameter -Os -g3 -std=gnu99 -I./ -DREVISION_VERSION=\"-src:[a13362f398]\" -DSTEPHAN_NO_DYNAMIC_PLUGIN -DNODEPRECATED -DNOVIS -DNOHNA -c posix/tunnel.c -o posix/tunnel.o
> cc batman.o originator.o hna.o schedule.o plugin.o list-batman.o allocate.o avl.o profile.o control.o metrics.o linux/route.o posix/posix.o posix/tunnel.o -o bmxd -g3
> make[1]: Leaving directory '/usr/local/src/bmxd'
> # further make targets: help, libs, build_all, strip[_libs|_all], install[_libs|_all], clean[_libs|_all]
> make bmxd
> make[1]: Entering directory '/usr/local/src/bmxd'
> make[1]: 'bmxd' is up to date.
> make[1]: Leaving directory '/usr/local/src/bmxd'
> # further make targets: help, libs, build_all, strip[_libs|_all], install[_libs|_all], clean[_libs|_all]
> strip bmxd
> ```
in list-batman.h für Header-Dateien, list-batman.c für Definitionen
Die gegebene Funktion ist
```
void list_add_before( struct list_head *prev_node, struct list_head *next_node, struct list_head *new_node ) {
prev_node->next = new_node;
new_node->next = next_node;
}
```
es benutzt nur -> next
nicht -> prev
Die Neufassung sollte sich also hoffentlich nicht darauf auswirken
zumal der Zeiger neu erstellt wird, nicht die Struktur selbst aber nur um sicher zu gehen.<br />
siehe: https://locklessinc.com/articles/overloading/<br />
search: "warning: dereferencing type-punned pointer will break strict-aliasing rules"
aber die beste Lösung ist wie folgt<br />
erstelle eine andere Funktion:<br />
```
void list_add_before_fxx( struct list_head_first *prev_node, struct list_head *next_node, struct list_head *new_node ) {
same body
}
```
dann ein anderer:<br />
```void list_add_before_xfx(struct list_head *prev_node, struct list_head_first *next_node, struct list_head *new_node){samebody}```
wir müssen 2 * 2 * 2 = 8 Funktionen erstellen , 7 Funktionen<br />
Der xxx-Fall ist nur die ursprüngliche Funktion<br />
dann die richtige Version mit dem richtigen Typ verwenden<br />
das ist es oder?Sven enniKSven enniKhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/31WIP: Wireguard als Backbone2020-06-22T21:27:08ZYaroslav PetrovWIP: Wireguard als Backbone* backbone.cgi erweitert
* Wireguard Key is 44 Zeichen groß und enthält a-z0-9+/= Zeichen
* Key Private wird im ddmesh unter wireguard.key gespeichert
* Sollte Backbone keine Typ erhalten, wird als fastd interpretiert
* FW könnte ohn...* backbone.cgi erweitert
* Wireguard Key is 44 Zeichen groß und enthält a-z0-9+/= Zeichen
* Key Private wird im ddmesh unter wireguard.key gespeichert
* Sollte Backbone keine Typ erhalten, wird als fastd interpretiert
* FW könnte ohne fastd gebaut werden (config.ath79.tiny.wireguard.lowmem Variante)
Issue: #19 Yaroslav PetrovYaroslav Petrovhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/64Patch script-check2020-03-31T15:41:45ZSven enniKPatch script-checkIncludes https://gitlab.freifunk-dresden.de/firmware-developer/firmware/merge_requests/63Includes https://gitlab.freifunk-dresden.de/firmware-developer/firmware/merge_requests/63https://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/62rename Community "Freifunk OL" to "Freifunk O.L."2020-03-23T19:41:52ZSven enniKrename Community "Freifunk OL" to "Freifunk O.L."https://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/56WIP: Add Router: Strong 12002020-03-03T20:58:00ZYaroslav PetrovWIP: Add Router: Strong 1200HW Identisch wie Netgear R6220HW Identisch wie Netgear R6220Yaroslav PetrovYaroslav Petrovhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/35WIP: Ramips mt76202020-02-07T14:08:58ZYaroslav PetrovWIP: Ramips mt7620Alle sind auf basis MediaTek MT7620A (2.4Ghz, keine ADHOC), MediaTek MT7610E (5GHz)
* Asus RT-AC51U (keine ADHOC)
* GL-MT300A (vermutlich keine ADHOC)
* GL-MT300N (vermutlich keine ADHOC)
* GL-MT750 (vermutlich keine ADHOC)
* TPLink...Alle sind auf basis MediaTek MT7620A (2.4Ghz, keine ADHOC), MediaTek MT7610E (5GHz)
* Asus RT-AC51U (keine ADHOC)
* GL-MT300A (vermutlich keine ADHOC)
* GL-MT300N (vermutlich keine ADHOC)
* GL-MT750 (vermutlich keine ADHOC)
* TPLink C2 v1 (vermutlich keine ADHOC)
* TPLink C20 v1 (vermutlich keine ADHOC)
* TPLink Archer C20i (vermutlich keine ADHOC)
* TPLink Archer C50v1 (vermutlich keine ADHOC)Yaroslav PetrovYaroslav Petrov