From: Oleksij Rempel <linux@rempel-privat.de>
To: ath9k-devel@lists.ath9k.org
Subject: [ath9k-devel] ath9k-htc: IBSS network crashes after one device leaves network
Date: Sat, 18 Oct 2014 12:01:33 +0200 [thread overview]
Message-ID: <54423A7D.2060302@rempel-privat.de> (raw)
In-Reply-To: <C7367401563A9D46BC5A92B9456C061D48D210@G08CNEXMBPEKD03.g08.fujitsu.local>
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
next prev parent reply other threads:[~2014-10-18 10:01 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-18 7:46 [ath9k-devel] IBSS network crashes after one device leaves network Li, Hongchun
2014-10-18 10:01 ` Oleksij Rempel [this message]
2014-10-20 2:00 ` [ath9k-devel] ath9k-htc: " 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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=54423A7D.2060302@rempel-privat.de \
--to=linux@rempel-privat.de \
--cc=ath9k-devel@lists.ath9k.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.