Comment 9 for bug 529524

Revision history for this message
Stefan Richter (stefan-r-ubz) wrote :

Hi Huygens,

Dan Dennedy wrote at bug #6290 comment #78:
> I learned that you must update the initrd images after changing the blacklist file:
> sudo update-initramfs -k all -u

I.e. because ohci1394 is present in the original initrd (initial RAM disk with a minimal preliminary root filesystem), it got bound to the OHCI-1394 controller during boot-up instead of firewire-ohci. (The wiki page at kernel.org does currently lack this extra information. I'll add it soon.)

Later on, when ieee1394 discovered that an SBP-2 compliant device is present behind the OHCI-1394 controller, it sends an "uevent" to userspace with the SBP-2 module alias. Both the new firewire-core-based firewire-sbp2 driver and the old ieee1394-based sbp2 driver match this alias. Modprobe will load the first one of these modules (minus any that was blacklisted), in your case firewire-sbp2. firewire-core gets loaded as a prerequisite for firewire-sbp2. However, since firewire-core sees no controller (only ieee1394 sees one), firewire-sbp2 gets nothing to do either. You could use the SBP-2 device only if you manually load sbp2.

/Or/ you manually unload ohci1394, then manually load firewire-ohci. After that, the new stack will work, including firewire-sbp2 being automatically loaded and bound to the SBP-2 device.

/Or/ you can attempt to replace the initrd as described by Dan. That change will become effective at the next reboot.