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 |