usb/179505: Kernel detaches Arduino Leonardo (and similar) board umodem after the arduino boots
Hans Petter Selasky
hps at bitfrost.no
Fri Jun 28 09:10:01 UTC 2013
The following reply was made to PR usb/179505; it has been noted by GNATS.
From: Hans Petter Selasky <hps at bitfrost.no>
To: Mike Meyer <mwm at mired.org>
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 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
More information about the freebsd-usb
mailing list