From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksij Rempel Date: Sat, 18 Oct 2014 12:01:33 +0200 Subject: [ath9k-devel] ath9k-htc: IBSS network crashes after one device leaves network In-Reply-To: References: Message-ID: <54423A7D.2060302@rempel-privat.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: ath9k-devel@lists.ath9k.org 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 #define 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 > > if (sdata ->vif.type > == > NL80211_IFTYPE_ADHOC) { > > 437 > > sdata_info > (sdata > , > > 438 > > "failed to move IBSS STA %pM to state %d (%d) - keeping > it anyway\n", > > 439 > > sta->sta.addr > , state > + 1, err > ); > > 440 > > err = 0; > > 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 -------------- 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