From owner-freebsd-usb@FreeBSD.ORG Wed Apr 4 11:35:01 2007 Return-Path: X-Original-To: freebsd-usb@freebsd.org Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id ADF7516A403 for ; Wed, 4 Apr 2007 11:35:01 +0000 (UTC) (envelope-from xiaofanc@gmail.com) Received: from ik-out-1112.google.com (ik-out-1112.google.com [66.249.90.178]) by mx1.freebsd.org (Postfix) with ESMTP id 3722113C44B for ; Wed, 4 Apr 2007 11:35:01 +0000 (UTC) (envelope-from xiaofanc@gmail.com) Received: by ik-out-1112.google.com with SMTP id c21so109334ika for ; Wed, 04 Apr 2007 04:35:00 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=JUjB3tm1Ok7kpRXn7FUiowhTYCKzsiVnICOUMYMxZUQtfwgAgTkbpLlBnYvsmuGoY579d72Zi1xnJmNmIJZEeSUQMhKDcHS/+f0ln0EKHru0vTzpzJE7IFob00h5GCfEoPXy6os5KZkn4ZVjVmEAECLl7xTbxETJweswbzcCONU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=bo1u149wLRtrUrT1AzstujU8ek2TAV7ul1+Xci3EnE/e8GS5Bt5e61QbgTemUk2GhFMqKa7dnUcjLh2YicrEGxsLJHWi0UYucqe1N6IDwzX3Ksdvw+A1QCcSSYRISiuhXZlS6F/RYNYh0PHaRUyJYfbOfvEvV8PN66uxB+HNBnE= Received: by 10.114.78.1 with SMTP id a1mr224796wab.1175686498270; Wed, 04 Apr 2007 04:34:58 -0700 (PDT) Received: by 10.114.176.8 with HTTP; Wed, 4 Apr 2007 04:34:58 -0700 (PDT) Message-ID: Date: Wed, 4 Apr 2007 19:34:58 +0800 From: "Xiaofan Chen" To: "Hans Petter Selasky" In-Reply-To: <200704040937.02219.hselasky@c2i.net> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <200704031642.26519.hselasky@c2i.net> <200704040937.02219.hselasky@c2i.net> Cc: freebsd-usb@freebsd.org Subject: Re: libusb usb_interrupt_read hangs under FreeBSD 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: Wed, 04 Apr 2007 11:35:01 -0000 On 4/4/07, Hans Petter Selasky wrote: > On Wednesday 04 April 2007 01:55, Xiaofan Chen wrote: > > On 4/3/07, Hans Petter Selasky wrote: > > > Hi, > > > > > > I think that your device is broken, and goes bad when it receives a > > > clear-stall request for the interrupt pipe. That is not very uncommon. > > > > Could you be more clearer? I'd like to communicate this problem > > to the firmware developer of PICKit 2 inside Microchip. Thanks. > > The chip does not handle a clear-stall request on the control pipe to > clear-stall on the interrupt pipe. The result is that the interrupt pipe > stops, or at least all buffers are cleared. > > I could be more detailed, but I think the developers will understand what I > mean. > Thanks. I will talk to the Micrpchip PICKit 2 developers. Hopefully they will be able to fix the firmware. >From the dmesg output, I can see the portion that shows what you say. ugenioctl: cmd=80045572 ugenioctl: cmd=80045571 ugenread: usbd_get_pipe: udev=0xc3168800 iface_index=0 address=0x1 type=0x3 dir=0x80 index=0 usbd_get_pipe: udev=0xc3168800 iface_index=0 address=0x0 type=0x0 dir=0xff index=0 usbd_mem_alloc_sub: 0xe6aa0000, 4096 bytes, phys=0x3e850000 usbd_get_pipe: udev=0xc3168800 iface_index=0 address=0x1 type=0x3 dir=0x80 index=0 usbd_get_pipe: udev=0xc3168800 iface_index=0 address=0x0 type=0x0 dir=0xff index=0 usbd_start_hardware: xfer=0xc3085420, pipe=0xc3168894 len=64 dir=in usbd_dump_pipe: pipe=0xc3168894 edesc=0xc31746db isoc_next=0 toggle_next=0 bEndpointAddress=0x81 usbd_dump_queue: pipe=0xc3168894 usbd_start_hardware: xfer=0xc3085528, pipe=0xc3168800 len=8 dir=out usbd_dump_pipe: pipe=0xc3168800 edesc=0xc3168a3d isoc_next=0 toggle_next=0 bEndpointAddress=0x00 usbd_dump_queue: pipe=0xc3168800 ugen_open_pipe_read: interrupt open done usbd_transfer_done: xfer=0xc3085528 pipe=0xc3168800 status=0 actlen=8 usbd_clearstall_callback: xfer=0xc3085528 usbd_start_hardware: xfer=0xc3085420, pipe=0xc3168894 len=64 dir=in usbd_dump_pipe: pipe=0xc3168894 edesc=0xc31746db isoc_next=0 toggle_next=0 bEndpointAddress=0x81 usbd_dump_queue: pipe=0xc3168894 usb_event_thread: woke up usb_discover: usbd_transfer_done: xfer=0xc3085420 pipe=0xc3168894 status=20 actlen=0 usbd_start_hardware: xfer=0xc3085420, pipe=0xc3168894 len=64 dir=in usbd_dump_pipe: pipe=0xc3168894 edesc=0xc31746db isoc_next=0 toggle_next=0 bEndpointAddress=0x81 usbd_dump_queue: pipe=0xc3168894 usbd_start_hardware: xfer=0xc3085528, pipe=0xc3168800 len=8 dir=out usbd_dump_pipe: pipe=0xc3168800 edesc=0xc3168a3d isoc_next=0 toggle_next=0 bEndpointAddress=0x00 usbd_dump_queue: pipe=0xc3168800 usbd_transfer_done: xfer=0xc3085528 pipe=0xc3168800 status=0 actlen=8 usbd_clearstall_callback: xfer=0xc3085528 usbd_start_hardware: xfer=0xc3085420, pipe=0xc3168894 len=64 dir=in usbd_dump_pipe: pipe=0xc3168894 edesc=0xc31746db isoc_next=0 toggle_next=0 bEndpointAddress=0x81 usbd_dump_queue: pipe=0xc3168894 usb_event_thread: woke up ...