All of lore.kernel.org
 help / color / mirror / Atom feed
* [ath9k-devel] IBSS network crashes after one device leaves network
@ 2014-10-18  7:46 Li, Hongchun
  2014-10-18 10:01 ` [ath9k-devel] ath9k-htc: " Oleksij Rempel
  2014-10-20 19:09   ` Oleksij Rempel
  0 siblings, 2 replies; 11+ messages in thread
From: Li, Hongchun @ 2014-10-18  7:46 UTC (permalink / raw)
  To: ath9k-devel

I?m building an IBSS network using TP-Link TL-WN722N USB WiFi dongle.
I find that it is drived by ath9k.

Here is a problem I encountered.
First, I build an IBSS network with more than 8 devices.
For example, a network consists of 9 devices, N1, N2, ?, N9.
All devices have same WiFi module.

When N9 joined network, kernel throws a warning, ?Unable to move IBSS STA MAC_ADDR to state 3 (-105)?.
However, the network works correctly. Any node can communicate with each other.

But if I turn off one device, for example N3, the network crashes after a few minutes.
Ping command fails between any two devices in network.
Get no warning/error message from kernel.
After N3 is turned off and network crashes, I turned on N3 and network works correctly again.

I find the number 8 is an macro in device driver code: drivers/net/wireless/ath/ath9k/htc.h

252<http://lxr.free-electrons.com/source/drivers/net/wireless/ath/ath9k/htc.h?v=3.11#L252> #define ATH9K_HTC_MAX_STA<http://lxr.free-electrons.com/ident?v=3.11;i=ATH9K_HTC_MAX_STA> 8
It seems like that when there are more than 8 devices in network, driver returns an error ENOBUFS(-105).

But in linux kernel source: net/mac80211/sta_info.c, I found this,
436<http://lxr.free-electrons.com/source/net/mac80211/sta_info.c?v=3.11#L436>  if (sdata<http://lxr.free-electrons.com/ident?v=3.11;i=sdata>->vif.type<http://lxr.free-electrons.com/ident?v=3.11;i=type> == NL80211_IFTYPE_ADHOC) {
437<http://lxr.free-electrons.com/source/net/mac80211/sta_info.c?v=3.11#L437>        sdata_info<http://lxr.free-electrons.com/ident?v=3.11;i=sdata_info>(sdata<http://lxr.free-electrons.com/ident?v=3.11;i=sdata>,
438<http://lxr.free-electrons.com/source/net/mac80211/sta_info.c?v=3.11#L438>                 "failed to move IBSS STA %pM to state %d (%d) - keeping it anyway\n",
439<http://lxr.free-electrons.com/source/net/mac80211/sta_info.c?v=3.11#L439>                 sta->sta.addr<http://lxr.free-electrons.com/ident?v=3.11;i=addr>, state<http://lxr.free-electrons.com/ident?v=3.11;i=state> + 1, err<http://lxr.free-electrons.com/ident?v=3.11;i=err>);
440<http://lxr.free-electrons.com/source/net/mac80211/sta_info.c?v=3.11#L440>       err<http://lxr.free-electrons.com/ident?v=3.11;i=err> = 0;
441<http://lxr.free-electrons.com/source/net/mac80211/sta_info.c?v=3.11#L441>  }
So when it is an ad hoc network, kernel just ignore errors from driver.
This answers why ibss network work correctly when there are more than 8 devices.

But I cannot figure out why the network crashes after one device is turned off.
Does anyone have any idea how to solve this problem?

Li Chun

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ath9k.org/pipermail/ath9k-devel/attachments/20141018/09f73c5b/attachment.htm 

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [ath9k-devel] ath9k-htc: IBSS network crashes after one device leaves network
  2014-10-18  7:46 [ath9k-devel] IBSS network crashes after one device leaves network Li, Hongchun
@ 2014-10-18 10:01 ` Oleksij Rempel
  2014-10-20  2:00   ` Li, Hongchun
  2014-10-20 19:09   ` Oleksij Rempel
  1 sibling, 1 reply; 11+ messages in thread
From: Oleksij Rempel @ 2014-10-18 10:01 UTC (permalink / raw)
  To: ath9k-devel

Am 18.10.2014 um 09:46 schrieb Li, Hongchun:
> I?m building an IBSS network using TP-Link TL-WN722N USB WiFi dongle.
> 
> I find that it is drived by ath9k.

Hi, this adapter is driven by ath9k-htc, at least mostly :)

> 
> Here is a problem I encountered.
> 
> First, I build an IBSS network with more than 8 devices.
> 
> For example, a network consists of 9 devices, N1, N2, ?, N9.
> 
> All devices have same WiFi module.
> 
>  
> 
> When N9 joined network, kernel throws a warning, ?Unable to move IBSS
> STA MAC_ADDR to state 3 (-105)?.
>
> However, the network works correctly. Any node can communicate with each
> other.

Hm.. we should do some thing about it. Not allowed nodes should be
discarded.

>  
> But if I turn off one device, for example N3, the network crashes after
> a few minutes.

Is it crashes only if there is more then 8 devices?

Can you get crash log?

> Ping command fails between any two devices in network.
> 
> Get no warning/error message from kernel.
> 
> After N3 is turned off and network crashes, I turned on N3 and network
> works correctly again.
> 
>  
> 
> I find the number 8 is an macro in device driver code:
> drivers/net/wireless/ath/ath9k/htc.h
> 
> 252 <http://lxr.free-electrons.com/source/drivers/net/wireless/ath/ath9k/htc.h?v=3.11#L252> #define ATH9K_HTC_MAX_STA <http://lxr.free-electrons.com/ident?v=3.11;i=ATH9K_HTC_MAX_STA> 8
> 
> It seems like that when there are more than 8 devices in network, driver
> returns an error ENOBUFS(-105).
> 
>  
> 
> But in linux kernel source: net/mac80211/sta_info.c, I found this,
> 
> 436
> <http://lxr.free-electrons.com/source/net/mac80211/sta_info.c?v=3.11#L436> 
> if (sdata <http://lxr.free-electrons.com/ident?v=3.11;i=sdata>->vif.type
> <http://lxr.free-electrons.com/ident?v=3.11;i=type> ==
> NL80211_IFTYPE_ADHOC) {
> 
> 437
> <http://lxr.free-electrons.com/source/net/mac80211/sta_info.c?v=3.11#L437> 
>       sdata_info
> <http://lxr.free-electrons.com/ident?v=3.11;i=sdata_info>(sdata
> <http://lxr.free-electrons.com/ident?v=3.11;i=sdata>,
> 
> 438
> <http://lxr.free-electrons.com/source/net/mac80211/sta_info.c?v=3.11#L438> 
>                "failed to move IBSS STA %pM to state %d (%d) - keeping
> it anyway\n",
> 
> 439
> <http://lxr.free-electrons.com/source/net/mac80211/sta_info.c?v=3.11#L439> 
>                sta->sta.addr
> <http://lxr.free-electrons.com/ident?v=3.11;i=addr>, state
> <http://lxr.free-electrons.com/ident?v=3.11;i=state> + 1, err
> <http://lxr.free-electrons.com/ident?v=3.11;i=err>);
> 
> 440
> <http://lxr.free-electrons.com/source/net/mac80211/sta_info.c?v=3.11#L440> 
>      err <http://lxr.free-electrons.com/ident?v=3.11;i=err> = 0;
> 
> 441
> <http://lxr.free-electrons.com/source/net/mac80211/sta_info.c?v=3.11#L441> 
> }
> 
> So when it is an ad hoc network, kernel just ignore errors from driver.
> 
> This answers why ibss network work correctly when there are more than 8
> devices.
> 
>  
> 
> But I cannot figure out why the network crashes after one device is
> turned off.
> 
> Does anyone have any idea how to solve this problem?
> 
>  
> 
> Li Chun
> 
>  
> 
> 
> 
> _______________________________________________
> ath9k-devel mailing list
> ath9k-devel at lists.ath9k.org
> https://lists.ath9k.org/mailman/listinfo/ath9k-devel
> 


-- 
Regards,
Oleksij

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 213 bytes
Desc: OpenPGP digital signature
Url : http://lists.ath9k.org/pipermail/ath9k-devel/attachments/20141018/49f3d945/attachment.pgp 

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [ath9k-devel] ath9k-htc: IBSS network crashes after one device leaves network
  2014-10-18 10:01 ` [ath9k-devel] ath9k-htc: " Oleksij Rempel
@ 2014-10-20  2:00   ` Li, Hongchun
  0 siblings, 0 replies; 11+ messages in thread
From: Li, Hongchun @ 2014-10-20  2:00 UTC (permalink / raw)
  To: ath9k-devel

Hi, Oleksij

Thanks for your reply.

In my test, network only crashes when there are more than 8 devices.
I get no warning/error message from 'dmesg' command when network crashes.
Sorry, I don't know other methods to get log message from kernel and driver.

Best Regards,
Li Hongchun

-----Original Message-----
From: Oleksij Rempel [mailto:linux at rempel-privat.de] 
Sent: Saturday, October 18, 2014 6:02 PM
To: Li, Hongchun/? ??; (ath9k-devel at lists.ath9k.org)
Subject: Re: [ath9k-devel] ath9k-htc: IBSS network crashes after one device leaves network

Am 18.10.2014 um 09:46 schrieb Li, Hongchun:
> I?m building an IBSS network using TP-Link TL-WN722N USB WiFi dongle.
> 
> I find that it is drived by ath9k.

Hi, this adapter is driven by ath9k-htc, at least mostly :)

> 
> Here is a problem I encountered.
> 
> First, I build an IBSS network with more than 8 devices.
> 
> For example, a network consists of 9 devices, N1, N2, ?, N9.
> 
> All devices have same WiFi module.
> 
>  
> 
> When N9 joined network, kernel throws a warning, ?Unable to move IBSS 
> STA MAC_ADDR to state 3 (-105)?.
>
> However, the network works correctly. Any node can communicate with 
> each other.

Hm.. we should do some thing about it. Not allowed nodes should be discarded.

>  
> But if I turn off one device, for example N3, the network crashes 
> after a few minutes.

Is it crashes only if there is more then 8 devices?

Can you get crash log?

> Ping command fails between any two devices in network.
> 
> Get no warning/error message from kernel.
> 
> After N3 is turned off and network crashes, I turned on N3 and network 
> works correctly again.
> 
>  
> 
> I find the number 8 is an macro in device driver code:
> drivers/net/wireless/ath/ath9k/htc.h
> 
> 252 
> <http://lxr.free-electrons.com/source/drivers/net/wireless/ath/ath9k/h
> tc.h?v=3.11#L252> #define ATH9K_HTC_MAX_STA 
> <http://lxr.free-electrons.com/ident?v=3.11;i=ATH9K_HTC_MAX_STA> 8
> 
> It seems like that when there are more than 8 devices in network, 
> driver returns an error ENOBUFS(-105).
> 
>  
> 
> But in linux kernel source: net/mac80211/sta_info.c, I found this,
> 
> 436
> <http://lxr.free-electrons.com/source/net/mac80211/sta_info.c?v=3.11#L
> 436> if (sdata 
> <http://lxr.free-electrons.com/ident?v=3.11;i=sdata>->vif.type
> <http://lxr.free-electrons.com/ident?v=3.11;i=type> ==
> NL80211_IFTYPE_ADHOC) {
> 
> 437
> <http://lxr.free-electrons.com/source/net/mac80211/sta_info.c?v=3.11#L437> 
>       sdata_info
> <http://lxr.free-electrons.com/ident?v=3.11;i=sdata_info>(sdata
> <http://lxr.free-electrons.com/ident?v=3.11;i=sdata>,
> 
> 438
> <http://lxr.free-electrons.com/source/net/mac80211/sta_info.c?v=3.11#L438> 
>                "failed to move IBSS STA %pM to state %d (%d) - keeping 
> it anyway\n",
> 
> 439
> <http://lxr.free-electrons.com/source/net/mac80211/sta_info.c?v=3.11#L439> 
>                sta->sta.addr
> <http://lxr.free-electrons.com/ident?v=3.11;i=addr>, state 
> <http://lxr.free-electrons.com/ident?v=3.11;i=state> + 1, err 
> <http://lxr.free-electrons.com/ident?v=3.11;i=err>);
> 
> 440
> <http://lxr.free-electrons.com/source/net/mac80211/sta_info.c?v=3.11#L440> 
>      err <http://lxr.free-electrons.com/ident?v=3.11;i=err> = 0;
> 
> 441
> <http://lxr.free-electrons.com/source/net/mac80211/sta_info.c?v=3.11#L
> 441>
> }
> 
> So when it is an ad hoc network, kernel just ignore errors from driver.
> 
> This answers why ibss network work correctly when there are more than 
> 8 devices.
> 
>  
> 
> But I cannot figure out why the network crashes after one device is 
> turned off.
> 
> Does anyone have any idea how to solve this problem?
> 
>  
> 
> Li Chun
> 
>  
> 
> 
> 
> _______________________________________________
> ath9k-devel mailing list
> ath9k-devel at lists.ath9k.org
> https://lists.ath9k.org/mailman/listinfo/ath9k-devel
> 


--
Regards,
Oleksij

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [ath9k-devel] IBSS network crashes after one device leaves network
  2014-10-18  7:46 [ath9k-devel] IBSS network crashes after one device leaves network Li, Hongchun
@ 2014-10-20 19:09   ` Oleksij Rempel
  2014-10-20 19:09   ` Oleksij Rempel
  1 sibling, 0 replies; 11+ messages in thread
From: Oleksij Rempel @ 2014-10-20 19:09 UTC (permalink / raw)
  To: ath9k-devel

Hi Johannes,

since this function was added by you, may be you can help here (commit
f09603a259). ath9k_htc support max 8 STAs in AP or ADHOC mode.  If more
then 8 stations connected, driver will return error, but
sta_info_insert_drv_state() setting it to zero.
What was initial purpose of this?
net/mac80211/sta_info.c:
        if (sdata->vif.type == NL80211_IFTYPE_ADHOC) {
                sdata_info(sdata,
                           "failed to move IBSS STA %pM to state %d (%d)
- keeping it anyway\n",
                           sta->sta.addr, state + 1, err);
                err = 0;
        }


Am 18.10.2014 um 09:46 schrieb Li, Hongchun:
> I?m building an IBSS network using TP-Link TL-WN722N USB WiFi dongle.
> 
> I find that it is drived by ath9k.
> 
>  
> 
> Here is a problem I encountered.
> 
> First, I build an IBSS network with more than 8 devices.
> 
> For example, a network consists of 9 devices, N1, N2, ?, N9.
> 
> All devices have same WiFi module.
> 
>  
> 
> When N9 joined network, kernel throws a warning, ?Unable to move IBSS
> STA MAC_ADDR to state 3 (-105)?.
> 
> However, the network works correctly. Any node can communicate with each
> other.
> 
>  
> 
> But if I turn off one device, for example N3, the network crashes after
> a few minutes.
> 
> Ping command fails between any two devices in network.
> 
> Get no warning/error message from kernel.
> 
> After N3 is turned off and network crashes, I turned on N3 and network
> works correctly again.
> 
>  
> 
> I find the number 8 is an macro in device driver code:
> drivers/net/wireless/ath/ath9k/htc.h
> 
> 252 <http://lxr.free-electrons.com/source/drivers/net/wireless/ath/ath9k/htc.h?v=3.11#L252> #define ATH9K_HTC_MAX_STA <http://lxr.free-electrons.com/ident?v=3.11;i=ATH9K_HTC_MAX_STA> 8
> 
> It seems like that when there are more than 8 devices in network, driver
> returns an error ENOBUFS(-105).
> 
>  
> 
> But in linux kernel source: net/mac80211/sta_info.c, I found this,
> 
> 436
> <http://lxr.free-electrons.com/source/net/mac80211/sta_info.c?v=3.11#L436> 
> if (sdata <http://lxr.free-electrons.com/ident?v=3.11;i=sdata>->vif.type
> <http://lxr.free-electrons.com/ident?v=3.11;i=type> ==
> NL80211_IFTYPE_ADHOC) {
> 
> 437
> <http://lxr.free-electrons.com/source/net/mac80211/sta_info.c?v=3.11#L437> 
>       sdata_info
> <http://lxr.free-electrons.com/ident?v=3.11;i=sdata_info>(sdata
> <http://lxr.free-electrons.com/ident?v=3.11;i=sdata>,
> 
> 438
> <http://lxr.free-electrons.com/source/net/mac80211/sta_info.c?v=3.11#L438> 
>                "failed to move IBSS STA %pM to state %d (%d) - keeping
> it anyway\n",
> 
> 439
> <http://lxr.free-electrons.com/source/net/mac80211/sta_info.c?v=3.11#L439> 
>                sta->sta.addr
> <http://lxr.free-electrons.com/ident?v=3.11;i=addr>, state
> <http://lxr.free-electrons.com/ident?v=3.11;i=state> + 1, err
> <http://lxr.free-electrons.com/ident?v=3.11;i=err>);
> 
> 440
> <http://lxr.free-electrons.com/source/net/mac80211/sta_info.c?v=3.11#L440> 
>      err <http://lxr.free-electrons.com/ident?v=3.11;i=err> = 0;
> 
> 441
> <http://lxr.free-electrons.com/source/net/mac80211/sta_info.c?v=3.11#L441> 
> }
> 
> So when it is an ad hoc network, kernel just ignore errors from driver.
> 
> This answers why ibss network work correctly when there are more than 8
> devices.
> 
>  
> 
> But I cannot figure out why the network crashes after one device is
> turned off.
> 
> Does anyone have any idea how to solve this problem?
> 
>  
> 
> Li Chun
> 
>  
> 
> 
> 
> _______________________________________________
> ath9k-devel mailing list
> ath9k-devel at lists.ath9k.org
> https://lists.ath9k.org/mailman/listinfo/ath9k-devel
> 


-- 
Regards,
Oleksij

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 213 bytes
Desc: OpenPGP digital signature
Url : http://lists.ath9k.org/pipermail/ath9k-devel/attachments/20141020/60acb780/attachment.pgp 

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [ath9k-devel] IBSS network crashes after one device leaves network
@ 2014-10-20 19:09   ` Oleksij Rempel
  0 siblings, 0 replies; 11+ messages in thread
From: Oleksij Rempel @ 2014-10-20 19:09 UTC (permalink / raw)
  To: Li, Hongchun, (ath9k-devel@lists.ath9k.org), Johannes Berg,
	linux-wireless@vger.kernel.org

[-- Attachment #1: Type: text/plain, Size: 3844 bytes --]

Hi Johannes,

since this function was added by you, may be you can help here (commit
f09603a259). ath9k_htc support max 8 STAs in AP or ADHOC mode.  If more
then 8 stations connected, driver will return error, but
sta_info_insert_drv_state() setting it to zero.
What was initial purpose of this?
net/mac80211/sta_info.c:
        if (sdata->vif.type == NL80211_IFTYPE_ADHOC) {
                sdata_info(sdata,
                           "failed to move IBSS STA %pM to state %d (%d)
- keeping it anyway\n",
                           sta->sta.addr, state + 1, err);
                err = 0;
        }


Am 18.10.2014 um 09:46 schrieb Li, Hongchun:
> I’m building an IBSS network using TP-Link TL-WN722N USB WiFi dongle.
> 
> I find that it is drived by ath9k.
> 
>  
> 
> Here is a problem I encountered.
> 
> First, I build an IBSS network with more than 8 devices.
> 
> For example, a network consists of 9 devices, N1, N2, …, N9.
> 
> All devices have same WiFi module.
> 
>  
> 
> When N9 joined network, kernel throws a warning, “Unable to move IBSS
> STA MAC_ADDR to state 3 (-105)”.
> 
> However, the network works correctly. Any node can communicate with each
> other.
> 
>  
> 
> But if I turn off one device, for example N3, the network crashes after
> a few minutes.
> 
> Ping command fails between any two devices in network.
> 
> Get no warning/error message from kernel.
> 
> After N3 is turned off and network crashes, I turned on N3 and network
> works correctly again.
> 
>  
> 
> I find the number 8 is an macro in device driver code:
> drivers/net/wireless/ath/ath9k/htc.h
> 
> 252 <http://lxr.free-electrons.com/source/drivers/net/wireless/ath/ath9k/htc.h?v=3.11#L252> #define ATH9K_HTC_MAX_STA <http://lxr.free-electrons.com/ident?v=3.11;i=ATH9K_HTC_MAX_STA> 8
> 
> It seems like that when there are more than 8 devices in network, driver
> returns an error ENOBUFS(-105).
> 
>  
> 
> But in linux kernel source: net/mac80211/sta_info.c, I found this,
> 
> 436
> <http://lxr.free-electrons.com/source/net/mac80211/sta_info.c?v=3.11#L436> 
> if (sdata <http://lxr.free-electrons.com/ident?v=3.11;i=sdata>->vif.type
> <http://lxr.free-electrons.com/ident?v=3.11;i=type> ==
> NL80211_IFTYPE_ADHOC) {
> 
> 437
> <http://lxr.free-electrons.com/source/net/mac80211/sta_info.c?v=3.11#L437> 
>       sdata_info
> <http://lxr.free-electrons.com/ident?v=3.11;i=sdata_info>(sdata
> <http://lxr.free-electrons.com/ident?v=3.11;i=sdata>,
> 
> 438
> <http://lxr.free-electrons.com/source/net/mac80211/sta_info.c?v=3.11#L438> 
>                "failed to move IBSS STA %pM to state %d (%d) - keeping
> it anyway\n",
> 
> 439
> <http://lxr.free-electrons.com/source/net/mac80211/sta_info.c?v=3.11#L439> 
>                sta->sta.addr
> <http://lxr.free-electrons.com/ident?v=3.11;i=addr>, state
> <http://lxr.free-electrons.com/ident?v=3.11;i=state> + 1, err
> <http://lxr.free-electrons.com/ident?v=3.11;i=err>);
> 
> 440
> <http://lxr.free-electrons.com/source/net/mac80211/sta_info.c?v=3.11#L440> 
>      err <http://lxr.free-electrons.com/ident?v=3.11;i=err> = 0;
> 
> 441
> <http://lxr.free-electrons.com/source/net/mac80211/sta_info.c?v=3.11#L441> 
> }
> 
> So when it is an ad hoc network, kernel just ignore errors from driver.
> 
> This answers why ibss network work correctly when there are more than 8
> devices.
> 
>  
> 
> But I cannot figure out why the network crashes after one device is
> turned off.
> 
> Does anyone have any idea how to solve this problem?
> 
>  
> 
> Li Chun
> 
>  
> 
> 
> 
> _______________________________________________
> ath9k-devel mailing list
> ath9k-devel@lists.ath9k.org
> https://lists.ath9k.org/mailman/listinfo/ath9k-devel
> 


-- 
Regards,
Oleksij


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 213 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [ath9k-devel] IBSS network crashes after one device leaves network
  2014-10-20 19:09   ` Oleksij Rempel
@ 2014-10-20 19:29     ` Johannes Berg
  -1 siblings, 0 replies; 11+ messages in thread
From: Johannes Berg @ 2014-10-20 19:29 UTC (permalink / raw)
  To: ath9k-devel

On Mon, 2014-10-20 at 21:09 +0200, Oleksij Rempel wrote:
> Hi Johannes,
> 
> since this function was added by you, may be you can help here (commit
> f09603a259). ath9k_htc support max 8 STAs in AP or ADHOC mode.  If more
> then 8 stations connected, driver will return error, but
> sta_info_insert_drv_state() setting it to zero.
> What was initial purpose of this?

The reason for this is that it's pointless to do anything else - the
station will try to communicate with us since there's no protocol that
allows rejecting the link. We therefore don't fail here, and try to
communicate with the station anyway - that might end up with not having
proper rate scaling etc. but is still better.

johannes

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [ath9k-devel] IBSS network crashes after one device leaves network
@ 2014-10-20 19:29     ` Johannes Berg
  0 siblings, 0 replies; 11+ messages in thread
From: Johannes Berg @ 2014-10-20 19:29 UTC (permalink / raw)
  To: Oleksij Rempel
  Cc: Li, Hongchun, (ath9k-devel@lists.ath9k.org),
	linux-wireless@vger.kernel.org

On Mon, 2014-10-20 at 21:09 +0200, Oleksij Rempel wrote:
> Hi Johannes,
> 
> since this function was added by you, may be you can help here (commit
> f09603a259). ath9k_htc support max 8 STAs in AP or ADHOC mode.  If more
> then 8 stations connected, driver will return error, but
> sta_info_insert_drv_state() setting it to zero.
> What was initial purpose of this?

The reason for this is that it's pointless to do anything else - the
station will try to communicate with us since there's no protocol that
allows rejecting the link. We therefore don't fail here, and try to
communicate with the station anyway - that might end up with not having
proper rate scaling etc. but is still better.

johannes



^ permalink raw reply	[flat|nested] 11+ messages in thread

* [ath9k-devel] IBSS network crashes after one device leaves network
  2014-10-20 19:29     ` Johannes Berg
@ 2014-10-21 13:56       ` Oleksij Rempel
  -1 siblings, 0 replies; 11+ messages in thread
From: Oleksij Rempel @ 2014-10-21 13:56 UTC (permalink / raw)
  To: ath9k-devel

Am 20.10.2014 um 21:29 schrieb Johannes Berg:
> On Mon, 2014-10-20 at 21:09 +0200, Oleksij Rempel wrote:
>> Hi Johannes,
>>
>> since this function was added by you, may be you can help here (commit
>> f09603a259). ath9k_htc support max 8 STAs in AP or ADHOC mode.  If more
>> then 8 stations connected, driver will return error, but
>> sta_info_insert_drv_state() setting it to zero.
>> What was initial purpose of this?
> 
> The reason for this is that it's pointless to do anything else - the
> station will try to communicate with us since there's no protocol that
> allows rejecting the link. We therefore don't fail here, and try to
> communicate with the station anyway - that might end up with not having
> proper rate scaling etc. but is still better.
> 
> johannes

hmm.. suddenly rate scaling is not singe limitation of ath9k-htc.
Firmware keeps some information for each STA and trying to reduce usb
bandwidth. If i understand it correctly, ath10k works in the same way.
It means, early or soon we need to work with some hard limits.
-- 
Regards,
Oleksij


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 213 bytes
Desc: OpenPGP digital signature
Url : http://lists.ath9k.org/pipermail/ath9k-devel/attachments/20141021/7549cb66/attachment.pgp 

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [ath9k-devel] IBSS network crashes after one device leaves network
@ 2014-10-21 13:56       ` Oleksij Rempel
  0 siblings, 0 replies; 11+ messages in thread
From: Oleksij Rempel @ 2014-10-21 13:56 UTC (permalink / raw)
  To: Johannes Berg
  Cc: Li, Hongchun, (ath9k-devel@lists.ath9k.org),
	linux-wireless@vger.kernel.org

[-- Attachment #1: Type: text/plain, Size: 1095 bytes --]

Am 20.10.2014 um 21:29 schrieb Johannes Berg:
> On Mon, 2014-10-20 at 21:09 +0200, Oleksij Rempel wrote:
>> Hi Johannes,
>>
>> since this function was added by you, may be you can help here (commit
>> f09603a259). ath9k_htc support max 8 STAs in AP or ADHOC mode.  If more
>> then 8 stations connected, driver will return error, but
>> sta_info_insert_drv_state() setting it to zero.
>> What was initial purpose of this?
> 
> The reason for this is that it's pointless to do anything else - the
> station will try to communicate with us since there's no protocol that
> allows rejecting the link. We therefore don't fail here, and try to
> communicate with the station anyway - that might end up with not having
> proper rate scaling etc. but is still better.
> 
> johannes

hmm.. suddenly rate scaling is not singe limitation of ath9k-htc.
Firmware keeps some information for each STA and trying to reduce usb
bandwidth. If i understand it correctly, ath10k works in the same way.
It means, early or soon we need to work with some hard limits.
-- 
Regards,
Oleksij



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 213 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [ath9k-devel] IBSS network crashes after one device leaves network
  2014-10-21 13:56       ` Oleksij Rempel
  (?)
@ 2014-12-24  2:45       ` Melroy van den Berg
  2014-12-24 16:46         ` Oleksij Rempel
  -1 siblings, 1 reply; 11+ messages in thread
From: Melroy van den Berg @ 2014-12-24  2:45 UTC (permalink / raw)
  To: linux-wireless

Oleksij Rempel <linux@...> writes:
> hmm.. suddenly rate scaling is not singe limitation of ath9k-htc.
> Firmware keeps some information for each STA and trying to reduce usb
> bandwidth. If i understand it correctly, ath10k works in the same way.
> It means, early or soon we need to work with some hard limits.


I think it's exactly the same limit as for the AP mode.

See: https://lists.ath9k.org/pipermail/ath9k-devel/2013-April/010513.html

There should be some solution, atleast the IBSS network shouldn't crash.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [ath9k-devel] IBSS network crashes after one device leaves network
  2014-12-24  2:45       ` Melroy van den Berg
@ 2014-12-24 16:46         ` Oleksij Rempel
  0 siblings, 0 replies; 11+ messages in thread
From: Oleksij Rempel @ 2014-12-24 16:46 UTC (permalink / raw)
  To: Melroy van den Berg, linux-wireless

[-- Attachment #1: Type: text/plain, Size: 830 bytes --]

Am 24.12.2014 um 03:45 schrieb Melroy van den Berg:
> Oleksij Rempel <linux@...> writes:
>> hmm.. suddenly rate scaling is not singe limitation of ath9k-htc.
>> Firmware keeps some information for each STA and trying to reduce usb
>> bandwidth. If i understand it correctly, ath10k works in the same way.
>> It means, early or soon we need to work with some hard limits.
> 
> 
> I think it's exactly the same limit as for the AP mode.
> 
> See: https://lists.ath9k.org/pipermail/ath9k-devel/2013-April/010513.html
> 
> There should be some solution, atleast the IBSS network shouldn't crash.

Yes,
right now i have no time to work on this problem. To anyone who can, you
are really welcome.

Here is a script to crash at leas one pear from adhoc network:
http://pastebin.com/KhXgQ15V
-- 
Regards,
Oleksij


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 213 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2014-12-24 16:46 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-18  7:46 [ath9k-devel] IBSS network crashes after one device leaves network Li, Hongchun
2014-10-18 10:01 ` [ath9k-devel] ath9k-htc: " Oleksij Rempel
2014-10-20  2:00   ` Li, Hongchun
2014-10-20 19:09 ` [ath9k-devel] " Oleksij Rempel
2014-10-20 19:09   ` Oleksij Rempel
2014-10-20 19:29   ` Johannes Berg
2014-10-20 19:29     ` Johannes Berg
2014-10-21 13:56     ` Oleksij Rempel
2014-10-21 13:56       ` Oleksij Rempel
2014-12-24  2:45       ` Melroy van den Berg
2014-12-24 16:46         ` Oleksij Rempel

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.