2020-06-11 11:35:44

by Pali Rohár

[permalink] [raw]
Subject: mwifiex: Maximal number of AP interfaces

Hello!

mwifiex kernel driver has currently hardcoded maximal number of AP
interfaces to 3. It is defined by MWIFIEX_MAX_UAP_NUM constant and
'.max' member in 'mwifiex_ap_sta_limits' structure.

I tried to increase this limit and figured out that SD8997 card can
create four independent BSSIDs in AP mode. Not only 3. Scanning for wifi
networks on another device proved that SD8997 was really broadcasting 4
SSIDs.

When I tried to create fifth AP interface/SSID then mwifiex received
error "mwifiex_cmd_timeout_func: Timeout cmd id = 0x4d, act = 0x1" and
then card firmware crashed. SDIO card was then unregistered from bus.

I would like to increase maximal number of AP interface to 4 as it is
supported by SD8997 card. But it cannot be done easily as for other
cards managed by mwifiex driver which do not support more then 3 ap
interfaces, it can cause problems...

Looks like that maximal number of AP interfaces is firmware dependent
number. Do you know if it is possible to retrieve this maximal count
from card firmware via some special command?

Or do you know how to determinate maximal number of AP interfaces?


2021-02-17 12:23:41

by Pali Rohár

[permalink] [raw]
Subject: Re: mwifiex: Maximal number of AP interfaces

Hello! I would like to remind this my email...

On Thursday 11 June 2020 13:30:09 Pali Rohár wrote:
> Hello!
>
> mwifiex kernel driver has currently hardcoded maximal number of AP
> interfaces to 3. It is defined by MWIFIEX_MAX_UAP_NUM constant and
> '.max' member in 'mwifiex_ap_sta_limits' structure.
>
> I tried to increase this limit and figured out that SD8997 card can
> create four independent BSSIDs in AP mode. Not only 3. Scanning for wifi
> networks on another device proved that SD8997 was really broadcasting 4
> SSIDs.
>
> When I tried to create fifth AP interface/SSID then mwifiex received
> error "mwifiex_cmd_timeout_func: Timeout cmd id = 0x4d, act = 0x1" and
> then card firmware crashed. SDIO card was then unregistered from bus.
>
> I would like to increase maximal number of AP interface to 4 as it is
> supported by SD8997 card. But it cannot be done easily as for other
> cards managed by mwifiex driver which do not support more then 3 ap
> interfaces, it can cause problems...
>
> Looks like that maximal number of AP interfaces is firmware dependent
> number. Do you know if it is possible to retrieve this maximal count
> from card firmware via some special command?
>
> Or do you know how to determinate maximal number of AP interfaces?

Is there any firmware command which returns maximal number of AP
interfaces which kernel can create?

If not then I would suggest to create per-card constant for maximal
number of AP interfaces in mwifiex driver and hardcode it to 4 on 8997
card. Any objections?

2021-07-17 13:53:28

by Pali Rohár

[permalink] [raw]
Subject: Re: mwifiex: Maximal number of AP interfaces

[+cc: Maximilian and Jonas]

Hello Sharvari! Could you look also at this issue which disallows
88W8xxx cards to create more that 3 AP instances, even when HW supports
it?

I think it is a big limitation if HW supports more AP SSIDs, but mwifiex
driver refuse to create more than 3.

On Wednesday 17 February 2021 13:18:41 Pali Rohár wrote:
> Hello! I would like to remind this my email...
>
> On Thursday 11 June 2020 13:30:09 Pali Rohár wrote:
> > Hello!
> >
> > mwifiex kernel driver has currently hardcoded maximal number of AP
> > interfaces to 3. It is defined by MWIFIEX_MAX_UAP_NUM constant and
> > '.max' member in 'mwifiex_ap_sta_limits' structure.
> >
> > I tried to increase this limit and figured out that SD8997 card can
> > create four independent BSSIDs in AP mode. Not only 3. Scanning for wifi
> > networks on another device proved that SD8997 was really broadcasting 4
> > SSIDs.
> >
> > When I tried to create fifth AP interface/SSID then mwifiex received
> > error "mwifiex_cmd_timeout_func: Timeout cmd id = 0x4d, act = 0x1" and
> > then card firmware crashed. SDIO card was then unregistered from bus.
> >
> > I would like to increase maximal number of AP interface to 4 as it is
> > supported by SD8997 card. But it cannot be done easily as for other
> > cards managed by mwifiex driver which do not support more then 3 ap
> > interfaces, it can cause problems...
> >
> > Looks like that maximal number of AP interfaces is firmware dependent
> > number. Do you know if it is possible to retrieve this maximal count
> > from card firmware via some special command?
> >
> > Or do you know how to determinate maximal number of AP interfaces?
>
> Is there any firmware command which returns maximal number of AP
> interfaces which kernel can create?
>
> If not then I would suggest to create per-card constant for maximal
> number of AP interfaces in mwifiex driver and hardcode it to 4 on 8997
> card. Any objections?