Subject: USB fails on Alpha?
To: None <current-users@netbsd.org, port-alpha@netbsd.org>
From: Nathan J. Williams <nathanw@MIT.EDU>
List: port-alpha
Date: 03/11/2000 19:45:17
Has anyone ever actually used USB successfully on an Alpha? I've had a
long string of failures. It'd be good to know whether everyone else
has tried and failed (like the one other person who posted about it)
or whether I'm just terribly unlucky.

After last month's problems with a SIIG board (based on an Opti
RM861HA OHCI controller) in an AlphaStation 200 (see the current-users
thread "USB controller goes nuts on Alpha"), I tried a couple of
boards in my pc164 system. The SIIG board doesn't go nuts, and probes
as:

  ohci0 at pci0 dev 6 function 0: Opti RM861HA (rev. 0x10)
  ohci0: interrupting at eb164 irq 0
  ohci0: OHCI version 1.0, legacy support
  usb0 at ohci0: USB revision 1.0
  uhub0 at usb0
  uhub0: Opti OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
  uhub0: 2 ports with 2 removable, self powered

but when a USB device is plugged in, I get:

  uhub0: device problem, disabling port 2

Today I picked up another controller, the Inland "Pro PCI to USB",
based on the VIA tech VT83C572 UHCI controller. A kernel built just
with the uhci controller triggers a machine check inside of
uhci_init() (machine check 0x213, "Software Generated NMI" according
to the Digital Unix include files). 

Adding either "options USB_DEBUG" or just "options UHCI_DEBUG" got rid
of the machine check (!) and it probes as:

  uhci0 at pci0 dev 6 function 0: VIA Technologies VT83C572 USB Controller (rev. 0x04)
  uhci0: interrupting at eb164 irq 0
  usb0 at uhci0: USB revision 1.0
  uhub0 at usb0
  uhub0: VIA Technologie UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
  uhub0: 2 ports with 2 removable, self powered

but as soon as interrupts are enabled:

  uhci0: host system error
  uhci0: host controller halted

(regardless of whether a device is attached)

I'm currently digging through the uhci driver to try and pin down the
source of the machine check; I'd prefer to not have to dig into the
uhci spec itself...

        - Nathan