All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Green <andy@warmcat.com>
To: Dan Williams <dcbw@redhat.com>
Cc: Jiri Benc <jbenc@suse.cz>, Michael Wu <flamingice@sourmilk.net>,
	James Ketrenos <jketreno@linux.intel.com>,
	"John W. Linville" <linville@tuxdriver.com>,
	linux-wireless@vger.kernel.org
Subject: Re: [PATCH 09/13] mac80211: remove hw_scan callback
Date: Fri, 27 Apr 2007 19:52:23 +0100	[thread overview]
Message-ID: <46324667.2040009@warmcat.com> (raw)
In-Reply-To: <1177697359.30796.19.camel@localhost.localdomain>

Dan Williams wrote:

>>> we're not being open enough to functionality that might be in hardware.
>>> Holding a 100% software line with mac80211 is just IMHO wrong and
>>> short-sighted.  The stack needs to be flexible WRT to the hardware
>> Yeah but this isn't "in hardware" -- it's in firmware: software that
> 
> I know that.  But to the driver, it might as well be in hardware.  The
> driver and stack doesn't care where the functionality lives (silicon or
> firmware) as long as the firmware does what's needed.

That's right, it "might as well be hardware" because there are no
sources for the firmware, despite it is as much software as anything
else.  But architecturally, when we have the freedom to make a choice
where to place our bets, who CHOOSES to place it in closed source
firmware out of our control?  Did you read the LICENSE file that came
with the iwlwifi firmware?

''Redistribution.  Redistribution and use in binary form, without
modification, are permitted provided that the following conditions are
met:

* Redistributions must reproduce the above copyright notice and the
  following disclaimer in the documentation and/or other materials
  provided with the distribution.
* Neither the name of Intel Corporation nor the names of its suppliers
  may be used to endorse or promote products derived from this software
  without specific prior written permission.
* No reverse engineering, decompilation, or disassembly of this software
  is permitted.''

Yeah that sounds like why we are all here, doesn't it.

>> runs of a different, vendor-specific, CPU.  Let's not talk about magic
>> and impressive "hardware" when the truth is we only talk about the same
>> software action on another CPU.  The problems with this particular
>> offload to firmware:
>>
>>  - it is vendor-specific
> 
> So is everything a driver does because the vendors make the hardware and
> firmware.  We never get anywhere by being vendor-hostile.  We also never
> get anywhere by kissing vendor ass.  We need to toe a line in between.

Yes, it sounds like Jiri said, there are "opinions", since it is widely
known that the validity of all opinions are equal, no need therefore for
any actual project management decision based on, well, you know, logic
and philosophy.

>>  - it is not time-critical.  In fact it just sits there for tens of ms.
>>  The extra us lost going through mac80211 when it wants to change the
>> frequency should not be measurable.  It's not like it is some special
>> DSP in there that is computing PI faster than the main CPU in the box
>> can.  It is just changing the frequency now and then, which can
>> perfectly well be done in the stack
> 
> I'm using hw_scan as a vehicle for my larger point.  But the point is
> still valid even if hw_scan is not time critical.

What larger point?  We have to kiss vendor ass because you must never be
"hostile" towards people even if they are trying to "burn" you?  Well
never mind.

>>  - it is not exploitable in other ways.  If we want to talk about
>> "short-sighted", let's talk about managing what can be very generic RF
>> hardware in a way that can never do anything but IEEE802.11a/b/g actions
> 
> We can't and shouldn't try to coerce every piece of hardware into a 100%
> userspace-controllable SDR.  While that would pretty much solve all
> _our_ problems (but not everyone else's), it's a pipe-dream and
> unrealistic.

Sorry, why is it a "pipe-dream and unrealistic" to support the common
denominator of the hardware in a flexible way?  mac80211 already has a
concept of a bitmap of driver low level features.  Well never mind.

>>> capabilities of the parts that we expect to use it.  Saying no to
>>> hardware scanning just because it can also be done in software too is
>>> wrong.
>> To be clear, this isn't a "hardware" action, just an opaque software API
>> specific to that chipset, and that runs on a CPU in the chipset.
>>
>>> with.  It's already in, right?  Ripping it out for a 100% software
>>> agenda is wrong.  Let's take out crypto offload then too if we're going
>> The iwlwifi proposal is for an opaque vendor-specific firmware API, that
>> is also "100% software".  Don't get confused by the bogus magic alleged
>> "hardware" nomenclature.
> 
> I've been burned by wifi firmware/hardware a lot in the past.  All
> firmware is a black box API.  But the reality of life is that we're not
> going to open all vendor firmware overnight, and I can't actually think
> of any vendor that provides the source and build tools for their
> firmware.  That's a reality we have to deal with.  We can and should
> encourage openness; but hostility gets us nowhere.

"The reality of life" is that Intel's closed firmware does not need to
have any special place with the scanning action.  At this moment it can
safely be denied, repudiated and told to go fsck itself with no
functional deficit.

> Just because it's a black box _doesn't_ mean we make it impossible to
> utilize specific features that some hardware has, like crypto offload or
> hwscan.  _That's_ the short-sighted part.  We need to keep flexibility
> in the stack to make this sort of thing possible and let people
> experiment with it.

Yep *INTEL* will have a lot of fun "experimenting" with their
closed-source firmware.  Nobody else or you can get sued.  We are
talking about closed source *FIRMWARE* here, not hardware.

mac80211 can be an enabler of moving stuff behind the closed barrier or
can discourage it, and that is a philosophical issue controlled by the
project leaders.  The project is BY NO MEANS A POWERLESS BYSTANDER in
this case.

-Andy

  reply	other threads:[~2007-04-27 18:52 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-23 18:48 [PATCH 01/13] mac80211: Add radiotap support Michael Wu
2007-04-23 18:48 ` [PATCH 02/13] sync with radiotap header in wireless-2.6 Michael Wu
2007-04-23 18:48 ` [PATCH 03/13] mac80211: fix virtual interface related locking Michael Wu
2007-04-23 20:41   ` Jiri Benc
2007-04-23 20:55     ` Michael Wu
2007-04-23 22:20       ` Michael Wu
2007-04-23 20:58   ` Andy Green
2007-04-23 21:21     ` Michael Wu
2007-04-24 18:09       ` Andy Green
2007-04-24 18:24         ` Michael Wu
2007-04-24 18:59           ` John W. Linville
2007-04-25 12:09           ` Johannes Berg
2007-04-23 18:48 ` [PATCH 05/13] mac80211: remove statistics callback for master device Michael Wu
2007-04-23 18:48 ` [PATCH 04/13] mac80211: disable tasklets on close Michael Wu
2007-04-23 20:53   ` Jiri Benc
2007-04-23 18:48 ` [PATCH 07/13] mac80211: fix configuration concurrency issues in ieee80211_sta.c Michael Wu
2007-04-24 16:19   ` Johannes Berg
2007-04-23 18:48 ` [PATCH 06/13] mac80211: avoid flush_scheduled_work Michael Wu
2007-04-23 18:48 ` [PATCH 09/13] mac80211: remove hw_scan callback Michael Wu
2007-04-24 16:20   ` Johannes Berg
2007-04-26 12:48     ` Michael Wu
2007-04-25  5:03   ` James Ketrenos
2007-04-25 18:16     ` John W. Linville
2007-04-25 20:34       ` Michael Wu
2007-04-26 21:57         ` James Ketrenos
2007-04-27  0:23           ` Michael Wu
2007-04-27  4:14             ` James Ketrenos
2007-04-27  7:44               ` Andy Green
2007-04-27  8:06                 ` James Ketrenos
2007-04-27  8:54                   ` Andy Green
2007-04-27  9:00               ` Jiri Benc
2007-04-27 15:32               ` Michael Wu
2007-04-29 11:55                 ` Guy Cohen
2007-04-27  6:54             ` James Ketrenos
2007-04-27 14:27               ` Michael Wu
2007-05-08 17:08               ` Michael Wu
2007-04-27 14:28             ` Dan Williams
2007-04-27 14:42               ` Jiri Benc
2007-04-27 14:56                 ` Dan Williams
2007-04-27 15:16                   ` Andy Green
2007-04-27 15:22                     ` Johannes Berg
2007-04-27 17:17                       ` James Ketrenos
2007-04-27 17:49                       ` Dan Williams
2007-04-27 18:09                     ` Dan Williams
2007-04-27 18:52                       ` Andy Green [this message]
2007-04-27 15:20                   ` Jiri Benc
2007-04-27 15:30                     ` Andy Green
2007-04-27 15:36                       ` Jiri Benc
2007-04-27 15:52                         ` Andy Green
2007-04-27 17:44                         ` James Ketrenos
2007-04-27 17:02                     ` James Ketrenos
2007-04-27 18:10                       ` Jiri Benc
2007-04-27 19:42                         ` Dan Williams
2007-04-27 19:47                           ` Jiri Benc
2007-04-27 19:52                     ` John W. Linville
2007-04-26  3:03       ` James Ketrenos
2007-04-27 20:47   ` James Ketrenos
2007-04-28 13:25     ` Jiri Benc
2007-04-23 18:48 ` [PATCH 11/13] mac80211: fix issues in ieee80211 qdisc Michael Wu
2007-04-23 18:48 ` [PATCH 10/13] mac80211: set bssid to broadcast before scan Michael Wu
2007-04-24 16:24   ` Johannes Berg
2007-04-27 17:40     ` Jiri Benc
2007-04-27 19:49       ` Michael Wu
2007-04-27 21:18         ` Michael Wu
2007-04-27 21:29           ` Michael Wu
2007-04-23 18:48 ` [PATCH 08/13] mac80211: misc cleanups in ieee80211_sta.c Michael Wu
2007-04-23 18:48 ` [PATCH 12/13] mac80211: prevent master device from going up without ieee80211 qdisc Michael Wu
2007-04-23 18:48 ` [PATCH 13/13] mac80211: stop all virtual interfaces when master device goes down Michael Wu
2007-04-23 20:58   ` Jiri Benc
2007-04-24 16:16 ` [PATCH 01/13] mac80211: Add radiotap support Johannes Berg
2007-04-28 13:18 ` Jiri Benc

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=46324667.2040009@warmcat.com \
    --to=andy@warmcat.com \
    --cc=dcbw@redhat.com \
    --cc=flamingice@sourmilk.net \
    --cc=jbenc@suse.cz \
    --cc=jketreno@linux.intel.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.