[Nix-dev] Wifi DFS configuration/reg database (was Re: Specifying particular firmware)
Matthew Robbetts
wingfeathera at gmail.com
Thu Jul 21 07:38:50 CEST 2016
Alright, folks, I think I’ve figured it out.
The crda package has the udev rule, but doesn’t add itself to the services.udev.packages list.
Adding simply:
services = {
udev = {
packages = [ pkgs.crda ];
};
…
};
to my configuration.nix got it working. Win! Such a tiny fix.
I am still figuring out how these things work in nixland, but I see a couple of others, such as pkgs/os-specific/linux/rfkill/udev.nix, where there is a comment explaining you should do basically this to enable it. Should such a comment be added to the crda package? If so, should I file this as a GitHub issue?
Ta,
Matt
> On Jul 20, 2016, at 4:51 PM, Matthew Robbetts <wingfeathera at gmail.com> wrote:
>
>>
>> On Jul 20, 2016, at 1:30 PM, Matthew Robbetts <wingfeathera at gmail.com <mailto:wingfeathera at gmail.com>> wrote:
>>
>> Tobias!
>>
>>> On Jul 20, 2016, at 10:15 AM, Tobias Geerinckx-Rice <me at tobias.gr <mailto:me at tobias.gr>> wrote:
>>>
>>> Matthew,
>>>
>>> On 2016-07-20 18:09, Matthew Robbetts wrote:
>>>> Unfortunately, it didn't fix my problem. After some more digging, I think the
>>>> problem is related to my wireless regulatory database -- in that, I don't
>>>> think I have one.
>>>
>>> I added a wireless-regdb package once, but it might need some symlinking to
>>> properly work with iw out of the box. I just wanted the data.
>>
>> That is an exceptionally promising response for my problem :)
>>
>> I did notice that a regdb package exists, and I do have it installed. This possibly explains why that doesn't fix it.
>>
>> I can try and dig into this package to see what’s what — but I’ve no idea of what symlinking might be needed. Any hints off the top of your head would be welcome. If not, I’ll try and look at it later and may have some questions for you…
>
> Oh, oh! One for the group:
>
> I notice that the crda package has a udev rule in it:
>
> /nix/store/6nzijs5fiwsm4hzpvvfyxkhb17gxdwwc-crda-3.18/lib/udev/rules.d/85-regulatory.rules
>
> but after installation this rule has not made it into my /run/current-system/sw/lib/udev/rules.d/ folder (I think it needs to be there for it to work, right?)
>
> So, what can I override in the crda package derivation (or whatever) to make this symlink happen? Nix is frustrating sometimes — a simple ln -s is disallowed! :)
>
>
> After some poking, I’ve found the services.udev.extraRules key, and added the text of the rules file to that in my configuration.nix, as
>
> services = {
> udev = {
> extraRules = "KERNEL=='regulatory*', ACTION=='change', SUBSYSTEM=='platform', RUN+='/nix/store/6nzijs5fiwsm4hzpvvfyxkhb17gxdwwc-crda-3.18/bin/crda'";
> };
> …
>
> but that doesn’t seem to help either.
>
>
> So close! Possibly…
>
> Any thoughts?
>
>
>
>
>
>
>>
>> Thanks!
>> Matt
>>
>>
>>
>>>
>>> Kind regards,
>>>
>>> T G-R
>>>
>>> --
>>> Sent from a web browser. Excuse my brevity.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.science.uu.nl/pipermail/nix-dev/attachments/20160720/4c444bb9/attachment-0001.html>
More information about the nix-dev
mailing list