Date: Tue, 21 Jul 2020 14:41:54 -0700 From: Adrian Chadd <adrian@freebsd.org> To: Aaron <notjanedeere@gmail.com>, freebsd-wireless <freebsd-wireless@freebsd.org> Subject: Re: regdomain.xml Message-ID: <CAJ-Vmo=C1x3q-5_mrKmOjde52uPEDo2NhnSbqvL1cgxCgsTicQ@mail.gmail.com> In-Reply-To: <7a0f5e2c-a9e2-a476-6d99-f4591211bbe5@gmail.com> References: <CAJ-VmomofP8%2B5r1kWTvHXvgd-imERKLOMf_BiQaTY8M8bQCeCw@mail.gmail.com> <f429089c012869afa7c875fa24e941f3@udns.ultimatedns.net> <CAJ-VmomVTYQg0BX3jgPBBGhUyiSd0upT1JcE4XLbWMgwiPD7jg@mail.gmail.com> <CACNAnaEZwjpZMJ3JhoOn=Qb3H_9FL08T4VHOeGLS=FzYRSDqLQ@mail.gmail.com> <c3f15731-2dc0-7d87-1c41-d873bd99369b@gmail.com> <CAJ-Vmonigq35XpxAmdJ7JFH32QRu2FpvooD20BiRoG4ZmmP_cA@mail.gmail.com> <7a0f5e2c-a9e2-a476-6d99-f4591211bbe5@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
(cc'ing the list again, hehe :-) On Tue, 21 Jul 2020 at 14:35, Aaron <notjanedeere@gmail.com> wrote: > > On 7/21/2020 5:33 PM, Adrian Chadd wrote: > > > Ok. Please do dig into it. > > Do try to treat the regdomain code as a black box - input is "what > regulatory domain do we want" and the output is "a list of channels and > properties of those channels that we currently program into net80211." > Hopefully we don't have to change the net80211 channel API! > > This is the sort of information I'm looking for! So far all I'm looking > at is an XML file. Where would I find the "regdomain code"? > (We really should write a page in the wiki about regdomain stuff.) So, here's my suggestion: * get freebsd with a supported wifi card * look at what happens when you type "ifconfig wlan0 create wlandev XXX"; and then "ifconfig wlan0 regdomain FCC3" * .. see what it does with the channel programming in src/sbin/ifconfig/ and src/lib/lib80211/ * Also 'ifconfig wlan0 list sta" and "ifconfig -v wlan0 list sta" in src/sbin/ifconfig/ifieee80211.c look at setdefregdomain(), setregdomain_cb(), print_channels() and list_channels() * print_channels() queries net80211 for the list of channels * list_channels() calls it :-) * setregdomain_cb() sucks in the lib80211 regdomain code, does a bunch of hijinx, and then calls into net80211 using the IEEE80211_IOC_REGDOMAIN ioctl to set the sku/country and the channel list. -adrian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-Vmo=C1x3q-5_mrKmOjde52uPEDo2NhnSbqvL1cgxCgsTicQ>