Bug 179217 - udev-071 and up breaks ipw2200 firmware loading
udev-071 and up breaks ipw2200 firmware loading
Status: CLOSED CURRENTRELEASE
Product: Fedora
Classification: Fedora
Component: udev (Show other bugs)
4
i386 Linux
medium Severity high
: ---
: ---
Assigned To: Harald Hoyer
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2006-01-28 06:58 EST by Anton Keks
Modified: 2007-11-30 17:11 EST (History)
13 users (show)

See Also:
Fixed In Version: udev-071-0.FC4.2
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2006-04-28 05:32:40 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description Anton Keks 2006-01-28 06:58:56 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20050922 Fedora/1.0.7-1.1.fc4 Firefox/1.0.7

Description of problem:
When upgrading to FC4 updates-testing udev-071 or 078 from development, ipw2200 driver stops working (integrated WiFi in a notebook).

I have ipw2200-firmware-2.4-2 from freshrpms, which includes 2.2, 2.3 and 2.4 versions of firmware. This firmware package works with udev-058.

dmesg shows a lot of error messages, like these ones:

ipw2200: ipw-2.4-boot.fw load failed: Reason -2
ipw2200: Unable to load firmware: -2
ipw2200: failed to register network device

I had a hard time reversing to udev-058 not having a working network connection...

Tries with two kernels:

2.6.15-1.1823 with udev-058 works, but not very stable, losing connection very othen (this seems to be a registered bug in kernel component)

2.6.15-1.1828 forces an upgrade to udev-071, firmware fails to load.

2.6.15-1.1828 with udev-078 from development, firmware fails to load.

2.6.15-1.1823 with udev-071 or udev-078, firmware fails to load.



Version-Release number of selected component (if applicable):
kernel 2.6.15-1.1823 or 2.6.15-1.1828, udev 071 or 078

How reproducible:
Always

Steps to Reproduce:
see above

Additional info:
Comment 1 Anton Keks 2006-01-28 07:11:56 EST
The bug about driver instability is 178959. Maybe it is somehow related to this
problem as well.
Comment 2 Walter Neumann 2006-01-28 09:40:40 EST
Same problem  with udev-071 on a Dell Latitude D410 and kernel 2.6.14-1.1656 
In this case it is ipw-2.2 that fails to load.

(udev-058 has no problem with this kernel. With 2.6.15-1.1823 synaptics was
broken but ipw-2.4 loaded OK)
Comment 3 Bill Moss 2006-01-31 00:09:54 EST
The 2.6.15 kernels requires udev-071 or higher. udev-071 loads firmware and
conflicts with kernel/hotplug firmware loading. The solution

# cd /etc/hotplug
# mv firmware.agent firmware.agent.orig
Comment 4 Harald Hoyer 2006-01-31 10:15:51 EST
Instead of the firmware.agent, try removing:

ACTION=="add", SUBSYSTEM=="firmware", ENV{FIRMWARE}=="*", \
        RUN+="/sbin/firmware_helper"

from /etc/udev/rules.d/50-udev.rules..

Does that work, too?
Comment 5 kmike 2006-01-31 10:42:34 EST
Yes, it worked, after reboot.
Comment 6 Thomas J. Baker 2006-01-31 10:50:45 EST
I've got a Dell Inspiron 600m with the 1824 kernel. Like above, with new kernel
and old udev, ipw2200 worked but synaptics did not. Now with new kernel and new
udev, ipw2200 won't load the firmware. I've tried renaming
/sbin/firmware_helper, renaming /etc/hotplug/firmware.agent, and commenting out
the udev rules and none of them worked for me.


Until I went to submit this, got a mid-air collision with comment #5, tried
rebooting instead of just killing udevd and it worked. So yes, commenting out
the udev rules also works for me.
Comment 7 Anton Keks 2006-01-31 16:27:02 EST
It didn't work for me...
Maybe the reason is that I tried with udev-078-8 from development.
I had to reverse to udev-058 again.
Comment 8 Anton Keks 2006-01-31 16:55:30 EST
Now, after a lot of trouble, I was able to verify that udev-071-0 doesn't work
either, but symptoms are now different: before ifconfig was saying that there
was no such device, now ifconfig shows mac address correctly, but iwconfig says
that no wireless extensions are available.

dmesg | grep ipw:

ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection
ipw2200: ipw-2.4-boot.fw load failed: Reason -2
ipw2200: Unable to load firmware: -2
ipw2200: failed to register network device
ipw2200: probe of 0000:01:0d.0 failed with error -5
Comment 9 Robert Hancock 2006-01-31 21:56:52 EST
udev-071-0.FC4.2 released today seems to fix this for me.
Comment 10 Lonni J Friedman 2006-02-04 15:23:17 EST
I'm having a problem that sounds very similar to this one.  There are more
details in bug 179982, but basically i'm using a linksys WPC11v3 pcmcia wifi
card which as worked fine up until the latest kernel/udev update in FC4, and now
the card doesn't work at all.  Instead I see this error repeating over & over
again when I attempt to bring up eth0:
cannot change name of wlan0 to devWXYZ: File exists

where WXYZ seems to be a random number that changes each time the error appears
(and it appears many times per second, but gradually slows down over time).
Comment 11 redhat-bugs2eran 2006-02-05 09:51:51 EST
Same problem here: ipw2200 firmware doesn't load) with vanilla 2.6.15.1 and
udev-071-0.FC4.2. The workarounds don't work.

The problem occurs whether or not /etc/hotplug/firmware.agent is renamed
(comment 3) and whether or not the firmware-related lines in
/etc/udev/rules.d/50-udev.rules are disabled (comment 4). I tried all 4 cases,
rebooting for each.

The same kernel and firmware worked flawlessly with udev-0.58-1.0.FC4.1.
Comment 12 Enrico Scholz 2006-02-05 10:57:36 EST
Ditto with an Hauppauge Nexus-S DVB card and vanilla 2.6.15.1. strac'ing
/sbin/firmware_helper during executing shows

| execve("/sbin/firmware_helper", ["/sbin/firmware_helper", "firmware"], [/* 13
vars */]) = 0
| ...
| open("/sys//class/firmware/0000:02:01.0/loading", O_WRONLY|O_CREAT|O_TRUNC,
0666) = -1 ENOENT (No such file or directory)
| open("/lib/firmware/dvb-ttpci-01.fw", O_RDONLY) = 3
| fstat64(3, {st_mode=S_IFREG|0644, st_size=239892, ...}) = 0
| mmap2(NULL, 241664, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb7fb5000
| read(3, "AVFWq\214xF\0\0\1 \345\237\360\34\341\260\360\16\345\237"..., 239892)
= 239892
| close(3)                                = 0
| open("/sys//class/firmware/0000:02:01.0/data", O_RDWR) = -1 ENOENT (No such
file or directory)
| close(-1)                               = -1 EBADF (Bad file descriptor)
| open("/sys//class/firmware/0000:02:01.0/loading", O_WRONLY|O_CREAT|O_TRUNC,
0666) = -1 ENOENT (No such file or directory)


env is

| ACTION=add
| DEVPATH=/class/firmware/0000:02:01.0
| FIRMWARE=dvb-ttpci-01.fw
| PHYSDEVBUS=pci
| PHYSDEVDRIVER=dvb
| PHYSDEVPATH=/devices/pci0000:00/0000:00:1e.0/0000:02:01.0
| SEQNUM=978
| SUBSYSTEM=firmware
| TIMEOUT=10
| UDEVD_EVENT=1
| UDEV_LOG=3


Downgrading to udev-058-1.0.FC4.1 makes things work again.

/sys does not contain files named 'data' or 'loading'.
Comment 13 Lonni J Friedman 2006-02-05 11:13:11 EST
For my problem downgrading to udev-0.58 also fixes the problem.
Comment 14 Thomas Sailer 2006-02-05 15:28:26 EST
>ACTION=="add", SUBSYSTEM=="firmware", ENV{FIRMWARE}=="*", \ 
>        RUN+="/sbin/firmware_helper" 
 
Removing the above lines does not work for me for the dvb_ttpci module, in 
fact I even had to replace the "RUN+=" by "RUN=", otherwise modprobe dvb_ttpci 
just hung for some time trying to modprobe some alias because of the following 
rule in 50-udev.rules: 
 
ACTION=="add", SUBSYSTEM=="?*", MODALIAS=="?*", RUN+="/sbin/modprobe 
$modalias" 
 
Comment 15 David Baron 2006-02-07 17:01:18 EST
I had problems similar to those described here due to recent kernel updates. 
kernel-2.6.14-1.1656_FC4 was my old working kernel, I hit this problem when
trying to use kernel-2.6.15-1.1830_FC4 and gave up, but then after installing
kernel-2.6.15-1.1831_FC4 I fixed it when I noticed that the error message was
like that in comment 8, but the firmware I had installed was ipw-2.2, not
ipw-2.4.  The problem went away when I installed the 2.4 version of the firmware
from http://ipw2200.sourceforge.net/ ; the 2.2 version had worked with prior
kernels.
Comment 16 redhat-bugs2eran 2006-02-07 18:43:05 EST
dbaron, that issue is unrelated to the one discussed here; you got that because
2.6.15 merged in a new version of the ipw2200 driver, which needs the 2.4 firmware.

BTW, following up on comment 11: downgrading udev to 058-1.0.FC4.1 fixes the
problem (no other changes).
Comment 17 Anton Keks 2006-02-15 14:38:11 EST
Please change the priority to high, because erroneous rpms are now in the
released repository, breaking ipw2200 for anyone, who runs 'yum update'.

I have tried with the latest released kernel-2.6.15-1.1831 and udev-071-0.FC4.2.
This combination doesn't work. No hacks listed in other comments help :-(

Possibly users, who are upgrading to the udev-071 have to do something with the
hotplug rpm? Is it deprecated?

For now, I have to downgrade, again...
Comment 18 Matthew Saltzman 2006-02-15 14:54:57 EST
Workaround: rename /etc/hotplug/firmware.agent.
Comment 19 Anton Keks 2006-02-15 15:16:16 EST
Interestingly enough, but after the downgrade to udev-058, I have tried 'yum
upgrade', which have installed the udev-071 back as well as updated a lot of
other packages.

After a reboot, firmware have been loaded successfully. I still have hotplug
installed and /etc/hotplug/firmware.agent has it's original name.

Of course, the released udev-071-0.FC4.2 have the abovementioned lines in
50-udev.rules commented out, but this is the same it was before...

cat /proc/sys/kernel/hotplug gives the '/sbin/udevsend' as expected.

In the meantime, I have found a workaround on the ipw2200.sf.net for a very
similar problem:
echo 100 > /sys/class/firmware/timeout

I have 60 there now, and it works. Probably these problems are not related.

Sorry for not being able to give more useful info, feel free to ask questions.
Comment 20 C.M. Connelly 2006-02-21 16:27:36 EST
(In reply to comment #15)

With kernel-2.6.15-1.1831_FC4 and udev-071-0.FC4.2, updating the firmware from
2.2 to 2.4 worked for me.

Comment 21 redhat-bugs2eran 2006-02-28 08:13:38 EST
Problem solved here by upgrading to vanilla kernel 2.6.15.4 + ieee80211 1.1.12 +
ipw2200 1.0.13 and udev-0.71-0.FC4.3.
Comment 22 Oxana Smirnova 2006-06-24 13:08:16 EDT
I dare say it stopped working again, with kernels 2.6.16, udev 0.71, ieee80211
1.1.14 and the latest and greatest ipw2200 firmware and modules. None of the
hacks described in the thread help. Firmare can not be loaded no matter what I try.

Note You need to log in before you can comment on or make changes to this bug.