[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#648631: debian-installer: check-missing-firmware fails to reload driver



Brian Potkin wrote:
>   Nov 13 12:51:53 kernel: [  543.914487] usb 1-2: (p54usb) cannot load firmware isl3887usb (-2)!
>   Nov 13 12:51:53 kernel: [  543.923108] p54usb: probe of 1-2:1.0 failed with error -2
>   Nov 13 12:51:53 kernel: [  543.923151] usbcore: registered new interface driver p54usb
>   Nov 13 12:51:54 check-missing-firmware: missing firmware files (isl3887usb isl3887usb_bare) for usbcore usbcore
>   Nov 13 12:51:55 check-missing-firmware: copying loose file isl3887usb from '/media' to '/lib/firmware'
>   Nov 13 12:52:03 main-menu[265]: (process:4114): + modprobe -r usbcore
>   Nov 13 12:52:03 main-menu[265]: (process:4114): FATAL: Module usbcore is in use.

It seems that the wrong guess has been made about which module
requested the isl3887usb firmware file.

To debug this, you could instrument /lib/udev/firmware.agent
In particular, see what DEVPATH is set to with a change like this:

--- /lib/udev/firmware.agent	2011-07-22 21:04:16.000000000 -0400
+++ firmware.agent	2011-11-14 12:02:35.958176664 -0400
@@ -24,6 +24,8 @@
 # the firmware was not found
 echo -1 > /sys/$DEVPATH/loading
 
+echo "$DEVPATH $FIRMWARE" >>/tmp/firmware.log
+
 RUNDIR=$(udevadm info --run)
 
 if [ -d "$RUNDIR" ]; then

(Or you can look at lspci and find the DEVPATH by hand, it'll be
in /sys/devices/pci0000:00/ under the device's PCI ID; something like
/sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/)

Then take a look at the $DEVPATH/driver/module symlink. Which module
directory does it point to?

Or, if there's no such symlink, is there a $DEVPATH/modalias file? If so,
what does this output: modprobe --show-depends "$(cat $DEVPATH/modalias)"

-- 
see shy jo

Attachment: signature.asc
Description: Digital signature


Reply to: