You are not logged in.

#1 2012-04-22 10:17:28

hidefromkgb
Member
Registered: 2009-08-03
Posts: 146

udev-182 cannot find firmware (even long after boot)

Hello.

After upgrading to kernel v3.3.2 with udev 182, I began experiencing issues with my video card and WiFi adapter.
The cause seems to be similar in both cases: udev can not load firmware at boot time, returning –2 (ENOENT, file not found).
These issues cannot be worked around by blacklisting the corresponding drivers and modprobe`ing them manually after login.

Well, I`m okay with WiFi not working, since I don`t use it, but the video card is really a trouble.

How can I make udev do its job?

[UPD:] Last configuration known to be working is kernel 3.1.6 + udev 175.

Last edited by hidefromkgb (2012-04-22 10:19:05)

Offline

#2 2012-04-22 14:14:49

tomegun
Developer
From: France
Registered: 2010-05-28
Posts: 661

Re: udev-182 cannot find firmware (even long after boot)

Check /run/udev/missing-firmware. Do you have an entry for the missing files? Do the files exist in /lib/firmware or /usr/lib/firmware?

Offline

#3 2012-04-22 14:15:33

tomegun
Developer
From: France
Registered: 2010-05-28
Posts: 661

Re: udev-182 cannot find firmware (even long after boot)

Also, please add more info: name of hardware, drivers and firmware.

Offline

#4 2012-04-22 14:30:14

hidefromkgb
Member
Registered: 2009-08-03
Posts: 146

Re: udev-182 cannot find firmware (even long after boot)

tomegun wrote:

Check /run/udev/missing-firmware.

/run/udev does not contain this file (or directory).

tomegun wrote:

Do you have an entry for the missing files? Do the files exist in /lib/firmware or /usr/lib/firmware?

Yep.
Initially they were located in /lib/firmware/radeon, then I copied their parent directory, radeon, to /usr/lib/firmware, but still no luck.

tomegun wrote:

Also, please add more info: name of hardware, drivers and firmware.

Hardware:    ATi Radeon X1700 Mobility
Drivers:     xf86-video-ati 6.14.4-2
Firmware:    radeon/R520_cp.bin (assuming that current dir is /lib/firmware or /usr/lib/firmware)

The exact error message, retreived from dmesg:

[   24.018062] [drm] Loading R500 Microcode
[   84.533541] radeon_cp: Failed to load firmware "radeon/R520_cp.bin"
[   84.533607] [drm:r100_cp_init] *ERROR* Failed to load firmware!
[   84.533667] radeon 0000:01:00.0: failed initializing CP (-2).
[   84.533727] radeon 0000:01:00.0: Disabling GPU acceleration
[   84.533788] [drm] radeon: cp finalized

The wireless is switched off in BIOS for now, so it generates no errors, but, if necessary, I will reboot and post its output.

Last edited by hidefromkgb (2012-04-22 14:36:35)

Offline

#5 2012-04-22 14:42:34

tomegun
Developer
From: France
Registered: 2010-05-28
Posts: 661

Re: udev-182 cannot find firmware (even long after boot)

The kernel will ask udev for the firmware. If udev can't find the firmware file in /use/lib/firmware or /lib/firmware it will add a (broken) symlink in the folder I mentioned (I might have misremembered the name as I'm on my phone).

Could you determine if the problem is udev or the kernel by upgrading one at a time? Might also make sense to reinstall Linux-firmware in case the file is just corrupted.

Offline

#6 2012-04-22 14:46:11

hidefromkgb
Member
Registered: 2009-08-03
Posts: 146

Re: udev-182 cannot find firmware (even long after boot)

Got it.
Will post the result ASAP.

Offline

#7 2012-04-22 15:40:42

hidefromkgb
Member
Registered: 2009-08-03
Posts: 146

Re: udev-182 cannot find firmware (even long after boot)

Testing complete.

Results:
3.1.6 + 175: ok
3.1.6 + 182: fail
3.3.2 + 175: ok
3.3.2 + 182: fail

So, obviously the kernel bears no responsibility for this.

PS.: reinstalling linux-firmware did not help.

Last edited by hidefromkgb (2012-04-22 15:42:05)

Offline

#8 2012-04-22 21:52:02

tomegun
Developer
From: France
Registered: 2010-05-28
Posts: 661

Re: udev-182 cannot find firmware (even long after boot)

Ok. How annoying :-)

To figure out what is going on you'll need to figure out what udev does when you try to load the module using modprobe.

The best way to do this is to start 'udevadm monitor' in one console and modprobe the module  in another. To get more low level output you could try to kill udevd and restart it as 'strace udevd' (but to learn anything from this you'd better have a theory about what is wrong so you can filter it appropriately.

Please paste the output of udevadm monitor.

Offline

#9 2012-04-23 06:40:42

hidefromkgb
Member
Registered: 2009-08-03
Posts: 146

Re: udev-182 cannot find firmware (even long after boot)

Got the logs.

udev-175, loading successful:

monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent

KERNEL[137.359168] add      /module/drm (module)
UDEV  [137.360121] add      /module/drm (module)
KERNEL[137.360329] add      /class/drm (class)
UDEV  [137.360766] add      /class/drm (class)
KERNEL[137.369536] add      /module/ttm (module)
UDEV  [137.370098] add      /module/ttm (module)
KERNEL[137.370199] add      /devices/virtual/drm/ttm (drm)
UDEV  [137.370657] add      /devices/virtual/drm/ttm (drm)
KERNEL[137.386391] add      /module/drm_kms_helper (module)
UDEV  [137.386674] add      /module/drm_kms_helper (module)
KERNEL[137.389947] add      /module/i2c_algo_bit (module)
UDEV  [137.390197] add      /module/i2c_algo_bit (module)
KERNEL[137.429511] add      /module/radeon (module)
UDEV  [137.429875] add      /module/radeon (module)
KERNEL[137.431450] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/controlD64 (drm)
UDEV  [137.432063] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/controlD64 (drm)
KERNEL[137.432289] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0 (drm)
UDEV  [137.435090] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0 (drm)
KERNEL[137.440187] add      /devices/platform/radeon_cp.0 (platform)
KERNEL[137.440515] add      /devices/platform/radeon_cp.0/firmware/radeon_cp.0 (firmware)
UDEV  [137.443355] add      /devices/platform/radeon_cp.0 (platform)
KERNEL[137.474411] remove   /devices/platform/radeon_cp.0/firmware/radeon_cp.0 (firmware)
KERNEL[137.474433] remove   /devices/platform/radeon_cp.0 (platform)
UDEV  [137.474823] remove   /devices/platform/radeon_cp.0/firmware/radeon_cp.0 (firmware)
KERNEL[137.474993] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-1 (i2c)
KERNEL[137.475045] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-2 (i2c)
KERNEL[137.475087] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-3 (i2c)
KERNEL[137.475133] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-4 (i2c)
KERNEL[137.475182] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-5 (i2c)
KERNEL[137.476059] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-6 (i2c)
KERNEL[137.476110] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-7 (i2c)
KERNEL[137.476189] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-VGA-1 (drm)
KERNEL[137.476212] change   /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0 (drm)
KERNEL[137.476245] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-LVDS-1 (drm)
KERNEL[137.476266] change   /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0 (drm)
KERNEL[137.476302] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-SVIDEO-1 (drm)
KERNEL[137.476322] change   /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0 (drm)
KERNEL[137.476362] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-HDMI-A-1 (drm)
KERNEL[137.476382] change   /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0 (drm)
UDEV  [137.478088] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-1 (i2c)
UDEV  [137.478404] add      /devices/platform/radeon_cp.0/firmware/radeon_cp.0 (firmware)
UDEV  [137.478664] remove   /devices/platform/radeon_cp.0 (platform)
UDEV  [137.479559] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-7 (i2c)
UDEV  [137.479953] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-VGA-1 (drm)
UDEV  [137.480315] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-6 (i2c)
UDEV  [137.480807] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-5 (i2c)
UDEV  [137.481700] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-3 (i2c)
UDEV  [137.482415] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-2 (i2c)
UDEV  [137.483656] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-4 (i2c)
UDEV  [137.485911] change   /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0 (drm)
UDEV  [137.485934] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-LVDS-1 (drm)
UDEV  [137.487808] change   /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0 (drm)
UDEV  [137.488516] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-SVIDEO-1 (drm)
UDEV  [137.490963] change   /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0 (drm)
UDEV  [137.491547] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-HDMI-A-1 (drm)
UDEV  [137.494345] change   /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0 (drm)
KERNEL[137.876104] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/graphics/fb0 (graphics)
KERNEL[137.876185] add      /devices/virtual/vtconsole/vtcon1 (vtconsole)
UDEV  [137.876973] add      /devices/virtual/vtconsole/vtcon1 (vtconsole)
UDEV  [137.877776] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/graphics/fb0 (graphics)
KERNEL[138.299777] add      /bus/pci/drivers/radeon (drivers)
UDEV  [138.300324] add      /bus/pci/drivers/radeon (drivers)

udev-182, loading failed:

monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent

KERNEL[56.109948] add      /module/drm (module)
UDEV  [56.111092] add      /module/drm (module)
KERNEL[56.111109] add      /class/drm (class)
UDEV  [56.111425] add      /class/drm (class)
KERNEL[56.127481] add      /module/ttm (module)
KERNEL[56.128096] add      /devices/virtual/drm/ttm (drm)
UDEV  [56.128654] add      /devices/virtual/drm/ttm (drm)
UDEV  [56.128670] add      /module/ttm (module)
KERNEL[56.141079] add      /module/drm_kms_helper (module)
UDEV  [56.141589] add      /module/drm_kms_helper (module)
KERNEL[56.144582] add      /module/i2c_algo_bit (module)
UDEV  [56.145047] add      /module/i2c_algo_bit (module)
KERNEL[56.182954] add      /module/radeon (module)
UDEV  [56.183397] add      /module/radeon (module)
KERNEL[56.184921] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/controlD64 (drm)
UDEV  [56.185548] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/controlD64 (drm)
KERNEL[56.185782] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0 (drm)
KERNEL[56.191614] add      /devices/platform/radeon_cp.0 (platform)
KERNEL[56.191645] add      /devices/platform/radeon_cp.0/firmware/radeon_cp.0 (firmware)
UDEV  [56.193681] add      /devices/platform/radeon_cp.0 (platform)
UDEV  [56.193701] add      /devices/platform/radeon_cp.0/firmware/radeon_cp.0 (firmware)
UDEV  [56.207714] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0 (drm)
KERNEL[116.533562] remove   /devices/platform/radeon_cp.0/firmware/radeon_cp.0 (firmware)
KERNEL[116.533590] remove   /devices/platform/radeon_cp.0 (platform)
UDEV  [116.534923] remove   /devices/platform/radeon_cp.0/firmware/radeon_cp.0 (firmware)
KERNEL[116.534947] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-1 (i2c)
KERNEL[116.534965] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-2 (i2c)
KERNEL[116.534982] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-3 (i2c)
KERNEL[116.535040] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-4 (i2c)
KERNEL[116.535297] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-5 (i2c)
KERNEL[116.535387] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-6 (i2c)
KERNEL[116.535481] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-7 (i2c)
KERNEL[116.535615] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-VGA-1 (drm)
KERNEL[116.535690] change   /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0 (drm)
KERNEL[116.535774] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-LVDS-1 (drm)
KERNEL[116.535846] change   /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0 (drm)
KERNEL[116.535927] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-SVIDEO-1 (drm)
KERNEL[116.535996] change   /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0 (drm)
KERNEL[116.536087] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-HDMI-A-1 (drm)
KERNEL[116.536155] change   /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0 (drm)
UDEV  [116.536212] remove   /devices/platform/radeon_cp.0 (platform)
UDEV  [116.538030] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-3 (i2c)
UDEV  [116.538419] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-4 (i2c)
UDEV  [116.539242] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-5 (i2c)
UDEV  [116.539424] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-1 (i2c)
UDEV  [116.542050] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-VGA-1 (drm)
UDEV  [116.542591] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-2 (i2c)
UDEV  [116.542923] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-7 (i2c)
UDEV  [116.543318] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-6 (i2c)
UDEV  [116.545169] change   /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0 (drm)
UDEV  [116.545739] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-LVDS-1 (drm)
UDEV  [116.548464] change   /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0 (drm)
UDEV  [116.549043] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-SVIDEO-1 (drm)
UDEV  [116.551679] change   /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0 (drm)
UDEV  [116.552250] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-HDMI-A-1 (drm)
UDEV  [116.554882] change   /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0 (drm)
KERNEL[116.939188] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/graphics/fb0 (graphics)
KERNEL[116.939233] add      /devices/virtual/vtconsole/vtcon1 (vtconsole)
UDEV  [116.939712] add      /devices/virtual/vtconsole/vtcon1 (vtconsole)
UDEV  [116.940369] add      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/graphics/fb0 (graphics)
KERNEL[117.357796] add      /bus/pci/drivers/radeon (drivers)
UDEV  [117.358492] add      /bus/pci/drivers/radeon (drivers)

Offline

#10 2012-04-24 11:57:06

hidefromkgb
Member
Registered: 2009-08-03
Posts: 146

Re: udev-182 cannot find firmware (even long after boot)

up.

Offline

#11 2012-05-06 01:22:44

tomegun
Developer
From: France
Registered: 2010-05-28
Posts: 661

Re: udev-182 cannot find firmware (even long after boot)

Sorry for losing track of this. I couldn't figure out the problem from the output above, could I ask you to up the log level in /etc/udev/udev.conf and paste  the relevant parts of your syslog?

Offline

Board footer

Powered by FluxBB