Problems with iwlagn since udev#153
Hi all, since I updated udev to 153-1 the iwlagn module on my notebook is unable to load the firmware. The files /lib/firmware/iwlwifi-5000-?.ucode are still where they used to be, but apparently expected elsewhere. I had to go back to udev#151 to make the wlan working again. It's probably a configuration problem, but I have no clue. Any ideas? Thanks, Bernd -- Bernd Eggink http://sudrala.de
Hi Bernd, The link to the firmware is hardcoded in the configure script of udev 152. I'm sure that also applies to udev 153-1. You might want to manually change that before compilation. See [1] for more information (in German). Regards, Jan [1] http://blog.fefe.de/?ts=b531e7a8 Bernd Eggink <monoped@sudrala.de> schrieb am Fri, Apr 23, 2010 at 03:28:01PM +0200:
Hi all,
since I updated udev to 153-1 the iwlagn module on my notebook is unable to load the firmware. The files /lib/firmware/iwlwifi-5000-?.ucode are still where they used to be, but apparently expected elsewhere. I had to go back to udev#151 to make the wlan working again. It's probably a configuration problem, but I have no clue. Any ideas?
Thanks, Bernd
-- Bernd Eggink http://sudrala.de _______________________________________________ CRUX mailing list CRUX@lists.crux.nu http://lists.crux.nu/mailman/listinfo/crux
* Jan Wiescher (j.h.wiescher@gmx.net) wrote:
Hi Bernd,
The link to the firmware is hardcoded in the configure script of udev 152. I'm sure that also applies to udev 153-1. You might want to manually change that before compilation. (...)
No sir! ,---- [ grep -A2 153 NEWS ] | udev 153 | ======== | Fix broken firmware loader search path. | `---- To OP: are you sure you upgraded to udev-153? kind regards, Thomas Penteker -- Internet outage
Am 23.04.2010 17:04, schrieb Thomas Penteker:
* Jan Wiescher (j.h.wiescher@gmx.net) wrote:
To OP: are you sure you upgraded to udev-153?
Sure I am. Here is what I get during boot: iwlagn 0000:06:00.0: iwlwifi-5000-2.ucode firmware file req failed: -2 iwlagn 0000:06:00.0: Could not read microcode: -2 I think the configure script is broken. This is the output I get: udev 153 ======== prefix: /usr sysconfdir: /etc sbindir: ${exec_prefix}/sbin libdir: ${exec_prefix}/lib rootlibdir: ${exec_prefix}/lib libexecdir: /lib/udev datarootdir: ${prefix}/share mandir: /usr/man includedir: ${prefix}/include include_prefix: logging: yes debug: no selinux: no compiler: gcc cflags: -O2 -march=i686 ldflags: extras: no gintrospection: no usb.ids: pci.ids: firmware path: xsltproc: /usr/bin/xsltproc gperf: As you can see, the firmware path is empty. Adding --with-firmware-path=/lib/firmware doesn't change anything, nor does adding the parameter FIRMWARE_PATH=/lib/firmware to the 'make' command. So I'll stick to 151 for the time being (I really need my wlan!): Greetings, Bernd -- Bernd Eggink http://sudrala.de
On Fri, Apr 23, 2010 at 05:35:50PM +0200, Bernd Eggink wrote:
Am 23.04.2010 17:04, schrieb Thomas Penteker:
* Jan Wiescher (j.h.wiescher@gmx.net) wrote:
To OP: are you sure you upgraded to udev-153?
Sure I am.
Here is what I get during boot:
iwlagn 0000:06:00.0: iwlwifi-5000-2.ucode firmware file req failed: -2 iwlagn 0000:06:00.0: Could not read microcode: -2
I think the configure script is broken. This is the output I get:
udev 153 ========
prefix: /usr sysconfdir: /etc sbindir: ${exec_prefix}/sbin libdir: ${exec_prefix}/lib rootlibdir: ${exec_prefix}/lib libexecdir: /lib/udev
datarootdir: ${prefix}/share mandir: /usr/man includedir: ${prefix}/include
include_prefix:
logging: yes debug: no selinux: no
compiler: gcc cflags: -O2 -march=i686 ldflags:
extras: no gintrospection: no
usb.ids: pci.ids: firmware path:
xsltproc: /usr/bin/xsltproc gperf:
As you can see, the firmware path is empty. Adding
--with-firmware-path=/lib/firmware
doesn't change anything, nor does adding the parameter FIRMWARE_PATH=/lib/firmware to the 'make' command. So I'll stick to 151 for the time being (I really need my wlan!):
Greetings, Bernd
What about adding CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware" to your kernel .config? -- /Fredrik Rinnestam
* Bernd Eggink (monoped@sudrala.de) wrote:
(...) doesn't change anything, nor does adding the parameter FIRMWARE_PATH=/lib/firmware to the 'make' command. So I'll stick to 151 for the time being (I really need my wlan!):
Yes, there seem to be some glitches in configure et al. Notifying upstream will be the only real solution. Meanwhile a quick & dirty fix would be to execute ,---- [ fix for udev-153 firmware problem ] | sed -i -e 's|-DFIRMWARE_PATH.*|-DFIRMWARE_PATH=\\""/lib/firmware"\\"|' Makefile `---- after configure. Please note: my setup does not require any firmware so I could not (easily) test this fix. The difference after applying the sed onliner for sure shows up if you call make V=1 (-DFIRMWARE_PATH is not empty anymore) Please report success. kind regards, Thomas Penteker -- positron router malfunction
Am 23.04.2010 18:33, schrieb Thomas Penteker:
* Bernd Eggink (monoped@sudrala.de) wrote:
(...) doesn't change anything, nor does adding the parameter FIRMWARE_PATH=/lib/firmware to the 'make' command. So I'll stick to 151 for the time being (I really need my wlan!):
Yes, there seem to be some glitches in configure et al. Notifying upstream will be the only real solution.
Meanwhile a quick& dirty fix would be to execute
,---- [ fix for udev-153 firmware problem ] | sed -i -e 's|-DFIRMWARE_PATH.*|-DFIRMWARE_PATH=\\""/lib/firmware"\\"|' Makefile `----
after configure. Please note: my setup does not require any firmware so I could not (easily) test this fix. The difference after applying the sed onliner for sure shows up if you call make V=1 (-DFIRMWARE_PATH is not empty anymore)
Please report success.
It worked after changing the sed expression to sed -i -e 's|^FIRMWARE_PATH.*|FIRMWARE_PATH = /lib/firmware|' Makefile which produces the correct line FIRMWARE_PATH = /lib/firmware I also retried the somewhat more elegant solution make FIRMWARE_PATH=/lib/firmware and found that this works as well (in contrast to what I said before, probably because I had forgotten to update the package). Thanks and best wishes, Bernd -- Bernd Eggink http://sudrala.de
Am 23.04.2010 20:12, schrieb Bernd Eggink:
It worked after changing the sed expression to
sed -i -e 's|^FIRMWARE_PATH.*|FIRMWARE_PATH = /lib/firmware|' Makefile
which produces the correct line
FIRMWARE_PATH = /lib/firmware
I also retried the somewhat more elegant solution
make FIRMWARE_PATH=/lib/firmware
and found that this works as well (in contrast to what I said before, probably because I had forgotten to update the package).
ARGHHH! I'm afraid have to take that back. I was thinking it worked because I had switched to the cable network (I'm getting confused). Actually it does _not_ work with any of the both methods. Sorry for the noise. And, yes, reporting upstream seems to be a good idea. Fortunately, udev-151 works quite well for me. Regards, Bernd -- Bernd Eggink http://sudrala.de
On Fri, Apr 23, 2010 at 08:25:57PM +0200, Bernd Eggink wrote:
Am 23.04.2010 20:12, schrieb Bernd Eggink:
It worked after changing the sed expression to
sed -i -e 's|^FIRMWARE_PATH.*|FIRMWARE_PATH = /lib/firmware|' Makefile
which produces the correct line
FIRMWARE_PATH = /lib/firmware
I also retried the somewhat more elegant solution
make FIRMWARE_PATH=/lib/firmware
and found that this works as well (in contrast to what I said before, probably because I had forgotten to update the package).
ARGHHH! I'm afraid have to take that back. I was thinking it worked because I had switched to the cable network (I'm getting confused). Actually it does _not_ work with any of the both methods.
Sorry for the noise. And, yes, reporting upstream seems to be a good idea. Fortunately, udev-151 works quite well for me.
FIRMWARE_PATH=/lib/firmware/ should work. Note the trailing "/". Greetings Juergen -- Juergen Daubert | mailto:jue@jue.li Korb, Germany | http://jue.li/crux
Am 23.04.2010 20:51, schrieb Juergen Daubert:
On Fri, Apr 23, 2010 at 08:25:57PM +0200, Bernd Eggink wrote:
Am 23.04.2010 20:12, schrieb Bernd Eggink:
It worked after changing the sed expression to
sed -i -e 's|^FIRMWARE_PATH.*|FIRMWARE_PATH = /lib/firmware|' Makefile
which produces the correct line
FIRMWARE_PATH = /lib/firmware
I also retried the somewhat more elegant solution
make FIRMWARE_PATH=/lib/firmware
and found that this works as well (in contrast to what I said before, probably because I had forgotten to update the package).
ARGHHH! I'm afraid have to take that back. I was thinking it worked because I had switched to the cable network (I'm getting confused). Actually it does _not_ work with any of the both methods.
Sorry for the noise. And, yes, reporting upstream seems to be a good idea. Fortunately, udev-151 works quite well for me.
FIRMWARE_PATH=/lib/firmware/ should work. Note the trailing "/".
Still doesn't work. I just realized that I built the package with a modified pkgmk of my own which doesn't immediately abort if a compile error occurs. With the original pkgmk, the package won't be built at all: + make FIRMWARE_PATH=/lib/firmware/ make --no-print-directory all-recursive Making all in . CC libudev/libudev.lo CC libudev/libudev-list.lo CC libudev/libudev-util.lo CC libudev/libudev-device.lo CC libudev/libudev-enumerate.lo CC libudev/libudev-monitor.lo CC libudev/libudev-queue.lo CCLD libudev/libudev.la CC libudev/libudev-ctrl.lo CC libudev/libudev-util-private.lo CC libudev/libudev-device-private.lo CC libudev/libudev-queue-private.lo CCLD libudev/libudev-private.la CC extras/firmware/extras_firmware_firmware-firmware.o extras/firmware/firmware.c: In function 'main': extras/firmware/firmware.c:82: error: expected expression before '/' token make[2]: *** [extras/firmware/extras_firmware_firmware-firmware.o] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 =======> ERROR: Building '/usr/ports/core/udev/udev#153-1.pkg.tar.gz' failed. I wonder if anybody has successfully built this port?? Regards, Bernd -- Bernd Eggink http://sudrala.de
On Fri, Apr 23, 2010 at 10:32:00PM +0200, Bernd Eggink wrote:
Am 23.04.2010 20:51, schrieb Juergen Daubert:
On Fri, Apr 23, 2010 at 08:25:57PM +0200, Bernd Eggink wrote:
Am 23.04.2010 20:12, schrieb Bernd Eggink:
It worked after changing the sed expression to
sed -i -e 's|^FIRMWARE_PATH.*|FIRMWARE_PATH = /lib/firmware|' Makefile
which produces the correct line
FIRMWARE_PATH = /lib/firmware
I also retried the somewhat more elegant solution
make FIRMWARE_PATH=/lib/firmware
and found that this works as well (in contrast to what I said before, probably because I had forgotten to update the package).
ARGHHH! I'm afraid have to take that back. I was thinking it worked because I had switched to the cable network (I'm getting confused). Actually it does _not_ work with any of the both methods.
Sorry for the noise. And, yes, reporting upstream seems to be a good idea. Fortunately, udev-151 works quite well for me.
FIRMWARE_PATH=/lib/firmware/ should work. Note the trailing "/".
Still doesn't work.
I just realized that I built the package with a modified pkgmk of my own which doesn't immediately abort if a compile error occurs. With the original pkgmk, the package won't be built at all:
+ make FIRMWARE_PATH=/lib/firmware/ make --no-print-directory all-recursive Making all in . CC libudev/libudev.lo CC libudev/libudev-list.lo CC libudev/libudev-util.lo CC libudev/libudev-device.lo CC libudev/libudev-enumerate.lo CC libudev/libudev-monitor.lo CC libudev/libudev-queue.lo CCLD libudev/libudev.la CC libudev/libudev-ctrl.lo CC libudev/libudev-util-private.lo CC libudev/libudev-device-private.lo CC libudev/libudev-queue-private.lo CCLD libudev/libudev-private.la CC extras/firmware/extras_firmware_firmware-firmware.o extras/firmware/firmware.c: In function 'main': extras/firmware/firmware.c:82: error: expected expression before '/' token make[2]: *** [extras/firmware/extras_firmware_firmware-firmware.o] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 =======> ERROR: Building '/usr/ports/core/udev/udev#153-1.pkg.tar.gz' failed.
Sorry, should test my suggestions next time. The problem is that we have to quote the path-string properly. make FIRMWARE_PATH='\""/lib/firmware/"\"' works for me. Thomas' sed solution works as well if you add the trailing "/". Greetings Juergen -- Juergen Daubert | mailto:jue@jue.li Korb, Germany | http://jue.li/crux
Am 24.04.2010 00:59, schrieb Juergen Daubert:
Sorry, should test my suggestions next time. The problem is that we have to quote the path-string properly.
make FIRMWARE_PATH='\""/lib/firmware/"\"'
works for me. Thomas' sed solution works as well if you add the trailing "/".
Works here as well, thanks! Bernd -- Bernd Eggink http://sudrala.de
Bernd Eggink [2010-04-23 15:28]:
since I updated udev to 153-1 the iwlagn module on my notebook is unable to load the firmware. The files /lib/firmware/iwlwifi-5000-?.ucode are still where they used to be, but apparently expected elsewhere.
Weird. On my system, udev 153 loads the Radeon firmware (/lib/firmware/radeon/R420_cp.bin) just fine. Sorry for the breakage. I have reverted the port to udev 151 for now. Regards, Tilman -- A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing on usenet and in e-mail?
* Tilman Sauerbeck (tilman@crux.nu) wrote:
Weird. On my system, udev 153 loads the Radeon firmware (/lib/firmware/radeon/R420_cp.bin) just fine. Sorry for the breakage.
what does make V=1 wrt to -DFIRMWARE_PATH producde for you? -- Secretary sent chain letter to all 5000 employees.
Thomas Penteker [2010-04-23 19:38]:
* Tilman Sauerbeck (tilman@crux.nu) wrote:
Weird. On my system, udev 153 loads the Radeon firmware (/lib/firmware/radeon/R420_cp.bin) just fine. Sorry for the breakage.
what does make V=1 wrt to -DFIRMWARE_PATH producde for you?
Ahem. Last night I realized firmware loading was broken for me, too; it manifested in XVideo not being available. I *assumed* it worked for me because X was coming up without the usual 30 second delay that missing firmware causes in the Radeon driver. Regards, Tilman -- A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing on usenet and in e-mail?
Am 23.04.2010 15:28, schrieb Bernd Eggink:
Hi all,
since I updated udev to 153-1 the iwlagn module on my notebook is unable to load the firmware. The files /lib/firmware/iwlwifi-5000-?.ucode are still where they used to be, but apparently expected elsewhere. I had to go back to udev#151 to make the wlan working again. It's probably a configuration problem, but I have no clue.
I finally got it working. A quick and dirty hack: Insert the line sed -i -e 's|FIRMWARE_PATH|"/lib/firmware/"|' $SRC/$name-$version/extras/firmware/firmware.c before the "make" line in Pkgfile. Then it compiles and works correctly. Regards, Bernd -- Bernd Eggink http://sudrala.de
participants (6)
-
Bernd Eggink
-
Fredrik Rinnestam
-
Jan Wiescher
-
Juergen Daubert
-
Thomas Penteker
-
Tilman Sauerbeck