From: James Prestwood <prestwoj@gmail.com>
To: Baochen Qiang <quic_bqiang@quicinc.com>,
"open list:MEDIATEK MT76 WIRELESS LAN DRIVER"
<linux-wireless@vger.kernel.org>,
ath11k@lists.infradead.org
Subject: Re: ath11k multicast action frame RX
Date: Tue, 30 Jan 2024 04:54:00 -0800 [thread overview]
Message-ID: <0a2ab448-3205-4ee0-8fdd-428eb2f2ed56@gmail.com> (raw)
In-Reply-To: <1dafe0e5-292b-4764-86c7-cc1757aeb3b6@gmail.com>
On 1/30/24 4:47 AM, James Prestwood wrote:
> Hi Baochen,
>
> On 1/29/24 11:00 PM, Baochen Qiang wrote:
>>
>>
>> On 1/27/2024 3:18 AM, James Prestwood wrote:
>>> On 1/24/24 5:06 AM, James Prestwood wrote:
>>>
>>>> Hi,
>>>>
>>>> I recently added support to ath10k, for the QCA6174, to receive
>>>> multicast action frames in order to support DPP. I'm trying to do
>>>> this for the ath11k QCNFA765/WCN6855. I took the same approach as
>>>> ath10k which was actually quite simple but I'm unable to see any
>>>> multicast frames coming over even when I enable RX/DATA debugging.
>>>>
>>>> What I've done so far is:
>>>>
>>>> - Add FIF_MCAST_ACTION to the supported filters list
>>>>
>>>> - Created/started a monitor vdev from within
>>>> ath11k_mac_op_configure_filter()
>>>>
>>>> ath11k_mac_monitor_vdev_create(ar);
>>>>
>>>> ath11k_mac_monitor_start(ar);
>>>>
>>>> - Also tried adding
>>>>
>>>> ath11k_mac_config_mon_status_default(ar, true);
>>>>
>>>> I can successfully create/start the monitor vdev. I see now as I'm
>>>> writing this email that my specific hardware does not support
>>>> monitor mode outright... Is this a dead end or is there hope with
>>>> purely driver changes? or is it some filtering at the firmware
>>>> level preventing this?
>>>
>>> I was able to finally see my broadcast frame after some additional
>>> testing. It seems the driver/firmware/something gets a bit hung up
>>> when I attempt to put it in monitor mode. It will start printing
>>> these messages for about a minute:
>>>
>>> [ 51.093034] ath11k_pci 0000:00:06.0: data dest_rx: new ppdu_id
>>> a1a2 != status ppdu_id a1a1 dest_mon_not_reaped = 650 dest_mon_stuck
>>> = 12
>>> [ 51.094461] ath11k_pci 0000:00:06.0: data dest_rx: new ppdu_id
>>> a1a3 != status ppdu_id a1a2 dest_mon_not_reaped = 651 dest_mon_stuck
>>> = 12
>>> [ 51.096281] ath11k_pci 0000:00:06.0: data dest_rx: new ppdu_id
>>> a1a5 != status ppdu_id a1a3 dest_mon_not_reaped = 652 dest_mon_stuck
>>> = 12
>>>
>>> In most cases these ppdu ID's are a one-off from the expected ID
>>> which seemed weird to me. But if I let it sit long enough I all of a
>>> sudden get a ton of "data rx" messages, which is what I would expect
>>> if I enabled a monitor vdev. Once this flurry starts I see the
>>> action frame from my other client, sometimes at least. The firmware
>>> generally crashes after a while so I've still got a ways to go but
>>> it seems within the realm of possibility that this device could
>>> receive broadcast action frames?
>>>
>>> Hoping for some breadcrumbs to follow here...
>>>
>> Hi James, as you already mentioned, ath11k/WCN6855 doesn't support
>> monitor mode yet. I don't know why you are testing multicast action
>> frame with monitor mode. So if monitor mode is not a must, could you
>> test this with STATION mode? We would look into this if any issue found.
>
> As you may have guessed I don't _really_ know what I'm doing. When I
> got this working with ath10k I saw monitor device was being used in
> order to receive probes, and did the same for multicast action frames
> and it "just worked". The frames themselves were still being received
> on the station device. I attempted to mimic the changes with ath11k.
>
> The end goal here is just that, be able to receive multicast action
> frames on the station device which currently does not work. I'm only
> seeing unicast frames when i enable RX debugging. The driver support
> for multicast action RX in the kernel for this is basically zero. An
> extended feature flag was added by Jouni when he added support to
> ath9k, I added limited ath10k support for a variant I tested, and I'd
> like to do the same for ath11k as we are transitioning to the WCN6855.
>
> And help is much appreciated, and I'm happy to put in the work its
> just a steep learning curve coupled with the fact that any FW level
> communication is proprietary. I really just need a nudge in the right
> direction.
Meant to mention, I swapped out my email to prestwoj@gmail.com, with
multiple emails accounts sometimes my corporate account sneaks in. Sorry
for the confusion.
>
> Thanks,
>
> James
>
>>
>>> Thanks,
>>>
>>> James
>>>
>>>>
>>>> Thanks,
>>>>
>>>> James
>>>>
>>>>
>>
next prev parent reply other threads:[~2024-01-30 12:54 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-24 13:06 ath11k multicast action frame RX James Prestwood
2024-01-26 19:18 ` James Prestwood
2024-01-30 7:00 ` Baochen Qiang
2024-01-30 12:47 ` James Prestwood
2024-01-30 12:54 ` James Prestwood [this message]
2024-01-31 2:01 ` Baochen Qiang
2024-01-31 12:28 ` James Prestwood
2024-02-21 3:45 ` Baochen Qiang
2024-02-21 12:24 ` James Prestwood
2024-02-22 2:26 ` Baochen Qiang
2024-02-22 15:38 ` James Prestwood
2024-02-23 1:56 ` Baochen Qiang
2024-02-23 16:13 ` James Prestwood
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=0a2ab448-3205-4ee0-8fdd-428eb2f2ed56@gmail.com \
--to=prestwoj@gmail.com \
--cc=ath11k@lists.infradead.org \
--cc=linux-wireless@vger.kernel.org \
--cc=quic_bqiang@quicinc.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox