Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 24 Sep 2010 17:35:33 +0200
From:      Bernd Walter <ticso@cicely7.cicely.de>
To:        Donald Allen <donaldcallen@gmail.com>
Cc:        ticso@cicely.de, freebsd-usb@freebsd.org
Subject:   Re: USB drives still don't work correctly
Message-ID:  <20100924153532.GU2846@cicely7.cicely.de>
In-Reply-To: <AANLkTimk98B4YKrws0P3MnddA__G-GyBKC1ubg5uCWa5@mail.gmail.com>
References:  <AANLkTimkzMiGCvu256tUR3ZUrantNQjXGTcSCvxFX5eL@mail.gmail.com> <201009230834.12501.hselasky@c2i.net> <AANLkTinaf9bg=pGSwGtiSr08HAtguFpWriLYEqL%2BF4J=@mail.gmail.com> <20100923155948.GC2846@cicely7.cicely.de> <AANLkTim8UEQmVkC_TzE8y8gOY%2BfLq2n51bkiDAQBzqm2@mail.gmail.com> <20100923191256.GE2846@cicely7.cicely.de> <AANLkTimJkfqiOM0=Vm1wB_7ADtjrsgVsG6f=QqFPitPx@mail.gmail.com> <20100923235016.GH2846@cicely7.cicely.de> <AANLkTimk98B4YKrws0P3MnddA__G-GyBKC1ubg5uCWa5@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Sep 24, 2010 at 11:16:14AM -0400, Donald Allen wrote:
> A few more things on this issue:
> 
> 1. I installed FreeBSD on another system, just on the off-chance that
> my problem might be caused by testing with an old machine (c. 2005).
> This machine is a relatively new HP desktop and it exhibits exactly
> the same symptoms w.r.t. the USB drives as I described earlier.
> 
> 2. I booted the system with one of the drives connected and spinning,
> so I could get the device description with usbconfig:
> 
> ugen1.2: <USB to Serial-ATA bridge Sunplus Technology Inc.> at usbus1,
> cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON

You can't ask the hanging device?
It is bulk only so the command channel should be used for identification
only.

>   bLength = 0x0012
>   bDescriptorType = 0x0001
>   bcdUSB = 0x0200
>   bDeviceClass = 0x0000
>   bDeviceSubClass = 0x0000
>   bDeviceProtocol = 0x0000
>   bMaxPacketSize0 = 0x0040
>   idVendor = 0x04fc
>   idProduct = 0x0c15
>   bcdDevice = 0xc683
>   iManufacturer = 0x0002  <Sunplus Technology Inc.>
>   iProduct = 0x0003  <USB to Serial-ATA bridge>
>   iSerialNumber = 0x0001  <ST3320620N            5QF2ZMV8>
>   bNumConfigurations = 0x0001
> 
> If you dump_device_quirks, you find this entry, matching my hardware:
> 
> VID=0x04fc PID=0x0c15 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
> 
> So this device is known to the FreeBSD USB world. Unfortunately, the
> built-in quirks in the kernel don't completely do the job. If you
> google for 'freebsd sunplus', you turn up other people complaining
> about the same issues I have. One guy even discovered, as I did, that
> the drive works if it's present at boot-time.

I've found others as well when searching for the error message.

> 3. Plugging the drive into a self-powered USB hub and then
> hot-plugging the hub into the computer doesn't help.

This is unexpected :(
So probably it really is the BIOS making the difference.

If you stop at the loader stage, plug the device in and then start
the kernel - will it change something?
This way the BIOS won't see the device, but the kernel does.

Will it help if you try usbconfig reset on the device?

The feature to reset ports wasn't available with the old stack.
It is just wild guessing, since I'm a bit out of ideas, but you
could try UQ_MSC_FORCE_WIRE_BBB and UQ_MSC_FORCE_PROTO_SCSI, although
the point that it works when already plugged in makes it unlikely.

-- 
B.Walter <bernd@bwct.de> http://www.bwct.de
Modbus/TCP Ethernet I/O Baugruppen, ARM basierte FreeBSD Rechner uvm.



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