Date: Mon, 4 Oct 2010 13:29:38 -0400 From: Donald Allen <donaldcallen@gmail.com> To: ticso@cicely.de Cc: freebsd-usb@freebsd.org Subject: Re: USB drives still don't work correctly Message-ID: <AANLkTin-1Bi%2BUDAhx3-fx_iJ9HqWe_VP%2B8aQ=nV56jj2@mail.gmail.com> In-Reply-To: <20100924153532.GU2846@cicely7.cicely.de> 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> <20100924153532.GU2846@cicely7.cicely.de>
next in thread | previous in thread | raw e-mail | index | archive | help
I've been away for awhile and could not work on this issue. I just looked at the OpenBSD 4.7 sources, and there is no entry in sys/devs/usbdev.h for a vendor with id 0x04fc, nor is there a product id 0x0c15. Considering this and looking at their usb_quirks.c and umass_quirks.c, I don't think OpenBSD is issuing any quirks for the devices I have, and yet these drives work correctly with 4.7, whether plugged in at boot time or hotplugged. So I think there's more to the hotplug problem I'm seeing with FreeBSD 8.1 than simply missing a quirk. If I'm right about this, I'd like to work with those of you actively developing the USB layer to understand what's going on here, leading to a bug-fix if indeed there is a bug. Yes, I can drop this discussion and just work around the problem, albeit inconveniently, by plugging the drives in at boot-time, but given that the drives work with other systems, if I'm going to use FreeBSD, I'd like to see this problem either explained or fixed. /Don On Fri, Sep 24, 2010 at 11:35 AM, Bernd Walter <ticso@cicely7.cicely.de>wrote: > 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?AANLkTin-1Bi%2BUDAhx3-fx_iJ9HqWe_VP%2B8aQ=nV56jj2>