Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 410881

Summary: sys-kernel/gentoo-source-3.3.0 + 3.3.1 can't load bnx2 firmware
Product: Gentoo Linux Reporter: babykart <babykart>
Component: [OLD] Core systemAssignee: Gentoo Kernel Bug Wranglers and Kernel Maintainers <kernel>
Status: RESOLVED FIXED    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: AMD64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description babykart 2012-04-05 13:06:48 UTC
Hi,

Since sys-kernel/gentoo-source-3.3.0, bnx2 firmware can't load then the driver bnx2 doesn't work.

Tested on PowerEdge 1950.

equery list udev
 * Searching for udev ...
[IP-] [  ] sys-fs/udev-171-r5:0

ll /lib/firmware/bnx2
total 1216
drwxr-xr-x 2 root root   4096 2012-04-05 12:40 .
drwxr-xr-x 3 root root     17 2009-06-21 16:14 ..
-rw-r--r-- 1 root root  92628 2009-12-07 09:52 bnx2-mips-06-4.6.16.fw
-rw-r--r-- 1 root root  93172 2010-05-03 21:49 bnx2-mips-06-5.0.0.j3.fw
-rw-r--r-- 1 root root  94252 2010-12-28 11:52 bnx2-mips-06-5.0.0.j6.fw
-rw-r--r-- 1 root root  92780 2011-03-13 10:01 bnx2-mips-06-6.0.15.fw
-rw-r--r-- 1 root root  92792 2012-04-05 12:40 bnx2-mips-06-6.2.1.fw
-rw-r--r-- 1 root root  92760 2009-12-07 09:52 bnx2-mips-09-4.6.17.fw
-rw-r--r-- 1 root root  96996 2010-12-28 11:52 bnx2-mips-09-5.0.0.j15.fw
-rw-r--r-- 1 root root  96504 2010-05-03 21:49 bnx2-mips-09-5.0.0.j3.fw
-rw-r--r-- 1 root root  96616 2010-07-14 14:54 bnx2-mips-09-5.0.0.j9.fw
-rw-r--r-- 1 root root 103488 2011-03-13 10:01 bnx2-mips-09-6.0.17.fw
-rw-r--r-- 1 root root 104104 2011-06-09 21:56 bnx2-mips-09-6.2.1.fw
-rw-r--r-- 1 root root 103868 2012-04-05 12:40 bnx2-mips-09-6.2.1a.fw
-rw-r--r-- 1 root root   6872 2009-12-07 09:52 bnx2-rv2p-06-4.6.16.fw
-rw-r--r-- 1 root root   6600 2010-12-28 11:52 bnx2-rv2p-06-5.0.0.j3.fw
-rw-r--r-- 1 root root   5696 2012-04-05 12:40 bnx2-rv2p-06-6.0.15.fw
-rw-r--r-- 1 root root   7672 2009-12-07 09:52 bnx2-rv2p-09-4.6.15.fw
-rw-r--r-- 1 root root   7224 2010-12-28 11:52 bnx2-rv2p-09-5.0.0.j10.fw
-rw-r--r-- 1 root root   7216 2010-05-03 21:49 bnx2-rv2p-09-5.0.0.j3.fw
-rw-r--r-- 1 root root   6104 2012-04-05 12:40 bnx2-rv2p-09-6.0.17.fw
-rw-r--r-- 1 root root   7808 2010-12-28 11:52 bnx2-rv2p-09ax-5.0.0.j10.fw
-rw-r--r-- 1 root root   7800 2010-05-03 21:49 bnx2-rv2p-09ax-5.0.0.j3.fw
-rw-r--r-- 1 root root   6616 2012-04-05 12:40 bnx2-rv2p-09ax-6.0.17.fw

emerge --info
Portage 2.1.10.55 (default/linux/amd64/10.0, gcc-4.5.3, glibc-2.13-r4, 3.2.11-gentoo x86_64)
=================================================================
System uname: Linux-3.2.11-gentoo-x86_64-Intel-R-_Xeon-R-_CPU_E5410_@_2.33GHz-with-gentoo-2.1
Timestamp of tree: Thu, 05 Apr 2012 09:45:01 +0000
app-shells/bash:          4.2_p20
dev-lang/python:          2.7.2-r3, 3.2.2
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.1
sys-apps/openrc:          0.9.8.4
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.68
sys-devel/automake:       1.9.6-r3, 1.11.1
sys-devel/binutils:       2.21.1-r1
sys-devel/gcc:            4.5.3-r2
sys-devel/gcc-config:     1.5-r2
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r1
sys-kernel/linux-headers: 3.3 (virtual/os-headers)
sys-libs/glibc:           2.13-r4
Repositories: gentoo entropie funtoo fallabs
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=core2"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=core2"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs candy distlocks ebuild-locks fixlafiles news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="http://mir0.gentoo-fr.org/ http://mir1.ovh.net/gentoo-distfiles/ ftp://gentoo.imj.fr/pub/gentoo/"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/entropie /var/lib/layman/funtoo /var/lib/layman/fallabs"
SYNC="rsync://mir0.gentoo-fr.org/gentoo-portage"
USE="aio amd64 bash-completion berkdb bzip2 cli cracklib crypt cxx gdbm iconv ipv6 mmx modules mudflap multilib ncurses nls nptl nptlonly openmp pam pcre pppd readline session sse sse2 ssl sysfs tcpd threads unicode vim-syntax zlib" ELIBC="glibc" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="ncurses text" LINGUAS="en" NGINX_MODULES_HTTP="access auth_basic autoindex fastcgi browser charset gzip headers_more proxy referer rewrite upstream_ip_hash" PHP_TARGETS="php5-3" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="fbdev vga" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 1 Mike Pagano gentoo-dev 2012-04-06 12:51:06 UTC
Any error message in dmesg? Something like:  bnx2: Can't load firmware file

Can you attach the entire dmesg?
Comment 2 Mike Pagano gentoo-dev 2012-04-06 13:19:56 UTC
Can you try with linux-firmware-20120219 ?
Comment 3 babykart 2012-04-07 13:42:35 UTC
(In reply to comment #1)
> Any error message in dmesg? Something like:  bnx2: Can't load firmware file
> 
> Can you attach the entire dmesg?

I have this in kern.log with kernel 3.3.1 about bnx2 :

Apr  5 14:14:34 babykart kernel: bnx2: Broadcom NetXtreme II Gigabit Ethernet Driver bnx2 v2.2.1 (Dec 18, 2011)
Apr  5 14:14:34 babykart kernel: bnx2 0000:03:00.0: eth0: Broadcom NetXtreme II BCM5708 1000Base-T (B2) PCI-X 64-bit 133MHz found at mem f8000000, IRQ 16, node addr 00:12:19:4f:e2:5e
Apr  5 14:14:34 babykart kernel: bnx2 0000:07:00.0: eth1: Broadcom NetXtreme II BCM5708 1000Base-T (B2) PCI-X 64-bit 133MHz found at mem f4000000, IRQ 16, node addr 00:12:19:4f:e2:60
Apr  5 14:14:34 babykart kernel: bnx2: Can't load firmware file "bnx2/bnx2-mips-06-6.2.3.fw"
Apr  5 14:14:34 babykart kernel: bnx2: Can't load firmware file "bnx2/bnx2-mips-06-6.2.3.fw"
Apr  5 14:14:34 babykart kernel: bnx2: Can't load firmware file "bnx2/bnx2-mips-06-6.2.3.fw"
Apr  5 14:14:40 babykart kernel: bnx2: Can't load firmware file "bnx2/bnx2-mips-06-6.2.3.fw"
Comment 4 babykart 2012-04-07 17:03:37 UTC
(In reply to comment #2)
> Can you try with linux-firmware-20120219 ?

It works find with linux-firmware-20120219 : thank you.
Well, since 3.3, linux-firmware are not embedded in gentoo-sources?
Comment 5 Mike Pagano gentoo-dev 2012-04-08 14:28:12 UTC
linux-firmware is a separate package. I believe the kernel code now looks for a different fw file name, that file name exists in the new linux-fireware package.
Comment 6 inux 2012-09-01 21:36:51 UTC
Hello,

Same for me today with sys-kernel/gentoo-source-3.4.9 : bnx2: Can’t load firmware file "bnx2/bnx2-mips-09-6.2.1b.fw" when booting on new kernel.

When looking at kernel make output, we can see :
 MK_FW   firmware/bnx2/bnx2-mips-09-6.2.1a.fw.gen.S
  IHEX    firmware/bnx2/bnx2-mips-09-6.2.1a.fw
  AS      firmware/bnx2/bnx2-mips-09-6.2.1a.fw.gen.o
  MK_FW   firmware/bnx2/bnx2-rv2p-09-6.0.17.fw.gen.S
  IHEX    firmware/bnx2/bnx2-rv2p-09-6.0.17.fw
  AS      firmware/bnx2/bnx2-rv2p-09-6.0.17.fw.gen.o
  MK_FW   firmware/bnx2/bnx2-rv2p-09ax-6.0.17.fw.gen.S
  IHEX    firmware/bnx2/bnx2-rv2p-09ax-6.0.17.fw
  AS      firmware/bnx2/bnx2-rv2p-09ax-6.0.17.fw.gen.o
  MK_FW   firmware/bnx2/bnx2-mips-06-6.2.1.fw.gen.S
  IHEX    firmware/bnx2/bnx2-mips-06-6.2.1.fw
  AS      firmware/bnx2/bnx2-mips-06-6.2.1.fw.gen.o
  MK_FW   firmware/bnx2/bnx2-rv2p-06-6.0.15.fw.gen.S
  IHEX    firmware/bnx2/bnx2-rv2p-06-6.0.15.fw
  AS      firmware/bnx2/bnx2-rv2p-06-6.0.15.fw.gen.o

Nothing for bnx2-mips-09-6.2.1b.fw, only for bnx2-mips-09-6.2.1a.fw.

cd /usr/src/linux-3.4.9-gentoo/firmware/bnx2
bnx2 # ls -l
total 1048
-rw-r--r-- 1 root root  92792  1 sept. 18:37 bnx2-mips-06-6.2.1.fw
-rw-r--r-- 1 root root  94072  1 sept. 18:37 bnx2-mips-06-6.2.1.fw.gen.o
-rw-r--r-- 1 root root    503  1 sept. 18:37 bnx2-mips-06-6.2.1.fw.gen.S
-rw-r--r-- 1 root root 255624 21 mai   00:29 bnx2-mips-06-6.2.1.fw.ihex
-rw-r--r-- 1 root root 103868  1 sept. 18:37 bnx2-mips-09-6.2.1a.fw
-rw-r--r-- 1 root root 105160  1 sept. 18:37 bnx2-mips-09-6.2.1a.fw.gen.o
-rw-r--r-- 1 root root    510  1 sept. 18:37 bnx2-mips-09-6.2.1a.fw.gen.S
-rw-r--r-- 1 root root 286104 21 mai   00:29 bnx2-mips-09-6.2.1a.fw.ihex
-rw-r--r-- 1 root root   5696  1 sept. 18:37 bnx2-rv2p-06-6.0.15.fw
-rw-r--r-- 1 root root   6984  1 sept. 18:37 bnx2-rv2p-06-6.0.15.fw.gen.o
-rw-r--r-- 1 root root    510  1 sept. 18:37 bnx2-rv2p-06-6.0.15.fw.gen.S
-rw-r--r-- 1 root root  16004 21 mai   00:29 bnx2-rv2p-06-6.0.15.fw.ihex
-rw-r--r-- 1 root root   6104  1 sept. 18:37 bnx2-rv2p-09-6.0.17.fw
-rw-r--r-- 1 root root   7392  1 sept. 18:37 bnx2-rv2p-09-6.0.17.fw.gen.o
-rw-r--r-- 1 root root    510  1 sept. 18:37 bnx2-rv2p-09-6.0.17.fw.gen.S
-rw-r--r-- 1 root root  17132 21 mai   00:29 bnx2-rv2p-09-6.0.17.fw.ihex
-rw-r--r-- 1 root root   6616  1 sept. 18:37 bnx2-rv2p-09ax-6.0.17.fw
-rw-r--r-- 1 root root   7904  1 sept. 18:37 bnx2-rv2p-09ax-6.0.17.fw.gen.o
-rw-r--r-- 1 root root    524  1 sept. 18:37 bnx2-rv2p-09ax-6.0.17.fw.gen.S
-rw-r--r-- 1 root root  18552 21 mai   00:29 bnx2-rv2p-09ax-6.0.17.fw.ihex

No firmware for bnx2-mips-09-6.2.1b.fw

And yet, if you edit /usr/src/linux-3.4.9-gentoo/drivers/net/ethernet/broadcom/bnx2.c, you can read  :

 #define FW_MIPS_FILE_09              "bnx2/bnx2-mips-09-6.2.1b.fw"
instead of 
 #define FW_MIPS_FILE_09              "bnx2/bnx2-mips-09-6.2.1a.fw"

I applied the patch recommendation of Kerin Millar by modifying this line and it works for me.
But it's very dangerous to keep this king of bug in multiple stable version of gentoo-source. We can easily loose control of remote server.

Please, can you fix that in next gentoo-source releases ?