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