Skip site navigation (1)Skip section navigation (2)
Date:      11 Jun 2003 18:16:50 +0000
From:      Craig Boston <craig@xfoil.gank.org>
To:        Alistair Sutton <alistair.sutton@ntlworld.com>
Cc:        freebsd-current@freebsd.org
Subject:   Re: CardBus USB 2.0 Controller (NEC uPD)
Message-ID:  <1055355410.24204.33.camel@owen1492.uf.corelab.com>
In-Reply-To: <20030611170835.GA590@everlone>
References:  <1055260269.91337.127.camel@owen1492.uf.corelab.com> <20030611170835.GA590@everlone>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 2003-06-11 at 17:08, Alistair Sutton wrote:
> [snip dmesg]
> > cardbus1: <serial bus, USB> at device 0.2 (no driver attached)
> >
> > That output seems a little funny, between the "Resource not specified in
> > CIS" and claiming there is no driver attached right after it attaches
> > ohci...
> 
> Only the USB1.1 part of the card has been attached.
> 
> You need to have 'device ehci' in your kernel config for it to pick up
> the USB2.0 part which will then get attached.

Thanks, I figured that out shortly after sending the message and doing
some more googling (and smacked myself on the head -- for some odd
reason I had the idea that ehci == firewire).  Didn't want to clutter up
the list with replying to myself over that point though :)

It does attach ehci now and recognizes ohci0/1 as the supporting
devices, but it has the same behavior on connecting things.  The only
difference is that if it's a USB 2.0 device, the "addr 0 should never
happen!" shows up on the ehci controller rather than the ohci.

> I get the same message as you with what seems to be a generic NEC USB
> card.
> 
> I haven't tried removing/reinserting the card so I can't tell you if my
> laptop panics in the same way as your machine.

>From what I can tell from usb_*_debug, it sees a device get plugged in
and appears to think it's talking to it, but keeps timing out waiting
for a response.  I have no way to tell if it's actually sending anything
over the wire or not.

My money is still on a problem within the cardbus layer -- possibly I
have some wonky hardware.  I can provoke the following behavior by
attaching a cardbus NIC (which works perfectly on its own) in
conjunction with the USB card.

*** USB card is already in, inserting NIC:
xl0 attaches and works fine
usb3: unrecoverable error, controller halted
usb3: blocking intrs 0x10
uhub3: illegal enable change, port 1
usb3: port reset timeout
uhub3: port 1 reset failed
(sometimes it completely detaches the usb devices too, but not always)

*** NIC already in, inserting USB card:
ohci0 and ohci1 attach OK
EHCI thinks that it's version ff.ff
EHCI thinks it has 15 (!) companion devices and complains because
(15 != 2)
ehci0: USB init failed err=13
cardbus1: release_all_resource: Resource still owned by child, oops.
About 50% of the time it panics in ehci_intr1, or sometimes
pci_free_something (don't remember off the top of my head, sorry).

Frustratingly, the behavior seems to be somewhat non-deterministic.

For reference, my controller is cbb0: <TI1450 PCI-CardBus Bridge>

I'm going to try to get a setup for a remote gdb connection and
single-step through the attach code to attempt to get a better idea of
what's going on.  Not sure if I'll be able to figure it out or not.  I
have a relatively good understanding into the workings of ISA/PCI, but
Cardbus is still a mystery to me.

Craig



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1055355410.24204.33.camel>