From owner-freebsd-usb@FreeBSD.ORG Tue May 12 16:34:30 2009 Return-Path: Delivered-To: freebsd-usb@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4AB71106564A for ; Tue, 12 May 2009 16:34:30 +0000 (UTC) (envelope-from gavin@FreeBSD.org) Received: from mail-gw2.york.ac.uk (mail-gw2.york.ac.uk [144.32.128.247]) by mx1.freebsd.org (Postfix) with ESMTP id F162E8FC15 for ; Tue, 12 May 2009 16:34:29 +0000 (UTC) (envelope-from gavin@FreeBSD.org) Received: from mail-gw6.york.ac.uk (mail-gw6.york.ac.uk [144.32.129.26]) by mail-gw2.york.ac.uk (8.13.6/8.13.6) with ESMTP id n4CGYNeH029803 for ; Tue, 12 May 2009 17:34:23 +0100 (BST) Received: from buffy-128.york.ac.uk ([144.32.128.160] helo=buffy.york.ac.uk) by mail-gw6.york.ac.uk with esmtps (TLSv1:AES256-SHA:256) (Exim 4.68) (envelope-from ) id 1M3uvv-0004ci-H4 for freebsd-usb@FreeBSD.org; Tue, 12 May 2009 17:34:23 +0100 Received: from buffy.york.ac.uk (localhost [127.0.0.1]) by buffy.york.ac.uk (8.14.3/8.14.3) with ESMTP id n4CGYN5w008886 for ; Tue, 12 May 2009 17:34:23 +0100 (BST) (envelope-from gavin@FreeBSD.org) Received: (from ga9@localhost) by buffy.york.ac.uk (8.14.3/8.14.3/Submit) id n4CGYNxu008885 for freebsd-usb@freebsd.org; Tue, 12 May 2009 17:34:23 +0100 (BST) (envelope-from gavin@FreeBSD.org) X-Authentication-Warning: buffy.york.ac.uk: ga9 set sender to gavin@FreeBSD.org using -f From: Gavin Atkinson To: freebsd-usb@FreeBSD.org Content-Type: text/plain Content-Transfer-Encoding: 7bit Date: Tue, 12 May 2009 17:34:22 +0100 Message-Id: <1242146062.5455.60.camel@buffy.york.ac.uk> Mime-Version: 1.0 X-Mailer: Evolution 2.22.2 FreeBSD GNOME Team Port X-York-MailScanner: Found to be clean X-York-MailScanner-From: gavin@freebsd.org Cc: Subject: USB panic on 8.0/arm X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 May 2009 16:34:30 -0000 Hi all, I have an NSLU2, which I am netbooting. I've been doing most of my work on it with USB removed from the kernel because the old stack would always panic. I've recently been trying the new USB stack, and have found that it still panics most of the time on boot. But not all the time. Firstly, please note that the version of Linux that was installed onto this hardware when I got it (not the factory installed OS, though) also seems to have problems most of the time with the USB controller, so I guess there is a chance that this is a hardware problem. That said, here are the symptoms: No USB in kernel, boots fine every time. New USB stack in the kernel: Just once, I've seen it probe and attach just fine. Here's proof: [snip] real memory = 33554432 (32 MB) avail memory = 25829376 (24 MB) ixp0: on motherboard ixp0: 37603 pcib0: on ixp0 pci0: on pcib0 ohci0: irq 28 at device 1.0 on pci0 ohci0: [ITHREAD] usbus0: on ohci0 ohci1: irq 27 at device 1.1 on pci0 ohci1: [ITHREAD] usbus1: on ohci1 ehci0: irq 26 at device 1.2 on pci0 ehci0: [ITHREAD] usbus2: EHCI version 1.0 usbus2: on ehci0 ixpclk0: on ixp0 [snip] Every other time I've booted with USB compiled in, I'll get a panic: RedBoot> go KDB: debugger backends: ddb KDB: current backend: ddb Copyright (c) 1992-2009 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 8.0-CURRENT #5: Fri May 8 16:28:01 BST 2009 root@buffy.york.ac.uk:/usr/obj/arm/usr/src-test/sys/NSLU CPU: IXP425 266MHz rev 1 (ARMv5TE) (XScale core) DC enabled IC enabled WB enabled LABT branch prediction enabled 32KB/32B 32-way Instruction cache 32KB/32B 32-way write-back-locking Data cache real memory = 33554432 (32 MB) avail memory = 25829376 (24 MB) ixp0: on motherboard ixp0: 37603 pcib0: on ixp0 pci0: on pcib0 ohci0: irq 28 at device 1.0 on pci0 ohci0: [ITHREAD] Fatal kernel mode data abort: 'External Linefetch Abort (P)' trapframe: 0xc00fbafc FSR=00000406, FAR=Invalid, spsr=600000d3 r0 =c0ae4000, r1 =f8000000, r2 =00000034, r3 =c0ae407c r4 =00001270, r5 =00001278, r6 =00001274, r7 =00000003 r8 =00001140, r9 =c0ae5000, r10=00001140, r11=c00fbb88 r12=c0ae407c, ssp=c00fbb48, slr=c023c14c, pc =c023c148 [thread pid 0 tid 100000 ] Stopped at ohci_suspend+0x140c: ldr r15, [r3, #0x024] db> bt Tracing pid 0 tid 100000 td 0xc04fd110 db_trace_thread() at db_trace_thread+0xc scp=0xc041ee94 rlv=0xc0213778 (db_command_init+0x4c8) rsp=0xc00fb7f4 rfp=0xc00fb810 r10=0x00000001 r9=0xc0503bd8 r8=0xc04fa75c r7=0x00000062 r6=0x00000002 r5=0x00000010 r4=0xc04fd110 db_command_init() at db_command_init+0x3f0 scp=0xc02136a0 rlv=0xc0213008 (db_skip_to_eol+0x49c) rsp=0xc00fb814 rfp=0xc00fb8b8 r5=0x00000000 r4=0xc04cf0c0 db_skip_to_eol() at db_skip_to_eol+0x1d0 scp=0xc0212d3c rlv=0xc0213174 (db_command_loop+0x60) rsp=0xc00fb8bc rfp=0xc00fb8c8 r10=0x00000000 r8=0x00000406 r7=0xc00fbafc r6=0xc0503bd0 r5=0x600000d3 r4=0xc00fb8d4 db_command_loop() at db_command_loop+0xc scp=0xc0213120 rlv=0xc02153b0 (X_db_sym_numargs+0xf4) rsp=0xc00fb8cc rfp=0xc00fb9e8 X_db_sym_numargs() at X_db_sym_numargs+0x14 scp=0xc02152d0 rlv=0xc02cf8e8 (kdb_trap+0xa4) rsp=0xc00fb9ec rfp=0xc00fba14 r4=0x000000c0 kdb_trap() at kdb_trap+0xc scp=0xc02cf850 rlv=0xc042e844 (badaddr_read+0x280) rsp=0xc00fba18 rfp=0xc00fba34 r10=0xc00fbef8 r9=0x00000000 r8=0xc00fbafc r7=0x00000406 r6=0x00000000 r5=0x00000406 r4=0xc00fbafc badaddr_read() at badaddr_read+0xfc scp=0xc042e6c0 rlv=0xc042ec08 (prefetch_abort_handler+0x36c) rsp=0xc00fba38 rfp=0xc00fba58 r6=0xc04fd110 r5=0xc00fbef8 r4=0xc00fbafc prefetch_abort_handler() at prefetch_abort_handler+0x2a4 scp=0xc042eb40 rlv=0xc042edd4 (data_abort_handler+0x110) rsp=0xc00fba5c rfp=0xc00fbaf8 r7=0xc04fd110 r6=0x00001274 r5=0xffff1004 r4=0xc05189ec data_abort_handler() at data_abort_handler+0xc scp=0xc042ecd0 rlv=0xc04208dc (address_exception_entry+0x50) rsp=0xc00fbafc rfp=0xc00fbb88 r10=0x00001140 r9=0xc0ae5000 r8=0x00001140 r7=0x00000003 r6=0x00001274 r5=0xffff1004 r4=0x01070000 ohci_suspend() at ohci_suspend+0x1138 scp=0xc023be74 rlv=0xc023ccc0 (ohci_init+0x208) rsp=0xc00fbb8c rfp=0xc00fbbc4 r10=0x00001140 r9=0x00000006 r8=0x00001140 r7=0xc0ae5aa0 r6=0x00000000 r5=0xc0ae5000 r4=0x00000000 ohci_init() at ohci_init+0xc scp=0xc023cac4 rlv=0xc023e6ac (ohci_interrupt+0x1990) rsp=0xc00fbbc8 rfp=0xc00fbc00 r10=0xc0ae5aa0 r9=0x00000009 r8=0xc0a9ee80 r7=0xc0ae5000 r6=0x00001154 r5=0x00001150 r4=0x00001268 ohci_interrupt() at ohci_interrupt+0x1380 scp=0xc023e09c rlv=0xc02c9fb0 (device_attach+0x2c8) rsp=0xc00fbc04 rfp=0xc00fbc40 r10=0xc0a9ee80 r8=0xffffffff r7=0xc02c8640 r6=0xc0a9eecc r5=0x80000000 r4=0xc0ae2000 device_attach() at device_attach+0xc scp=0xc02c9cf4 rlv=0xc02cac00 (device_probe_and_attach+0x34) rsp=0xc00fbc44 rfp=0xc00fbc54 r10=0xc0ae2000 r8=0xffffffff r7=0xc02c8640 r6=0x00000000 r5=0x00000000 r4=0xc0a9ee80 device_probe_and_attach() at device_probe_and_attach+0xc scp=0xc02cabd8 rlv=0xc02cacf0 (bus_generic_attach+0x20) rsp=0xc00fbc58 rfp=0xc00fbc68 r4=0xc0a9ee80 bus_generic_attach() at bus_generic_attach+0xc scp=0xc02cacdc rlv=0xc022a190 (pci_add_children+0x240) rsp=0xc00fbc6c rfp=0xc00fbc8c r4=0xc0ae2000 pci_add_children() at pci_add_children+0x154 scp=0xc022a0a4 rlv=0xc02c9fb0 (device_attach+0x2c8) rsp=0xc00fbc90 rfp=0xc00fbccc r6=0xc0ae204c r5=0x80000000 r4=0xc0a9d380 device_attach() at device_attach+0xc scp=0xc02c9cf4 rlv=0xc02cac00 (device_probe_and_attach+0x34) rsp=0xc00fbcd0 rfp=0xc00fbce0 r10=0xc0a9d380 r8=0xffffffff r7=0xc02c8640 r6=0xc0a9d380 r5=0xc0ae4000 r4=0xc0ae2000 device_probe_and_attach() at device_probe_and_attach+0xc scp=0xc02cabd8 rlv=0xc02cacf0 (bus_generic_attach+0x20) rsp=0xc00fbce4 rfp=0xc00fbcf4 r4=0xc0ae2000 bus_generic_attach() at bus_generic_attach+0xc scp=0xc02cacdc rlv=0xc0433f50 (cpu_initclocks+0x1104) rsp=0xc00fbcf8 rfp=0xc00fbd40 r4=0xffffffff cpu_initclocks() at cpu_initclocks+0xe3c scp=0xc0433c88 rlv=0xc02c9fb0 (device_attach+0x2c8) rsp=0xc00fbd44 rfp=0xc00fbd80 r6=0xc0a9d3cc r5=0x80000000 r4=0xc0a9d500 device_attach() at device_attach+0xc scp=0xc02c9cf4 rlv=0xc02cac00 (device_probe_and_attach+0x34) rsp=0xc00fbd84 rfp=0xc00fbd94 r10=0xc0a9d500 r8=0xffffffff r7=0xc02c8640 r6=0xc0a9d500 r5=0xc0a9d480 r4=0xc0a9d380 device_probe_and_attach() at device_probe_and_attach+0xc scp=0xc02cabd8 rlv=0xc02cacf0 (bus_generic_attach+0x20) rsp=0xc00fbd98 rfp=0xc00fbda8 r4=0xc0a9d380 bus_generic_attach() at bus_generic_attach+0xc scp=0xc02cacdc rlv=0xc0432be0 (arm_unmask_irq+0x894) rsp=0xc00fbdac rfp=0xc00fbdec r4=0xc0a9d500 arm_unmask_irq() at arm_unmask_irq+0x534 scp=0xc0432880 rlv=0xc02c9fb0 (device_attach+0x2c8) rsp=0xc00fbdf0 rfp=0xc00fbe2c r6=0xc0a9d54c r5=0x80000000 r4=0xc0a9d680 device_attach() at device_attach+0xc scp=0xc02c9cf4 rlv=0xc02cac00 (device_probe_and_attach+0x34) rsp=0xc00fbe30 rfp=0xc00fbe40 r10=0xc0a9d680 r8=0xffffffff r7=0xc02c8640 r6=0xc0a9d6cc r5=0x80000000 r4=0xc0a9d500 device_probe_and_attach() at device_probe_and_attach+0xc scp=0xc02cabd8 rlv=0xc02cacf0 (bus_generic_attach+0x20) rsp=0xc00fbe44 rfp=0xc00fbe54 r4=0xc0a9d500 bus_generic_attach() at bus_generic_attach+0xc scp=0xc02cacdc rlv=0xc0423594 (minidumpsys+0xb18) rsp=0xc00fbe58 rfp=0xc00fbe68 r4=0xc0a9d680 minidumpsys() at minidumpsys+0xb08 scp=0xc0423584 rlv=0xc02c9fb0 (device_attach+0x2c8) rsp=0xc00fbe6c rfp=0xc00fbea8 r4=0xc048f730 device_attach() at device_attach+0xc scp=0xc02c9cf4 rlv=0xc02cac00 (device_probe_and_attach+0x34) rsp=0xc00fbeac rfp=0xc00fbebc r10=0x0000000a r8=0x00000000 r7=0x00200198 r6=0x00000006 r5=0x002001a4 r4=0xc0a9d680 device_probe_and_attach() at device_probe_and_attach+0xc scp=0xc02cabd8 rlv=0xc02cac2c (root_bus_configure+0x28) rsp=0xc00fbec0 rfp=0xc00fbed0 r4=0xc0a9d680 root_bus_configure() at root_bus_configure+0xc scp=0xc02cac10 rlv=0xc0419e48 (xdr_sizeof+0x1d0) rsp=0xc00fbed4 rfp=0xc00fbee0 r4=0xc0491d3c xdr_sizeof() at xdr_sizeof+0x1cc scp=0xc0419e44 rlv=0xc0274d28 (mi_startup+0xdc) rsp=0xc00fbee4 rfp=0xc00fbef4 mi_startup() at mi_startup+0xc scp=0xc0274c58 rlv=0xc020023c (btext+0x13c) rsp=0xc00fbef8 rfp=0x00000000 r4=0x0020027c db> Any suggestions as to what I can test or how I can get any useful information? Thanks, Gavin