Firmware merge requestshttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests2019-12-08T17:31:36Zhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/3WIP: Ath10k Candela Technologies CT 10.1 Firmware statt standart Ath10k2019-12-08T17:31:36ZYaroslav PetrovWIP: Ath10k Candela Technologies CT 10.1 Firmware statt standart Ath10k* Getestet an BT HomeHub 5 A
TODO: Firmware für Archer C7 v1.1 (openwrt-19.07) bauen und testen* Getestet an BT HomeHub 5 A
TODO: Firmware für Archer C7 v1.1 (openwrt-19.07) bauen und testenFirmware 6.1.0Yaroslav PetrovYaroslav Petrovhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/7correct some configs for netgear r6220 (fix compile error: conflicts with oth...2019-09-16T22:04:17ZStephancorrect some configs for netgear r6220 (fix compile error: conflicts with other wpad packages)'correct some configs for netgear r6220 (fix compile error: conflicts with other wpad packages)'correct some configs for netgear r6220 (fix compile error: conflicts with other wpad packages)StephanStephanhttps://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/23WIP: Ar71xx tiny 19072019-12-08T17:33:31ZYaroslav PetrovWIP: Ar71xx tiny 1907FF Firmware auf Openwrt-19.07 basis für **ar71xx.tiny** TargetFF Firmware auf Openwrt-19.07 basis für **ar71xx.tiny** TargetYaroslav PetrovYaroslav Petrovhttps://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/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 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/40remove node_type: server2020-01-04T11:10:56ZSven enniKremove node_type: serverhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/45delete nodetype server!!!2020-01-22T16:52:29ZSven enniKdelete nodetype server!!!https://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/47Add Outdoor Router: Comfast CF-E110N2020-01-31T21:05:55ZYaroslav PetrovAdd Outdoor Router: Comfast CF-E110NOutdoor router: 2.4 Ghz, 35 € ( Issue #23 )Outdoor router: 2.4 Ghz, 35 € ( Issue #23 )Yaroslav PetrovYaroslav Petrovhttps://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/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/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/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/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/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/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/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)StephanStephan