[OLPC Networking] Testing the Wireless driver changes

Dan Williams dcbw at redhat.com
Thu Jan 17 13:41:09 EST 2008

On Thu, 2008-01-17 at 12:32 -0500, Michail Bletsas wrote:
> There is quite a bit of important history removed from this discussion.
> We designed the laptop to be able to do mesh forwarding *all the time*.
> This was a fundamental decision because it affected every other choice 
> that we made in the wireless subsystem.
> One of the issues that it introduced is that it makes the radio deviate 
> from what "proper" radio behavior is supposed to be under Linux these 
> days: when you bring an interface down (ifconfig eth0 down), its radio 
> should be disabled. If you don't bring the interface up on boot, the radio 
> should stay off. Pretty clean and simple.
> When it comes to our radio - we *designed it* to start forward frames soon 
> after you initialize it and keep doing it regardless of what the host 
> interface does.
> That's why we used a radio with its own CPU and memory. 
> So things like "iwconfig eth0 txpower off" might be doing the right thing, 
> however they do so (if they do**) indirectly, by controlling the host 
> interface.
> There is an "iwpriv eth0 radiooff/radioon" IOCTL hook in the firmware 
> which was meant to control the radio power directly - it was removed a few 
> months ago since it wasn't considered to its thing in the "proper" linux 
> manner.
> And ever since we keep having this "airplane mode" discussion.....
> M.
> ** I don't know how "iwconfig eth0 txpower off" is implemented, if it uses 
> the same IOCTL with "iwpriv eth0 radiooff", then it is doing the right 
> thing.


iwconfig eth0 txpower off -----> lbs_radio_ioctl(priv, RADIO_OFF);
    which does CMD_802_11_RADIO_CONTROL (control = !TURN_ON_RF)

iwconfig eth0 txpower auto ----> lbs_radio_ioctl(priv, RADIO_ON);
    which does CMD_802_11_RADIO_CONTROL (control = TURN_ON_RF)
    then does CMD_802_11_RF_TX_POWER (dbm = 0xFFFF)

which is what I understood the radioon/radiooff stuff to do anyway,
hence the objection to another non-standard ioctl.


> "Edward Cherlin" <echerlin at gmail.com> wrote on 01/16/2008 06:56:17 PM:
> > On Jan 16, 2008 2:46 PM, Dan Williams <dcbw at redhat.com> wrote:
> > On Wed, 2008-01-16 at 20:22 -0200, Ricardo Carrano wrote:
> > > I believe what you want is "radio off", not "mesh stop".
> > "radio off" == iwconfig eth0 txpower off 
> > 
> > that's always been around from day #1.
> > 
> > That turns off the radio for this session. How do you disable it so 
> > it doesn't come on at the next boot? 
> > 
> > -- 
> > Edward Cherlin 
> > End Poverty at a Profit by teaching children business
> > http://www.EarthTreasury.org/
> > "The best way to predict the future is to invent it."--Alan Kay

More information about the Networking mailing list