Gentoo Archives: gentoo-user

From: Mick <michaelkintzios@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Unable to set wireless regulatory domain
Date: Mon, 09 May 2011 18:52:55
Message-Id: 201105091951.40031.michaelkintzios@gmail.com
In Reply to: Re: [gentoo-user] Unable to set wireless regulatory domain by John Nielsen
1 On Monday 09 May 2011 17:20:49 John Nielsen wrote:
2 > On May 6, 2011, at 4:14 PM, Mick wrote:
3 > > On Friday 06 May 2011 18:04:31 John Nielsen wrote:
4 > >> Doesn't look like this went through the first time; re-sending without
5 > >> attachment.
6 > >>
7 > >> On May 5, 2011, at 6:52 PM, Paul Hartman wrote:
8 > >>> On Thu, May 5, 2011 at 12:40 PM, John Nielsen <lists@××××××××.net>
9 wrote:
10 > >>>> I am trying to set up a 5GHz wireless access point on an Alix 3d2
11 > >>>> board with an AR9220 (ath9k "Merlin") PCI card. I have done so
12 > >>>> successfully using Fedora 14 on identical hardware but I would
13 > >>>> greatly prefer to use Gentoo so I can use a more recent kernel and
14 > >>>> customize things appropriately for the platform.
15 > >>>
16 > >>> It seems like everything is pretty much the same, other than the
17 > >>> kernel (and presumably the ath9k driver). But I would look at the udev
18 > >>> rules for CRDA to be sure they match and are being applied the same on
19 > >>> both systems. You shouldn't ever need to "iw reg set" on a system with
20 > >>> CRDA, it should do it for you. So I wonder if you're setting it, and
21 > >>> then CRDA is immediately setting it back to 00...
22 > >>
23 > >> The udev rule for CRDA is the same on both systems, and matches what is
24 > >> shown on http://wireless.kernel.org/en/developers/Regulatory/CRDA. The
25 > >> Fedora box also has a magic rule to call /sbin/setregdomain when an
26 > >> 80211 interface is added, which is a shell script that infers the
27 > >> regdomain from the currently set timezone. The punch line of the script
28 > >> is simply a call to "iw reg set $COUNTRY"
29 > >>
30 > >> However, I'm not sure crda is being called appropriately on the Gentoo
31 > >> box.
32 > >
33 > > On the Fedora machine I see this in dmesg:
34 > >>>> [ 17.248674] cfg80211: Calling CRDA for country: US
35 > >>>> [ 18.848206] cfg80211: Regulatory domain changed to country: US
36 > >>
37 > >> and I don't ever see anything similar on the Gentoo machine, even when
38 > >> running "iw reg set" by hand. Further, I don't see anything in the
39 > >> output of "udevadm monitor --environment kernel".
40 > >>
41 > >> I just dropped the kernel from the Fedora machine on to the Gentoo box
42 > >> and (somewhat surprisingly) it works just fine. The reg domain gets set
43 > >> no problem, hostapd starts, life is good--except that now I feel like
44 > >> I've sinned against nature and I'd like to get my own, smaller kernel
45 > >> back.
46 > >>
47 > >> While it's possible the new kernel version is broken I rather suspect
48 > >> that I have configured it badly. I set out to configure a minimal
49 > >> kernel with just the features and drivers I want on this hardware and
50 > >> no need for modules or an initramfs. Does cfg80211 need to be a module
51 > >> to work properly? I wouldn't think so.
52 > >>
53 > >> I'll do some more experimenting but in the mean time here's my kernel
54 > >> config in case anyone has ideas on what could be wrong. Thanks!
55 > >>
56 > >> Config file here: http://pastebin.com/S68ye6Pz
57 > >
58 > > I suggest that you run a diff --suppress-common-lines -y between the
59 > > Fedora and your own kernel to find out what's different between the two
60 > > as far as your driver is concerned.
61 >
62 > The outright diff was far too verbose to be useful, but looking at "lsmod"
63 > output when running the Fedora kernel was instructive. I recognized
64 > everything as being in by Gentoo kernel except for "rfkill", which was
65 > listed as a dependency of cfg80211. Long story short, I got it working
66 > like I want by:
67 >
68 > 1) Including RFKILL in my kernel config and
69 > 2) Building cfg80211, mac80211, rfkill, and all parts of the ath9k driver
70 > as modules
71 >
72 > Just adding RFKILL to a static (module-less) kernel didn't fix it, and just
73 > building cfg80211 and friends as modules without RFKILL also didn't fix
74 > it; I had to do both.
75 >
76 > Thanks all for your responses so far. I'll be happy to ditch Fedora. :)
77 >
78 > For future reference, does anyone know why either of the above would be
79 > required? If I see the same behavior in the latest git kernel should I
80 > file a bug? If so, where (since I doubt this is a Gentoo issue)?
81
82 I wouldn't have thought that you *must* have rfkill built in as a module for
83 it to work.
84
85 However, I have my wireless drivers (inc. rfkill) built in as modules. I did
86 this because I need to pass some options to the wireless driver at some point.
87
88 The only time I had to build something as a module was alsa, because otherwise
89 I couldn't configure my sound card on a particular box (alsaconf/alsactl
90 expected it to be a module so that it can probe it). I ended up compiling it
91 as a module since.
92
93 Perhaps someone else can advise on this rfkill issue.
94 --
95 Regards,
96 Mick

Attachments

File name MIME type
signature.asc application/pgp-signature