[SeaBIOS] USB keyboard and mouse not detected

Kevin O'Connor kevin at koconnor.net
Sun Dec 25 19:37:37 CET 2011


On Sun, Dec 25, 2011 at 01:19:38AM +0100, Nils wrote:
> Op zaterdag 24-12-2011 om 18:59 uur [tijdzone -0500], schreef Kevin
> O'Connor:
> > That's odd - does this happen every time?  It looks like a timeout on
> > a device other than the keyboard is causing a timeout.  What devices
> > do you have?  (If I read the logs, SeaBIOS seems to be finding three
> > devices.)  You could try unplugging everything but the keyboard just
> > to see if it will boot.
> 
> It hapens every time.
> I only had an USB keyboard and an USB mouse attached.
> The following log is with only the USB keyboard attached:

Looks like it is crashing in ohci_free_pipe.  Looking closely, I don't
think ohci_free_pipe() is following the spec exactly - it's modifying
the control list even when the control list may be active.

You could see what the following outputs:

--- a/src/usb-ohci.c
+++ b/src/usb-ohci.c
@@ -283,8 +283,10 @@ static void
 signal_freelist(struct usb_ohci_s *cntl)
 {
     u32 v = readl(&cntl->regs->control);
+    dprintf(1, "signal_freelist control=%x\n", v);
     if (v & OHCI_CTRL_CLE) {
         writel(&cntl->regs->control, v & ~(OHCI_CTRL_CLE|OHCI_CTRL_BLE));
+        dprintf(1, "signal_freelist2 control=%x\n", readl(&cntl->regs->control));
         ohci_waittick(cntl);
         writel(&cntl->regs->ed_controlcurrent, 0);
         writel(&cntl->regs->ed_bulkcurrent, 0);

-Kevin



More information about the SeaBIOS mailing list