From owner-p4-projects@FreeBSD.ORG Sun Dec 14 23:37:28 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EDF5D1065675; Sun, 14 Dec 2008 23:37:27 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AF0B11065670 for ; Sun, 14 Dec 2008 23:37:27 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from ebb.errno.com (ebb.errno.com [69.12.149.25]) by mx1.freebsd.org (Postfix) with ESMTP id 768F98FC16 for ; Sun, 14 Dec 2008 23:37:26 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from trouble.errno.com (trouble.errno.com [10.0.0.248]) (authenticated bits=0) by ebb.errno.com (8.13.6/8.12.6) with ESMTP id mBENbLnC001460 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 14 Dec 2008 15:37:21 -0800 (PST) (envelope-from sam@freebsd.org) Message-ID: <494598B0.9090501@freebsd.org> Date: Sun, 14 Dec 2008 15:37:20 -0800 From: Sam Leffler Organization: FreeBSD Project User-Agent: Thunderbird 2.0.0.9 (X11/20071125) MIME-Version: 1.0 To: Hans Petter Selasky References: <200812122326.mBCNQX6w024511@repoman.freebsd.org> <200812131005.33499.hselasky@c2i.net> <494414EF.3080403@freebsd.org> <200812141623.51473.hselasky@c2i.net> In-Reply-To: <200812141623.51473.hselasky@c2i.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-DCC-sonic.net-Metrics: ebb.errno.com; whitelist Cc: Perforce Change Reviews Subject: Re: PERFORCE change 154573 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Dec 2008 23:37:28 -0000 Hans Petter Selasky wrote: > On Saturday 13 December 2008, Sam Leffler wrote: > >> Hans Petter Selasky wrote: >> >>> On Saturday 13 December 2008, Sam Leffler wrote: >>> > > >> No. But if you are interested in helping debug the problem I'm happy to >> send you debug output. The controller rejects all cmds setting the >> ERRINT status bit. The qTD contents and xfer contents look fine but I >> haven't been able to identify the cause given the overlay qTD contents. >> I'm in the process of collecting comparative traces from linux where usb >> works. >> >> > > Send me the EHCI traces and I will have a look at it. Have you tried USB2? The > patches which you need to apply should be similar. > This is what I get w/ sysctl hw.usb.ehci.debug=6 for the first cmd submitted after card insert: avila1# ehci_pcd: change=0x02 ehci_root_ctrl_start: type=0xa3 request=00 ehci_root_ctrl_start: type=0x23 request=01 ehci_root_ctrl_start: type=0x23 request=03 ehci_root_ctrl_start: reset port 1 ehci_pcd: change=0x00 ehci after reset, status=0x08001205 ehci port 1 reset, status = 0x08001205 ehci_root_ctrl_start: type=0xa3 request=00 ehci_root_ctrl_start: type=0x23 request=01 ehci_root_ctrl_start: type=0xa3 request=00 ehci_open: pipe=0xc1101d80, xfertype=0, addr=0, endpt=1 (0) ehci_add_qh: QH(0xd0093de0) at 0x01088de0: sqtd=0xd0094de0 inactivesqtd=0xd0094de0 link=0x01088e42 endp=0x80086000 addr=0x00 inact=0 endpt=0 eps=2 dtc=1 hrecl=0 mpl=0x8 ctl=0 nrl=8 endphub=0x40811c00 smask=0x00 cmask=0x1c huba=0x01 port=1 mult=1 curqtd=0x00000001 Overlay qTD: next=0x01089de0<> altnext=0x00000001 status=0x00000000: toggle=0 bytes=0x0 ioc=0 c_page=0x0 cerr=0 pid=0 stat=0x0 buffer[0]=0x00000000 buffer[1]=0x00000000 buffer[2]=0x00000000 buffer[3]=0x00000000 buffer[4]=0x00000000 ehci_device_request: type=0x80, request=0x06, wValue=0x0100, wIndex=0x0000 len=8, addr=0, endpt=0 ehci_alloc_sqtd_chain: start len=8 ehci_device_request: QH(0xd0093de0) at 0x01088de0: sqtd=0xd0094de0 inactivesqtd=0xd0094d80 link=0x01088e42 endp=0x80086000 addr=0x00 inact=0 endpt=0 eps=2 dtc=1 hrecl=0 mpl=0x8 ctl=0 nrl=8 endphub=0x40811c00 smask=0x00 cmask=0x1c huba=0x01 port=1 mult=1 curqtd=0x00000001 Overlay qTD: next=0x01089de0<> altnext=0x00000001 status=0x00000000: toggle=0 bytes=0x0 ioc=0 c_page=0x0 cerr=0 pid=0 stat=0x0 buffer[0]=0x00000000 buffer[1]=0x00000000 buffer[2]=0x00000000 buffer[3]=0x00000000 buffer[4]=0x00000000 QTD(0xd0094de0) at 0x01089de0: next=0x01089cc0<> altnext=0x01089d80<> status=0x00080e00: toggle=0 bytes=0x8 ioc=0 c_page=0x0 cerr=3 pid=2 stat=0x0 buffer[0]=0x01091fc0 buffer[1]=0x00000000 buffer[2]=0x00000000 buffer[3]=0x00000000 buffer[4]=0x00000000 QTD(0xd0094cc0) at 0x01089cc0: next=0x01089d20<> altnext=0x01089d80<> status=0x80080d80: toggle=1 bytes=0x8 ioc=0 c_page=0x0 cerr=3 pid=1 stat=0x80 buffer[0]=0x014b8a3c buffer[1]=0x00000000 buffer[2]=0x00000000 buffer[3]=0x00000000 buffer[4]=0x00000000 QTD(0xd0094d20) at 0x01089d20: next=0x01089d80<> altnext=0x01089d80<> status=0x80008c80: toggle=1 bytes=0x0 ioc=1 c_page=0x0 cerr=3 pid=0 stat=0x80 buffer[0]=0x00000000 buffer[1]=0x00000000 buffer[2]=0x00000000 buffer[3]=0x00000000 buffer[4]=0x00000000 QTD(0xd0094d80) at 0x01089d80: next=0x00000001 altnext=0x00000001 status=0x00000000: toggle=0 bytes=0x0 ioc=0 c_page=0x0 cerr=0 pid=0 stat=0x0 buffer[0]=0x00000000 buffer[1]=0x00000000 buffer[2]=0x00000000 buffer[3]=0x00000000 buffer[4]=0x00000000 ehci_intr1: ERRINT ehci_check_intr: ex=0xc1096800 ehci_idone: ex=0xc1096800 ehci_idone: xfer=0xc1096800, pipe=0xc1101d80 ready ehci_idone: updated overlay next ptr ehci_idone: len=8, actlen=0, cerr=3, status=0x80080d40 ehci_idone: error, addr=0, endpt=0x00, status 0x80080d40 QH(0xd0093de0) at 0x01088de0: sqtd=0xd0094de0 inactivesqtd=0xd0094d80 link=0x01088e42 endp=0x80086000 addr=0x00 inact=0 endpt=0 eps=2 dtc=1 hrecl=0 mpl=0x8 ctl=0 nrl=8 endphub=0x40811c00 smask=0x00 cmask=0x1c huba=0x01 port=1 mult=1 curqtd=0x01089cc0<> Overlay qTD: next=0x01089d80<> altnext=0x01089d90<> status=0x80080d40: toggle=1 bytes=0x8 ioc=0 c_page=0x0 cerr=3 pid=1 stat=0x40 buffer[0]=0x014b8a3c buffer[1]=0x00000008 buffer[2]=0x00000000 buffer[3]=0x00000000 buffer[4]=0x00000000 QTD(0xd0094de0) at 0x01089de0: next=0x01089cc0<> altnext=0x01089d80<> status=0x80000e00: toggle=1 bytes=0x0 ioc=0 c_page=0x0 cerr=3 pid=2 stat=0x0 buffer[0]=0x01091fc8 buffer[1]=0x00000000 buffer[2]=0x00000000 buffer[3]=0x00000000 buffer[4]=0x00000000 QTD(0xd0094cc0) at 0x01089cc0: next=0x01089d20<> altnext=0x01089d80<> status=0x80080d40: toggle=1 bytes=0x8 ioc=0 c_page=0x0 cerr=3 pid=1 stat=0x40 buffer[0]=0x014b8a3c buffer[1]=0x00000000 buffer[2]=0x00000000 buffer[3]=0x00000000 buffer[4]=0x00000000 QTD(0xd0094d20) at 0x01089d20: next=0x01089d80<> altnext=0x01089d80<> status=0x80008c80: toggle=1 bytes=0x0 ioc=1 c_page=0x0 cerr=3 pid=0 stat=0x80 buffer[0]=0x00000000 buffer[1]=0x00000000 buffer[2]=0x00000000 buffer[3]=0x00000000 buffer[4]=0x00000000 QTD(0xd0094d80) at 0x01089d80: next=0x00000001 altnext=0x00000001 status=0x00000000: toggle=0 bytes=0x0 ioc=0 c_page=0x0 cerr=0 pid=0 stat=0x0 buffer[0]=0x00000000 buffer[1]=0x00000000 buffer[2]=0x00000000 buffer[3]=0x00000000 buffer[4]=0x00000000 Subsequent cmds fail similarly. I don't see the issue and don't understand how to use the overlay qTD information to pinpoint the reason the controller is rejecting the request. This happens w/ either of the 2 USB ports (1 port / controller): ehci0: on ixp0 ehci0: [GIANT-LOCKED] ehci0: [ITHREAD] usb0: EHCI version 1.0 usb0: stop timeout usb0: set host controller mode usb0 on ehci0 usb0: USB revision 2.0 uhub0: on usb0 uhub0: 1 port with 1 removable, self powered ehci1: on ixp0 ehci1: [GIANT-LOCKED] ehci1: [ITHREAD] usb1: EHCI version 1.0 usb1: stop timeout usb1: set host controller mode usb1 on ehci1 usb1: USB revision 2.0 uhub1: on usb1 uhub1: 1 port with 1 removable, self powered Sam