usb/179505: Kernel detaches Arduino Leonardo (and similar) board umodem after the arduino boots
Mike Meyer
mwm at mired.org
Fri Jun 28 17:20:02 UTC 2013
The following reply was made to PR usb/179505; it has been noted by GNATS.
From: Mike Meyer <mwm at mired.org>
To: Hans Petter Selasky <hps at bitfrost.no>
Cc: freebsd-gnats-submit at freebsd.org
Subject: Re: usb/179505: Kernel detaches Arduino Leonardo (and similar) board
umodem after the arduino boots
Date: Fri, 28 Jun 2013 12:15:40 -0500
On Fri, Jun 28, 2013 at 4:09 AM, Hans Petter Selasky <hps at bitfrost.no> wrote:
> 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
Hi Hans,
Thanks for looking into this.
Unfortunately, it didn't solve the problem for me. The leonardo still
creates the umodem devices, then detaches them as the IPL finish.
More information about the freebsd-usb
mailing list