bnx2x fails to load firmware. Kernel message is as follows:
bnx2x: Broadcom NetXtreme II 5771x/578xx 10/20-Gigabit Ethernet Driver bnx2x 1.72.51-0 (2012/06/18)
bnx2: Can't load firmware file "bnx2/bnx2-mips-06-6.2.3.fw" (repeat a few times)
In the linux source folder, however, there is
04:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet (rev 12)
This problem happens both with the stable gentoo-sources-3.5.7 and newest gentoo-sources-3.6.6. The 3.4.9 version works fine.
Steps to Reproduce:
1. Use Broadcome NetXtreme II BCM5708 Gigabit Ethernet
2. Boot kernel 3.5.7 or 3.6.6
3. Network interface fails to start
can not bring eth0 up
can bring eth0 up
The only relevant commit that might fix this is
>Author: Dmitry Kravkov <email@example.com>
>Date: Sun Oct 28 21:59:04 2012 +0000
> bnx2x: fix HW initialization using fw 7.8.x
> Since commit 96bed4b9 (use FW 7.8.2) BRB HW block needs to be
> initialized using fw values for all devices.
> Otherwise ETS on 57712/578xx will not work.
> Signed-off-by: Dmitry Kravkov <firstname.lastname@example.org>
> Signed-off-by: Ariel Elior <email@example.com>
> Signed-off-by: David S. Miller <firstname.lastname@example.org>
This patch will land in 3.7, it was added in Linux 3.7-rc4.
Could you try the patch (apply to 3.6.6) I will attach after this comment?
Created attachment 330833 [details]
Please reopen if the above patch that is present in recent kernels did not fix it for you.
I had the same problem in 3.7.5-hardened-r1 The error message in kern.log is: bnx2: Can't load firmware file "bnx2/bnx2-mips-06-6.2.3.fw" The firmware shipped with the kernel is not version 6.2.3 and is in fact an older version. Please reopen the bug.
(In reply to comment #4)
> I had the same problem in 3.7.5-hardened-r1 The error message in kern.log
> is: bnx2: Can't load firmware file "bnx2/bnx2-mips-06-6.2.3.fw" The firmware
> shipped with the kernel is not version 6.2.3 and is in fact an older
> version. Please reopen the bug.
Install sys-kernel/linux-firmware and you should be fine. We were not able to convince upstream to do the obvious thing.