> uhci0: <Intel 82371AB/EB (PIIX4) USB controller> port 0xe000-0xe01f irq 15 at device 
>7.2 on pci0
> uhci0: LegSup = 0x00000010

                  ^^^^^^^^^^
PIRQDEN (IRQ's Enable) bit is not set by default. We set it right
afterwards, but you you might want to check this out by copying the
device_printf. The value should be 0x2000.

In uhci_pci.c:

         * anymore if it is connected to the ports of the root hub?
         */
#ifdef UHCI_DEBUG
        if (pci_read_config(self, PCI_LEGSUP, 4)!=PCI_LEGSUP_USBPIRQDEN)
                device_printf(self, "LegSup = 0x%08x\n",
                              pci_read_config(self, PCI_LEGSUP, 4));
#endif
        pci_write_config(self, PCI_LEGSUP, PCI_LEGSUP_USBPIRQDEN, 4);

+       device_printf(self, "LegSup = 0x%08x\n",
+                     pci_read_config(self, PCI_LEGSUP, 4));

        err = uhci_init(sc);

> >Shared interrupt?
> 
> No shared interrupt.  Both IDE channels are disabled by BIOS, thus,
> irq 15 is free.  After all, The USB drivers work if I run a UP kernel
> on the same machine.

Um, no, it still might conflict. Could you assign 14 and 15 to legacy
ISA, or move the UHCI controller onto a different interrupt and try
again?


> I know.  It works on my another SMP box running 4.0-STABLE ;-<

There is no difference between 5.0 nd 4.0 that could create this
problem, so it must be a difference in hardware.

Nick

--
[EMAIL PROTECTED]
[EMAIL PROTECTED]                                          USB project
http://www.etla.net/~n_hibma/



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to