* Re: WPA Supplicant not able to listen to events from driver
[not found] ` <CAFK1zRADFhojfB_3RsPaPi9WBdQ9RPgrzbwewYgE2nqWmS+vdQ@mail.gmail.com>
@ 2015-02-07 12:25 ` Arend van Spriel
0 siblings, 0 replies; only message in thread
From: Arend van Spriel @ 2015-02-07 12:25 UTC (permalink / raw)
To: Naveen Singh; +Cc: hostap, linux-wireless@vger.kernel.org
On 02/06/15 22:24, Naveen Singh wrote:
> Thanks it worked. But looks like every time we load the driver, phy
> index kept on incrementing.
That is expected. If I recall correctly it is a static counter in
cfg80211 that is used for assigning phy index upon wiphy_register call.
Regards,
Arend
> Regards
> Naveen
>
> On Fri, Feb 6, 2015 at 12:47 AM, Arend van Spriel <arend@broadcom.com
> <mailto:arend@broadcom.com>> wrote:
>
> On 02/06/15 04:22, Naveen Singh wrote:
>
> Hi All
> For my system we have cfg80211 built as loadable module. When we
> unload
> our WLAN driver cfg80211 gets unloaded as well.
>
>
> So how is your WLAN driver unloaded. When unloading cfg80211 the
> nl80211 netlink family is unregistered from the kernel probably
> closing all user-space netlink sockets.
>
> If you only 'rmmod' your WLAN driver than supplicant should be fine
> handling it as cfg80211 is not unloaded. If you use 'modprobe -r' it
> will unload dependent modules if their refcount is zero.
>
> Regards,
> Arend
>
> After reloading the
> driver I found that none of the events from driver never makes to
> supplicant. I see that connect command from supplicant makes to
> driver
> but the NL_CONNECT_CMD netlink message from the driver is
> dropped. On
> further debugging I found that the messages are dropped in the
> following
> function sd it does not call *do_one_broadcast*. Looks like all the
> previous bindings were lost. After killing the supplicant and
> restarting
> the supplicant I can see that the subscriptions are updated and
> connection succeeded.
>
> int netlink_broadcast_filtered(__struct sock *ssk, struct
> sk_buff *skb,
> u32 portid,
> u32 group, gfp_t allocation,
> int (*filter)(struct sock *dsk, struct sk_buff *skb, void *data),
> void *filter_data)
> {
> struct net *net = sock_net(ssk);
> struct netlink_broadcast_data info;
> struct sock *sk;
>
> skb = netlink_trim(skb, allocation);
>
> info.exclude_sk = ssk;
> info.net <http://info.net> <http://info.net> = net;
> info.portid = portid;
> info.group = group;
> info.failure = 0;
> info.delivery_failure = 0;
> info.congested = 0;
> info.delivered = 0;
> info.allocation = allocation;
> info.skb = skb;
> info.skb2 = NULL;
> info.tx_filter = filter;
> info.tx_data = filter_data;
>
> /* While we sleep in clone, do not allow to change socket list */
>
> netlink_lock_table();
>
> sk_for_each_bound(sk, &nl_table[ssk->sk_protocol].__mc_list)
> d*o_one_broadcast(sk, &info); ==> This function is not called at
> all as
> it does not find any subscription at all. *
>
> consume_skb(skb);
>
> netlink_unlock_table();
>
> if (info.delivery_failure) {
> kfree_skb(info.skb2);
> return -ENOBUFS;
> }
> consume_skb(info.skb2);
>
> if (info.delivered) {
> if (info.congested && (allocation & __GFP_WAIT))
> yield();
> My feeling is that as cfg80211 gets unloaded as well when driver is
> unloaded, it loses all the subscription and hence none of the
> message
> from driver gets ever delivered to supplicant. But what
> surprises me is
> that although we cannot send messages from driver to supplicant
> it is
> not true in reverse direction. Connect command from supplicant
> lands in
> driver. Has anyone seen something similar? I have a workaround
> right now
> where i restart the supplicant whenever i unload and load the
> driver.
> But I would like to have a cleaner solution.
>
>
> Regards
> Naveen
>
>
>
> _________________________________________________
> HostAP mailing list
> HostAP@lists.shmoo.com <mailto:HostAP@lists.shmoo.com>
> http://lists.shmoo.com/__mailman/listinfo/hostap
> <http://lists.shmoo.com/mailman/listinfo/hostap>
>
>
> _________________________________________________
> HostAP mailing list
> HostAP@lists.shmoo.com <mailto:HostAP@lists.shmoo.com>
> http://lists.shmoo.com/__mailman/listinfo/hostap
> <http://lists.shmoo.com/mailman/listinfo/hostap>
>
>
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2015-02-07 12:25 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <CAFK1zRDiMcKZWgU=DGh4bzjyV07STuKKyHi2az_s-=KCDiEK8A@mail.gmail.com>
[not found] ` <54D47FB5.3000303@broadcom.com>
[not found] ` <CAFK1zRADFhojfB_3RsPaPi9WBdQ9RPgrzbwewYgE2nqWmS+vdQ@mail.gmail.com>
2015-02-07 12:25 ` WPA Supplicant not able to listen to events from driver Arend van Spriel
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.