2018-03-26 18:37:54

by David Dean Zhang

[permalink] [raw]
Subject: wil6210: low level sector API

Hi,

I am working on wil6210 sector control. Now I think I can successfully
call these 4 functions( set_cfg, get_cfg, set_selected and get
selected index) but it looks like it does not work well because, in
the next Beacon Interval, TXSS will set a new TX sector again. My
question is how I can disable TXSS. One way I found in the wmi.h is
setting the number of sectors of TXSS to 0 or 1 by using
wmi_prio_tx_sectors_num_cmd so that the TXSS will only use 1 sector.
However, when I called this cmd, I got this error:

wil6210 0000:03:00.0 wlp3s0: wil6210_irq_misc: Firmware error
detected, assert codes FW 0x00001038, UCODE 0x00000000
wil6210 0000:03:00.0 wlp3s0: wil_fw_core_dump: fw core dumped, size 823296 bytes
wil6210 0000:03:00.0 wlp3s0: wil_notify_fw_error: Notify about firmware error

So I am wondering whether the firmware does not support these kinds of
wmi commands. Does anyone have any experience on this? Thank you.

Thanks,
David


2018-03-29 12:29:16

by Dedy Lansky

[permalink] [raw]
Subject: RE: wil6210: low level sector API

From: [email protected] =
[mailto:[email protected]] On Behalf Of David Dean
Sent: Monday, March 26, 2018 9:38 PM

> My question is how I can disable TXSS. One way I found in the wmi.h is =
setting the number of sectors of TXSS to 0 or 1 > by using =
wmi_prio_tx_sectors_num_cmd so that the TXSS will only use 1 sector.
> However, when I called this cmd, I got this error:
> wil6210 0000:03:00.0 wlp3s0: wil6210_irq_misc: Firmware error =
detected, assert codes FW 0x00001038, UCODE 0x00000000
> wil6210 0000:03:00.0 wlp3s0: wil_fw_core_dump: fw core dumped, size =
823296 bytes
> wil6210 0000:03:00.0 wlp3s0: wil_notify_fw_error: Notify about =
firmware error
> So I am wondering whether the firmware does not support these kinds of =
wmi commands. Does anyone have any experience on this? Thank you.

Indeed this error indicates that FW doesn't support these WMI commands.
We are working on releasing new FW version with support for these =
commands.

Thanks,
Dedy.

2018-04-18 18:01:16

by David Dean Zhang

[permalink] [raw]
Subject: Re: wil6210: low level sector API

Hi,

I updated the firmware and tried to call some low level functions,
like WMI_PRIO_TX_SECTORS_NUMBER_CMDID and WMI_SET_RF_SECTOR_ON_CMDID .
The previous errors have gone but it still has errors:

wil6210 0000:03:00.0 wlp3s0: wmi_event_handle: Unhandled event 0x19a5
wil6210 0000:03:00.0 wlp3s0: wmi_call: wmi_call(0x09a6->0x19a6)
timeout 2000 msec

So I am wondering whether it is because the chipset does not support
these wmi commands. I just want to know how to use these commands and
how to disable TXSS. I appreciate if anyone could provide some
suggestions. Thanks.

Bests,
David

On Thu, Mar 29, 2018 at 8:29 AM, Dedy Lansky <[email protected]> wrote:
> From: [email protected] [mailto:[email protected]] On Behalf Of David Dean
> Sent: Monday, March 26, 2018 9:38 PM
>
>> My question is how I can disable TXSS. One way I found in the wmi.h is setting the number of sectors of TXSS to 0 or 1 > by using wmi_prio_tx_sectors_num_cmd so that the TXSS will only use 1 sector.
>> However, when I called this cmd, I got this error:
>> wil6210 0000:03:00.0 wlp3s0: wil6210_irq_misc: Firmware error detected, assert codes FW 0x00001038, UCODE 0x00000000
>> wil6210 0000:03:00.0 wlp3s0: wil_fw_core_dump: fw core dumped, size 823296 bytes
>> wil6210 0000:03:00.0 wlp3s0: wil_notify_fw_error: Notify about firmware error
>> So I am wondering whether the firmware does not support these kinds of wmi commands. Does anyone have any experience on this? Thank you.
>
> Indeed this error indicates that FW doesn't support these WMI commands.
> We are working on releasing new FW version with support for these commands.
>
> Thanks,
> Dedy.
>

2018-04-22 14:29:05

by Dedy Lansky

[permalink] [raw]
Subject: RE: wil6210: low level sector API


> From: [email protected] =
[mailto:[email protected]] On Behalf Of David Dean =
Zhang
> Sent: Wednesday, April 18, 2018 9:01 PM

> I updated the firmware and tried to call some low level functions, =
like WMI_PRIO_TX_SECTORS_NUMBER_CMDID and WMI_SET_RF_SECTOR_ON_CMDID .
> The previous errors have gone but it still has errors:
> wil6210 0000:03:00.0 wlp3s0: wmi_event_handle: Unhandled event 0x19a5
> wil6210 0000:03:00.0 wlp3s0: wmi_call: wmi_call(0x09a6->0x19a6) =
timeout 2000 msec
> So I am wondering whether it is because the chipset does not support =
these wmi commands. I just want to know how to use these commands and =
how to disable TXSS. I appreciate if anyone could provide some =
suggestions. Thanks.

This is a bug in FW that upon WMI_PRIO_TX_SECTORS_NUMBER_CMDID, wrong =
event is returned. Most likely that the WMI_PRIO_TX_SECTORS_NUMBER_CMDID =
was handled successfully. The bug is not critical - event 0x19a5 is =
returned instead of 0x19a6 (as can be seen in dmesg).

Another option for disabling TXSS/BRP and hopefully to keep the sector =
locked is by using WMI_BF_CONTROL_CMDID. Setting "triggers" and =
"long_term_enable" to 0 should disable BF completely.

Thanks,
Dedy.

2018-04-27 21:40:55

by David Dean Zhang

[permalink] [raw]
Subject: Re: wil6210: low level sector API

Thanks so much for your information. I tried to use this command and
set "triggers" and "long_term_enable" to 0. Actually, in the
definition of the triggers, there is no 0x00 but it could be set.
After calling this WMI command, it returned 0 which looks like
correct. But when I checked the station bf info, it still changed. I
am wondering whether I can do anything to verify that. Thank you.

Regards,
David

On Sun, Apr 22, 2018 at 10:29 AM, Dedy Lansky <[email protected]> wrot=
e:
>
>> From: [email protected] [mailto:linux-wireless-owner@=
vger.kernel.org] On Behalf Of David Dean Zhang
>> Sent: Wednesday, April 18, 2018 9:01 PM
>
>> I updated the firmware and tried to call some low level functions, like =
WMI_PRIO_TX_SECTORS_NUMBER_CMDID and WMI_SET_RF_SECTOR_ON_CMDID .
>> The previous errors have gone but it still has errors:
>> wil6210 0000:03:00.0 wlp3s0: wmi_event_handle: Unhandled event 0x19a5
>> wil6210 0000:03:00.0 wlp3s0: wmi_call: wmi_call(0x09a6->0x19a6) timeout =
2000 msec
>> So I am wondering whether it is because the chipset does not support the=
se wmi commands. I just want to know how to use these commands and how to d=
isable TXSS. I appreciate if anyone could provide some suggestions. Thanks.
>
> This is a bug in FW that upon WMI_PRIO_TX_SECTORS_NUMBER_CMDID, wrong eve=
nt is returned. Most likely that the WMI_PRIO_TX_SECTORS_NUMBER_CMDID was h=
andled successfully. The bug is not critical - event 0x19a5 is returned ins=
tead of 0x19a6 (as can be seen in dmesg).
>
> Another option for disabling TXSS/BRP and hopefully to keep the sector lo=
cked is by using WMI_BF_CONTROL_CMDID. Setting "triggers" and "long_term_en=
able" to 0 should disable BF completely.
>
> Thanks,
> Dedy.
>
>
>
>