USB disk on CS5536 unstable

Hans Petter Selasky hselasky at c2i.net
Wed Oct 13 21:21:44 UTC 2010


On Saturday 09 October 2010 11:06:19 Anselm Strauss wrote:
> On 10/07/10 22:59, Lowell Gilbert wrote:
> > 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.
> 
> -> pciconf -lv
> hostb0 at pci0:0:1:0:	class=0x060000 card=0x20801022 chip=0x20801022
> rev=0x33 hdr=0x00
>     vendor     = 'Advanced Micro Devices (AMD)'
>     device     = 'Conrad Kostecki'
>     class      = bridge
>     subclass   = HOST-PCI
> none0 at pci0:0:1:2:	class=0x101000 card=0x20821022 chip=0x20821022
> rev=0x00 hdr=0x00
>     vendor     = 'Advanced Micro Devices (AMD)'
>     device     = 'Geode GX3 AES Crypto Driver (GX3)'
>     class      = encrypt/decrypt
> vr0 at pci0:0:9:0:	class=0x020000 card=0x01061106 chip=0x30531106 rev=0x96
> hdr=0x00
>     vendor     = 'VIA Technologies, Inc.'
>     device     = 'Rhine III Management Adapter (VT6105M)'
>     class      = network
>     subclass   = ethernet
> vr1 at pci0:0:11:0:	class=0x020000 card=0x01061106 chip=0x30531106 rev=0x96
> hdr=0x00
>     vendor     = 'VIA Technologies, Inc.'
>     device     = 'Rhine III Management Adapter (VT6105M)'
>     class      = network
>     subclass   = ethernet
> ath0 at pci0:0:12:0:	class=0x020000 card=0x1600185f chip=0x001b168c
> rev=0x01 hdr=0x00
>     vendor     = 'Atheros Communications Inc.'
>     device     = 'AR5006 family 802.11abg Wireless NIC'
>     class      = network
>     subclass   = ethernet
> isab0 at pci0:0:15:0:	class=0x060100 card=0x20901022 chip=0x20901022
> rev=0x03 hdr=0x00
>     vendor     = 'Advanced Micro Devices (AMD)'
>     device     = 'CS5536 [Geode companion] ISA'
>     class      = bridge
>     subclass   = PCI-ISA
> atapci0 at pci0:0:15:2:	class=0x010180 card=0x209a1022 chip=0x209a1022
> rev=0x01 hdr=0x00
>     vendor     = 'Advanced Micro Devices (AMD)'
>     device     = 'CS5536 IDE Controller (CS5536)'
>     class      = mass storage
>     subclass   = ATA
> ohci0 at pci0:0:15:4:	class=0x0c0310 card=0x20941022 chip=0x20941022
> rev=0x02 hdr=0x00
>     vendor     = 'Advanced Micro Devices (AMD)'
>     device     = 'CS5536 OHCI USB Host Controller (CS5536)'
>     class      = serial bus
>     subclass   = USB
> ehci0 at pci0:0:15:5:	class=0x0c0320 card=0x20951022 chip=0x20951022
> rev=0x02 hdr=0x00
>     vendor     = 'Advanced Micro Devices (AMD)'
>     device     = 'CS5536 EHCI USB Host Controller (CS5536)'
>     class      = serial bus
>     subclass   = USB

Hi,

Can you add this device to the quirk entries in:

sys/dev/usb/controller/ehci.c

verify the patched driver and attach it to a FreeBSD PR?

--HPS


More information about the freebsd-questions mailing list