2008-02-12 14:10:14

by Daniel Drake

[permalink] [raw]
Subject: [PATCH] ipw2100/ipw2200: note firmware loading caveat in Kconfig help text

Most wireless drivers load their firmware at interface open time, which
generally occurs after the filesystem is available. However, the ipw drivers
load their firmware at probe time because firmware is required to read the
device MAC address. When built-in, probe happens before the filesystem is
available, hence device init will only complete successfully if the user
has made special arrangements (including firmware plus a loader in the
initramfs).

Note all this in the kconfig help text for both drivers.

Signed-off-by: Daniel Drake <[email protected]>
---
drivers/net/wireless/Kconfig | 26 ++++++++++++++++----------
1 files changed, 16 insertions(+), 10 deletions(-)

diff --git a/drivers/net/wireless/Kconfig b/drivers/net/wireless/Kconfig
index 714a6ca..ff1d5d8 100644
--- a/drivers/net/wireless/Kconfig
+++ b/drivers/net/wireless/Kconfig
@@ -146,12 +146,15 @@ config IPW2100
configure your card:

<http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>.
+
+ It is recommended that you compile this driver as a module (M)
+ rather than built-in (Y). This driver requires firmware at device
+ initialization time, and when built-in this typically happens
+ before the filesystem is accessible (hence firmware will be
+ unavailable and initialization will fail). If you do choose to build
+ this driver into your kernel image, you can avoid this problem by
+ including the firmware and a firmware loader in an initramfs.

- If you want to compile the driver as a module ( = code which can be
- inserted in and removed from the running kernel whenever you want),
- say M here and read <file:Documentation/kbuild/modules.txt>.
- The module will be called ipw2100.ko.
-
config IPW2100_MONITOR
bool "Enable promiscuous mode"
depends on IPW2100
@@ -201,11 +204,14 @@ config IPW2200
configure your card:

<http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>.
-
- If you want to compile the driver as a module ( = code which can be
- inserted in and removed from the running kernel whenever you want),
- say M here and read <file:Documentation/kbuild/modules.txt>.
- The module will be called ipw2200.ko.
+
+ It is recommended that you compile this driver as a module (M)
+ rather than built-in (Y). This driver requires firmware at device
+ initialization time, and when built-in this typically happens
+ before the filesystem is accessible (hence firmware will be
+ unavailable and initialization will fail). If you do choose to build
+ this driver into your kernel image, you can avoid this problem by
+ including the firmware and a firmware loader in an initramfs.

config IPW2200_MONITOR
bool "Enable promiscuous mode"
--
1.5.4



2008-02-13 21:30:16

by Reinette Chatre

[permalink] [raw]
Subject: RE: [PATCH] ipw2100/ipw2200: note firmware loading caveat inKconfig help text

On Wednesday, February 13, 2008 4:49 AM, Johannes Berg wrote:

> On Tue, 2008-02-12 at 13:49 +0000, Daniel Drake wrote:
>> Most wireless drivers load their firmware at interface open time,
>> which generally occurs after the filesystem is available. However,
>> the ipw drivers load their firmware at probe time because firmware
>> is required to read the device MAC address. When built-in, probe
>> happens before the filesystem is available, hence device init will
>> only complete successfully if the user has made special arrangements
>> (including firmware plus a loader in the initramfs).
>
> I wonder if the MAC address can be read directly like the 3945/4965
> hw can?

In this patch the text in the Kconfig help text is what we go by. The
description about the MAC address in the patch description is not 100%
accurate as the MAC address is read from EEPROM, not firmware. In this
patch the goal is just to not have the driver built in, but a module.
This ensures that firmware can be loaded at a time when the filesystem
is available.

Reinette

2008-02-13 12:49:02

by Johannes Berg

[permalink] [raw]
Subject: Re: [PATCH] ipw2100/ipw2200: note firmware loading caveat in Kconfig help text


On Tue, 2008-02-12 at 13:49 +0000, Daniel Drake wrote:
> Most wireless drivers load their firmware at interface open time, which
> generally occurs after the filesystem is available. However, the ipw drivers
> load their firmware at probe time because firmware is required to read the
> device MAC address. When built-in, probe happens before the filesystem is
> available, hence device init will only complete successfully if the user
> has made special arrangements (including firmware plus a loader in the
> initramfs).

I wonder if the MAC address can be read directly like the 3945/4965 hw
can?

johannes


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

2008-02-12 21:47:33

by Reinette Chatre

[permalink] [raw]
Subject: RE: [Ipw2100-admin] [PATCH] ipw2100/ipw2200: note firmware loadingcaveat in Kconfig help text

On , Daniel Drake wrote:

> Most wireless drivers load their firmware at interface open time,
> which generally occurs after the filesystem is available. However,
> the ipw drivers
> load their firmware at probe time because firmware is required
> to read the
> device MAC address. When built-in, probe happens before the
> filesystem is
> available, hence device init will only complete successfully
> if the user
> has made special arrangements (including firmware plus a loader in
> the initramfs).
>
> Note all this in the kconfig help text for both drivers.
>
> Signed-off-by: Daniel Drake <[email protected]>
> ---

Thank you very much.

Signed-off-by: Reinette Chatre <[email protected]>

Reinette