Subject: USB2 umass ``need toggle update''
To: NetBSD Current Users <current-users@netbsd.org>
From: Barry Bouwsma <freebsd-misuser@remove-NOSPAM-to-reply.NOSPAM.dyndns.dk>
List: current-users
Date: 06/14/2004 17:53:07
[keep replies on the list, not to me, to avoid bounces, thanks]

Greetings, all!

I'm experiencing this with FreeBSD, but the code originates here
from NetBSD and remains very similar, so I thought I'd ask if
this is a known and/or solved issue (it's mentioned in the TODO
or something).

I have an EHCI controller and some USB2 devices, like a hard drive
and card readers.  I'm able to attach these and access them, for
a while.  Then eventually I'll get a `need toggle update' kernel
message, and access to the drive ceases.  This appears to be
brought about by heavy disk activity, but the following message
was induced by connecting another USB2 device.

Are NetBSD users who dare to use USB2 devices and EHCI seeing the
same thing?


Here's an interesting bit of kernel debug that I logged the last
time it happened (as noted, on my FreeBSD system, sorry):

ehci_idone: need toggle update
uhub3: port 2, set config at addr 3 failed
uhub3: device problem, disabling port 2
ehci_idone: need toggle update
ehci_idone: need toggle update
ehci_idone: need toggle update
ehci_idone: need toggle update
usb_needs_explore
usb_event_thread: woke up
usb_discover
umass0: Invalid CSW: tag 137341 should be 137342
umass0: Invalid CSW: tag 137342 should be 137343
umass0: Invalid CSW: tag 137343 should be 137344
umass0: Invalid CSW: tag 137344 should be 137345
umass0: Invalid CSW: tag 137345 should be 137346
umass0: Invalid CSW: tag 137346 should be 137347
umass0: Invalid CSW: tag 137347 should be 137348
umass0: Invalid CSW: tag 137348 should be 137349

umass0 is the USB2 drive I had been reading from with two processes --
one of them aborted; I manually aborted the second that was logging
the Invalid CSW messages.

I have two USB controller cards supporting EHCI, and now I've
experienced this with both of them, so it's reasonably hardware-
independent.


Once again, sorry for asking here, but I thought I'd check at
the source of the source code.

thanks
barry bouwsma