Summary: | net-wireless/ipw2200 fails to load firmware with udev-068 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Marc Lecuyer <bugzilla-gentoo> |
Component: | [OLD] Unspecified | Assignee: | Greg Kroah-Hartman (RETIRED) <gregkh> |
Status: | VERIFIED FIXED | ||
Severity: | normal | CC: | chifung, chris4linux, gentoo, gnarlin, indrek.seppo, juan, kay.sievers, khaine, mobile+disabled, o.roeschke |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | my /etc/udev/rules.d/ for udev-084 |
Description
Marc Lecuyer
2005-09-01 05:19:27 UTC
Adding GregKH to CC: as this seems to be udevsend related. Marc, does downgrading to sys-fs/udev-058 (`emerge =sys-fs/udev-058`) make the problem go away? Brix: downgrading to udev-058 makes the problem go away. You are probably right: it seems related to udev :/ Reassigning. *** Bug 104695 has been marked as a duplicate of this bug. *** Does a 2.6.13 kernel work for you? 2.6.13 kernel does not solves the problem. the dmesg log gives this: ieee80211_crypt: registered algorithm 'NULL' ieee80211: 802.11 data/management/control stack, 1.0.3 ieee80211: Copyright (C) 2004-2005 Intel Corporation <jketreno@linux.intel.com> ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.0.6 ipw2200: Copyright(c) 2003-2004 Intel Corporation ACPI: PCI Interrupt 0000:01:03.0[A] -> Link [LNKB] -> GSI 5 (level, low) -> IRQ 5 ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection ipw2200: ipw-2.3-boot.fw load failed: Reason -2 ipw2200: Unable to load firmware: 0xFFFFFFFE ipw2200: failed to register network device ACPI: PCI interrupt for device 0000:01:03.0 disabled ipw2200: probe of 0000:01:03.0 failed with error -5 Per the linux-hotplug-devel mailinglist, it appears that this may relate to a bug in firmware_helper.c file. A firmware_helper.c patch was submitted by Duncan Sands and the error recognized by Kay Siever in this thread: http://sourceforge.net/mailarchive/forum.php?thread_id=8151439&forum_id=3157 Another user reported the patch cured ipw2200 firmware issues in this message: http://sourceforge.net/mailarchive/forum.php?thread_id=8154427&forum_id=3157 I was affected by this as well. I was able to get the module to load by following the second set of directions. echo "/sbin/hotplug" > /proc/sys/kernel/hotplug My ipw2200 module loads fine now. Greg, is this patch ok for inclusion? Yes it is, but if you want, I'm doing a new udev release tomorrow with this fix in it. Up to you if you want to add this now or not. I'll wait for your new release. Thanks. Wait, that patch should not fix anything, as we don't use the firmware_helper binary, but use the hotplug firmware system, right? Or does the ipw2200 driver come with some udev rules that use this program? Ok, let me know if 069 fixes this problem or not. Udev 069 does not fix the problem. ( emerged the 069 version marked ~x86 ) *** Bug 106072 has been marked as a duplicate of this bug. *** Same problem with udev-068-r1 I don't see how this is a udev problem, as it's not udev that is loading the firmware, right? I believe we use `udevsend` as hotplug helper? And the users say that downgrading to udev-058 makes the problem go away. Does removing and loading the modules for the wireless card load the firmware correctly? Please run "udevmonitor" while trying this and post the output of the printed event sequence here. I too have this issue with any udev version above 058 (058 is the last version that does not break the loading of the ipw2200 driver). Additionally, I do not have the "udevmonitor" command to monitor as per the last request. Here is udevmonitor output with udev070 (~): UEVENT[1127730851] add@/module/ipw2200 UEVENT[1127730851] add@/bus/pci/drivers/ipw2200 UEVENT[1127730851] add@/class/firmware/0000:01:03.0 UEVENT[1127730861] remove@/class/firmware/0000:01:03.0 Dmesg message is: ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.0.6 ipw2200: Copyright(c) 2003-2004 Intel Corporation ACPI: PCI Interrupt 0000:01:03.0[A] -> Link [LNKB] -> GSI 5 (level, low) -> IRQ 5 ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection ipw2200: ipw-2.3-boot.fw load failed: Reason -2 ipw2200: Unable to load firmware: 0xFFFFFFFE ipw2200: failed to register network device ipw2200: probe of 0000:01:03.0 failed with error -5 Do you have these udev rules, especially the last line: http://www.kernel.org/git/?p=linux/hotplug/udev.git;a=blob;hb-HEAD;f=etc/udev/gentoo/udev.rules#l307 On my box, the sequence looks like this: UEVENT[1127738745] add@/module/ipw2200 UEVENT[1127738745] add@/bus/pci/drivers/ipw2200 UEVENT[1127738745] add@/class/firmware/0000:04:02.0 UDEV [1127738745] add@/module/ipw2200 UDEV [1127738745] add@/bus/pci/drivers/ipw2200 UDEV [1127738745] add@/class/firmware/0000:04:02.0 UEVENT[1127738745] remove@/class/firmware/0000:04:02.0 UEVENT[1127738745] add@/class/firmware/0000:04:02.0 UDEV [1127738745] remove@/class/firmware/0000:04:02.0 UDEV [1127738745] add@/class/firmware/0000:04:02.0 UEVENT[1127738745] remove@/class/firmware/0000:04:02.0 UEVENT[1127738745] add@/class/firmware/0000:04:02.0 UDEV [1127738745] remove@/class/firmware/0000:04:02.0 UEVENT[1127738745] remove@/class/firmware/0000:04:02.0 UEVENT[1127738745] add@/class/net/eth0 UDEV [1127738745] remove@/class/firmware/0000:04:02.0 UDEV [1127738745] add@/class/firmware/0000:04:02.0 UDEV [1127738745] add@/class/net/eth0 After checking my rules.d files, I found out that they were not correctly updated (human problem sorry)... now the module is loading correctly after using the ._cfg file. I need to find the differences between the two files to know what parameter did the bad things happen. I just updated to udev70: ipw2200 still doesn't work and bluetooth is broken : ( net-wireless/ipw2200-1.0.6-r3 works along with udev-068/udev-070 here... Ah ok, that makes sense. We have a lot of trouble lately with the wireless tools, cause of incompatible changes. I think this bug should be closed or filed against the wireless tools. I don't see how firmware loading errors can relate to wireless-tools - besides, I've tested this with latest wireless-tools-28-pre9 and -pre10. I had similar problems after emerge world, udev-070 ipw2200-1.0.6 Found a solution using firmware helper as described in http://www.openthought.org/blosxom.cgi/2005/09/07 it needed a manual udev build with EXTRAS=extras/firmware Can you try version 071? I enabled the firmware helper application to be buit. @ bug-reporter and comment #21 Make sure the ipw2200-firmware version you have installed matches what is trying to be loaded. I just had a similar issue. I was trying to test out the in-kernel ipw2200 driver, since the ieee80211 / ipw2200 packages from portage are giving me heck (fwiw, finally got them to work, but got ioctl errors w/ wpa_supplicant). At first I had similar issues as this bug report, but it seems the in-kernel driver in 2.6.14 requires ipw2200-firmware-2.2. According to comment #21: ipw2200: ipw-2.3-boot.fw load failed: Reason -2 ... it seems to need ipw2200-firmware-2.3. Someone that knows more about firmware versioning wrt modules could probably comment on this better. Upgrading to udev-071 and making sure the firmware was installed made everything work ... so far. I updated to udev-71 (emerge udev ipw2200 ipw2200 ieee80211) - does still not work... Reopening. I also tried to get the 2.6.14 driver to work but loading the firmware fails (firmware 2.2, udev-70-r1). The thread can be found here: http://forums.gentoo.org/viewtopic-p-2875189.html#2875189 Maybe I'll try the ipw2200 package again but there was not one working udev version since udev-058 (which isn't available no more...). You were right, works now! Hooray! (In reply to comment #34) > You were right, works now! Hooray! What did you change? I used the ._cfg udev-rules files. I didn't make a diff, the old one was about 8KiB and the new one ist 12KiB. This is still a big problem. Even with udev-073, the firmware is loaded and then immediately unloaded. It is possible to get the driver to work, but only by hacking the udev-rules files. Would be good to fix this ASAP, as it is hard to use a system without a network card. (In reply to comment #37) > This is still a big problem. Even with udev-073, > the firmware is loaded and then immediately unloaded. > > It is possible to get the driver to work, but only by hacking > the udev-rules files. Would be good to fix this ASAP, as it > is hard to use a system without a network card. I have udev 073, ipw2200-1.0.8-r1 and ipw2200-firmware-2.4. I'm using vanilla-sources-2.6.10. If I try to modprobe ipw2200 all I get is: FATAL: Error inserting ipw2200 (/lib/modules/2.6.10/net/wireless/ipw2200.ko): Unknown symbol in module, or unknown parameter (see dmesg) here are the relevant lines from dmesg: ipw2200: Unknown symbol escape_essid I have been using the same kernel for a long time now, and until yesterday, ipw2200 worked very well with it. Here is my emerge info as well: Portage 2.0.51.22-r3 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5-r2, 2.6.10 i686) ================================================================= System uname: 2.6.10 i686 Intel(R) Pentium(R) M processor 1.50GHz Gentoo Base System version 1.6.13 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.3 [enabled] dev-lang/python: 2.3.5, 2.4.2 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r6 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" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=pentium4 -O3 -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/env.d" CXXFLAGS="-march=pentium4 -O3 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache digest distlocks sandbox sfperms strict userpriv usersandbox" GENTOO_MIRRORS="ftp://ftp.rhnet.is/pub/gentoo http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo" LC_ALL="is_IS.UTF-8" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 3ds S3TC X Xaw3d a52 aac aalib acpi aim alsa apm async audiofile avi bash-completion bdf bigger-fonts bindist bitmap-fonts blender-game bzip2 ccache cdda cddb cdinstall cdparanoia cdr cdrom chroot cpudetection crypt css cups curl dbus devmap dga dnd dri dvd dvdr dvdread emboss encode escreen esd exif expat extensions fam ffmpeg flac fmod foomaticdb fortran ftp gcj gd gdbm gif glut glx gmail gmailtimestamps gnome gphoto2 gpm gstreamer gtk gtk2 hal idn imagemagick imap imlib imlib2 jabber java javascript joystick jp2 jpeg jpeg2k junit kde kdeenablefinal lcms libcaca libg++ libwww lua mad maildir mikmod mmx mng motif mozilla mp3 mpeg mpeg4 mplayer msn music nagios-dns nagios-ntp nagios-ping nagios-ssh nas ncurses net network nls nocd nowin nsplugin offensive ogg oggvorbis openal opengl oss pam pcmcia pcre pdf pdflib perl physfs png pnp python qemu-fast qt quicktime readline real recode reiserfs remote samba savedconfig sdl session silverxp slang smartcard softmmu sounds speex spell sse ssl stencil-buffer svg svga tcltk tcpd tga theora threads tiff truetype truetype-fonts trusted type1-fonts udev urandom usb vorbis wifi win32codecs wordperfect xface xine xml xml2 xmms xpm xprint xrandr xscreensaver xv xvid yahoo zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LDFLAGS, LINGUAS Please help me with this as I can't get any work done until this is fixed ;-( Please retest with 077 release. hi... i have udev-077, got my new 2915 today and have the same problem, until i do a: echo "/sbin/hotplug" > /proc/sys/kernel/hotplug then the firmware loads, but i see a: Dec 21 18:52:34 caladrius net.agent[27793]: add event not handled which didn't happen before, when firmware loading failed... mfg Olli (In reply to comment #39) > Please retest with 077 release. > eeek, don't reset /proc/sys/kernel/hotplug to anything else, otherwise you just broke udev. bleah, I guess I'll finally just merge firmware stuff into udev instead of doing it in hotplug... (In reply to comment #41) > eeek, don't reset /proc/sys/kernel/hotplug to anything else, otherwise you > just broke udev. how? i didn't recognized any problems or changes, except that the driver modules loads... > bleah, I guess I'll finally just merge firmware stuff into udev instead of > doing it in hotplug... how far have you come? would be great to get a solution ASAP.. mfg OR I have a similar Problem. After an emerge -uD world my wlan cards could not load any firmware. The problems are the same as reported here. I'm running Kernel 2.6.12.2. And without udev! (I have no udev ebuild on my system, I ensured that kernel has devfs via noudev boot option and I activated defvs udev via etc/confd.rc. strangely, at boot, some scripts (might be /sbin/rc) write "activating udev" on the screen which can't be and of course is not. The problem might be, that some scripts-writers might have think anyone has udev today, and try to "install" an hotplug manager which in my case, of course could not work. in my case echo "/sbin/hotplug" > /proc/sys/kernel/hotplug has worked. devfs is gone from the 2.6 kernel, and not supported in gentoo anymore, so you are on your own here... Reopening as this is still an issue (according to comment #40). Reporter, please test with the newly added net-wireless/ipw2200-1.0.9. It contains a work-around for a firmware loading race. I do have the same problem, and no, ver 1.0.9 does not solve it. Only echo "/sbin/hotplug" > /proc/sys/kernel/hotplug and rmmod ipw2200 modprobe ipw2200 (and sometimes it takes a number of times) works. no, doesn't help here... wanted to try to combine some seen fixes (maybe you need more than 1, but i don't know when i'll have time for this.... I have this same problem with ipw2100, can't load firmware since emerge -uD world Gentoo kernel 2.6.14 ipw2100 have tried the timeout delay and various udev versions to no avail (In reply to comment #23) > After checking my rules.d files, I found out that they were not correctly > updated (human problem sorry)... > > now the module is loading correctly after using the ._cfg file. > I need to find the differences between the two files to know what parameter did > the bad things happen. THIS IS IT! I had the same problem. The firmware was not loading because my upgrade to udev 070-r1 left the old /etc/udev/rules.d/50-udev.rules file in place. I just moved the /etc/udev/rules.d/._cfg0000xxx to /etc/udev/rules.d/50-udev.rules and rebooted and it worked! Also, the echo "/sbin/hotplug" > /proc/sys/kernel/hotplug. I've opted for updating my configuration files for udev instead :). user error, closing. sorry, not solved so far... i have udev-079 and ipw2200-1.0.10 for some time now and did 'etc-update', so my udev-rules are ok. but 'modprobe ipw2200' brings me: ============================ Jan 14 19:57:44 caladrius ieee80211: 802.11 data/management/control stack, 1.1.8 Jan 14 19:57:44 caladrius ieee80211: Copyright (C) 2004-2005 Intel Corporation <jketreno@linux.intel.com> Jan 14 19:57:44 caladrius ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.0.10 Jan 14 19:57:44 caladrius ipw2200: Copyright(c) 2003-2005 Intel Corporation Jan 14 19:57:44 caladrius ACPI: PCI Interrupt 0000:02:03.0[A] -> Link [LNKB] -> GSI 5 (level, low) -> IRQ 5 Jan 14 19:57:44 caladrius ipw2200: Detected Intel PRO/Wireless 2915ABG Network Connection Jan 14 19:57:44 caladrius ipw2200: Unable to load ucode: -62 Jan 14 19:57:44 caladrius ipw2200: Unable to load firmware: -62 Jan 14 19:57:44 caladrius ipw2200: failed to register network device Jan 14 19:57:44 caladrius ACPI: PCI interrupt for device 0000:02:03.0 disabled Jan 14 19:57:44 caladrius ipw2200: probe of 0000:02:03.0 failed with error -5 mfg OR i did some testing, and downgraded to udev-070. since that loading the modules works everytime without any problem... i'm not quite sure, if the problem was related to an extra udev rule, but as a mentioned bugfix from some ipw2200-1.0.9 users they said, that creating a special udev rule (/etc/udev/rules.d/999-firmware.rules with the following content: ACTION=="add", SUBSYSTEM=="firmware", RUN+="/sbin/firmware_helper" fixed the problem for them. while trying out, i saw that i forgot to delete the file, so after deleting and rebooting and downgrading to udev-070 it works. don't know what effects this udev rule has, but would be kind if someone explain it to me mfg olli Thanks, Olli, this worked for me too (downgrading udev to 070-r1, removing the file you mentioned, and I have ipw2200 ver 1.0.10). Udev 081 does not work. (In reply to comment #54) > Thanks, Olli, this worked for me too (downgrading udev to 070-r1, removing the > file you mentioned, and I have ipw2200 ver 1.0.10). > > Udev 081 does not work. > I just emerged udev 084 and removed my extra udev rule and now it seems to work. Is this the end of a long dark era? Yep, udev-084 works! And it was about time, because gentoo-sources 2.6.15-r1 with previous udev-070 didnt cooperate with my synaptic touchpad :) Hello. I use Source Mage GNU/Linux, but the udev problems with ipw2200 seem the same that you have been experiencing in Gentoo. I have upgraded udev to 084, but firmware still isn't loading. This makes me suspect that the problem for me is in the rules I have. Could someone take a look at my rules and see how they differ from the rules you have that work? I'd also be glad if I could have a look at your rules myself. We at SMGL still have some work left to do in making the transition to a non-hotplug environment. :) Created attachment 79016 [details]
my /etc/udev/rules.d/ for udev-084
The firmware rule (obviously not working) is in 50-default.rules.
One thing I'm also lacking is a working rule that would autoload modules (such as my ethernet module r8169, and usb modules, and so on...) There is a rule for it there in 50-default.rules, but it seems it's of no use. How could I make it work?
The gentoo udev rules are in the main udev tarball. I would recommend looking at the suse rules in there for examples of what you can do. And as for the module loading stuff, please create a new bug, this is not the place for it... *** Bug 123595 has been marked as a duplicate of this bug. *** |