From owner-freebsd-usb@FreeBSD.ORG Fri Jun 28 09:10:01 2013 Return-Path: Delivered-To: freebsd-usb@smarthost.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id CC5ABCE8 for ; Fri, 28 Jun 2013 09:10:01 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id BC1691D0A for ; Fri, 28 Jun 2013 09:10:01 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.7/8.14.7) with ESMTP id r5S9A19X061787 for ; Fri, 28 Jun 2013 09:10:01 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.7/8.14.7/Submit) id r5S9A1QP061786; Fri, 28 Jun 2013 09:10:01 GMT (envelope-from gnats) Date: Fri, 28 Jun 2013 09:10:01 GMT Message-Id: <201306280910.r5S9A1QP061786@freefall.freebsd.org> To: freebsd-usb@FreeBSD.org Cc: From: Hans Petter Selasky Subject: Re: usb/179505: Kernel detaches Arduino Leonardo (and similar) board umodem after the arduino boots X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: Hans Petter Selasky List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 Jun 2013 09:10:01 -0000 The following reply was made to PR usb/179505; it has been noted by GNATS. From: Hans Petter Selasky To: Mike Meyer Cc: freebsd-gnats-submit@FreeBSD.org Subject: Re: usb/179505: Kernel detaches Arduino Leonardo (and similar) board umodem after the arduino boots Date: Fri, 28 Jun 2013 11:09:07 +0200 Hi Mike, I was not able to reproduce this issue yet. From the logs you sent I see: That the INTERRUPT endpoint is stalling: DONE-INTR-EP=00000084,SPD=FULL,NFR=1,SLEN=0,IVAL=1,ERR=STALLED Then the USB stack will try to clear the stall. And the clearing of stall also fails: DONE-CTRL-EP=00000000,SPD=FULL,NFR=1,SLEN=0,IVAL=0,ERR=STALLED These messages are mandatory to implement per usb.org specifications. And I know Linux and Windows does not use these very much. In other words I looks like the Arduino could need some more USB certification! After a given amount of stalling, the FreeBSD USB stack will reset the device, which gives you the re-enumeration you are observing. This case can be prevented by setting: sysctl hw.usb.no_cs_fail=1 Then try again! --HPS