USB optical drive fails to attach by CAM status 0x50

Tomoaki AOKI junchoon at dec.sakura.ne.jp
Sun Sep 24 09:14:58 UTC 2017


Hi.

USB Blu-ray drive I-O DATA BRP-UT6SK fails to attach with verbose dmesg
below. Maybe some quirks should be added or removed, but no idea.

No change with / without genuine optional AC adapter, and I saw the
drive itself was successfully playing DVD video on Windoze10
environment, so not physically broken at least for read access.

Both head and stable/11 got the same error. IIRC, quirks 0x0100 was set
on head instead of 0xc101 on stable/11.

Any ideas?

This drive is known to have Matsushita or Pioneer drive inside.
I couldn't find results of Pioneer drives (I don't have one).

 *No USB3 port on the host, so attached as USB2 device.


[Related verbose dmesg, stable/11, obtained at r323431, amd64]

ugen1.4: <I-O DATA DEVICE, INC. Optical Storage Device> at usbus1
umass0 on uhub2
umass0: <I-O DATA DEVICE, INC. Optical Storage Device, class 0/0,
rev 2.10/3.20, addr 4> on usbus1
umass0:  SCSI over Bulk-Only; quirks = 0xc101
umass0:5:0: Attached to scbus5
random: harvesting attach, 8 bytes (4 bits) from umass0
(probe0:umass-sim0:0:0:0): Down reving Protocol Version from 2 to 0?
GEOM: new disk cd0
pass3 at umass-sim0 bus 0 scbus5 target 0 lun 0
pass3: <MATSHITA BD-MLT UJ272 1.00> Removable CD-ROM SCSI device
pass3: 40.000MB/s transfers
(cd0:umass-sim0:0:0:0): got CAM status 0x50
(cd0:umass-sim0:0:0:0): fatal error, failed to attach to device
Opened disk cd0 -> 6
g_access(918): provider cd0 has error 6 set
g_access(918): provider cd0 has error 6 set
g_access(918): provider cd0 has error 6 set
g_access(918): provider cd0 has error 6 set


[usbconfig outputs]

#usbconfig -d ugen1.4 dump_info
ugen1.4: <I-O DATA DEVICE, INC. Optical Storage Device> at usbus1,
cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)

# usbconfig -d ugen1.4 dump_device_desc
ugen1.4: <I-O DATA DEVICE, INC. Optical Storage Device> at usbus1,
cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)

  bLength = 0x0012
  bDescriptorType = 0x0001
  bcdUSB = 0x0210
  bDeviceClass = 0x0000  <Probed by interface class>
  bDeviceSubClass = 0x0000
  bDeviceProtocol = 0x0000
  bMaxPacketSize0 = 0x0040
  idVendor = 0x04bb
  idProduct = 0x022f
  bcdDevice = 0x0320
  iManufacturer = 0x0001  <I-O DATA DEVICE, INC.>
  iProduct = 0x0002  <Optical Storage Device>
  iSerialNumber = 0x0003  <001609230892>
  bNumConfigurations = 0x0001


#usbconfig -d ugen1.4 dump_curr_config_desc
ugen1.4: <I-O DATA DEVICE, INC. Optical Storage Device> at usbus1,
cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)


 Configuration index 0

    bLength = 0x0009
    bDescriptorType = 0x0002
    wTotalLength = 0x0020
    bNumInterfaces = 0x0001
    bConfigurationValue = 0x0001
    iConfiguration = 0x0000  <no string>
    bmAttributes = 0x0080
    bMaxPower = 0x00fa

    Interface 0
      bLength = 0x0009
      bDescriptorType = 0x0004
      bInterfaceNumber = 0x0000
      bAlternateSetting = 0x0000
      bNumEndpoints = 0x0002
      bInterfaceClass = 0x0008  <Mass storage>
      bInterfaceSubClass = 0x0006
        bEndpointAddress = 0x0081  <IN>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0200
        bInterval = 0x0000
        bRefresh = 0x0000
        bSynchAddress = 0x0000

     Endpoint 1
        bLength = 0x0007
        bDescriptorType = 0x0005
        bEndpointAddress = 0x0002  <OUT>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0200
        bInterval = 0x0000
        bRefresh = 0x0000
        bSynchAddress = 0x0000


Quirks 0xc101 should be broken down as below:

  #define NO_TEST_UNIT_READY      0x0001
  #define NO_GETMAXLUN            0x0100
  #define NO_SYNCHRONIZE_CACHE    0x4000
  #define NO_PREVENT_ALLOW        0x8000


Regards.

-- 
Tomoaki AOKI    <junchoon at dec.sakura.ne.jp>


More information about the freebsd-current mailing list