Search Linux Wireless

Re: Hostapd doesn't like crda

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Monday 29 December 2008 16:56:13 Luis R. Rodriguez wrote:
> On Mon, Dec 29, 2008 at 02:28:00AM -0800, Michael Buesch wrote:
> > On Monday 29 December 2008 04:45:22 Dan E wrote:
> > >
> > > On Sun, 28 Dec 2008 00:08:14 +0200, "Jouni Malinen" <j@xxxxx> said:
> > > > On Sat, Dec 27, 2008 at 10:08:20PM +0100, Michael Buesch wrote:
> > > > > Please take a look at the following log:
> > > > > http://bu3sch.de/misc/crda.JPG
> > > > >
> > > > > Note the ordering of the events.
> > > > > Hostapd starts up and tells the kernel what country we're in.
> > > > > Then the kernel calls CRDA, _but_ hostapd goes on with its business
> > > > > before CRDA has finished its work.
> > > >
> > > > Yes, because the netlink message was completed and hostapd assumes
> > > > everything is ready at that point. Ignoring the complexity in the kernel
> > > > (+ CRDA as a helper), this looks like reasonable expectation to make for
> > > > NL80211_CMD_REQ_SET_REG operation. There is no other mechanism that
> > > > would notify hostapd (or any other program setting country for that
> > > > matter) when the operation was actually fully completed and polling for
> > > > channel changes up to a timeout is not very appealing either.
> > > >
> > > > Unfortunately, I don't see an easy fix for this.
> > >
> > > This sounds like it's broken by design.  Hostapd should not send
> > > NL80211_CMD_REQ_SET_REG if it is unable to evaluate the result.  If it's
> > > necessary to do "iw reg set foobar" in a script prior to invoking
> > > hostapd, then why does hostapd even bother?
> > >
> > 
> > hostapd isn't broken. The CMD_REQ_SET_REG should block until regulatory
> > settings are done. It currently doesn't, because that's hard to implement (probably
> > by design).
> 
> It means adding a timer and picking a reasonable value for the timeout,
> then waiting for a response through nl80211 and disabling the timer from there and
> then finally sending the reply back. This seems rather hackish but we can implement
> if its desirable. I suppose the worst case scenerio would be CRDA and the
> regulatory db in an NFS mount or something like that.

I think this wouldn't be hackish, but do we actually _know_ when crda has finished
uploading regulatory information? Does it do it all in one step?

> An alternative would be for us to add a netlink event once the regultory rule is
> set in place. If the first approach is the better path to take then this secondary
> netlink event can be sent anyway as informational.

Would also be OK, but would also require knowledge about "did we finish already".
Do we have this knowledge?

-- 
Greetings, Michael.
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux