I have a notebook on Opensuse 12.1 with a SD card reader. I have a MicroSD adapter (without a microSD inside) in the card reader slot at boot. Sometime, the kernel load normally, don’t detect the /dev/sdb (the card reader) and go though. But sometime, it raise some error and stop booting. So I have to eject the empty adapter and reboot.
I would like to force the kernel or udev to not try to detect the card reader at boot. Is it possible with some kind of udev rules ? Or other trick/hack ?
The offending module is usb_storage. It’s a generic one … I blacklist it. But I suppose that if I plug in a usb key, I have to manually modprobe usb_storage ?
Is there a way to be more device specific ? Here is what I have when I plug a real SD card while the usb_storage is blacklisted :
5919.380097] usb 1-3: new high speed USB device number 3 using ehci_hcd
5919.507059] usb 1-3: New USB device found, idVendor=0bda, idProduct=0159
5919.507077] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
5919.507090] usb 1-3: Product: USB2.0-CRW
5919.507100] usb 1-3: Manufacturer: Generic
5919.507109] usb 1-3: SerialNumber: 20071114173400000
On 12/23/2011 04:46 AM, mhtrinh wrote:
> The offending module is usb_storage. It’s a generic one … I blacklist
> it. But I suppose that if I plug in a usb key, I have to manually
> modprobe usb_storage ?
> Is there a way to be more device specific ? Here is what I have when I
> plug a real SD card while the usb_storage is blacklisted :
If you want to be device specific, you would need to get the kernel sources,
modify that driver to eliminate that device from its tables, and rebuild the
kernel. Those steps would need to be redone every time the kernel is updated.
As the above would be a pain, there might be a workaround. If your problem
device only causes trouble in booting, then leave it blacklisted, but put the
modprobe in /etc/init.d/boot.local. That will delay the loading until the system
is safely booted. If you have trouble there, at least you will get some
diagnostics in the logs and you will be able to file a bug report.