ath9 stopped transmitting multicast frames in Linux 5.14.0

3 messages, 2 authors, 2021-10-01 · open the first message on its own page

ath9 stopped transmitting multicast frames in Linux 5.14.0

From: Petr Pisar <hidden>
Date: 2021-09-04 18:31:01

Hello,

after upgrading Linux from 5.13.13 to 5.14.0 on my router with this wireless
device:

03:00.0 Network controller [0280]: Qualcomm Atheros AR93xx Wireless Network Adapter [168c:0030] (rev 01)
        Subsystem: Qualcomm Atheros AR93xx Wireless Network Adapter [168c:3116]
        Flags: bus master, fast devsel, latency 0, IRQ 18
        Memory at 81200000 (64-bit, non-prefetchable) [size=128K]
        Expansion ROM at 81220000 [disabled] [size=64K]
        Capabilities: [40] Power Management version 3
        Capabilities: [50] MSI: Enable- Count=1/4 Maskable+ 64bit+
        Capabilities: [70] Express Endpoint, MSI 00
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [140] Virtual Channel
        Capabilities: [300] Device Serial Number 00-00-00-00-00-00-00-00
        Kernel driver in use: ath9k
        Kernel modules: ath9k

which works as a WiFi accesspoint, I noticed that WiFi clients cannot use IPv6
anymore. The problem is that the router cannot translate an IPv6 address of
the client to a MAC address. The reason is that IPv6 multicast packets used by
ICMPv6 neighbour discovery protocol do not reach the clients. In other words
the ath9k-driven device stopped transmitting multicast frames.

This can be reproduced with "ndisc6 -r 100 fe80::217:c4ff:fe4e:1552 wlan0"
command which queries (100 times) fe80::217:c4ff:fe4e:1552 address of
my client from the router. tcpdump on the ath9k device shows the queries,
but tcpdump on the client cannot see them.

The other way works correctly. I observed this with all two WiFi clients
I have (Pixel 3a phone, and a laptop with a Realtek chip). Upgrading to 5.14.1
did not help. Once I rebooted to 5.13.13, the functionality was restored.

Therefore I conclude this is regression in 5.14.0 Linux.

-- Petr

Re: ath9 stopped transmitting multicast frames in Linux 5.14.0

From: Petr Pisar <hidden>
Date: 2021-09-25 07:07:27

V Sat, Sep 04, 2021 at 08:20:57PM +0200, Petr Pisar napsal(a):
Hello,

after upgrading Linux from 5.13.13 to 5.14.0 on my router with this wireless
device:

03:00.0 Network controller [0280]: Qualcomm Atheros AR93xx Wireless Network Adapter [168c:0030] (rev 01)
        Subsystem: Qualcomm Atheros AR93xx Wireless Network Adapter [168c:3116]
        Flags: bus master, fast devsel, latency 0, IRQ 18
        Memory at 81200000 (64-bit, non-prefetchable) [size=128K]
        Expansion ROM at 81220000 [disabled] [size=64K]
        Capabilities: [40] Power Management version 3
        Capabilities: [50] MSI: Enable- Count=1/4 Maskable+ 64bit+
        Capabilities: [70] Express Endpoint, MSI 00
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [140] Virtual Channel
        Capabilities: [300] Device Serial Number 00-00-00-00-00-00-00-00
        Kernel driver in use: ath9k
        Kernel modules: ath9k

which works as a WiFi accesspoint, I noticed that WiFi clients cannot use IPv6
anymore. The problem is that the router cannot translate an IPv6 address of
the client to a MAC address. The reason is that IPv6 multicast packets used by
ICMPv6 neighbour discovery protocol do not reach the clients. In other words
the ath9k-driven device stopped transmitting multicast frames.
The same observation was reported here by Felix Fietkau in "[PATCH] Revert
"mac80211: do not use low data rates for data frames with no ack flag""
<https://marc.info/?l=linux-wireless&m=163091738109000&w=2> with a proposal to
revert the offending d333322361e7a099dc74df2498d3fa5fde5c4fa7 commit.

-- Petr

Re: ath9 stopped transmitting multicast frames in Linux 5.14.0

From: Kalle Valo <hidden>
Date: 2021-10-01 06:52:02

Petr Pisar [off-list ref] writes:
V Sat, Sep 04, 2021 at 08:20:57PM +0200, Petr Pisar napsal(a):
quoted
Hello,

after upgrading Linux from 5.13.13 to 5.14.0 on my router with this wireless
device:

03:00.0 Network controller [0280]: Qualcomm Atheros AR93xx Wireless Network Adapter [168c:0030] (rev 01)
        Subsystem: Qualcomm Atheros AR93xx Wireless Network Adapter [168c:3116]
        Flags: bus master, fast devsel, latency 0, IRQ 18
        Memory at 81200000 (64-bit, non-prefetchable) [size=128K]
        Expansion ROM at 81220000 [disabled] [size=64K]
        Capabilities: [40] Power Management version 3
        Capabilities: [50] MSI: Enable- Count=1/4 Maskable+ 64bit+
        Capabilities: [70] Express Endpoint, MSI 00
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [140] Virtual Channel
        Capabilities: [300] Device Serial Number 00-00-00-00-00-00-00-00
        Kernel driver in use: ath9k
        Kernel modules: ath9k

which works as a WiFi accesspoint, I noticed that WiFi clients cannot use IPv6
anymore. The problem is that the router cannot translate an IPv6 address of
the client to a MAC address. The reason is that IPv6 multicast packets used by
ICMPv6 neighbour discovery protocol do not reach the clients. In other words
the ath9k-driven device stopped transmitting multicast frames.
The same observation was reported here by Felix Fietkau in "[PATCH] Revert
"mac80211: do not use low data rates for data frames with no ack flag""
<https://marc.info/?l=linux-wireless&m=163091738109000&w=2> with a proposal to
revert the offending d333322361e7a099dc74df2498d3fa5fde5c4fa7 commit.
Very good, thanks for the followup.

-- 
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help