usb/130122: [hpsusb] DVD drive detects as 'da' device

M. Warner Losh imp at bsdimp.com
Sat Jan 3 19:32:24 UTC 2009


In message: <200901030028.38064.hselasky at c2i.net>
            Hans Petter Selasky <hselasky at c2i.net> writes:
: On Friday 02 January 2009, M. Warner Losh wrote:
: > In message: <200901022123.57193.hselasky at c2i.net>
: >
: >             Hans Petter Selasky <hselasky at c2i.net> writes:
: > : On Friday 02 January 2009, M. Warner Losh wrote:
: > : > >Number:         130122
: > : > >Category:       usb
: > : > >Synopsis:       [hpsusb] DVD drive detects as 'da' device
: > : > >Confidential:   no
: > : > >Severity:       serious
: > : > >Priority:       medium
: > : > >Responsible:    freebsd-usb
: > : > >State:          open
: > : > >Quarter:
: > : > >Keywords:
: > : > >Date-Required:
: > : > >Class:          sw-bug
: > : > >Submitter-Id:   current-users
: > : > >Arrival-Date:   Fri Jan 02 19:30:04 UTC 2009
: > : > >Closed-Date:
: > : > >Last-Modified:
: > : > >Originator:     M. Warner Losh
: > : > >Release:        FreeBSD 8.0-CURRENT amd64
: > : > >Organization:
: > : >
: > : > FreeBSD
: > : >
: > : > >Environment:
: > : >
: > : > System: FreeBSD lighthouse 8.0-CURRENT FreeBSD 8.0-CURRENT #0
: > : > r185338:186501M: Fri Dec 26 17:56:39 MST 2008
: > : > imp at lighthouse:/tmp/imp/obj/cache/svn/head/sys/LIGHTHOUSE amd64
: > : >
: > : > >Description:
: > : >
: > : > My externeal usb DVD drive is showing up as 'da' rather than as 'cd'
: > : > when using usb2_storage_mass.  When I load usb2_storage_ata it shows
: > : > up as a 'cd' device that's usable.  mass should behave as well as ata
: > : > in this case, or it should detect that it can't get it right and
: > : > refuse to attach things.
: > : >
: > : > >How-To-Repeat:
: > : >
: > : > I loaded all the usb2 drivers at runtime:
: > : >
: > : > kldload usb2_controller_{e,o}hci
: > : > kldload usb2_sotrage_mass
: > : >
: > : > I then plugged in the drive.  This is an external DVD drive.
: > : >
: > : > ehci0: <ATI SB400 USB 2.0 controller> mem 0xc0002000-0xc0002fff irq 19
: > : > at device 19.2 on pci0 ehci0: memory enable already set.
: > : > Activate PA 0xc0002000 at VA 0xffffff00c0002000
: > : > ehci0: [ITHREAD]
: > : > usbus0: EHCI version 1.0
: > : > usbus0: <ATI SB400 USB 2.0 controller> on ehci0
: > : > usbus0: 480Mbps High Speed USB v2.0
: > : > ugen0.1: <ATI> at usbus0
: > : > ushub0: <ATI EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0
: > : > ushub0: 8 ports with 8 removable, self powered
: > : > ohci0: <ATI SB400 USB Controller> mem 0xc0000000-0xc0000fff irq 19 at
: > : > device 19.0 on pci0 ohci0: memory enable already set.
: > : > Activate PA 0xc0000000 at VA 0xffffff00c0000000
: > : > ohci0: [ITHREAD]
: > : > usbus1: <ATI SB400 USB Controller> on ohci0
: > : > usbus1: 12Mbps Full Speed USB v1.0
: > : > ugen1.1: <ATI> at usbus1
: > : > ushub1: <ATI OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus1
: > : > ushub1: 4 ports with 4 removable, self powered
: > : > ohci1: <ATI SB400 USB Controller> mem 0xc0001000-0xc0001fff irq 19 at
: > : > device 19.1 on pci0 ohci1: memory enable already set.
: > : > Activate PA 0xc0001000 at VA 0xffffff00c0001000
: > : > ohci1: [ITHREAD]
: > : > usbus2: <ATI SB400 USB Controller> on ohci1
: > : > usbus2: 12Mbps Full Speed USB v1.0
: > : > ugen2.1: <ATI> at usbus2
: > : > ushub2: <ATI OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus2
: > : > ushub2: 4 ports with 4 removable, self powered
: > : > ugen0.2: <Myson Century, Inc.> at usbus0
: > : > umass0: <Mass Storage Class> on usbus0
: > : > umass0:  SCSI over Bulk-Only; quirks = 0x0480
: > : > umass0:2:0:-1: Attached to scbus2
: > : > da0 at umass-sim0 bus 0 target 0 lun 0
: > : > da0: <  > Removable Direct Access SCSI-2 device
: > : > da0: 40.000MB/s transfers
: > : > da0: Attempt to query device size failed: NOT READY, Medium not present
: > : >
: > : > It should be 'cd1'.
: > : >
: > : > >Fix:
: > : >
: > : > Unknown.
: > : >
: > : > >Release-Note:
: > : > >Audit-Trail:
: > : > >Unformatted:
: > :
: > : Hi,
: > :
: > : Maybe the AutoInstall CD detecter is interfering with your device.
: >
: > Hmmm...
: >
: > : Can you use "usbconfig" to dump the device and config descriptors of your
: > : CD device?
: >
: > How?
: 
: Run "usbconfig -h".

That doesn't tell me enough to know what you need to diagnose this
problem.

: usbconfig -u xxx -a yyy dump_curr_config_desc
: usbconfig -u xxx -a yyy dump_device_desc

How do I now the address?  Is it the .Y in ugenX.Y?

If so, here's what you requested:

ugen0.3: <USB Mass Storage Device Myson Century, Inc.> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON


 Configuration index 0

    bLength = 0x0009 
    bDescriptorType = 0x0002 
    wTotalLength = 0x0020 
    bNumInterfaces = 0x0001 
    bConfigurationValue = 0x0001 
    iConfiguration = 0x0004  <USB Mass Storage>
    bmAttributes = 0x00c0 
    bMaxPower = 0x0005 

    Interface 0
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0000 
      bAlternateSetting = 0x0000 
      bNumEndpoints = 0x0002 
      bInterfaceClass = 0x0008 
      bInterfaceSubClass = 0x0005 
      bInterfaceProtocol = 0x0050 
      iInterface = 0x0005  <Mass Storage Class>

     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0003 
        bmAttributes = 0x0002 
        wMaxPacketSize = 0x0200 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

     Endpoint 1
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0084 
        bmAttributes = 0x0002 
        wMaxPacketSize = 0x0200 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 



ugen0.3: <USB Mass Storage Device Myson Century, Inc.> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON

  bLength = 0x0012 
  bDescriptorType = 0x0001 
  bcdUSB = 0x0200 
  bDeviceClass = 0x0000 
  bDeviceSubClass = 0x0000 
  bDeviceProtocol = 0x0000 
  bMaxPacketSize0 = 0x0040 
  idVendor = 0x04cf 
  idProduct = 0x8818 
  bcdDevice = 0xb007 
  iManufacturer = 0x0001  <Myson Century, Inc.>
  iProduct = 0x0002  <USB Mass Storage Device>
  iSerialNumber = 0x0003  <100>
  bNumConfigurations = 0x0001 



: >
: > : You can also try:
: > :
: > : kldload usb2_quirk
: > : usbconfig add_dev_quirk_vplh <vid> <pid> <lo_rev> <hi_rev> UQ_CFG_INDEX_0
: >
: > What the heck are these different fields?  vid, pid, etc?
: 
: Vendor ID, product ID, lower inclusive revision number, higher inclusive 
: revision numer that is used when matching the quirk.

I'll give it a try...

Warner


More information about the freebsd-usb mailing list