From: Dan Williams <dcbw@redhat.com>
To: Tomas Winkler <tomasw@gmail.com>
Cc: drago01 <drago01@gmail.com>,
"Chatre, Reinette" <reinette.chatre@intel.com>,
linux-wireless <linux-wireless@vger.kernel.org>,
"Zhu, Yi" <yi.zhu@intel.com>,
"Cahill, Ben M" <ben.m.cahill@intel.com>,
ipw3945-devel <ipw3945-devel@lists.sourceforge.net>
Subject: Re: [ipw3945-devel] iwl3945 rfkill regression
Date: Wed, 23 Apr 2008 15:37:21 -0400 [thread overview]
Message-ID: <1208979441.2814.8.camel@localhost.localdomain> (raw)
In-Reply-To: <1208978775.2814.4.camel@localhost.localdomain>
On Wed, 2008-04-23 at 15:26 -0400, Dan Williams wrote:
> On Wed, 2008-03-19 at 10:15 -0400, Dan Williams wrote:
> > On Wed, 2008-03-19 at 01:35 +0200, Tomas Winkler wrote:
> > > On Wed, Mar 19, 2008 at 1:10 AM, drago01 <drago01@gmail.com> wrote:
> > > >
> > > > On Wed, Mar 19, 2008 at 12:07 AM, Tomas Winkler <tomasw@gmail.com> wrote:
> > > > > On Wed, Mar 19, 2008 at 12:06 AM, Chatre, Reinette
> > > > >
> > > > > <reinette.chatre@intel.com> wrote:
> > > > > >
> > > > >
> > > > >
> > > > > > On Tuesday, March 18, 2008 2:47 PM, drago01 wrote:
> > > > > >
> > > > > > >> Please note that the driver loads/unloads the firmware during
> > > > > > >> interface up/down. That means that the host will not receive rfkill
> > > > > > >> events while the interface is down as there is no firmware to deal
> > > > > > >> with these events.
> > > > > > >>
> > > > > > >> Reinette
> > > > > > >>
> > > > > > >
> > > > > > > OK that makes sense.
> > > > > > > So a solution would be to not unload the firmware on down when the hw
> > > > > > > rfkill is on. Is this a acceptable one or are they other (better
> > > > > > > solutions). I can't think of any. And userspace cannot do anything
> > > > > > > because bringing the device up and down again to look for the rfkill
> > > > > > > status would be racy.
> > > > > >
> > > > > > Having the firmware unloaded when the interface is down is a requirement
> > > > > > for powersaving. We do not want the device to consume power when it is
> > > > > > not used. The rfkill status should always be reported accurately when
> > > > > > the interface is up. If it is not then it is a bug.
> > > > >
> > > > > We will catch the HW rfkill event after loading the uCode so there is
> > > > > no problem with this.
> > > > > Not sure where should be the SW rfkill state stored.
> > > >
> > > > yeah, but the ucode will be loaded when the device is brought back up,
> > > > which does not happen in NM's case.
> > > >
> > >
> > > You mean that NM doesn't have any notification that the radio was enabled again?
> >
> > Well, NM would only be able to get that notification via HAL, which
> > would get the notification via the kernel RFKill layer or the input
> > layer. In the case of iwlwifi, that even must come through the kernel
> > rfkill layer, however the driver decides to post that event.
> >
> > > This one is tricky with 3945...the trivial question is why NM disables
> > > the device?
> >
> > Because when the device is down (!IFF_UP), then the device is supposed
> > to enter the deepest power saving mode that it supports. That's the
> > same for ethernet drivers and wireless drivers. I think it's pretty
> > much up to the driver/ucode to track rfkill state across up/down/etc.
> >
> > If 3945 can only detect the rfkill change when the ucode is loaded, then
> > we have a problem.
> >
> > I'm not opposed to changing NetworkManager to keep the device up, but
> > just setting the TX power to 'off', though we must keep in mind that the
> > device is (a) not in a lowest power mode because RX circuits can still
> > be on, and (b) not all drivers probably respect WEXT txpower. I don't
> > care about (b) at all, those drivers just have to get fixed. But (a)
> > worries me since we don't have any API for inactive power saving modes
> > right now _other_ than !IFF_UP. We will drain more power than setting
> > the device !IFF_UP.
>
> So I did this, but we need a few changes to HAL, because the rfkill bits
> there aren't rich enough to distinguish between a hardware rfkill and a
> software rfkill. So when SIOCSIWTXPOW to 'off', all you can get out of
> HAL is "I'm dead", which doesn't let you know whether you can turn the
Clarification: this behavior was seen on ipw2200. Drivers/hardware that
use the kernels' rfkill framework may be different.
Dan
> radio back on with SIOCSIWTXPOW or whether there's a switch flipped
> somewhere.
>
> Dan
>
> > Dan
> >
> > > In 4965 there is an interrupt announcing rkfil, in 3965 it's event
> > > from firmware. There was portably a good reason why the interrupt was
> > > added :)
> > >
> > > Sorry no solution for now.
> > >
> > > Tomas
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at http://vger.kernel.org/majordomo-info.html
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
prev parent reply other threads:[~2008-04-23 19:41 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-22 20:04 iwl3945 rfkill regression drago01
2008-01-22 20:07 ` [ipw3945-devel] " Winkler, Tomas
2008-01-22 20:12 ` drago01
2008-01-22 20:15 ` Winkler, Tomas
2008-01-22 20:21 ` Winkler, Tomas
2008-01-22 20:24 ` drago01
2008-01-22 20:29 ` Winkler, Tomas
2008-01-22 20:32 ` drago01
2008-01-25 19:04 ` drago01
2008-01-26 19:00 ` drago01
2008-01-26 22:11 ` Tomas Winkler
2008-02-13 7:42 ` drago01
2008-02-13 16:48 ` Chatre, Reinette
2008-03-18 19:32 ` drago01
2008-03-18 21:26 ` Chatre, Reinette
2008-03-18 21:46 ` drago01
2008-03-18 22:06 ` Chatre, Reinette
[not found] ` <f6ca9fed0803181520h197dbe53ia4afa125cba2f467@mail.gmail.com>
[not found] ` <D936D925018D154694D8A362EEB0892003F2D621@orsmsx416.amr.corp.intel.com>
2008-03-18 23:01 ` drago01
2008-03-18 23:07 ` Tomas Winkler
2008-03-18 23:10 ` drago01
2008-03-18 23:35 ` Tomas Winkler
2008-03-18 23:40 ` drago01
2008-03-18 23:56 ` Tomas Winkler
2008-03-19 14:15 ` Dan Williams
2008-04-23 19:26 ` Dan Williams
2008-04-23 19:37 ` Dan Williams [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1208979441.2814.8.camel@localhost.localdomain \
--to=dcbw@redhat.com \
--cc=ben.m.cahill@intel.com \
--cc=drago01@gmail.com \
--cc=ipw3945-devel@lists.sourceforge.net \
--cc=linux-wireless@vger.kernel.org \
--cc=reinette.chatre@intel.com \
--cc=tomasw@gmail.com \
--cc=yi.zhu@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox