Hans Petter Selasky wrote:
> On Saturday 10 March 2012 15:16:05 Julian H. Stacey wrote:
> > Hi USB folks,
> > For external disk enclosure, trade name "ICY BOX"
> > /var/log messages shows USB configuring for 1.000MB/s
> > 
> > The cardboard box I bought it in from shop says
> >     1 x 2.5" SATA, 1 x USB 3.0 IB-231StU3
> >     http://www.icybox.de    ->
> >     http://www.raidsonic.de/en/products/details.php?we_objectID=7564
> >     Clicking Spec says: USB 3.0 up to 5 Gbit/s
> > 
> > The HP notebook
> >     http://berklix.com/~jhs/hardware/hp/pavilion/dm3-1155ea
> > has 4 USB 2.0 ports.
> > 
> > If I connect a USB stick on the same port, the notebook offers 40M.
> > 
> > The disk on all 4 ports only offers 1M.
> > I tried external power to disk too, no help
> >     (well I'd hoped maybe low V might have sabotaged negotiation - long shot
> > ;-)
> > 
> > I suspect/ hope I just need to do a quirk table entry ? Hints please ?
> > 
> > 8.2-RELEASE amd64,
> > I'd prefer to stay on 8.2 but I have a smallish space for a temporary
> > current or 9 if I have to.
> 
> Hi,
> 
> Are there any errors in dmesg?

Not that I can see,
        (I've got a cold so I might have missed something but dont think so)
After a fresh reboot & plugging in disk I see:
        ugen0.2: <01234567890123456789012345678901234567890123> at usbus0
        umass0: <01234567890123456789012345678901234567890123 
012345678901234567890123456789012345678901234567, class 0/0, rev 2.10/1.00, 
addr 2> on usbus0
        umass0:  SCSI over Bulk-Only; quirks = 0x0000
        umass0:0:0:-1: Attached to scbus0
        da0 at umass-sim0 bus 0 scbus0 target 0 lun 0
        da0: <WDC WD25 00BEKT-60A25T1 02.0> Fixed Direct Access SCSI-5 device 
        da0: 1.000MB/s transfers
        da0: 238475MB (488397168 512 byte sectors: 255H 63S/T 30401C)
        GEOM: da0: partition 4 does not start on a track boundary.
        GEOM: da0: partition 4 does not end on a track boundary.
        GEOM: da0: partition 3 does not start on a track boundary.
        GEOM: da0: partition 3 does not end on a track boundary.
        GEOM: da0: partition 2 does not start on a track boundary.
        GEOM: da0: partition 2 does not end on a track boundary.
        GEOM: da0: partition 1 does not start on a track boundary.
        GEOM: da0: partition 1 does not end on a track boundary.


> 1.0 MByte/s is because it enumerates at FULL speed instead of HIGH speed.


Umm. Yes the puzzle is why it doesnt do USB-2 = High.


> Check with usbconfig

        ugen0.1: <OHCI root HUB ATI> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) 
pwr=SAVE
        ugen1.1: <OHCI root HUB ATI> at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) 
pwr=SAVE
        ugen2.1: <EHCI root HUB ATI> at usbus2, cfg=0 md=HOST spd=HIGH 
(480Mbps) pwr=SAVE
        ugen3.1: <OHCI root HUB ATI> at usbus3, cfg=0 md=HOST spd=FULL (12Mbps) 
pwr=SAVE
        ugen4.1: <EHCI root HUB ATI> at usbus4, cfg=0 md=HOST spd=HIGH 
(480Mbps) pwr=SAVE
        ugen0.2: <012345678901234567890123456789012345678901234567 
012345678901234567890123456789012345, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
        ugen2.2: <CNF9012 Chicony Electronics Co., Ltd.> at usbus2, cfg=0 
md=HOST spd=HIGH (480Mbps) pwr=ON

usbconfig -d ugen0.2 dump_device_desc
        ugen0.2: <012345678901234567890123456789012345678901234567 
012345678901234567890123456789012345, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
  bLength = 0x0012 
  bDescriptorType = 0x0001 
  bcdUSB = 0x0210 
  bDeviceClass = 0x0000 
  bDeviceSubClass = 0x0000 
  bDeviceProtocol = 0x0000 
  bMaxPacketSize0 = 0x0040 
  idVendor = 0x174c 
  idProduct = 0x55aa 
  bcdDevice = 0x0100 
  iManufacturer = 0x0002  <01234567890123456789012345678901234567890123>
  iProduct = 0x0003  <012345678901234567890123456789012345678901234567>
  iSerialNumber = 0x0001  <0123456789ABCDEF0188>
  bNumConfigurations = 0x0001 

usbconfig -d ugen0.2 dump_curr_config_desc
ugen0.2: <012345678901234567890123456789012345678901234567 
012345678901234567890123456789012345, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON


 Configuration index 0

    bLength = 0x0009 
    bDescriptorType = 0x0002 
    wTotalLength = 0x0020 
    bNumInterfaces = 0x0001 
    bConfigurationValue = 0x0001 
    iConfiguration = 0x0000  <no string>
    bmAttributes = 0x00c0 
    bMaxPower = 0x0000 

    Interface 0
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0000 
      bAlternateSetting = 0x0000 
      bNumEndpoints = 0x0002 
      bInterfaceClass = 0x0008 
      bInterfaceSubClass = 0x0006 
      bInterfaceProtocol = 0x0050 
      iInterface = 0x0000  <no string>

     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0081  <IN>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0040 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

     Endpoint 1
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0002  <OUT>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0040 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 


usbconfig -d ugen0.2 dump_info
ugen0.2: <012345678901234567890123456789012345678901234567 
012345678901234567890123456789012345, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON


usbconfig -d ugen0.2 show_ifdrv
ugen0.2: <012345678901234567890123456789012345678901234567 
012345678901234567890123456789012345, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
ugen0.2.0: umass0: <01234567890123456789012345678901234567890123 
012345678901234567890123456789012345678901234567, class 0/0, rev 2.10/1.0

usbconfig -d ugen0.2 list
ugen0.2: <012345678901234567890123456789012345678901234567 
012345678901234567890123456789012345, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON

usbconfig dump_quirk_names | more
        shows nothing I might think of as "Force this to USB-2 high speed.

I did a find & grep for Bulk-Only in /usr/src & found
        /sys/dev/usb/storage/ustorage_fs.c      # no keyword quirk

        /sys/dev/usb/storage/umass.c
contains USB_SPEED_HIGH
...
& before
        switch (usbd_get_speed(sc->sc_udev)

dev/usb/usb_device.c
        enum usb_dev_speed
        usbd_get_speed(struct usb_device *udev)
        {
                return (udev->speed);
        }

But then I'm lost ?

Cheers,
Julian
-- 
Julian Stacey, BSD Unix Linux C Sys Eng Consultants Munich http://berklix.com
 Reply below not above, cumulative like a play script, & indent with "> ".
 Format: Plain text. Not HTML, multipart/alternative, base64, quoted-printable.
        Mail from @yahoo dumped @berklix.  http://berklix.org/yahoo/
_______________________________________________
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"

Reply via email to