2009-12-13 02:23:13

by Alessandro Suardi

[permalink] [raw]
Subject: 2.6.32-git5+, CONFIG_WEXT_PRIV and Broadcom's driver for BCM4322 Wireless chips

Hi all,

I use Broadcom's out-of-tree driver which is the only one that works with
my Dell E6400's onboard BCM4322 wireless chip - driver here

http://www.broadcom.com/support/802.11/linux_sta.php

and the driver stopped building somewhere between 2.6.32-git1 and -git5,
as CONFIG_WIRELESS_EXT is now replaced by CONFIG_CFG80211_WEXT,
but also as struct iw_handler_def (in <net/iw_handler.h>) has a few fields
referenced by the driver that are now conditioned by CONFIG_WEXT_PRIV.

CONFIG_WEXT_PRIV isn't directly selectable during kernel config, but is
rather picked up by wireless drivers via SELECT keywords in the Kconfig
files - and this is my issue.

At the moment, after replacing all CONFIG_WIRELESS_EXT occurrences
with CONFIG_CFG80211_WEXT in the Broadcom driver sources, I worked
around the CONFIG_WEXT_PRIV issue by picking ipw2200 as a module
in my kernel config - and ipw2200 is select'ing CONFIG_WEXT_PRIV; not
an optimal solution, but this way my kernel has now support for a feature
I do need later on when building the out-of-tree Broadcom module.

After rebooting into 2.6.32-git9 I successfully built the patched driver which
loads fine and connects to my AP as usual - so the workaround seems ok.


But: what is the best option here to make CONFIG_WEXT_PRIV visible at
kernel build time if only an external module should select it - but selection
is not actually happening at kernel build time ?
Could CONFIG_WEXT_PRIV be made a separate user-selectable option ?


Thanks,

--alessandro

"There's always a siren singing you to shipwreck"

(Radiohead, "There There")


2009-12-13 13:14:14

by Johannes Berg

[permalink] [raw]
Subject: Re: 2.6.32-git5+, CONFIG_WEXT_PRIV and Broadcom's driver for BCM4322 Wireless chips

On Sat, 2009-12-12 at 16:40 +0100, Alessandro Suardi wrote:

> But: what is the best option here to make CONFIG_WEXT_PRIV visible at
> kernel build time if only an external module should select it - but selection
> is not actually happening at kernel build time ?
> Could CONFIG_WEXT_PRIV be made a separate user-selectable option ?

Your only option is selecting some other (ancient) driver that selects
WEXT_PRIV. We will not make that Kconfig symbol visible just because
Broadcom decided that they want to continue screwing their users :)

IOW -- there's no such option available to you at all. Select
PCMCIA_RAYCS or whatever.

johannes


Attachments:
signature.asc (801.00 B)
This is a digitally signed message part

2009-12-13 13:36:33

by Alessandro Suardi

[permalink] [raw]
Subject: Re: 2.6.32-git5+, CONFIG_WEXT_PRIV and Broadcom's driver for BCM4322 Wireless chips

On Sun, Dec 13, 2009 at 2:14 PM, Johannes Berg
<[email protected]> wrote:
> On Sat, 2009-12-12 at 16:40 +0100, Alessandro Suardi wrote:
>
>> But: what is the best option here to make CONFIG_WEXT_PRIV visible at
>> ?kernel build time if only an external module should select it - but selection
>> ?is not actually happening at kernel build time ?
>> Could CONFIG_WEXT_PRIV be made a separate user-selectable option ?
>
> Your only option is selecting some other (ancient) driver that selects
> WEXT_PRIV. We will not make that Kconfig symbol visible just because
> Broadcom decided that they want to continue screwing their users :)
>
> IOW -- there's no such option available to you at all. Select
> PCMCIA_RAYCS or whatever.

Thanks - you clipped the part of my message where I explain that my
"workaround" has been to select IPW2200 :)

I'm aware of the implications of out-of-tree proprietary drivers, I just
wanted to make sure I wasn't missing a better option than the one
I resorted to.

Thanks again,

--alessandro

"There's always a siren singing you to shipwreck"

(Radiohead, "There There")

2009-12-13 13:39:24

by Johannes Berg

[permalink] [raw]
Subject: Re: 2.6.32-git5+, CONFIG_WEXT_PRIV and Broadcom's driver for BCM4322 Wireless chips

On Sun, 2009-12-13 at 14:36 +0100, Alessandro Suardi wrote:

> Thanks - you clipped the part of my message where I explain that my
> "workaround" has been to select IPW2200 :)

Ah, sorry, I actually missed that completely. IPW2200 works just as
well, of course, RAYCS was just the first one I saw :)

johannes


Attachments:
signature.asc (801.00 B)
This is a digitally signed message part