Date: Fri, 28 Jun 2013 09:10:01 GMT From: Hans Petter Selasky <hps@bitfrost.no> To: freebsd-usb@FreeBSD.org Subject: Re: usb/179505: Kernel detaches Arduino Leonardo (and similar) board umodem after the arduino boots Message-ID: <201306280910.r5S9A1QP061786@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR usb/179505; it has been noted by GNATS. From: Hans Petter Selasky <hps@bitfrost.no> To: Mike Meyer <mwm@mired.org> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201306280910.r5S9A1QP061786>