On Wed, 26 May 2004, Gregory Gulik wrote:

> I've been trying to resolve a problem with a 6-in-1 card reader using
> USB 2.0 that used to work with Fedora Core 1 (2.4 kernel) no longer
> works with the 2.6.X kernel in Fedora Core 2.
> 
> I eventually found that I needed to add "options scsi_mod max_luns=16"
> to modprobe.conf and that seemed to work.  I currently have only CF and
> SD cards so those are the only ones I can test.  The CF cards appear on
> the first LUN so they always work but when it comes to the SD card I
> found it two devices down.  For example, I have a USB 2.0 hard drive on
> /dev/sda, then the CF card appears on /dev/sdb and the SD card appears
> on /dev/sdd.  However when I try to do ANYTHING to /dev/sdd (fdisk -l,
> mount, etc.) the command hangs and cannot be killed.  The only way to
> fix it is a reboot.
> 
> Here is how the card reader appears in dmesg:
> 
> scsi1 : SCSI emulation for USB Mass Storage devices
>    Vendor:           Model: USB Card Reader   Rev: 1.01
>    Type:   Direct-Access                      ANSI SCSI revision: 02
> Attached scsi removable disk sdb at scsi1, channel 0, id 0, lun 0
>    Vendor:           Model: USB Card Reader   Rev: 1.01
>    Type:   Direct-Access                      ANSI SCSI revision: 02
> Attached scsi removable disk sdc at scsi1, channel 0, id 0, lun 1
>    Vendor:           Model: USB Card Reader   Rev: 1.01
>    Type:   Direct-Access                      ANSI SCSI revision: 02
> Attached scsi removable disk sdd at scsi1, channel 0, id 0, lun 2
>    Vendor:           Model: USB Card Reader   Rev: 1.01
>    Type:   Direct-Access                      ANSI SCSI revision: 02
> 
> 
> When I plug in an SD card and try to access it this appears in dmesg:
> SCSI device sdb: 258816 512-byte hdwr sectors (133 MB)
> sdb: assuming Write Enabled
> sdb: assuming drive cache: write through
> SCSI device sdb: 258816 512-byte hdwr sectors (133 MB)
> sdb: assuming Write Enabled
> sdb: assuming drive cache: write through
>   sdb: sdb1
> SCSI device sdd: 494080 512-byte hdwr sectors (253 MB)
> sdd: assuming Write Enabled
> sdd: assuming drive cache: write through
> SCSI device sdd: 494080 512-byte hdwr sectors (253 MB)
> sdd: assuming Write Enabled
> sdd: assuming drive cache: write through
>   sdd:
> 
> Any attempt to access /dev/sdd causes the command to hang until a
> reboot.  Please advise.

Andries Brouwer can give you more information about this.  Basically, I
think the problem is that the usb-storage driver isn't set up to allow
more than one type of subdriver per device, and SD and CF cards use
different subdrivers.  Right now the CF subdriver is loaded because it
appears in the first device entry in drivers/usb/storage/unusual_devs.h.  
If you were to put the SD subdriver's entry first and rebuild usb-storage
then you would be able to use SD cards but not CF.

As it is, when you put an SD card in the reader, usb-storage tries to talk
to it using the CF subdriver.  No wonder things hang!  Nobody has
implemented a general solution for this yet.

Alan Stern



-------------------------------------------------------
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. 
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149&alloc_id=8166&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to