USB disk on CS5536 unstable

Lowell Gilbert freebsd-questions-local at be-well.ilk.org
Thu Oct 7 20:59:09 UTC 2010


Anselm Strauss <amsibamsi at gmail.com> writes:

> On 10/02/10 16:39, Hans Petter Selasky wrote:
>> On Saturday 02 October 2010 14:44:07 Anselm Strauss wrote:
>>> On 09/30/10 21:38, Hans Petter Selasky wrote:
>>>> On Thursday 30 September 2010 21:10:59 Anselm Strauss wrote:
>>>>> Maybe sending it to just the USB list was too specific ...
>>>>>
>>>>> On 09/30/10 00:08, Anselm Strauss wrote:
>>>>>> Hi
>>>>>>
>>>>>> I have an ALIX board that has an AMD Geode and the CS5536 companion
>>>>>> chip with integrated USB on it. When I connect a USB disk I have
>>>>>> observed various problems. For example when I run fsck_ufs on a 250 GB
>>>>>> partition the process gets stuck in biord state and fsck reports
>>>>>> unreadable sectors. When I do a dd over the whole disk and direct it
>>>>>> to /dev/null it suddenly returns with no error, but having read only a
>>>>>> small fraction of the disk. I tried it with two different disks and
>>>>>> two different ALIX boards. I'm pretty sure the disks are okay since I
>>>>>> tried them on other hardware.
>>>>>>
>>>>>> As far as I know there was some trouble with the chip regarding
>>>>>> timeouts. Under load after some time the USB just stops responding. I
>>>>>> have tried 8.0 and 8.1. Is there any known problem? How can I track
>>>>>> this down?
>>>>>>
>>>>>> Anselm
>>>>
>>>> If you compile the kernel with USB_DEBUG, then there are some sysctls
>>>> under hw.usb.ehci which you can tweak. Needs to be set before boot.
>>>>
>>>> --HPS
>>>
>>> Did not know that there were configurable bug workarounds in sysctl.
>>> When I set hw.usb.ehci.lostintrbug=1 in /boot/loader.conf the problems
>>> seem gone.
>>>
>>> Without this setting I got the following kernel message when dd did abort:
>>>
>>> ehci_timeout: xfer=0xc29cd3c8
>>>
>>>
>>> Thanks,
>>> Anselm
>> 
>> Maybe you can report the PCI vendor ID and product so that we can add this 
>> quirk.
>> 
>> --HPS
>
> Not sure what a "PCI vendor ID" is and how to determine it. It's a ALIX
> 2d2 from http://pcengines.ch/alix.

pciconf(8) will tell you.  Try sending "pciconf -l" output.


More information about the freebsd-questions mailing list