Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Oct 2012 09:02:07 +0200
From:      Guido van Rooij <guido@gvr.org>
To:        Hans Petter Selasky <hselasky@c2i.net>
Cc:        freebsd-usb@freebsd.org
Subject:   Re: usb3 umass device on usb2 port not recognised
Message-ID:  <20121004070207.GA32528@gvr.gvr.org>
In-Reply-To: <201210040812.35998.hselasky@c2i.net>
References:  <20121003200529.GA26591@gvr.gvr.org> <20121003213459.GA27522@gvr.gvr.org> <201210040812.35998.hselasky@c2i.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Oct 04, 2012 at 08:12:35AM +0200, Hans Petter Selasky wrote:
> On Wednesday 03 October 2012 23:35:00 Guido van Rooij wrote:
> > On Wed, Oct 03, 2012 at 10:05:29PM +0200, Guido van Rooij wrote:
> > > I have a 2.5" external USB3 disk that works fine on a USB2 port on a
> > > Windows7 system, but under FreeBSD 8.3-RELEASE-p3 it is not recognised at
> > > all. When I plug it in, all I get is:
> > > ugen5.2: <Unknown> at usbus5 (disconnected)
> > > I get similar results on other USB ports.
> > > usbconfig list does not show the device:
> > > beck# usbconfig list
> > > ugen0.1: <UHCI root HUB Intel> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps)
> > > pwr=SAVE ugen1.1: <UHCI root HUB Intel> at usbus1, cfg=0 md=HOST
> > > spd=FULL (12Mbps) pwr=SAVE ugen2.1: <UHCI root HUB Intel> at usbus2,
> > > cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE ugen3.1: <EHCI root HUB Intel>
> > > at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE ugen4.1: <UHCI root
> > > HUB Intel> at usbus4, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE ugen5.1:
> > > <UHCI root HUB Intel> at usbus5, cfg=0 md=HOST spd=FULL (12Mbps)
> > > pwr=SAVE ugen6.1: <UHCI root HUB Intel> at usbus6, cfg=0 md=HOST
> > > spd=FULL (12Mbps) pwr=SAVE ugen7.1: <EHCI root HUB Intel> at usbus7,
> > > cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE ugen0.2: <BCM2046B1 Broadcom>
> > > at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE ugen2.2: <5880
> > > Broadcom Corp> at usbus2, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
> > > ugen0.3: <product 0x8157 vendor 0x413c> at usbus0, cfg=0 md=HOST
> > > spd=FULL (12Mbps) pwr=ON ugen0.4: <product 0x8158 vendor 0x413c> at
> > > usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
> > > 
> > > 
> > > beck# usbconfig -u 5 -a 2 dump_info
> > > No device match or lack of permissions.
> > 
> > When I attach a usb-hub (no external power) and then attach the device,
> > I get a little further:
> > ugen7.2: <vendor 0x0409> at usbus7
> > uhub9: <vendor 0x0409 product 0x0059, class 9/0, rev 2.00/1.00, addr 2> on
> > usbus7 uhub9: 4 ports with 4 removable, self powered
> > ugen7.3: <PLATINUM> at usbus7
> > umass0: <PLATINUM My Drive 2.5, class 0/0, rev 2.10/1.00, addr 3> on usbus7
> > umass0:  SCSI over Bulk-Only; quirks = 0x4100
> > umass0:2:0:-1: Attached to scbus2
> > (probe0:umass-sim0:0:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0
> > (probe0:umass-sim0:0:0:0): CAM status: SCSI Status Error
> > (probe0:umass-sim0:0:0:0): SCSI status: Check Condition
> > (probe0:umass-sim0:0:0:0): SCSI sense: NOT READY asc:3a,0 (Medium not
> > present) da0 at umass-sim0 bus 0 scbus2 target 0 lun 0
> > da0: <ASMT 2105 0> Removable Direct Access SCSI-5 device
> > da0: 40.000MB/s transfers
> > da0: Attempt to query device size failed: NOT READY, Medium not present
> > 
> > Needless to say the device is a fixed disk, and has no changeable media.
> > 
> > -Guido
> 
> Hi,
> 
> You can try to run "usbdump -i usbusX" on the different USB busses you've got 
> and see if you get anything while connecting.
> 
> Else there are some sysctl quirks and tuneables under hw.usb.
> 
> Also:
> 
> hw.usb.ehci.no_hs=1

This has no effect. neither has setting hw.usb.ehci.lostintrbug or
hw.usb.ehci.iaadbug.

A usbdump when directly plugged into the USB-port:
beck# usbdump -s0 -vvv -i usbus5
08:43:17.667600 usbus5.2 SUBM-CTRL-EP=00000000,SPD=FULL,NFR=1,SLEN=8,IVAL=0
 frame[0] WRITE 8 bytes
 0000  00 05 02 00 00 00 00 00  -- -- -- -- -- -- -- --  |........        |
 flags 0x50 <PROXY_BUFFER|MANUAL_STATUS|0>
 status 0xee3a3 <OPEN|TRANSFERRING|STARTED|CONTROL_XFR|CONTROL_HDR|CONTROL_ACT|B
DMA_ENABLE|BDMA_NO_POST_SYNC|BDMA_SETUP|CURR_DMA_SET|CAN_CANCEL_IMMED|DOING_CALL
BACK|0>
08:43:17.671523 usbus5.2 DONE-CTRL-EP=00000000,SPD=FULL,NFR=1,SLEN=0,IVAL=0,ERR=
STALLED
 frame[0] WRITE 8 bytes
 flags 0x50 <PROXY_BUFFER|MANUAL_STATUS|0>
 status 0xce1a1 <OPEN|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_NO_POST_S
YNC|BDMA_SETUP|CAN_CANCEL_IMMED|DOING_CALLBACK|0>

When I have a hub in between, the usbdump starts with:
08:45:48.210226 usbus5.2 SUBM-CTRL-EP=00000080,SPD=FULL,NFR=2,SLEN=8,IVAL=0
 frame[0] WRITE 8 bytes
 0000  A3 00 00 00 01 00 04 00  -- -- -- -- -- -- -- --  |........        |
 frame[1] READ 4 bytes
 flags 0x10 <PROXY_BUFFER|0>
 status 0xce1a3 <OPEN|TRANSFERRING|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_NO_POST_SYNC|BDMA_SETUP|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
08:45:48.211429 usbus5.2 DONE-CTRL-EP=00000080,SPD=FULL,NFR=2,SLEN=4,IVAL=0,ERR=0
 frame[0] WRITE 8 bytes
 frame[1] READ 4 bytes
 0000  00 01 00 00 -- -- -- --  -- -- -- -- -- -- -- --  |....            |
 flags 0x10 <PROXY_BUFFER|0>
 status 0xee1a1 <OPEN|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_NO_POST_SYNC|BDMA_SETUP|CURR_DMA_SET|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
08:45:48.211437 usbus5.2 SUBM-CTRL-EP=00000080,SPD=FULL,NFR=2,SLEN=8,IVAL=0
 frame[0] WRITE 8 bytes
 0000  A3 00 00 00 02 00 04 00  -- -- -- -- -- -- -- --  |........        |
 frame[1] READ 4 bytes
 flags 0x10 <PROXY_BUFFER|0>
 status 0xee1a3 <OPEN|TRANSFERRING|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_NO_POST_SYNC|BDMA_SETUP|CURR_DMA_SET|CAN_CANCEL_IMMED|DOING_CALLBACK|0>

So at least I get something back...
The problem is also that a quirk will not help as there is no way
to address the device (not directly via the port, nor via the hub as
in the hub case, the device also is removed by the usb stack and does not
show up in usbconfig list)

-Guido



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