usb/130122: [hpsusb] DVD drive detects as 'da' device
Hans Petter Selasky
hselasky at c2i.net
Sat Jan 3 14:06:35 PST 2009
On Saturday 03 January 2009, M. Warner Losh wrote:
> 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?
Yes.
>
> If so, here's what you requested:
>
Hi,
I see that your CD-rom device is quirked to the wrong subclass (SCSI) in
usb2/storage/umass2.c:
#define UISUBCLASS_SFF8070I 5
#define UISUBCLASS_SCSI 6
bInterfaceSubClass = 0x0005
#define UIPROTO_MASS_BBB_OLD 2 /* Not in the spec anymore */
#define UIPROTO_MASS_BBB 80 /* 'P' for the Iomega Zip drive */
bInterfaceProtocol = 0x0050
Solution:
Try removing or limiting the following quirk:
{USB_VENDOR_MYSON, USB_PRODUCT_MYSON_HEDEN, RID_WILDCARD,
UMASS_PROTO_SCSI | UMASS_PROTO_BBB,
NO_INQUIRY | IGNORE_RESIDUE
},
--HPS
More information about the freebsd-usb
mailing list