Bug 130192

Summary: Support for more than one LUN on X'S-DrivePro USB devices
Product: [Fedora] Fedora Reporter: Cedric Maion <cmaion>
Component: kernelAssignee: Dave Jones <davej>
Status: CLOSED NEXTRELEASE QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: 2CC: pfrields, wtogami
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-04-16 05:17:46 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Cedric Maion 2004-08-17 20:41:50 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.2)
Gecko/20040803 Epiphany/1.2.7

Description of problem:
Got a new VOSONIC X'S-DrivePro. This USB device is an external
harddrive + 3 slot card reader (CF, SD, MS....)

The first LUN is the internal hard drive (works).
However, the latest FC2 kernel (2.6.7-1.494.2.2) doesn't recognize the
card readers (LUN > 0).

I tried to add "options scsi_mod max_luns=8" in /etc/modules.conf.
No success, I'm not sure why (I tried to rmmod scsi_mod before pluging
in the device, but scsi_mod won't use that parameter).

So, I decided to recompile 2.6.7-1.494.2.2 with
CONFIG_SCSI_MULTI_LUN=y => success! (all 4 LUNs are seen)


Better alternative: I declared this device in the SCSI white list to
avoid CONFIG_SCSI_MULTI_LUN=y. This is the patch:

--- scsi_devinfo.c.orig 2004-08-17 22:03:09.000000000 +0200
+++ scsi_devinfo.c      2004-08-17 22:07:28.000000000 +0200
@@ -191,6 +191,7 @@
        {"TOSHIBA", "CDROM", NULL, BLIST_ISROM},
        {"TOSHIBA", "CD-ROM", NULL, BLIST_ISROM},
        {"USB2.0", "SMARTMEDIA/XD", NULL, BLIST_FORCELUN},
+       {"USB", "USB", NULL, BLIST_FORCELUN},           /* Vosonic
X'S-DrivePro */
        {"XYRATEX", "RS", "*", BLIST_SPARSELUN | BLIST_LARGELUN},
        {"Zzyzx", "RocketStor 500S", NULL, BLIST_SPARSELUN},
        {"Zzyzx", "RocketStor 2000", NULL, BLIST_SPARSELUN},

(yup, "USB"/"USB" isn't pretty...)



Please add this device to the scsi white list! (or suggest another way
to solve this issue!)


Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1. plug this usb device in, let hotplug do it's magic
2. check the scsi devices

    

Actual Results:  # cat /proc/scsi/scsi
Attached devices:
Host: scsi1 Channel: 00 Id: 00 Lun: 00
  Vendor: USB      Model: USB              Rev: 1.30
  Type:   Direct-Access                    ANSI SCSI revision: 02
#

Expected Results:  # cat /proc/scsi/scsi
Attached devices:
Host: scsi1 Channel: 00 Id: 00 Lun: 00
  Vendor: USB      Model: USB              Rev: 1.30
  Type:   Direct-Access                    ANSI SCSI revision: 02
Host: scsi1 Channel: 00 Id: 00 Lun: 01
  Vendor: USB      Model: USB              Rev: 1.30
  Type:   Direct-Access                    ANSI SCSI revision: 02
Host: scsi1 Channel: 00 Id: 00 Lun: 02
  Vendor: USB      Model: USB              Rev: 1.30
  Type:   Direct-Access                    ANSI SCSI revision: 02
Host: scsi1 Channel: 00 Id: 00 Lun: 03
  Vendor: USB      Model: USB              Rev: 1.30
  Type:   Direct-Access                    ANSI SCSI revision: 02
#


Additional info:

Some data on this device:

# lsusb -v
[...]
Bus 001 Device 005: ID 0d7d:1270 Phison electronics Corp
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x0d7d Phison electronics Corp
  idProduct          0x1270
  bcdDevice            1.00
  iManufacturer           1
  iProduct                2 USB
  iSerial                 3 0A480E000034
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           39
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
    MaxPower              350mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk (Zip)
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               none
          Usage Type               Data
        wMaxPacketSize     0x0200  bytes 512 once
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               none
          Usage Type               Data
        wMaxPacketSize     0x0200  bytes 512 once
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               none
          Usage Type               Data
        wMaxPacketSize     0x0008  bytes 8 once
        bInterval               4
  Language IDs: (length=4)
     0409 English(US)
[...]

# cat /proc/scsi/scsi
Attached devices:
Host: scsi1 Channel: 00 Id: 00 Lun: 00
  Vendor: USB      Model: USB              Rev: 1.30
  Type:   Direct-Access                    ANSI SCSI revision: 02
Host: scsi1 Channel: 00 Id: 00 Lun: 01
  Vendor: USB      Model: USB              Rev: 1.30
  Type:   Direct-Access                    ANSI SCSI revision: 02
Host: scsi1 Channel: 00 Id: 00 Lun: 02
  Vendor: USB      Model: USB              Rev: 1.30
  Type:   Direct-Access                    ANSI SCSI revision: 02
Host: scsi1 Channel: 00 Id: 00 Lun: 03
  Vendor: USB      Model: USB              Rev: 1.30
  Type:   Direct-Access                    ANSI SCSI revision: 02
#

# cat /proc/scsi/usb-storage/1
   Host scsi1: usb-storage
       Vendor:
      Product: USB
Serial Number: 0A480E000034
     Protocol: Transparent SCSI
    Transport: Bulk
       Quirks:
#

Comment 1 Dave Jones 2005-04-16 05:17:46 UTC
Fedora Core 2 has now reached end of life, and no further updates will be
provided by Red Hat.  The Fedora legacy project will be producing further kernel
updates for security problems only.

If this bug has not been fixed in the latest Fedora Core 2 update kernel, please
try to reproduce it under Fedora Core 3, and reopen if necessary, changing the
product version accordingly.

Thank you.