All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [PATCH] drivers/net/ethernet/broadcom/bnx2.c
       [not found] <5361C29C.5060808@taghos.com.br>
@ 2014-05-01  5:39 ` Michael Chan
  2014-05-01 16:36   ` Magnos A. Hammes
  0 siblings, 1 reply; 7+ messages in thread
From: Michael Chan @ 2014-05-01  5:39 UTC (permalink / raw)
  To: Magnos A. Hammes; +Cc: netdev

On Thu, 2014-05-01 at 00:42 -0300, Magnos A. Hammes wrote:
> Hello,
> 
> 
> I have a Dell server with the following Broadcom gigabit network
> adapter that uses the bnx2 driver:
> 
>         01:00.0 Ethernet controller: Broadcom Corporation NetXtreme II
>         BCM5716 Gigabit Ethernet (rev 20)
> 
> I was using kernel 3.2.57 and 3.13.3, but in both of them I faced some
> trouble to make the ethernet adapter work, whatever version of this
> two kernels that I try to boot I get the same error:
> 
>         Can't load firmware file "bnx2/bnx2-mips-09-6.2.1b.fw"
>         Direct firmware load failed with error -2
> 
We no longer put the firmware in the kernel tree, so you need to
download the firmware from the linux-firmware git tree:

git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] drivers/net/ethernet/broadcom/bnx2.c
  2014-05-01  5:39 ` [PATCH] drivers/net/ethernet/broadcom/bnx2.c Michael Chan
@ 2014-05-01 16:36   ` Magnos A. Hammes
  2014-05-01 17:39     ` Michael Chan
  0 siblings, 1 reply; 7+ messages in thread
From: Magnos A. Hammes @ 2014-05-01 16:36 UTC (permalink / raw)
  To: Michael Chan; +Cc: netdev

On 01-05-2014 02:39, Michael Chan wrote:
> On Thu, 2014-05-01 at 00:42 -0300, Magnos A. Hammes wrote:
>> Hello,
>>
>>
>> I have a Dell server with the following Broadcom gigabit network
>> adapter that uses the bnx2 driver:
>>
>>          01:00.0 Ethernet controller: Broadcom Corporation NetXtreme II
>>          BCM5716 Gigabit Ethernet (rev 20)
>>
>> I was using kernel 3.2.57 and 3.13.3, but in both of them I faced some
>> trouble to make the ethernet adapter work, whatever version of this
>> two kernels that I try to boot I get the same error:
>>
>>          Can't load firmware file "bnx2/bnx2-mips-09-6.2.1b.fw"
>>          Direct firmware load failed with error -2
>>
> We no longer put the firmware in the kernel tree, so you need to
> download the firmware from the linux-firmware git tree:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
>
>
>

Ok, I cloned that git tree and used the firmwares available there, but 
it didn't work with this firmware: bnx2/bnx2-mips-09-6.2.1b.fw sha1sum 
8f11b39a60a4e1dd3774a10218c913f1cb761353

It only works when I change the source code of 
"drivers/net/ethernet/broadcom/bnx2.c" and compile the kernel again, 
making him load this firmware "bnx2/bnx2-mips-09-6.2.1a.fw" instead of 
"bnx2/bnx2-mips-09-6.2.1b.fw".

Magnos A. Hammes

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] drivers/net/ethernet/broadcom/bnx2.c
  2014-05-01 16:36   ` Magnos A. Hammes
@ 2014-05-01 17:39     ` Michael Chan
  2014-05-01 18:49       ` Magnos A. Hammes
  0 siblings, 1 reply; 7+ messages in thread
From: Michael Chan @ 2014-05-01 17:39 UTC (permalink / raw)
  To: Magnos A. Hammes; +Cc: netdev

On Thu, 2014-05-01 at 13:36 -0300, Magnos A. Hammes wrote: 
> Ok, I cloned that git tree and used the firmwares available there, but 
> it didn't work with this firmware: bnx2/bnx2-mips-09-6.2.1b.fw sha1sum 
> 8f11b39a60a4e1dd3774a10218c913f1cb761353
> 

I have the same sha1 sum on the same firmware file on my system and it
works for me.

> It only works when I change the source code of 
> "drivers/net/ethernet/broadcom/bnx2.c" and compile the kernel again, 
> making him load this firmware "bnx2/bnx2-mips-09-6.2.1a.fw" instead of 
> "bnx2/bnx2-mips-09-6.2.1b.fw".

I don't see why it wouldn't work if both firmware files are in the same
location.  May be you have some udev rules that are preventing it?
> 
> 

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] drivers/net/ethernet/broadcom/bnx2.c
  2014-05-01 17:39     ` Michael Chan
@ 2014-05-01 18:49       ` Magnos A. Hammes
  2014-05-01 19:32         ` Michael Chan
  0 siblings, 1 reply; 7+ messages in thread
From: Magnos A. Hammes @ 2014-05-01 18:49 UTC (permalink / raw)
  To: Michael Chan; +Cc: netdev, desenvolvimento@taghos.com.br

On 01-05-2014 14:39, Michael Chan wrote:
> On Thu, 2014-05-01 at 13:36 -0300, Magnos A. Hammes wrote:
>> Ok, I cloned that git tree and used the firmwares available there, but
>> it didn't work with this firmware: bnx2/bnx2-mips-09-6.2.1b.fw sha1sum
>> 8f11b39a60a4e1dd3774a10218c913f1cb761353
>>
>
> I have the same sha1 sum on the same firmware file on my system and it
> works for me.
>
>> It only works when I change the source code of
>> "drivers/net/ethernet/broadcom/bnx2.c" and compile the kernel again,
>> making him load this firmware "bnx2/bnx2-mips-09-6.2.1a.fw" instead of
>> "bnx2/bnx2-mips-09-6.2.1b.fw".
>
> I don't see why it wouldn't work if both firmware files are in the same
> location.  May be you have some udev rules that are preventing it?
>>
>>
>
>

Yes, I have some udev rules that run at system boot, but the only thing 
I do is:

/sbin/udevd --daemon
/sbin/udevadm trigger --type=subsystems --action=add
/sbin/udevadm trigger --type=devices --action=add
/sbin/udevadm settle

Udev runs normally and returns no errors or warnings and dmesg shows 
nothing weird.

So, you think this may be a problem with my udev rules or a udev bug?

I'm using udev version 182.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] drivers/net/ethernet/broadcom/bnx2.c
  2014-05-01 18:49       ` Magnos A. Hammes
@ 2014-05-01 19:32         ` Michael Chan
  2014-05-02 16:26           ` Ben Hutchings
  0 siblings, 1 reply; 7+ messages in thread
From: Michael Chan @ 2014-05-01 19:32 UTC (permalink / raw)
  To: Magnos A. Hammes; +Cc: netdev, desenvolvimento@taghos.com.br

On Thu, 2014-05-01 at 15:49 -0300, Magnos A. Hammes wrote:
> Yes, I have some udev rules that run at system boot, but the only
> thing 
> I do is:
> 
> /sbin/udevd --daemon
> /sbin/udevadm trigger --type=subsystems --action=add
> /sbin/udevadm trigger --type=devices --action=add
> /sbin/udevadm settle
> 
> Udev runs normally and returns no errors or warnings and dmesg shows 
> nothing weird.
> 
> So, you think this may be a problem with my udev rules or a udev bug?
> 
> I'm using udev version 182.

udev is involved in locating and loading the firmware file.  On my
system, I have /lib/udev/firmware.sh and a
generic /lib/udev/rules.d/50-firmware.rules to make request_firmware()
work.  Your system may be different.
> 
> 

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] drivers/net/ethernet/broadcom/bnx2.c
  2014-05-01 19:32         ` Michael Chan
@ 2014-05-02 16:26           ` Ben Hutchings
  2014-05-02 18:27             ` Magnos A. Hammes
  0 siblings, 1 reply; 7+ messages in thread
From: Ben Hutchings @ 2014-05-02 16:26 UTC (permalink / raw)
  To: Michael Chan; +Cc: Magnos A. Hammes, netdev, desenvolvimento@taghos.com.br

[-- Attachment #1: Type: text/plain, Size: 1244 bytes --]

On Thu, 2014-05-01 at 12:32 -0700, Michael Chan wrote:
> On Thu, 2014-05-01 at 15:49 -0300, Magnos A. Hammes wrote:
> > Yes, I have some udev rules that run at system boot, but the only
> > thing 
> > I do is:
> > 
> > /sbin/udevd --daemon
> > /sbin/udevadm trigger --type=subsystems --action=add
> > /sbin/udevadm trigger --type=devices --action=add
> > /sbin/udevadm settle
> > 
> > Udev runs normally and returns no errors or warnings and dmesg shows 
> > nothing weird.
> > 
> > So, you think this may be a problem with my udev rules or a udev bug?
> > 
> > I'm using udev version 182.
> 
> udev is involved in locating and loading the firmware file.

It is usually not involved now.  The kernel tries to load files directly
from /lib/firmware.  Only if that fails and if
CONFIG_FW_LOADER_USER_HELPER is enabled, then it will issue a uevent
which udev may respond to (I think that may have been removed from udev
now).

Ben.

> On my
> system, I have /lib/udev/firmware.sh and a
> generic /lib/udev/rules.d/50-firmware.rules to make request_firmware()
> work.  Your system may be different.


-- 
Ben Hutchings
Lowery's Law:
             If it jams, force it. If it breaks, it needed replacing anyway.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 828 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] drivers/net/ethernet/broadcom/bnx2.c
  2014-05-02 16:26           ` Ben Hutchings
@ 2014-05-02 18:27             ` Magnos A. Hammes
  0 siblings, 0 replies; 7+ messages in thread
From: Magnos A. Hammes @ 2014-05-02 18:27 UTC (permalink / raw)
  To: Ben Hutchings, Michael Chan; +Cc: netdev, desenvolvimento@taghos.com.br

On 02-05-2014 13:26, Ben Hutchings wrote:
> On Thu, 2014-05-01 at 12:32 -0700, Michael Chan wrote:
>> On Thu, 2014-05-01 at 15:49 -0300, Magnos A. Hammes wrote:
>>> Yes, I have some udev rules that run at system boot, but the only
>>> thing
>>> I do is:
>>>
>>> /sbin/udevd --daemon
>>> /sbin/udevadm trigger --type=subsystems --action=add
>>> /sbin/udevadm trigger --type=devices --action=add
>>> /sbin/udevadm settle
>>>
>>> Udev runs normally and returns no errors or warnings and dmesg shows
>>> nothing weird.
>>>
>>> So, you think this may be a problem with my udev rules or a udev bug?
>>>
>>> I'm using udev version 182.
>>
>> udev is involved in locating and loading the firmware file.
>
> It is usually not involved now.  The kernel tries to load files directly
> from /lib/firmware.  Only if that fails and if
> CONFIG_FW_LOADER_USER_HELPER is enabled, then it will issue a uevent
> which udev may respond to (I think that may have been removed from udev
> now).
>
> Ben.

Well, I have CONFIG_FW_LOADER_USER_HELPER enabled and Broadcom 
Corporation NetXtreme II BCM5716 Gigabit Ethernet only works when I 
change the source code of bnx2 to use firmware bnx2-mips-09-6.2.1a.fw 
instead of bnx2-mips-09-6.2.1b.fw, then the kernel loads the right 
firmware file. Or should I write a udev custom rule to load the right 
firmware? (I haven't tried this yet)
It seems to me there is a problem here and changing bnx2 source code 
then recompiling the kernel isn't the best solution.
Udev is properly installed in my initrd and in my Slackware 14.0.

Magnos
>
>> On my
>> system, I have /lib/udev/firmware.sh and a
>> generic /lib/udev/rules.d/50-firmware.rules to make request_firmware()
>> work.  Your system may be different.
>
>

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2014-05-02 18:28 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <5361C29C.5060808@taghos.com.br>
2014-05-01  5:39 ` [PATCH] drivers/net/ethernet/broadcom/bnx2.c Michael Chan
2014-05-01 16:36   ` Magnos A. Hammes
2014-05-01 17:39     ` Michael Chan
2014-05-01 18:49       ` Magnos A. Hammes
2014-05-01 19:32         ` Michael Chan
2014-05-02 16:26           ` Ben Hutchings
2014-05-02 18:27             ` Magnos A. Hammes

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.