Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Feb 2003 11:35:32 +0100 (CET)
From:      volf@deze.org (Frank Volf)
To:        "Louis A. Mamakos" <louie@TransSys.COM>
Cc:        freebsd-stable@FreeBSD.ORG
Subject:   Re: UHCI/USB related panic while
Message-ID:  <20030218103533.0CA7F3E0A@mail.voor.deze.org>
In-Reply-To: <200302170242.h1H2gfTw004044@whizzo.transsys.com>

next in thread | previous in thread | raw e-mail | index | archive | help

Hmmm... that is interesting, I was about to report the exact same problem.
In my case, a HP scanner is causing the problem. If usb drivers are built
into the kernel, or loaded at boot time in loader.conf, then I have exactly
the same problem:
* a long delay while initialing the "usb hub"-driver
* a page fault on virtual address 0x4 in uhci_idone.

If, however I boot the system, and then kldload the usb modules, no problem
whatsoever.

Unfortunately, I have just as much clue as you on the solution... I'm just
writing this to let everybody know that yours isn't an isolatated case.

Frank


Louis A. Mamakos wrote:
> 
> I just upgraded a machine to this morning's version of the RELENG_4
> branch of FreeBSD.  I had problems booting it, where it would hang for
> a bit, and then panic while probing for USB peripherals.  
> 
> There was a USB hub plugged into the UHCI 2-port built-in "hub", and a USB
> mouse plugged into the external hub.  Attempting to boot with just the
> external hub or just the external USB mouse seemed to break the same
> way.  As this machine has a somewhat critical role, I couldn't spend
> a lot of time experimenting.  I did jot down some of the information,
> and it seems like uhci_idone() is invoked with a null pointer; the
> fault virtual address is 0x4, which happens to be the offset of 
> ii->xfer in the structure..
> 
> What's interesting is that after the system is booted, I can plug
> in the USB mouse, and things work just fine.
> 
> Does this ring a bell for anyone? 
> 
> (kgdb) x/i 0xc02afecc
> 0xc02afecc <uhci_idone+12>:     mov    0x4(%eax),%ebx
> (kgdb) list *0xc02afecc
> 0xc02afecc is in uhci_idone (/usr/src/sys/dev/usb/uhci.c:1065).
> 1060    
> 1061    /* Called at splusb() */
> 1062    void
> 1063    uhci_idone(uhci_intr_info_t *ii)
> 1064    {
> 1065            usbd_xfer_handle xfer = ii->xfer;
> 1066            struct uhci_pipe *upipe = (struct uhci_pipe *)xfer->pipe;
> 1067            uhci_soft_td_t *std;
> 1068            u_int32_t status = 0, nstatus;
> 1069            int actlen;
> (kgdb) 
> 
> 
> When the system boots, I see this much on the console:
> 
> uhci0: <Intel 82371AB/EB (PIIX4) USB controller> port 0xdce0-0xdcff irq 2 at device 7.2 on pci0
> usb0: <Intel 82371AB/EB (PIIX4) USB controller> on uhci0
> usb0: USB revision 1.0
> uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
> uhub0: 2 ports with 2 removable, self powered
> 
> and then there's this ominious hang followed by the panic. 
> 
> louie
> 
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-stable" in the body of the message
> 

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




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