Have a look in the sys/dev/usb/umass.c driver and remove the check for the CSW tag. I wouldn't be surprised if the firmware is buggered and doesn't copy the tag from the incoming request into the outgoing packet.
Like so: heather:n_hibma% diff -wu umass.c.2~ umass.c.2 --- umass.c.2~ Wed Apr 10 21:17:58 2002 +++ umass.c.2 Wed Apr 10 21:17:28 2002 @@ -1500,6 +1500,7 @@ umass_bbb_reset(sc, STATUS_WIRE_FAILED); return; +#if 0 } else if (UGETDW(sc->csw.dCSWTag) != UGETDW(sc->cbw.dCBWTag)) { printf("%s: Invalid CSW: tag %d should be %d\n", @@ -1509,6 +1510,7 @@ umass_bbb_reset(sc, STATUS_WIRE_FAILED); return; +#endif /* CSW is valid here */ } else if (sc->csw.bCSWStatus > CSWSTATUS_PHASE) { But your firmware is definitely screwed. Nick Tech note: The tag is there to enable a driver to send multiple concurrent requests and manage the replies. So for us it is not really a problem to ignore it as we do not do concurrent requests (nor does any firmware actually support it as far as I know). On Sun, 7 Apr 2002, Brian Dean wrote: > On Sat, Apr 06, 2002 at 11:41:35PM -0800, Doug White wrote: > > > > 'camcontrol rescan 1'? > > That provoked this response: > > Apr 7 09:36:21 neutrino /kernel: umass1: GoodWay USBIDE GoodWay USBIDE, rev >1.10/2.60, addr 3 > Apr 7 09:36:21 neutrino /kernel: umass1: Invalid CSW: tag 2359384 should be 1 > Apr 7 09:36:21 neutrino /kernel: umass1: Invalid CSW: tag 2359384 should be 2 > Apr 7 09:36:21 neutrino /kernel: umass1: Invalid CSW: tag 2359384 should be 3 > Apr 7 09:36:21 neutrino /kernel: umass1: Invalid CSW: tag 2359384 should be 4 > Apr 7 09:36:21 neutrino /kernel: umass1: Invalid CSW: tag 2359384 should be 5 > > Other than that, no change. > > -Brian > > To Unsubscribe: send mail to [EMAIL PROTECTED] > with "unsubscribe freebsd-hackers" in the body of the message > -- [EMAIL PROTECTED] http://www.van-laarhoven.org/ [EMAIL PROTECTED] http://www.etla.net/~n_hibma/ To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message