Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 May 2013 18:10:08 +0200
From:      Paul Guyot <paul@semiocast.com>
To:        freebsd-usb@freebsd.org
Subject:   Two VIA xhci cards, only xhci0 works
Message-ID:  <D4551ADC-853E-4525-8FFE-233A16FF8CE6@semiocast.com>

next in thread | raw e-mail | index | archive | help
Hello,

On this server :
FreeBSD megaptera.semiocast.net 9.1-RELEASE FreeBSD 9.1-RELEASE #1 =
r250855M: Tue May 21 15:14:41 UTC 2013     =
root@megaptera.semiocast.net:/usr/obj/usr/src/sys/GENERIC  amd64

I do have two USB 3 cards handled by xhci driver and with VIA chipset.
> xhci0@pci0:5:0:0:	class=3D0x0c0330 card=3D0x34321106 =
chip=3D0x34321106 rev=3D0x03 hdr=3D0x00
>     vendor     =3D 'VIA Technologies, Inc.'
>     class      =3D serial bus
>     subclass   =3D USB
> xhci1@pci0:6:0:0:	class=3D0x0c0330 card=3D0x34321106 =
chip=3D0x34321106 rev=3D0x03 hdr=3D0x00
>     vendor     =3D 'VIA Technologies, Inc.'
>     class      =3D serial bus
>     subclass   =3D USB

The cards are identical. Here is an excerpt from /var/log/messages :

> May 22 10:56:52 megaptera kernel: pcib5: <ACPI PCI-PCI bridge> at =
device 9.0 on pci0
> May 22 10:56:52 megaptera kernel: pci5: <ACPI PCI bus> on pcib5
> May 22 10:56:52 megaptera kernel: xhci0: <XHCI (generic) USB 3.0 =
controller> mem 0xdf4ff000-0xdf4fffff irq 40 at device 0.0 on pci5
> May 22 10:56:52 megaptera kernel: xhci0: 32 byte context size.
> May 22 10:56:52 megaptera kernel: usbus0 on xhci0
> May 22 10:56:52 megaptera kernel: pcib6: <ACPI PCI-PCI bridge> at =
device 10.0 on pci0
> May 22 10:56:52 megaptera kernel: pci6: <ACPI PCI bus> on pcib6
> May 22 10:56:52 megaptera kernel: xhci1: <XHCI (generic) USB 3.0 =
controller> mem 0xdf5ff000-0xdf5fffff irq 41 at device 0.0 on pci6
> May 22 10:56:52 megaptera kernel: xhci1: 32 byte context size.
> May 22 10:56:52 megaptera kernel: usbus1 on xhci1

Card in bottom slot (PCI 5, xhci0) works properly. The card has 4 =
external ports and all four ports are currently used.
When I plug a device in card in top slot (PCI 6, now card xhci1) in =
either of the 4 external ports, nothing happens.

Both cards are new and seem to work. Indeed, previously only the card in =
top slot (PCI 6) was inserted and it worked properly. But when both =
cards are inserted, only xhci0 seem to work, as if xhci1 was conflicting =
with xhci0. There are two other (physical) PCI slots in this machine =
with other non-USB cards and they work properly. The motherboard also =
has plenty of USB 1.0 and 2.0 buses and the external ports work =
properly.

Here is the output of usbconfig :
> ugen0.1: <XHCI root HUB 0x1106> at usbus0, cfg=3D0 md=3DHOST spd=3DSUPER=
 (5.0Gbps) pwr=3DSAVE
> ugen1.1: <XHCI root HUB 0x1106> at usbus1, cfg=3D0 md=3DHOST spd=3DSUPER=
 (5.0Gbps) pwr=3DSAVE
> ugen2.1: <UHCI root HUB Intel> at usbus2, cfg=3D0 md=3DHOST spd=3DFULL =
(12Mbps) pwr=3DSAVE
> ugen3.1: <UHCI root HUB Intel> at usbus3, cfg=3D0 md=3DHOST spd=3DFULL =
(12Mbps) pwr=3DSAVE
> ugen4.1: <EHCI root HUB Intel> at usbus4, cfg=3D0 md=3DHOST spd=3DHIGH =
(480Mbps) pwr=3DSAVE
> ugen5.1: <UHCI root HUB Intel> at usbus5, cfg=3D0 md=3DHOST spd=3DFULL =
(12Mbps) pwr=3DSAVE
> ugen6.1: <UHCI root HUB Intel> at usbus6, cfg=3D0 md=3DHOST spd=3DFULL =
(12Mbps) pwr=3DSAVE
> ugen7.1: <UHCI root HUB Intel> at usbus7, cfg=3D0 md=3DHOST spd=3DFULL =
(12Mbps) pwr=3DSAVE
> ugen8.1: <UHCI root HUB Intel> at usbus8, cfg=3D0 md=3DHOST spd=3DFULL =
(12Mbps) pwr=3DSAVE
> ugen9.1: <EHCI root HUB Intel> at usbus9, cfg=3D0 md=3DHOST spd=3DHIGH =
(480Mbps) pwr=3DSAVE
> ugen0.2: <USB2.0 Hub vendor 0x2109> at usbus0, cfg=3D0 md=3DHOST =
spd=3DHIGH (480Mbps) pwr=3DSAVE
> ugen4.2: <product 0x2514 vendor 0x0424> at usbus4, cfg=3D0 md=3DHOST =
spd=3DHIGH (480Mbps) pwr=3DSAVE
> ugen0.3: <Ext HDD 1021 Western Digital> at usbus0, cfg=3D0 md=3DHOST =
spd=3DHIGH (480Mbps) pwr=3DON
> ugen0.4: <Ext HDD 1021 Western Digital> at usbus0, cfg=3D0 md=3DHOST =
spd=3DHIGH (480Mbps) pwr=3DON
> ugen0.5: <Ext HDD 1021 Western Digital> at usbus0, cfg=3D0 md=3DHOST =
spd=3DHIGH (480Mbps) pwr=3DON
> ugen0.6: <Ext HDD 1021 Western Digital> at usbus0, cfg=3D0 md=3DHOST =
spd=3DHIGH (480Mbps) pwr=3DON

I am confused about the lack of ugen1.2 in this output. Could that be =
relevant?
What can I do to debug this issue?

Regards,

Paul
--=20
Semiocast            http://semiocast.com/
+33.183627948 - 20 rue Lacaze, 75014 Paris




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?D4551ADC-853E-4525-8FFE-233A16FF8CE6>