Bug#648631: debian-installer: check-missing-firmware fails to reload driver
On Mon 14 Nov 2011 at 12:37:22 -0400, Joey Hess wrote:
> 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/)
The contents of /tmp/firmware.log are:
/devices/pci0000:00/0000:00:10.3/usb1/1-3/firmware/1-3 isl3887usb
/devices/pci0000:00/0000:00:10.3/usb1/1-3/firmware/1-3 isl3887usb_bare
> 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)"
Neither is possible because the firmware directory does not exist. But
devpath in check-missing-firmware is
/sys/devices/pci0000:00/0000:00:10.3/usb1/1-3/
and $devpath/driver/module points to usbcore.
I have a USB device using the zd1211rw module. It behaves differently in
that a wlan0 interface is detected and can be configured. However,
$DEVPATH is the same as with the p54usb and modprobe still attempts to
remove usbcore.
Reply to: