The in-kernel ipw2100 driver of Linux 2.6.14 (gentoo-sources-2.6.14) does not find the firmware provided by net-wireless/ipw2100-firmware. Reproducible: Always Steps to Reproduce: 1. 2. 3. Actual Results: ipw2100: Intel(R) PRO/Wireless 2100 Network Driver, 1.1.0 ipw2100: Copyright(c) 2003-2004 Intel Corporation ipw2100: Detected Intel PRO/Wireless 2100 Network Connection ipw2100: eth1: Firmware 'ipw2100-1.3.fw' not available or load failed. ipw2100: eth1: ipw2100_get_firmware failed: -2 ipw2100: eth1: Failed to power on the adapter. ipw2100: eth1: Failed to start the firmware. ipw2100Error calling register_netdev. ipw2100: probe of 0000:02:0a.0 failed with error -5 Portage 2.0.53_rc6 (default-linux/x86/2005.1, gcc-3.4.4, glibc-2.3.5-r3, 2.6.14-gentoo i686) ================================================================= System uname: 2.6.14-gentoo i686 Intel(R) Pentium(R) M processor 1500MHz Gentoo Base System version 1.12.0_pre9 dev-lang/python: 2.4.2 sys-apps/sandbox: 1.2.13 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.20 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=pentium-m -O2 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d" CXXFLAGS="-march=pentium-m -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig cvs digest distlocks fixpackages sandbox sfperms sign strict" GENTOO_MIRRORS="ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo ftp://trumpetti.atm.tut.fi/gentoo http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo" LC_ALL="en_US.utf8" LINGUAS="de" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage /usr/local/gentopia" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X a52 aac acpi alsa avi berkdb bitmap-fonts browserplugin cairo cdr crypt cups curl dbus dvd dvdr dvdread eds emboss encode esd exif fame flac foomaticdb gdbm gif glitz gnome gpm gstreamer gtk gtk2 hal howl imagemagick imlib ipv6 java jpeg libg++ libwww lzo mad matroska mikmod mjpeg mmx mng mono mozilla moznocompose moznoirc moznomail mp3 mpeg ncurses nls nomotif nptl nsplugin nvidia ogg oggvorbis opengl oss pam pdflib perl png python quicktime readline spell sqlite sse sse2 ssl svg tcpd tetex theora tiff truetype truetype-fonts type1-fonts udev unicode usb vorbis win32codecs wmf xml2 xv xvid zlib linguas_de userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LDFLAGS, MAKEOPTS
As requested by dsd_: >>> Merging net-wireless/ipw2100-firmware-1.3 to / --- /lib/ --- /lib/firmware/ >>> /lib/firmware/ipw2100-1.3.fw >>> /lib/firmware/ipw2100-1.3-i.fw >>> /lib/firmware/ipw2100-1.3-p.fw >>> /lib/firmware/ipw2100-1.3-LICENSE >>> Safely unmerging already-installed instance... --- !mtime obj /lib/firmware/ipw2100-1.3.fw --- !mtime obj /lib/firmware/ipw2100-1.3-p.fw --- !mtime obj /lib/firmware/ipw2100-1.3-i.fw --- !mtime obj /lib/firmware/ipw2100-1.3-LICENSE --- !empty dir /lib/firmware --- !empty dir /lib >>> original instance of package unmerged safely. >>> Regenerating /etc/ld.so.cache... >>> net-wireless/ipw2100-firmware-1.3 merged.
What does `grep ^FIRMWARE_DIR /etc/hotplug/firmware.agent` say? Does the external net-wireless/ipw2100 driver load the firmware correctly?
wopr-mobile ~ # grep ^FIRMWARE_DIR /etc/hotplug/firmware.agent FIRMWARE_DIR=/lib/firmware The external net-wireless/ipw2100 driver loaded the firmware correctly with Linux 2.6.13, haven't tested with Linux 2.6.14, yet.
Please try with CONFIG_IPW2100=m
CONFIG_IPW2100=m works: ipw2100: Intel(R) PRO/Wireless 2100 Network Driver, 1.1.0 ipw2100: Copyright(c) 2003-2004 Intel Corporation ipw2100: Detected Intel PRO/Wireless 2100 Network Connection eth1 (WE) : Driver using old /proc/net/wireless support, please fix driver !
Reopening.
I suspect the statically compiled ipw2100 driver attempts to load the firmware before the root filesystem is mounted. Can you please check your dmesg and see if this is the cause?
In my case (ipw2200, 2.6.14-ck1, ipw2200-firmware-2.2) that was the case. /lib/firmware was not accessible. I suspect that ipw2100 is much the same.
Yes, the statically compiled ipw2100 driver attempts to load the firmware before the root filesystem is mounted.
Upstream reports that this is a well known yet still unaddressed problem :(
Closing as upstream bug. If anyone would like to help us track this, please report this bug to http://bugzilla.kernel.org and post the new URL here. Thanks.