2009-08-14 11:57:55

by Gábor Stefanik

[permalink] [raw]
Subject: [PATCH] b43: Add LP-PHY firmware loading support

Add support for loading LP-PHY firmware to b43_try_request_fw.

Signed-off-by: Gábor Stefanik <[email protected]>
---
For anyone hoping that the channel switch patches will make their LP card work - this is also definitely required.

Mark, this doesn't fix your problem specifically, but it will be needed after your problem is fixed.

drivers/net/wireless/b43/main.c | 24 +++++++++++++++++++++++-
1 files changed, 23 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c
index fbcbe4f..1e657fe 100644
--- a/drivers/net/wireless/b43/main.c
+++ b/drivers/net/wireless/b43/main.c
@@ -2062,8 +2062,12 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx)
filename = "ucode5";
else if ((rev >= 11) && (rev <= 12))
filename = "ucode11";
- else if (rev >= 13)
+ else if (rev == 13)
filename = "ucode13";
+ else if (rev == 14)
+ filename = "ucode14";
+ else if (rev >= 15)
+ filename = "ucode15";
else
goto err_no_ucode;
err = b43_do_request_fw(ctx, filename, &fw->ucode);
@@ -2111,6 +2115,15 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx)
else
goto err_no_initvals;
break;
+ case B43_PHYTYPE_LP:
+ if (rev == 13)
+ filename = "lp0initvals13";
+ else if (rev == 14)
+ filename = "lp0initvals14";
+ else if (rev >= 15)
+ filename = "lp0initvals15";
+ else
+ goto err_no_initvals;
default:
goto err_no_initvals;
}
@@ -2145,6 +2158,15 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx)
else
goto err_no_initvals;
break;
+ case B43_PHYTYPE_LP:
+ if (rev == 13)
+ filename = "lp0bsinitvals13";
+ else if (rev == 14)
+ filename = "lp0bsinitvals14";
+ else if (rev >= 15)
+ filename = "lp0bsinitvals15";
+ else
+ goto err_no_initvals;
default:
goto err_no_initvals;
}
--
1.6.2.4





2009-08-14 20:21:14

by Gábor Stefanik

[permalink] [raw]
Subject: Re: [PATCH] b43: Add LP-PHY firmware loading support

2009/8/14 Michael Buesch <[email protected]>:
> On Friday 14 August 2009 13:51:59 G?bor Stefanik wrote:
>> Add support for loading LP-PHY firmware to b43_try_request_fw.
>>
>> Signed-off-by: G?bor Stefanik <[email protected]>
>
> ack
> --
> Greetings, Michael.
>

This version is broken - ack "v3 this time really" instead.

--
Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-)

2009-08-14 13:00:28

by Larry Finger

[permalink] [raw]
Subject: Re: [PATCH] b43: Add LP-PHY firmware loading support

Gábor Stefanik wrote:
> Add support for loading LP-PHY firmware to b43_try_request_fw.
>
> Signed-off-by: Gábor Stefanik <[email protected]>
> ---
> For anyone hoping that the channel switch patches will make their LP
> card work - this is also definitely required.
>
> Mark, this doesn't fix your problem specifically, but it will be needed
> after your problem is fixed.
>
> drivers/net/wireless/b43/main.c | 24 +++++++++++++++++++++++-
> 1 files changed, 23 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/net/wireless/b43/main.c
> b/drivers/net/wireless/b43/main.c
> index fbcbe4f..1e657fe 100644
> --- a/drivers/net/wireless/b43/main.c
> +++ b/drivers/net/wireless/b43/main.c
> @@ -2062,8 +2062,12 @@ static int b43_try_request_fw(struct
> b43_request_fw_context *ctx)
> filename = "ucode5";
> else if ((rev >= 11) && (rev <= 12))
> filename = "ucode11";
> - else if (rev >= 13)
> + else if (rev == 13)
> filename = "ucode13";
> + else if (rev == 14)
> + filename = "ucode14";
> + else if (rev >= 15)
> + filename = "ucode15";

As shown by http://bcm-v4.sipsolutions.net/802.11/Init/Firmware, one
should also have "ucode16".

> else
> goto err_no_ucode;
> err = b43_do_request_fw(ctx, filename, &fw->ucode);
> @@ -2111,6 +2115,15 @@ static int b43_try_request_fw(struct
> b43_request_fw_context *ctx)
> else
> goto err_no_initvals;
> break;
> + case B43_PHYTYPE_LP:
> + if (rev == 13)
> + filename = "lp0initvals13";
> + else if (rev == 14)
> + filename = "lp0initvals14";
> + else if (rev >= 15)
> + filename = "lp0initvals15";
> + else

Same for lp0initvals16.

> + goto err_no_initvals;
> default:
> goto err_no_initvals;
> }
> @@ -2145,6 +2158,15 @@ static int b43_try_request_fw(struct
> b43_request_fw_context *ctx)
> else
> goto err_no_initvals;
> break;
> + case B43_PHYTYPE_LP:
> + if (rev == 13)
> + filename = "lp0bsinitvals13";
> + else if (rev == 14)
> + filename = "lp0bsinitvals14";
> + else if (rev >= 15)
> + filename = "lp0bsinitvals15";

and lp0bsinitvals16.

> + else
> + goto err_no_initvals;
> default:
> goto err_no_initvals;
> }

Larry

2009-08-14 13:10:51

by Larry Finger

[permalink] [raw]
Subject: Re: [PATCH] b43: Add LP-PHY firmware loading support

G?bor Stefanik wrote:
>
> Is rev.16 firmware available anywhere?
>

finger@larrylap:~/wireless-testing> ls /lib/firmware/b43
a0b0bsinitvals4.fw a0g1bsinitvals5.fw b0g0initvals13.fw
lp0initvals13.fw n0initvals16.fw ucode15.fw
a0b0gsinitvals5.fw a0g1bsinitvals9.fw b0g0initvals13.fw_save
lp0initvals14.fw pcm4.fw ucode16.fw
a0g0bsinitvals4.fw a0g1initvals13.fw b0g0initvals4.fw
lp0initvals15.fw pcm5.fw ucode4.fw
a0g0bsinitvals5.fw a0g1initvals5.fw b0g0initvals5.fw
lp0initvals16.fw sslpn0bsinitvals16.fw ucode5.fw
a0g0bsinitvals9.fw a0g1initvals9.fw b0g0initvals9.fw
n0absinitvals11.fw sslpn0initvals16.fw ucode9.fw
a0g0initvals4.fw b0g0bsinitvals13.fw lp0bsinitvals13.fw
n0absinitvals13.fw ucode11.fw
a0g0initvals5.fw b0g0bsinitvals4.fw lp0bsinitvals14.fw
n0bsinitvals11.fw ucode13.fw
a0g0initvals9.fw b0g0bsinitvals5.fw lp0bsinitvals15.fw
n0bsinitvals16.fw ucode13.fw_save
a0g1bsinitvals13.fw b0g0bsinitvals9.fw lp0bsinitvals16.fw
n0initvals11.fw ucode14.fw

I installed my firmware using openSUSE's script called
/usr/sbin/install_bcm43xx_firmware, which uses the driver file
broadcom-wl-4.150.10.5.tar.bz2, and rev 16 firmware is there.

Larry




2009-08-14 20:41:07

by Michael Büsch

[permalink] [raw]
Subject: Re: [PATCH] b43: Add LP-PHY firmware loading support

On Friday 14 August 2009 22:20:55 G?bor Stefanik wrote:
> 2009/8/14 Michael Buesch <[email protected]>:
> > On Friday 14 August 2009 13:51:59 G?bor Stefanik wrote:
> >> Add support for loading LP-PHY firmware to b43_try_request_fw.
> >>
> >> Signed-off-by: G?bor Stefanik <[email protected]>
> >
> > ack
> > --
> > Greetings, Michael.
> >
>
> This version is broken - ack "v3 this time really" instead.
>

yeah whatever

--
Greetings, Michael.

2009-08-14 12:22:47

by Mark Huijgen

[permalink] [raw]
Subject: Re: [PATCH] b43: Add LP-PHY firmware loading support

Missing break in initval case switches, see below.

Gábor Stefanik wrote:
> Add support for loading LP-PHY firmware to b43_try_request_fw.
>
> Signed-off-by: Gábor Stefanik <[email protected]>
> ---
> For anyone hoping that the channel switch patches will make their LP card work - this is also definitely required.
>
> Mark, this doesn't fix your problem specifically, but it will be needed after your problem is fixed.
>
> drivers/net/wireless/b43/main.c | 24 +++++++++++++++++++++++-
> 1 files changed, 23 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c
> index fbcbe4f..1e657fe 100644
> --- a/drivers/net/wireless/b43/main.c
> +++ b/drivers/net/wireless/b43/main.c
> @@ -2062,8 +2062,12 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx)
> filename = "ucode5";
> else if ((rev >= 11) && (rev <= 12))
> filename = "ucode11";
> - else if (rev >= 13)
> + else if (rev == 13)
> filename = "ucode13";
> + else if (rev == 14)
> + filename = "ucode14";
> + else if (rev >= 15)
> + filename = "ucode15";
> else
> goto err_no_ucode;
> err = b43_do_request_fw(ctx, filename, &fw->ucode);
> @@ -2111,6 +2115,15 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx)
> else
> goto err_no_initvals;
> break;
> + case B43_PHYTYPE_LP:
> + if (rev == 13)
> + filename = "lp0initvals13";
> + else if (rev == 14)
> + filename = "lp0initvals14";
> + else if (rev >= 15)
> + filename = "lp0initvals15";
> + else
> + goto err_no_initvals;
>
break;
> default:
> goto err_no_initvals;
> }
> @@ -2145,6 +2158,15 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx)
> else
> goto err_no_initvals;
> break;
> + case B43_PHYTYPE_LP:
> + if (rev == 13)
> + filename = "lp0bsinitvals13";
> + else if (rev == 14)
> + filename = "lp0bsinitvals14";
> + else if (rev >= 15)
> + filename = "lp0bsinitvals15";
> + else
> + goto err_no_initvals;
>
break;
> default:
> goto err_no_initvals;
> }
>


2009-08-14 13:02:54

by Gábor Stefanik

[permalink] [raw]
Subject: Re: [PATCH] b43: Add LP-PHY firmware loading support

2009/8/14 Larry Finger <[email protected]>:
> G?bor Stefanik wrote:
>> Add support for loading LP-PHY firmware to b43_try_request_fw.
>>
>> Signed-off-by: G?bor Stefanik <[email protected]>
>> ---
>> For anyone hoping that the channel switch patches will make their LP
>> card work - this is also definitely required.
>>
>> Mark, this doesn't fix your problem specifically, but it will be needed
>> after your problem is fixed.
>>
>> drivers/net/wireless/b43/main.c | ? 24 +++++++++++++++++++++++-
>> 1 files changed, 23 insertions(+), 1 deletions(-)
>>
>> diff --git a/drivers/net/wireless/b43/main.c
>> b/drivers/net/wireless/b43/main.c
>> index fbcbe4f..1e657fe 100644
>> --- a/drivers/net/wireless/b43/main.c
>> +++ b/drivers/net/wireless/b43/main.c
>> @@ -2062,8 +2062,12 @@ static int b43_try_request_fw(struct
>> b43_request_fw_context *ctx)
>> ? ? ? ? filename = "ucode5";
>> ? ? else if ((rev >= 11) && (rev <= 12))
>> ? ? ? ? filename = "ucode11";
>> - ? ?else if (rev >= 13)
>> + ? ?else if (rev == 13)
>> ? ? ? ? filename = "ucode13";
>> + ? ?else if (rev == 14)
>> + ? ? ? ?filename = "ucode14";
>> + ? ?else if (rev >= 15)
>> + ? ? ? ?filename = "ucode15";
>
> As shown by http://bcm-v4.sipsolutions.net/802.11/Init/Firmware, one
> should also have "ucode16".
>
>> ? ? else
>> ? ? ? ? goto err_no_ucode;
>> ? ? err = b43_do_request_fw(ctx, filename, &fw->ucode);
>> @@ -2111,6 +2115,15 @@ static int b43_try_request_fw(struct
>> b43_request_fw_context *ctx)
>> ? ? ? ? else
>> ? ? ? ? ? ? goto err_no_initvals;
>> ? ? ? ? break;
>> + ? ?case B43_PHYTYPE_LP:
>> + ? ? ? ?if (rev == 13)
>> + ? ? ? ? ? ?filename = "lp0initvals13";
>> + ? ? ? ?else if (rev == 14)
>> + ? ? ? ? ? ?filename = "lp0initvals14";
>> + ? ? ? ?else if (rev >= 15)
>> + ? ? ? ? ? ?filename = "lp0initvals15";
>> + ? ? ? ?else
>
> Same for lp0initvals16.
>
>> + ? ? ? ? ? ?goto err_no_initvals;
>> ? ? default:
>> ? ? ? ? goto err_no_initvals;
>> ? ? }
>> @@ -2145,6 +2158,15 @@ static int b43_try_request_fw(struct
>> b43_request_fw_context *ctx)
>> ? ? ? ? else
>> ? ? ? ? ? ? goto err_no_initvals;
>> ? ? ? ? break;
>> + ? ?case B43_PHYTYPE_LP:
>> + ? ? ? ?if (rev == 13)
>> + ? ? ? ? ? ?filename = "lp0bsinitvals13";
>> + ? ? ? ?else if (rev == 14)
>> + ? ? ? ? ? ?filename = "lp0bsinitvals14";
>> + ? ? ? ?else if (rev >= 15)
>> + ? ? ? ? ? ?filename = "lp0bsinitvals15";
>
> and lp0bsinitvals16.
>
>> + ? ? ? ?else
>> + ? ? ? ? ? ?goto err_no_initvals;
>> ? ? default:
>> ? ? ? ? goto err_no_initvals;
>> ? ? }
>
> Larry
>

Is rev.16 firmware available anywhere?

--
Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-)

2009-08-14 20:17:42

by Michael Büsch

[permalink] [raw]
Subject: Re: [PATCH] b43: Add LP-PHY firmware loading support

On Friday 14 August 2009 13:51:59 Gábor Stefanik wrote:
> Add support for loading LP-PHY firmware to b43_try_request_fw.
>
> Signed-off-by: Gábor Stefanik <[email protected]>

ack
--
Greetings, Michael.