USB OHCI problems...

Barry Bouwsma freebsd-misuser at remove-NOSPAM-to-reply.NOSPAM.dyndns.dk
Tue Nov 30 05:10:23 PST 2004


Just to add to what I wrote at the end of October:

> Anyway, under FreeBSD-4 with kernel modules built 10.August
> from source that I believe is based on FreeBSD-5-current of
> that era, I'm seeing corruption of data read from umass
> devices attached to an OHCI controller card.  Use of a UHCI
> controller card instead seems mostly free of problems.

In addition, I've connected a uaudio sound device, which
works to play audio for between 10 and 13 minutes, before
bombing out with an error in ohci_device_isoc_enter(),
tripping over one of the two
                        /* Allocate next ITD */
                        nsitd = ohci_alloc_sitd(sc);
                        if (nsitd == NULL) {
                                /* XXX what now? */
                                printf("%s: isoc TD alloc failed\n",
                                       USBDEVNAME(sc->sc_bus.bdev));
                                return;
                        }

Connecting this uaudio device to a UHCI card results in
problem-free playback for at least a couple hours.  And,
I'm rather sure that I was able to play through this OHCI
controller under NetBSD for an extended time.  This device
does not attach to EHCI.

For this, I used kernel modules on my FreeBSD 4.x box,
recently built from as much of the -current USB code as
I could get to compile with minimal hackery, but this time
without merging in the work in P4 from Ian Dowse, or the
patchsets based on these.  Source code date at least a
couple weeks to a month old.

I'll try updating to the most recent code I can lay me
grubby mitts on (stop with all these updates while I'm
offline, eh) as well as the above patchsets, to see if
things are changed in the OHCI world.

Also, I'm about to the point of readiness to acquire another
card with OHCI to see if any chipset-specific problems could
be tickling my problems -- though NetBSD appears to work
mostly fine.  This OHCI chipset is on a combi-card in a
machine with a severe lack of PCI slots, while my UHCI card
is devoted to USB and fit better into a machine with a lack
(but not quite so severe) of PCI slots.  Perhaps there's a
PCI-PCI bridge on the card in the way, but there's a firewire
controller on the card sharing the interrupt with OHCI, and
I have no problems with the firewire.



thanks
barry bouwsma



More information about the freebsd-hackers mailing list