Re: USB2 Link USB-SCSI converter and LUNs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tuesday, October 19, 2021 at 2:01 PM "Greg KH" <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
> On Tue, Oct 19, 2021 at 02:53:29PM +0200, mark_k@xxxxxxxxx wrote:
> > On Tuesday, October 19, 2021 at 12:18 PM "Greg KH" <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
> > > On Tue, Oct 19, 2021 at 12:15:09PM +0200, mark_k@xxxxxxxxx wrote:
> > > > I have a Core Micro Systems USB2 Link USB-SCSI converter (07B4:0380).
> > > >
> > > > Adding an entry to unusual_devs.h should get it to work, just needing
> > > > USB_PR_BULK. That should at least allow the connected device with SCSI ID 0
> > > > to be accessed.
> > >
> > > Why do you need any quirk at all for this?
> >
> > My mistake, sorry. Its interface descriptor has
> >   bInterfaceClass 0xFF
> >   bInterfaceSubClass 0x06
> >   bInterfaceProtocol 0x50
> > so an entry with USB_SC_DEVICE, USB_PR_DEVICE would work.
>
> Again, why is a quirk needed at all?

bInterfaceClass = 0xFF (not 0x08 which is the mass storage class number)
so usb-storage does not bind to it automatically.


> > > That should all be up to the scsi layer in the kernel.  If this device
> > > is not following the standard, how is it supposed to work at all?
> > >
> > > Does it require custom drivers for other operating systems?
> >
> > My guess is that (with quirk entry) it will work when there is a SCSI
> > device with ID 0. If all other devices in the chain have contiguous IDs
> > they could be accessible too.
> >
> > I can tell Windows to use its built-in mass storage driver and that works
> > to access the device with ID 0 only. I haven't yet checked with more than
> > one SCSI device in the chain.
>
> Does this work properly with Linux in this way with no quirk as well?
>
> And how do you know that the device will work with additional scsi
> devices?

I rebuilt the usb-storage module after adding an entry for the USB2 Link to
unusual_devs.h.

With one SCSI device set to ID 0, the kernel detected the drive and I could
access it:

[ 2219.761126] usb-storage 2-1:1.0: USB Mass Storage device detected
[ 2219.762033] scsi host5: usb-storage 2-1:1.0
[ 2219.762163] usbcore: registered new interface driver usb-storage
[ 2220.769695] scsi 5:0:0:0: Optical Device    HP       C1113M           1.19 PQ: 0 ANSI: 2
[ 2221.156254] usb 2-1: reset high-speed USB device number 5 using ehci-pci
[ 2221.712223] usb 2-1: reset high-speed USB device number 5 using ehci-pci
[ 2222.268262] usb 2-1: reset high-speed USB device number 5 using ehci-pci
[ 2222.824239] usb 2-1: reset high-speed USB device number 5 using ehci-pci
[ 2222.981475] sd 5:0:0:0: Attached scsi generic sg2 type 7
[ 2222.987240] sd 5:0:0:0: [sdb] Attached SCSI removable disk


Note the extra "reset high-speed..." lines, probably due to the kernel
trying to access LUNs 1 to 5 (which the USB2 Link maps to accesses to non-
existent SCSI targets 1-5). Is that harmless?
[As mentioned before, the USB2 Link reports its Max LUN as 6.]


> > It could/should be possible to properly support multiple targets and LUNs
> > by using a similar method to the SCM USB-SCSI converters. (Those, after a
> > special intitialisation request, take the target ID from the *upper* 4 bits
> > of CBW byte 13.)
>
> Are you sure this device actually supports this?  If so, what operating
> system does it work on?

It does definitely support that. I installed the manufacturer driver on
(32-bit) Windows and looked at USBpcap captures. I also disassembled the
driver.

Do you think it would be worthwhile submitting a patch adding the USB2
Link to unusual-devs.h? If those reset... lines aren't acceptable I could
add US_FL_SINGLE_LUN, but that would only allow it to work with a single
SCSI device (set to ID 0).

Or should I try and get proper/full support (multiple targets and LUNs)
working first?





[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux