Date: Sun, 20 Jan 2013 08:37:28 -0800 (PST) From: "Waitman Gobble" <uzimac@da3m0n8t3r.com> To: Hans Petter Selasky <hselasky@c2i.net> Cc: freebsd-usb@freebsd.org Subject: Re: SDDR-289 slo-mo reboot Message-ID: <1358699848.19332@da3m0n8t3r.com> In-Reply-To: <1358698733.18413@da3m0n8t3r.com>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --bound1358699848 Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 7bit Waitman Gobble <uzimac@da3m0n8t3r.com> wrote .. > Hans Petter Selasky <hselasky@c2i.net> wrote .. > > On Sunday 20 January 2013 09:06:51 Waitman Gobble wrote: > > > Hi, > > > > > > I have a SanDisk SDDR-289 hooked up through a pci-e interface card w/ VIA > > > VL800 chipset With it plugged it, when I reboot it takes 5-6 minutes to > > > shut down and 15 to come back up. > > > > > > Jan 18 20:58:20 kamira kernel: ugen0.4 (: <SanDisk> at usbus0 > > > Jan 18 20:58:20 kamira kernel: umass2: <Bulk-In, Bulk-Out, Interface> on > > > usbus0 Jan 18 20:58:20 kamira kernel: umass2: SCSI over Bulk-Only; quirks > > > = 0x4000 Jan 18 20:58:20 kamira kernel: umass2:7:2:-1: Attached to scbus7 > > > Jan 18 20:58:20 kamira kernel: da2 at umass-sim2 bus 2 scbus7 target 0 lun > > > 0 Jan 18 20:58:20 kamira kernel: da2: <SanDisk uSD SDDR-289 1.00> > > > Removable Direct Access SCSI-0 > > > > > > I don't see this model listed in sys/dev/usb/usbdevs, or > > > sys/dev/usb/quirk/usb_quirk.c ..not sure if the 'quirks = 0x4000' refers > > > to something. (?) I have a hunch the problem is related to missing quirks, > > > but I'm not sure. > > > > > > # uname -a > > > FreeBSD kamira.waitman.net 9.1-RELEASE FreeBSD 9.1-RELEASE #3 r245537M: Sat > > > Jan 19 13:41:28 PST 2013 > > > root@kamira.waitman.net:/usr/obj/usr/src/sys/BURPLEX amd64 > > > > There is currently some automagic detection of quirks. You can try to add your > > device to the quirklist in sys/dev/usb/quirk/usb_quirk.c > > > > --HPS > > Hi, > > Thanks. I did try just to see what happens, but it seems i need to have the device > listed in usbdev and I wasn't sure how to list it. > > for example, an older product with the same brand name, but conceivably a different > architecture: > > in usb_quirk.c > > USB_QUIRK(ONSPEC2, IMAGEMATE_SDDR55, 0x0000, 0xffff, > UQ_MSC_FORCE_PROTO_SCSI, UQ_MSC_NO_GETMAXLUN), > > and usbdevs > product ONSPEC2 IMAGEMATE_SDDR55 0xa103 ImageMate SDDR55 > > i'm not sure where i get this number:0xa103 > and if that's all that is needed? > > > # usbconfig -u 0 -a 4 dump_curr_config_desc > ugen0.4: <USB3.0 Card Reader SanDisk> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) > pwr=ON > > > Configuration index 0 > > bLength = 0x0009 > bDescriptorType = 0x0002 > wTotalLength = 0x002c > bNumInterfaces = 0x0001 > bConfigurationValue = 0x0001 > iConfiguration = 0x0004 <SDDR-289> > bmAttributes = 0x0080 > bMaxPower = 0x0064 > > Interface 0 > bLength = 0x0009 > bDescriptorType = 0x0004 > bInterfaceNumber = 0x0000 > bAlternateSetting = 0x0000 > bNumEndpoints = 0x0002 > bInterfaceClass = 0x0008 > bInterfaceSubClass = 0x0006 > bInterfaceProtocol = 0x0050 > iInterface = 0x0005 <Bulk-In, Bulk-Out, Interface> > > Endpoint 0 > bLength = 0x0007 > bDescriptorType = 0x0005 > bEndpointAddress = 0x0001 <OUT> > bmAttributes = 0x0002 <BULK> > wMaxPacketSize = 0x0400 > bInterval = 0x0000 > bRefresh = 0x0000 > bSynchAddress = 0x0000 > > Additional Descriptor > > bLength = 0x06 > bDescriptorType = 0x30 > bDescriptorSubType = 0x03 > RAW dump: > 0x00 | 0x06, 0x30, 0x03, 0x00, 0x00, 0x00 > > > Endpoint 1 > bLength = 0x0007 > bDescriptorType = 0x0005 > bEndpointAddress = 0x0082 <IN> > bmAttributes = 0x0002 <BULK> > wMaxPacketSize = 0x0400 > bInterval = 0x0000 > bRefresh = 0x0000 > bSynchAddress = 0x0000 > > Additional Descriptor > > bLength = 0x06 > bDescriptorType = 0x30 > bDescriptorSubType = 0x03 > RAW dump: > 0x00 | 0x06, 0x30, 0x03, 0x00, 0x00, 0x00 > > > > # usbconfig -u 0 -a 4 dump_device_desc > ugen0.4: <USB3.0 Card Reader SanDisk> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) > pwr=ON > > bLength = 0x0012 > bDescriptorType = 0x0001 > bcdUSB = 0x0300 > bDeviceClass = 0x0000 > bDeviceSubClass = 0x0000 > bDeviceProtocol = 0x0000 > bMaxPacketSize0 = 0x0009 > idVendor = 0x0781 > idProduct = 0xb6ba > bcdDevice = 0x0124 > iManufacturer = 0x0001 <SanDisk> > iProduct = 0x0002 <USB3.0 Card Reader> > iSerialNumber = 0x0003 <11150005027> > bNumConfigurations = 0x0001 > > > Thank you, > > > -- > Waitman Gobble > San Jose California USA OOPs, I think I answered my own question.. I put this in usbdevs, based on the output of usbconfig above. product SANDISK IMAGEMATE_SDDR289 0xb6ba ImageMate SDDR-289 then in usb_quirk.c USB_QUIRK(SANDISK, IMAGEMATE_SDDR289, 0x0000, 0xffff, UQ_MSC_FORCE_PROTO_SCSI, UQ_MSC_NO_INQUIRY | UQ_MSC_NO_GETMAXLUN), Not sure if it's correct but I think maybe a starting point to experiment. Thanks, -- Waitman Gobble San Jose California USA --bound1358699848--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1358699848.19332>