* Re: [ath9k-devel] IBSS network crashes after one device leaves network [not found] <C7367401563A9D46BC5A92B9456C061D48D210@G08CNEXMBPEKD03.g08.fujitsu.local> @ 2014-10-20 19:09 ` Oleksij Rempel 2014-10-20 19:29 ` Johannes Berg 0 siblings, 1 reply; 5+ 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] 5+ messages in thread
* Re: [ath9k-devel] IBSS network crashes after one device leaves network 2014-10-20 19:09 ` [ath9k-devel] IBSS network crashes after one device leaves network Oleksij Rempel @ 2014-10-20 19:29 ` Johannes Berg 2014-10-21 13:56 ` Oleksij Rempel 0 siblings, 1 reply; 5+ 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] 5+ messages in thread
* Re: [ath9k-devel] IBSS network crashes after one device leaves network 2014-10-20 19:29 ` Johannes Berg @ 2014-10-21 13:56 ` Oleksij Rempel 2014-12-24 2:45 ` Melroy van den Berg 0 siblings, 1 reply; 5+ 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] 5+ 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 0 siblings, 1 reply; 5+ 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] 5+ 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; 5+ 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] 5+ messages in thread
end of thread, other threads:[~2014-12-24 16:46 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <C7367401563A9D46BC5A92B9456C061D48D210@G08CNEXMBPEKD03.g08.fujitsu.local>
2014-10-20 19:09 ` [ath9k-devel] IBSS network crashes after one device leaves network Oleksij Rempel
2014-10-20 19:29 ` Johannes Berg
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 a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).