Re: WDS stopped working in 21.02, looking for bug in netifd, BUG FOUND!

2021-09-23 Thread Daniel Haid

Hi everyone, I think I finally located the problem!

There is a race condition between hostapd and netifd.

In hostapd, src/drivers/driver_nl80211.c, look at the function 
i802_set_wds_sta. There are calls to


1) nl80211_create_iface and
2) linux_br_add_if.

Now call 1) seems to trigger netifd into calling

3) bridge_hotplug_add from bridge.c in netifd.

Now the problem is whether 2) or 3) is called first.

If 2) is called first, it succeeds, and hostapd continues with WDS mode 
as required -> GOOD CASE, connection works.


If 3) is called first, then 2) fails which leads i802_set_wds_sta to 
return immediately without doing what it should do -> BAD CASE, 
connection does not work.


-
D.H.

___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Master failing to compile: patch 379-mac80211-fix-starting-aggregation-sessions-on-mesh-i fails to apply

2021-09-23 Thread Federico Capoano
Hi Everyone,

I want to compile on the current master to see if some of the issues
that are affecting me on the openwrt-21.02 branch are fixed (if these
bugs aren't fixed I may be able to send a proper bug report after
ruling out they're not fixed in master).

However, the compilation fails here:

Applying 
./patches/subsys/379-mac80211-fix-starting-aggregation-sessions-on-mesh-i.patch.orig
using plaintext:
patching file net/mac80211/tx.c
Hunk #1 succeeded at 1182 with fuzz 1 (offset 23 lines).
Hunk #2 FAILED at 1195.
1 out of 2 hunks FAILED -- saving rejects to file net/mac80211/tx.c.rej
Patch failed!  Please fix
./patches/subsys/379-mac80211-fix-starting-aggregation-sessions-on-mesh-i.patch.orig!
make[3]: *** [Makefile:571:
/openwrt/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/backports-5.10.68-1/.prepared_ad0d13a25d90a8619224f58a2c623adf_6664517399ebbbc92a37c5bb081b5c53]
Error 1
make[3]: Leaving directory '/openwrt/package/kernel/mac80211'
time: package/kernel/mac80211/compile#1.00#0.36#1.12
ERROR: package/kernel/mac80211 failed to build.
make[2]: *** [package/Makefile:116: package/kernel/mac80211/compile] Error 1

I was compiling fine on the openwrt-21.02 branch. I ran "make clean"
before compiling again and changed the feeds to point to the current
master branches of each package feed useded.

Am I missing something or is it happening also to others?

Thanks in advance
Best regards
Federico Capoano

___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [PATCH] ramips: switch to 5.10 kernel

2021-09-23 Thread Ilya Lipnitskiy
Oops, this is a duplicate of
https://patchwork.ozlabs.org/project/openwrt/patch/20210909084441.1756-1-rsalvate...@gmail.com/,
please disregard.

On Thu, Sep 23, 2021 at 11:20 AM Ilya Lipnitskiy
 wrote:
>
> 5.10 has been working for many months on ramips targets - time to
> promote it from testing to default.
>
> Signed-off-by: Ilya Lipnitskiy 
> ---
>  target/linux/ramips/Makefile | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/target/linux/ramips/Makefile b/target/linux/ramips/Makefile
> index d3f2d4b8fc7b..c9fc1aa58a06 100644
> --- a/target/linux/ramips/Makefile
> +++ b/target/linux/ramips/Makefile
> @@ -10,8 +10,7 @@ BOARDNAME:=MediaTek Ralink MIPS
>  SUBTARGETS:=mt7620 mt7621 mt76x8 rt288x rt305x rt3883
>  FEATURES:=squashfs gpio
>
> -KERNEL_PATCHVER:=5.4
> -KERNEL_TESTING_PATCHVER:=5.10
> +KERNEL_PATCHVER:=5.10
>
>  define Target/Description
> Build firmware images for Ralink RT288x/RT3xxx based boards.
> --
> 2.33.0
>

___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: WDS stopped working in 21.02, looking for bug in netifd

2021-09-23 Thread Bastian Bittorf
On Thu, Sep 23, 2021 at 03:17:15PM +0200, Daniel Haid wrote:
> Is there any way to dump a detailed state of the wlan driver in the kernel?
> Or the state of netifd? Sould I enable some debug options?

at least you can try to debug with 2 terminals an running:

iw event
ip monitor

bye, Bastian

___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[PATCH] ramips: switch to 5.10 kernel

2021-09-23 Thread Ilya Lipnitskiy
5.10 has been working for many months on ramips targets - time to
promote it from testing to default.

Signed-off-by: Ilya Lipnitskiy 
---
 target/linux/ramips/Makefile | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/target/linux/ramips/Makefile b/target/linux/ramips/Makefile
index d3f2d4b8fc7b..c9fc1aa58a06 100644
--- a/target/linux/ramips/Makefile
+++ b/target/linux/ramips/Makefile
@@ -10,8 +10,7 @@ BOARDNAME:=MediaTek Ralink MIPS
 SUBTARGETS:=mt7620 mt7621 mt76x8 rt288x rt305x rt3883
 FEATURES:=squashfs gpio
 
-KERNEL_PATCHVER:=5.4
-KERNEL_TESTING_PATCHVER:=5.10
+KERNEL_PATCHVER:=5.10
 
 define Target/Description
Build firmware images for Ralink RT288x/RT3xxx based boards.
-- 
2.33.0


___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: WDS stopped working in 21.02, looking for bug in netifd

2021-09-23 Thread Daniel Haid

Another update:

If I issue the following commands:

1. /etc/init.d/network restart
2. ip addr
3. ip addr
4. ip addr

Then, in a "bad case", if the timing is right, 2. shows that the 
interface wlan0.sta1 is DOWN, 3. shows that it is UP and 4. shows that 
is DOWN again. Then it stays DOWN.


This might explain why yesterday I noticed so many "good" cases, because 
I did not try to ping the client, I only looked at the output of "ip 
addr". But it can show UP for a short time, even if the bug has triggered.


(By the way, even in a good case it first shows DOWN for a short time, 
and the UP, but then it stays UP.)


Is there any way to dump a detailed state of the wlan driver in the 
kernel? Or the state of netifd? Sould I enable some debug options?


-
D.H.

___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [PATCH] dnsmasq: add match_tag for --dhcp-host

2021-09-23 Thread Paul D

Did not understand significance of vendorclass.

Should this give a new option for uci, match_tag?



On 2021-09-23 09:28, Paul Fertser wrote:

A set of tags can be specified for --dhcp-host option to restrict the
assignment to the requests which match all the tags.

Example usage:

config vendorclass
 option networkid 'udhcp'
 option vendorclass 'udhcp'

config host
 option mac '*:*:*:*:*:*'
 list match_tag 'switch.10'
 list match_tag 'udhcp'
 option ip '192.168.25.10'



___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[PATCH] dnsmasq: add match_tag for --dhcp-host

2021-09-23 Thread Paul Fertser
A set of tags can be specified for --dhcp-host option to restrict the
assignment to the requests which match all the tags.

Example usage:

config vendorclass
option networkid 'udhcp'
option vendorclass 'udhcp'

config host
option mac '*:*:*:*:*:*'
list match_tag 'switch.10'
list match_tag 'udhcp'
option ip '192.168.25.10'

Signed-off-by: Paul Fertser 
---
 package/network/services/dnsmasq/files/dnsmasq.init | 11 ---
 1 file changed, 8 insertions(+), 3 deletions(-)
 mode change 100644 => 100755 
package/network/services/dnsmasq/files/dnsmasq.init

diff --git a/package/network/services/dnsmasq/files/dnsmasq.init 
b/package/network/services/dnsmasq/files/dnsmasq.init
old mode 100644
new mode 100755
index 9748c09b8ee8..bea0bc02a2da
--- a/package/network/services/dnsmasq/files/dnsmasq.init
+++ b/package/network/services/dnsmasq/files/dnsmasq.init
@@ -332,7 +332,7 @@ dhcp_match_add() {
 
 dhcp_host_add() {
local cfg="$1"
-   local hosttag nametime addrs duids macs tags
+   local hosttag nametime addrs duids macs tags mtags
 
config_get_bool force "$cfg" force 0
 
@@ -357,6 +357,11 @@ dhcp_host_add() {
config_get duid "$cfg" duid
config_get tag "$cfg" tag
 
+   add_tag() {
+   mtags="${mtags}tag:$1,"
+   }
+   config_list_foreach "$cfg" match_tag add_tag
+
if [ -n "$mac" ]; then
# --dhcp-host=00:20:e0:3b:13:af,192.168.0.199,lap
# many MAC are possible to track a laptop ON/OFF dock
@@ -394,9 +399,9 @@ dhcp_host_add() {
 
if [ $DNSMASQ_DHCP_VER -eq 6 ]; then
addrs="${ip:+,$ip}${hostid:+,[::$hostid]}"
-   xappend 
"--dhcp-host=$macs${duids:+,$duids}$hosttag$addrs$nametime"
+   xappend 
"--dhcp-host=$mtags$macs${duids:+,$duids}$hosttag$addrs$nametime"
else
-   xappend "--dhcp-host=$macs$hosttag${ip:+,$ip}$nametime"
+   xappend "--dhcp-host=$mtags$macs$hosttag${ip:+,$ip}$nametime"
fi
 }
 
-- 
2.17.1


___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel