Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 3 Jan 2009 19:40:02 GMT
From:      "M. Warner Losh" <imp@bsdimp.com>
To:        freebsd-usb@FreeBSD.org
Subject:   Re: usb/130122: [hpsusb] DVD drive detects as 'da' device
Message-ID:  <200901031940.n03Je2EN045248@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR usb/130122; it has been noted by GNATS.

From: "M. Warner Losh" <imp@bsdimp.com>
To: hselasky@c2i.net
Cc: freebsd-usb@freebsd.org, FreeBSD-gnats-submit@freebsd.org
Subject: Re: usb/130122: [hpsusb] DVD drive detects as 'da' device
Date: Sat, 03 Jan 2009 12:29:38 -0700 (MST)

 In message: <200901030028.38064.hselasky@c2i.net>
             Hans Petter Selasky <hselasky@c2i.net> writes:
 : On Friday 02 January 2009, M. Warner Losh wrote:
 : > In message: <200901022123.57193.hselasky@c2i.net>
 : >
 : >             Hans Petter Selasky <hselasky@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@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200901031940.n03Je2EN045248>