usb/130122: [hpsusb] DVD drive detects as 'da' device
M. Warner Losh
imp at bsdimp.com
Sat Jan 3 11:40:03 PST 2009
The following reply was made to PR usb/130122; it has been noted by GNATS.
From: "M. Warner Losh" <imp at bsdimp.com>
To: hselasky at c2i.net
Cc: freebsd-usb at freebsd.org, FreeBSD-gnats-submit at 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 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